운영체제의 개요

운영체제는 컴퓨터를 사용하기 위해 반드시 필요한 소프트웨어 중 하나이다.
컴퓨터가 사용자에게 제공하는 서비스가 다양해지고 편리해지는 만큼
사용자를 위해 컴퓨터 내에서 이루어져야 하는 자원의 관리나 활용이 효율적으로
동작해야하는데, 운영체제는 그 근간을 이루는 핵심적인 시스템 소프트웨어이다.
이번 강의에서는 운영체제에 대한 기본적인 이해와 운영체제를 구성하는
기본적인 요소인 프로세스 관리자, 메모리관리자, 파일 관리자의 역할에 대하여
개략적으로 학습하고, 운영체제의 유형과 발전 과정을 살펴보자. ***

01. 컴퓨터 시스템의 구성


(1) 컴퓨터 시스템의 구성 : 사용자 ,응용 소프트웨어 , 시스템 소프트웨어 , 하드웨어 (2) 운영체제란 : 컴퓨터의 하드웨어 자원을 관리하고 컴퓨터프로그램이 동작하기 위해 서비스를 제공하는 시스템 소프트웨어를 말한다.

02. 운영체제의 역할


1) 컴퓨터 시스템의 운영

  • 컴퓨터 시스템의 자원을 제어 및 관리
  • 응용프로그램들의 실행을 도와주는 소프트웨어

2) 사용자 지원

  • 사용자의 명령을 해석하여 실행
  • 사용자와 하드웨어 사이의 매게체 역할수행한다.

03. 컴퓨터 시스템과 운영체제


1) 운영체제가 없던 초기의 컴퓨터 시스템

  • 응용 프로그램 개발자는 하드웨어 제어 방법을 잘 알아야 한다.
  • 여러 응용 프로그램이 하드웨어를 공유하는 경우 자원 분할이 어렵다.
  • 운영체제가 하드웨어와 응용 프로그램 사이에 위치

2) 운영체제가 하드웨어와 응용 프로그램 사이에 위치

  • 하드웨어에 대한 제어는 운영체제만 함
  • 응용 ❖프로그램은 운옃제제를 통해서만 하드웨어 이용

3) CPU의 동작 모드

(1) 슈퍼바이저 모드

  • 운영체제의 커널이 동작되는 모드
  • 하드웨어를 직접 제어할 수 있는 CPU 명령어 사용가능

(2) 보호모드(사용자 모드)

  • 응용 프로그램이 동작되는 모드
  • 하드웨어를 직접 제어할 수 있는 CPU 명령어 사용 불가능하다.

(3) 시스템 호출

  • 응용 프로그램이 운영체제에게 서비스를 요청하는 매커니즘
  • 시스템 호출 -> 보호모드에서 슈퍼바이저 모드로 변경 -> 커널동작 -> 하드웨어 제어

4) 커널(Kernel)

❖ 운영체제의 핵심요소
❖ 응용프로그램과 하드웨어 수준의 처리 사이의 가교 역할
❖ 대표적인 구성 방식 : 일체형 커널 , 마이크로 커널

(1) 일체형 커널(monolithic hernel)

  • 운영체제의 모든 서비스가 커널 내에 포함됨 ㄴ 장점 : 커널 내부 요소들이 서로 효율적으로 상호작용을 할 수 있다.
  • 한 요소에 있는 오류로 인해 시스템 전체에 장애가 발생할 수 있음 ㄴ 단점 : 한 요소에 있는 오류료 인해 시스템 전체에 장애가 발생할 수 있음 (2) 마이크로 커널(microkernel)
  • 운영체제의 대부분의 요소들을 커널 외부로 분리
  • 커널 내에는 메모리 관리, 멀티테스킹 , 프로세스 간 통신(IPC) 등 최소한의 요소들만 남김

❖ 장점

  • 새로운 서비스를 추가하여 운영체제를 확장하기 쉬움
  • 유지보수가 용이하며 안정성이 우수함 ❖ 단점
  • 커널 외부 요소들 사이는 IPC를 통해야만 하므로 성능 저하가 발생함

04.운영체제의 구성


1) 프로세스 관리자

(1) 프로세스를 생성, 삭제, CPU 할당을 위한 스케줄 결정
(2) 프로세스의 상태를 관리하며 상태 전이를 처리
ex) 프로그램 파일(브라우저,문서편집) -> 실행중인 프로그램(프로세스/메모리)

2) 메모리 관리

  • 메모리(주기억장치) 공간에 대한 요구의 유효성 체크
  • 메모리 할당 및 회수
  • 메모리 공간 보호

3) 장치 관리자

  • 컴퓨터 시스템의 모든 장치를 관리
  • 시스템의 장치를 할당, 작동 시작, 반환
    ❖ ex) 비디오 디스플레이, 키보드 , 프린터, 디스크 드라이브, 네트워크 장치 등등

4) 파일 관리자

  • 컴퓨터 시스템의 모든 파일을 관리
  • 파일의 접근 제한 관리
  • 파일을 열어 지원을 할당하거나 파일을 닫아 지원을 회수
    ❖ ex) 파일 (문서파일 , 문서편집기) , 컴파일러 , 응용 프로그램, 데이터 파일 등)

