OS 운영체제

  • 학습 개요
    • 운영체제는 컴퓨터를 사용하기 위해 반드시 필요한 소프트웨어 중 하나이다.
      컴퓨터가 사용자에게 제공하는 서비스가 다양해지고 편리해지는 만큼 사용자를 위해 컴퓨터 내에서 이루어져야 하는 자원의 관리나 활용이 효율적으로 동작해야하는데, 운영체제는 그 근간을 이루는 핵심적인 시스템 소프트웨어이다.
      운영체제에 대한 기본적인 이해와 운영체제를 구성하는 기본적인 요소인 프로세스 관리자, 메모리 관리자, 장치 관리자, 파일 관리자의 역할에 대하여 개략적으로 학습하고, 운영체제의 유형과 발전 과정을 살펴보자.
  • 학습 목표
    1. 운영체제가 사용자에게 제공하는 서비스를 설명할 수 있다.
    2. 운영체제의 기본적인 구성요소들의 역할을 설명할 수 있다.
    3. 운영체제의 운영 방식 및 커널의 형태에 따른 유형을 분류할 수 있다.
    4. 운영체제가 ICT 환경 변화에 따라 어떻게 발전하고 있는지 설명할 수 있다.
  • 요약
    • 운영체제는 컴퓨터 시스템의 자원을 관리하고 컴퓨터 프로그램이 동작하기 위한 서비스를 제공하는 시스템 소프트웨어이다.
    • 응용 프로그램은 하드웨어 자원을 직접 액세스할 수 없으며, 시스템 호출이라는 절차를 통해 필요한 서비스를 운영체제에게 요청하여야 한다.
    • 커널은 응용 프로그램과 하드웨어 수준의 처리 사이의 가교 역할을 하는 운영체제의 핵심 요소로, 대표적인 두 가지로 일체형 커널과 마이크로 커널이 있다.
    • 운영체제의 주요 구성 요소에는 프로세스 관리자, 메모리 관리자, 장치 관리자, 파일 관리자가 있다.
    • 운영체제의 유형은 크게 일괄처리 운영체제, 대화형 운영체제, 실시간 운영체제, 그리고 하이브리드 운영체제로 분류된다.

운영체제의 개요

운영체제의 역할

  1. 컴퓨터 시스템의 운영
    • 컴퓨터 시스템의 자원의 제어 및 관리.
    • 응용 프로그램들의 실행을 도와주는 소프트웨어.
  2. 사용자 지원
    • 사용자의 명령을 해석하여 실행.
    • 사용자와 하드웨어 사이의 매개체 역할 수행.

컴퓨터 시스템과 운영체제

  1. 하드웨어와 응용프로그램 사이에 위치.
    • 하드웨어에 대한 제어는 운영체제만 함.
    • 응용 프로그램은 운영체제를 통해서만 하드웨어를 제어.
  2. 슈퍼바이저 모드 (커널 모드)
    • 운영체제의 커널이 동작되는 모드.
    • 하드웨어를 직접 제어할 수 있는 CPU 명령어 사용 가능.
  3. 보호모드 (사용자 모드)
    • 응용 프로그램이 종작되는 모드
    • 하드웨어를 직접 제어할 수 있는 CPU 명령어 사용 불가능.
  4. 시스템 호출
    • 응용 프로그램이 운영체제에 서비스를 요 청하는 메커니즘.

커널

  1. kernel
    • 운영체지의 핵심 요소
    • 응용프로그램과 하드웨어 수준의 처리 사이의 가교 역할
  2. 일체형 커널 (monolithic kernel)
    • 운영체제의 모든 서비스가 커널 내에 포함됨.
    • 커널 내부요소들이 서로 효율적으로 상호작용을 할 수 있음.
    • 한 요소에 있는 오류로 인해 시스템 전체에 장애가 발생할 수 있음.
    • UNIX와 LINUX 운영체제들이 일체형 커널.
  3. 마이크로 커널 (micro kernel)
    • 운영체제의 대부분의 요소들을 커널 외부로 분리.
    • 커널 내부에는 메모리 관리, 멀티 태스킹, 프로세스 간 통신 (IPC) 등 최소한의 요소들만 남겨 놓음.
    • 새로운 서비스를 추가하여 운영체제를 확장하기 쉬움.
    • 커널 외부 요소의 문제는 커널 자체에 영향을 주지 않으므로 유지보수가 용이, 안정성이 우수.
    • 커널 외부 요소들 사이는 프로세스 간 통신을 통해야 하므로 성능 저하가 발생함.

운영체제의 구성

  1. 프로세스 관리자
    • 프로세스를 생성, 삭제, CPU 할당을 위한 스케쥴 결정.
    • 프로세스의 상태를 관리하며 상태 전이를 처리.
  2. 메모리 관리자
    • 메모리 (주기억장치) 공간에 대한 요구의 유효성 체크.
    • 메모리 할장 및 회수.
    • 메모리 공간 보호.
  3. 장치 관리자
    • 컴퓨터 시스템의 모든 장치를 관리.
    • 파일 접근 제한 관리.
    • 파일을 열어 자원을 할당하거나 파일을 닫아 자원을 회수.
  4. 파일 관리자
    • 컴퓨터 시스템의 모든 파일 관리.
    • 파일의 접근 제한 관리.
    • 파일을 열어 자원을 할당하거나 파일을 닫아 자원 회수.

운영체제의 유형

응답시간의 속도, 데이터 입력의 방식에 따라 분류함.

  1. 일괄처리 (batch processing) 운영체제
    • 작업을 모아서 처리.
    • 사용자와 상호작용 없이 순차적으로 실행.
    • 주어진 시간 안에 처리된 작업의 수(처리량)와 반환시간으로 효율성 평가.
      • 효율성 평가 : 처리량, 반환시간.
        • 처리량 : 주어진 시간 안에 처리된 작업의 수.
        • 반환 시간 : 작업의 생성 시점부터 종료 시점까지의 소요시간.
    • EX: OMR card reader.
  2. 대화형 (interactive) 운영체제
    • 시분할 운영체제라고도 함.
    • 일괄처리 운영체제보다 빠르지만 실시간 운영체제보다 느린 응답시간.
    • 이용자에게 즉각적인 피드백 제공.
      • 응답시간 : 요청한 시점부터 반응이 시작되는 시점까지의 소요시간.
  3. 실시간 (real-time) 운영체제.
    • 가장 빠른 응답시간
    • 처리의 결과가 현재의 결정에 영향을 주는 환경에서 사용.
    • 우주선 비행 시스쳄, 미사일 제어, 증권 관리 시스템, 은행 출입금 시스템 등.
  4. 하이브리드 운영체제
    • 일괄처리 운영체제와 대화형 운영체제의 결함.
    • 이용자는 터미널을 통해 접속하고 빠른 응답시간을 얻음.
    • 대화형 작업이 많지 않을 경우 백그라운드에서 배치 프로그램 실행.
    • 현재 사용되고 있는 대부분의 대형 컴퓨터 시스템은 하이브리드 운영체제.

운영체제의 역사

  • 1940 : 초기 전자식 디지털 컴퓨터
  • 1950 : 단순 순차처리 및 단일 흐름 일괄처리
  • 1960 : 멀티프로그래밍
  • 1970 : 멀티모드 시분할
  • 1980 : 분산 네트워크
  • 1990 : 병렬처리 및 분산처리
  • 2000 : 모바일 및 임베디드
728x90
반응형

'OS' 카테고리의 다른 글

[OS] 프로세스  (0) 2020.04.24

+ Recent posts