CS 지식/운영체제

1. 운영체제 개요

Zin0_0 2020. 11. 7. 23:58
반응형

운영체재 개요

  • 컴퓨터 시스템의 자원을 효율적으로 관리 (자원 관리자)
    • 프로세서, 기억장치, 입출력 장치 등의 효율적 관리
      • 형평성 있는 자원 분배
  • 좁은 의미의 운영체제
    • 커널(kernel)
    • 운영체제의 핵심 부분으로 메모리에 상주하는 부분
  • 넓은 의미의 운영체제
    • 커널 뿐 아니라 각종 시스템 유틸리티를 포함한 개념
  • 운영체제 분류
    • 동시 작업 여부
      • 다중 작업(multi tasking)
      • UNIX, MS Windows 등에서 한 명령 수행이 끝나기 전에 다른 명령 or 프로그램 수행
    • 사용자의 수
      • 단일 사용자(single user)
        • MS-DOS, MS Windows
      • 다중 사용자(multi user)
        • UNIX, NT server
    • 처리 방식
      • 일괄 처리(batch processing)
        • 작업 요청의 일정량을 모아서 한꺼번에 처리
        • 작업이 완전 종료될 때까지 기다려야 한다.
          • 과거의 컴퓨터, OMR, Punch Card 처리 시스템 등
      • 시분할(time sharing)
        • 현대의 컴퓨터
        • 여러 작업을 수행할 때 일정 시간 단위로 분할하여 처리
        • 일괄 처리에 비해 짧은 응답 시간
          • UNIX
      • 실시간 (Realtime OS)
        • 정해진 시간 안에 어떤 일이 반드시 종료됨이 보장돼야하는 실시간 시스템을 위한 OS
          • 원자로/공장 제어, 미사일 제어, 반도체 장비, 로보트 제어 등
        • 실시간 시스템 개념 확장
          • Hard realtime system (경성 실시간 시스템)
            • 데드라인을 어겼을 때 칼같이 문제가 되는 시스템
            • 공장에서 순서에 따라서 프로세스가 돌아갈 때
          • Soft realtime system (연성 실시간 시스템)
            • 데드라인을 어겼다고 해서 엄격하게 치명적 결과가 존재하지 않은 시스템
    • 현대 컴퓨터 OS는 다중 작업, 다중 사용자, 시분할을 채택
  • multi tasking vs multi programming vs time sharing vs multi process
    • multil tasking
      • 짧은 시간 간격으로 task를 처리하는 것
    • multi programming
      • 메모리에 여러 프로그램이 동시에 올라가있음을 강조
    • time sharing
      • CPU의 시간을 시분할해서 (공유해서) 나누어 쓴다는 의미를 강조
    • multi process
      • 여러 프로그램이 동시에 실행된다는 의미를 강조
      • cf) multi processor
        • 하나의 컴퓨터에 CPU(processor)가 여러 개 붙어 있음을 의미
  • UNIX vs Windows
    • UNIX
      • 초기에는 대형 컴퓨터를 위해 만들어진 OS (서버를 위한 운영체제)
      • 코드의 대부분이 C언어로 작성됨 (UNIX를 구성하기 위해 C언어가 탄생함)
      • 최소한의 커널 구조 ~> 확장 용이
      • 대표적인 버전 : Linux (PC를 위한 OS지만, server용으로도 좋음)
    • Windows
      • PC를 위해 만들어진 OS (단일 사용자용 DOS로 출발)
      • 다중 작업용 GUI 기반 OS
  • image

출처 : kocw 강의

반응형