05. 운영체제의 유형


1) 일괄처리(batch processing) 운영체제

(1) 작업을 모아서 처리
(2) 사용자와 상호작용 없이 순차적으로 실행 (3) 효율성 평가 :

  • 처리량 : 주어진 시간 안에 처리된 작업의수
  • 반환시간 : 작업의 생성 시점부터 종료 시점까지의 소요시간 ❖ ex) OMR 카드

2) 대화형(interactive) 운영체제

  • 시분할 운영체제라고도 함
  • 일괄처리 운영체제보다 빠르지만 실시간 운영체제보다는 느린 응답시간
  • 이용자에게 즉각적인 피드백을 제공
    ❖ 응답시간 : 요청한 시점부터 반응이 시작되는 시점까지의 소요시간

3) 실시간(real-time) 운영체제

  • 가장 빠른 응답시간
  • 처리의 결과가 현재의 결정에 영향을 주는 환경에서 사용
  • 우주선 비행 시스템, 미사일 제어, 증권거래 관리 시스템,
    은행 입출금 시스템 등에 사용

4) 하이브리드(hybird) 운영체제

  • 일괄처리 운영체제와 대화형 운영체제의 결합.
  • 이용자는 터미널을 통해 접속하고 빠른 응답시간을 얻음
  • 대화형 작업이 많지 않을 경우 백그라운드에서 배치 프로그램 실행
  • 현재 사용되고 이쓴ㄴ 대부분의 대형 컴퓨터 시스템은 하이브리드 운영체제

06. 운영체제의 역사

1) 1940년대 ~ 1950년대

(1) 1940년대 : 초기 전자식 디지털 컴퓨터

  • 운영체제가 존재하지 않음
  • 기계적 스위치에 의해 작동

(2) 1950년대 : 단순 순차처리 및 단일흐름 일괄처리

  • 한 번에 오직 하나의 작업만을 수행
  • 최초의 운영체제 등장(IBM7이용)

(3) 1960년대 : 멀티프로그래밍

  • 멀티프로그래밍, 사분할 처리 개념
  • 다중 대화식 사용자 지원

(4) 1970년대 : 멀티모드 시분할

  • 일괄처리, 시분할 처리, 실시간 처리를 지원하는 멀티모드 시분할의 보편화
  • 근거리 지역 네트워크(LAN)의 실용화
  • 정보보호 및 보안문제의 증대로 암호화의 중요성 대두

(5) 1980년대 : 분산 네트워크

  • 운영체제 기능이 하드웨어 자체에 포함된 팜웨어 개념의 대두
  • 2개 이상의 프로세서를 이용하는 멀티프로세서 환경
  • 네트워크의 대두와 함께 클라이언트 / 서버 모델 확산

(6) 1990년대 : 벙렬처리 및 분산처리

  • 순차처리를 벗어나 분산 및 병렬 처리 발전
  • 그래픽 사용자 인터페이스(GUI)의 강화
  • 선점형 멀티태스킹, 멀티쓰레딩, 가상 메모리 보편화

(7) 2000년대 이후 : 모바일 및 임베디드 운영체제

  • 시스템은 고속화, 고기능화, 경량화 방향으로 발전
  • 다양한 통신망의 확대와 개방형 시스템의 발달
  • 운영체제는 다양한 기능 지원, 확장성과 호환성 극대화, 사용자 편의성 높임
  • 네트워크 기반의 분산 및 병렬 운영체제의 보편화
  • 클라우드 환경의 운영체제
  • 64bit CPU에 호환되는 64비트용 운영체제
  • PDA , PMP, 스마트폰, 태블릿 등의 모바일 장치 대중화로 모바일 운영체제 보편화
  • 가전제품을 위한 임베디드 운영체제의 보편화
:구분: :운영체제:
:범용 메인프레임: :VSE(Virual Storage Extended):
:중형 컴퓨터: :UNIX, Linux, IRIX, AIX, HP-UX:
:소형 컴퓨터: :Window XP/Vista/7/8/8.1/10 / Mac OS X:
:임베디드: :Embeded Linux, pSoS, VxWORKS, VRTX:
:모바일: :Android , iOS , windows CE/Phone/10:

정리


  • 운영체제는 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한
    서비스를 제공하는 시스템 소프트웨어이다.
  • 응용 프로그램은 하드웨어 자원을 직접 엑세스할 수 없으며, 시스템 호출이라는
    절차를 통해 필요한 서비스를 운영체제에게 요청하여야 한다.
  • 커널은 응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할을 하는 운영체제의
    핵심 요소로, 대표적인 두 가지 일체형 커널과 마이크로 커널이 있다.
  • 운영체제의 주요 구성 요소에는 프로세스 관리자, 메모리 관리자, 장치 관리자, 파일 관리자가 있다.
  • 운영체제의 유형은 크게 일괄처리 운영체제 , 대화형 운영체제, 실시간 운영체제,
    그리고 하이브리드 운영체제로 분류된다.