본문 바로가기

TEAM STUDY/LINUX

운영체제

728x90
반응형

운영체제의 개요

운영체제 (OS :Opersting System) 는 컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역활을 하는 시스템 소프트웨어로 사용자가 프로그램을 사용할 수 있는 환경을 제공한다.

 

운영체제의 좁은 의미는 하드웨어와 응용 프로그램 간의 다리 역활을 하는 커널(Kernal) 을 의미하며, 넓은 의미에서는 커널, 미들웨어, 응용프로그램 실행 환경과 사용자 인터페이스 프레임워크를 모두 포괄하여 정의한다.

 

운영체제의  주목적은 컴퓨터 시스템을 편리하게 이용하는 것에 있고, 추가적인 목적은 CPU, 주기억장치, 입출력장치 등의 컴퓨터 하드웨어를 효율적으로 관리하는데 있다.

 

컴퓨터 하드웨어의 편리한 이용과 효율적 관리를 위해서는 하드웨어 자원에 대한 파악과 관리가 필수이다. 따라서 초기의 운영체제는 사용자들이 컴퓨터의 하드웨어 자원에 접근하여 이용할 수 있도록 하는 것이 주된 역할 이라 사용자의 편의성을 고려하지 않았다.

 

또한 컴퓨터를 사용하는 사람들이 대부분 관련 분야에서 전문성을 가지고 있는 사람등이어서 어려운 명령어들을 직접 입력하면, 운영체제는 이를 해석하려 하드웨어를 제어하거나 메세지를 전달하고, 효율적인 프로세스 관리, 자원 할당 등에 초점을 맞추었다.

그러나 컴퓨터를 이용하는 계층이 개발자 등 전문가층에서 일반 사용자로 대중화 되면서 운영체제는 사용자에게 보다 편리하고 친근함을 줄 수 있는 형태로의 변화가 요구되었다.

 

이렇게 등장한 것이 GUI (Graphic User Interface) 기반의 운영체제다. 초기의 운영체제는 예약된 명령어를 사용자가 습득하고 입력해야 하드웨어를 이용할 수 있었으나, GUI 기반의 윈도우형 운영체제는 아이콘이라 부르는 그림 이미지를 클릭 함으로써 손쉽게 이용 가능하게 되었고, 현재 보편적으로 사용하는 운영체제의 기본 틀이 되었다.

 

컴퓨터의 핵심적 하드웨어 자원인 CPU, 메모리, 하드디스크 등의 성능적 향상은 다시금 운영체제의 변화를 요구하게 된다. 현재 가정용 PC의 자원 사용률은 10~15% 수준이고, 평균적으로 최대 20%를 이용하는 것으로 조사되고 있다.

 

대부분의 자원들이 유휴자원으로 남게 되었고, 다수의 물리적 서버를 운영하는 서버실이나 다수의 사용자가 이용하는 PC실은 이렇게 남는 자원들을 효율적으로 이용할 수 있는 대안을 찾게 되었다.

최근의 운영체제는 유휴 자원의 효율적 활용을 위해 가상화 기술을 기본적으로 내장하거나 커널단에서 지원하고 있다. 현재 사용되는 운영체제는 다양한 가상화 기술을 지원하여 자원의 활용도를 극대화 하는 것을 필수적인 요소로 생각하고 있다. 또한 스마트폰과 태블릿의 등장은 모바일 운영체제도 탄생시키게 되었고, 웹 브라우저만 있으면 사용 가능한 웹 OS도 사용하는 추세이다.

 

운영체제의 주요 역활

  1. 컴퓨터의 하드웨어를 제어한다.
  2. 작업의 순서를 정하며, 입출력 연산을 제어한다.
  3. 프로그램의 실행을 제어하며, 데이터와 파일의 저장을 관리한다.
  4. 사용자들 간의 하드웨어 자원을 공유할 수 있도록 한다.
  5. 시스템 자원을 스케줄링 하여 효율적으로 활용할 수 있게 한다.
  6. 입출력을 쉽게 하는 기능을 제공한다.
  7. 응용 프로그램의 작성과 실행을 편리하게 한다.
  8. 오류의 발생을 막고 복구를 지원한다.
  9. 데이터의 조직화, 네트워크 통신 처리 기능을 수행한다.
  10. 편리한 사용자 인터페이스를 제공한다.

 

최근 운영체제의 주요 특징

  1. 다중 사용자 시스템
  2. 다중 작업 시스템
  3. 강력한 네트워크 지원
  4. 편리한 사용자 인터페이스 제공
  5. 계층적 파일 시스템 운영
  6. 가상 메모리 지원
  7. 고성능의 프로세서에 최적화
  8. 개방형 운영체제화
  9. 뛰어난 이식성 지원
  10. 가상화 기술 지원

 

운영체제의 역사

세대 처리 방식 주요 내용
1940년대 초기 전자식 디지털 컴퓨터 - 운영체제가 없음
- 단순한 기계적인 스위치에 의존
1950년대 단순 순차처리 - 한 번에 오직 하나의 작업만 수행
- 단일 흐름 일관 처리
1960년대 다중 프로그래밍 - 멀티 프로그래밍, 멀티 프로세싱 개념 대두
- 시분할 처리 개념 대두
- 데이터 통신 지원
1970년대 다중 모드 시분할 - 일괄처리, 시분할 및 실시간처리의 보편화
- 범용 시스템 개념 도입
1980년대 분산 네트워크 - 각종 응용 프로그램 개발
- 데이터 베이스 활용 확대
- 네트워크 기반으로 한 서버/클라이언트 모델 확대
- 운영체제 기능들이 하드웨어에 포함된 펌웨어 개념 대두
1990년대 병렬 계산과 분산 계산 - 중앙 집중식이 아닌 분산으로 발전
- PC용과 서버용 운영체제 보편화
2000년대 ~
현재
모바일 및 임베디드 - 네트워크 기반의 분산 및 병렬 운영체제의 보편화
- 스마트폰, 태블릿 등의 모바일 장치와 가전제품을 위한 모바일 및 임베디드 운영체제의 보편화
- 다양한 기능, 확장성과 호환성 극대화
- 다양항 통신망의 확대와 개방형 시스템 발달

 

728x90
반응형

'TEAM STUDY > LINUX' 카테고리의 다른 글

GRUB 패스워드 설정  (0) 2020.12.30
퍼미션/소유자 관리  (0) 2020.12.26
CenOS7 가상머신 생성  (0) 2020.12.23
유닉스의 파일 조작하기  (0) 2020.12.19
유닉스의 파일 개요  (0) 2020.12.19