강의 정리/운영체제 강의 정리

Operating Systems - History and Features

htaekjung 2024. 10. 31. 16:08

Week 1

Operating System(OS)의 역사

Operating System이 무엇인지를 알기 위해서는 우선 OS가 발전해 온 역사를 알아야 한다.

OS의 역사는 크게 3페이즈로 나뉜다. 

 

1 페이즈 : 1950년대 초반 ~ 1960년대 중반

2 페이즈 : 1960년대 중반 ~ 1990년대 중반

3 페이즈 : 1990년대 중반 ~ 현재

 

1페이즈

  • Human Operator as an OS
    • 하드웨어가 비싸고 인건비가 쌈
    • Slow job to job transition
    • Utilization(Computing time / Operating time) 안좋음
  • Simple Batch monitor & Batch OS with Advanced SPOOLing
    • Utilization 낮다는 단점 개선 
      • Batch(한꺼번에 묶어서 저장)를 통해 해결
      • Spooling(Simultaneous Peripheral Operations Online)을 통해 해결
      • 위 2가지 기능을 구현하기 위해 컴퓨터 메인 메모리에 상주하는 컨트롤 소프트웨어가 필요하게 됨
        • 이게 Operating System
      • 하지만, Utilization이 아직도 낮다는 단점 존재
        • I/O 진행하는 동안 CPU는 다른 일을 못하기 때문
        • 즉, CPU 연산과 I/O 연산을 병렬처리할 순 없음
    • Multiprogrammed Batch OS
      • Utilization이 아직도 낮다는 단점의 해결책으로 Multiprogramming이 나옴
        • Multiprogramming - 여러개의 job을 main memory에 올리고 CPU 주고 받고 수행하는 형태
        • Asynchronous - Utilization 상승
        • Synchronous - 병렬화 X
      • 하지만, Multiprogramming에는 다음의 3가지 어려움이 있음
        • Memory protection and relocation added to OS
          • Base registers, Bound registers로 해결
            • Base register : Job이 있는 주소값
            • Bound register : 해당 job이 차지하는 주소값의 범위(크기)
            • Base register + Bound register = MMU(Memory Management Unit)
          • Relocation : Program이 compile 되었으면 메모리에 재할당 되는 것
        • Higher Utilization because of multiple jobs
        • Concurrent programming became necessary

 

2 페이즈

  • Interactive time-sharing OS
    • 이제는 하드웨어 싸고 인건비 비쌈
    • 여러 사용자가 CPU와 메모리 자원을 공유하며 동시에 시스템을 사용하는 환경을 제공
  • PC OS
    • 컴퓨터가 쌈
    • 개인용 컴퓨터에서 실행됨
  • OS with internet
    • 인터넷 연결 및 네트워킹 기능이 중점

 

3 페이즈

  • OS with built-in Internet Access
    • 인터넷 프로토콜 추가됨
    • 인터넷 프로그래밍 중요
    • 멀티태스킹 중요해짐
    • ex. Chrome, Windows, macOS
  • Sophisticated PC OS
    • 많은 컴퓨터와 네트워크 자원 필요로 함
    • 더 복잡해졌지만 가격이 더 싸짐
    • ex. Windows(Windows 10/11 Pro 버전 이상), macOS, 고급 Linux(Ubuntu)
  • OS with Multimedia Support
    • 영상, 오디오, 그래픽 처리에 최적화된 OS
    • 가전제품과 컴퓨터가 합쳐짐
    • ex. Windows (특히 멀티미디어 작업에 최적화된 Windows Media 기능 포함), macOS (iMovie, Final Cut Pro와 같은 애플리케이션과의 호환성), Android, iOS (멀티미디어 지원 및 편집 앱 중심)
  • OS as Commodity
    • 컴퓨터, 모바일, 클라이드 시스템에서 많이 쓰이는 OS

 

OS의 기능

  • Coordinator(조정자) 
    • 더 효율적이고 공정하게 동작하도록 만들어주는 역할
    • Concurrency
      • several users doing less jobs each vs one user doing many jobs
    • I/O devices
      • I/O devices run concurrently with the CPU
      • Devices interrupts CPU when done
    • Memory
      • Each process needs some memory to execute
    • Files
      • Each user owns a collection of files
    • Network
      • allow groups of computers to work together

OS as coordinator

  • Illusion Generator
    • 자원이 무제한처럼 보이게 하는 환상을 만들어주는 역할
      • by time sharing, virtual memory
  • Standard Library
    • 표준 라이브러리 형태의 기능, 인터페이스 제공

이번 강의에서 가장 중요한 것은 Operating System의 정의입니다.

  • 그 중 첫번째는 컴퓨터 시스템에 존재하는 하드웨어 자원을 관리해주는 Coordinator
  • 두 번째는 앱을 다운로드해서 operate(작동)시키는 runtime environment