2020-10-23 운영체제 목적 및 분류 (강의정리)

운영체제

  • 운영체제란 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층

목적

  • 컴퓨터 시스템의 자원을 효율적으로 관리
    • 최근에는 멀티코어이지만 운영체제에서는 1개의 코어를 가지고 어떻게 프로그램을 동시에 효율적으로 실행하고 관리할지를 결정? 다룬다.
    • 프로세서, 기억장치, 입출력 장치 등을 효율적으로 관리(하드웨어 자원)
      • 형평성 있는 자원 분배
      • 주어진 자원(하드웨어 성능)으로 최대한의 성능을 내도록
    • 사용자 및 OS 자신을 보호
    • 프로세스, 파일, 메세지를 관리(소프트웨어 자원)
  • 컴퓨터 시스템을 편리하게 사용할 수 있는 환경 제공
    • OS는 동시 사용자/프로그램들이 각각 독자적으로 컴퓨터에서 수행되는 환경을 제공
    • 하드웨어를 직접 다루는 복잡한 부분은 OS가 대행.
  • 협의의 운영체제(커널) : OS의 핵심부분으로 메모리에 상주한다.
    • 부팅이 일어나고 메모리에 항상 올라가 있는 시스템? 프로그램
  • 광의의 운영체제 : 커널뿐만 아니라 각종 주변 시스템 유틸리티를 포함하는 개념

스크린샷 2020-10-23 오전 1.01.11

분류

  • 동시 작업 가능 여부
    • 단일작업(single taksing) : 한번에 하나의 작업만 처리(과거의 컴퓨터)
    • 다중 작업(multi taksing) : 동시에 2개 이상의 작업처리
      • 하나의 명령어 수행이 끝나기전에 다른 명령이나 프로그램을 수행할 수 있다.
  • 지원하는 사용자의 수 : 동시접속 여부에 따라 분류
    • 단일 사용자(single user) : MS-DOS, Window
    • 다중 사용자 : Unix, 계정을 만들어서 동시에 접속할 수 있는지
  • 처리방식
    • 일괄처리(batch processing)
      • 작업 요청을 모아서 한번에 처리
      • 작업이 끝날때까지 기다려야한다.
      • interactive하지 않는다.
    • 시분할(time sharing) : 현대운영체제 방식
      • 여러 작업을 수행할 때 컴퓨터 처리 능력을 일정한 시간 단위로 분할하여 사용
      • 일관처리시스템에 비해 짧은 응답 시간을 가진다 ex) Unix
      • Interactive방식 => 입력을 하자마자 바로바로 입력되고 반응이 나온다.
    • 실시간(Realtime OS) : 개념적으로는 시분할과 다르다. 데드라인이 존재.
      • 정해진 시간 안에 작업이 반드시 종료됨이 보장되어야한다. ex) 원자로 제어, 미사일제어, 반도체장비
    • 실시간 시스템개념 확장
      • Hard realtime system(경성 실시간 시스템) : 데드라인에 크게 영향을 받는 시스템. 위의 Realtime OS
      • Soft realtime system(연성 실시간 시스템) : 데드라인에 어긋났지만 크게 영향을 없는 시스템. 실시간 운영체제에서 조금 완화
  • Multitasking, Multiprogramming, TimeSharing, Multiprocess : 해당 용어들은 여러작업을 동시에 수행됨을 뜻한다.
    • Multi programming : 메모리에 여러 프로그램이 올라간 방식
    • TimeSharing : CPU의 시간을 분할하여 나누어 쓴다.
  • Multiprocessor : 하나의 컴퓨터에 CPU(processor)가 여러개 붙어있다.

예시

  • 유닉스계열
    • 여러명이 사용할 수 있도록 설계
    • 대부분 C언어로 작성
      • 이전에는 어셈블리로 OS를 작성했다
      • 유닉스를 만들기 위해 C언어를 만들정도
    • 높은 이식성 : 다른컴퓨터에서도 실행하기가 쉽다
    • 최소한의 커널구조 : 커널의 크기를 최소로 해서 메모리를 작게 사용한다.
    • 복잡한 시스템에 맞게 확장 용이
    • 소스코드 공개
    • 프로그램 개발에 용이
    • 다양한 버전
      • Linux, System V, Solaris
  • MS Window
    • DOS는 단일 사용자용 OS, 메모리를 640kb로 제한
    • 개인용 컴퓨터용으로 개발
    • 다중 작업용 GUI기반 OS
    • DOS와 프로그램 호환성 제공
    • 불안정성 : 프로그램 여러개 실행시키면 뻗었었다.
    • 풍부한 지원 소프트웨어

느낀점

  • 운영체제에 대해서 대략적으로만 알고있었는데, 이화여대 반효경 교수님 강의를 통해 시작맥락을 잡을 수 있었다. 다 수강하고 공룡책을 봐야겠다.
Written on October 23, 2020