운영체제에 대해서 공부하자 - 1

목적 : 동빈나님의 유튜브를 보고 정리

운영체제

컴퓨터 사용자와 하드웨어 사이에서 중개자 역할을 해주는 프로그램

개요

컴퓨터 시스템의 처리 구조

User - Application(S/W) - OS - H/W

  • 사용자와 하드웨어 사이에서 상호작용을 하는, 항상 수행되는 프로그램

시스템의 발전

  • 일괄처리 시스템 -> 다중 프로그램, 시분할 시스템

일괄처리 시스템 (Batch System)

  • 초기의 운영체제는 즉시 데이터를 처리할 수 있는 여건을 갖추지 못함
  • 따라서 대안책으로써 비슷한 것들을 주기적으로 한 번에 묶어서 처리하는 Batch System을 도입
  • I/O 장치 속도가 CPU의 속도보다 느리기 때문에 CPU가 idle 상태인 경우가 많음
  • 상호 작용이 필요 없는 큰 단위의 작업들을 수행할 때 사용이 됨.

다중 프로그램 시스템 (Multi Programmed(ing) System)

  • 하드 디스크, SSD에서 여러 개의 프로그램을 선택해서 메인 메모리(RAM)에 적재.
  • 메모리 내에 있는 작업 중 하나를 선택해 차례대로 실행
  • 작업이 I/O 등의 이유로 기다리는 상태에 도달할 경우 CPU는 다른 작업으로 넘어가서 수행
  • 첫 번째 작업의 대기 상태가 끝나게 되면 현재의 작업을 중단하고 다시 첫 번째 작업이 CPU를 차지

시분할 시스템 (Time-Sharing System)

  • 프로그램이 수행 되고 있을 때, 아주 짧은 주기로 CPU를 가각의 프로그램에 할당
  • 프로그램이 수행되고 있는 동안에도 interact가 가능
  • 매우 짧은 주기이기 때문에 사용자는 동시에 작동을 하고 있다고 느끼게 됨
  • 리눅스를 예시로, 여러 사용자가 동시의 한 대의 컴퓨터에 접속을 해서 서로 다른 처리를 할 수 있도록 해줌

작업 스케쥴링

  • 보조기억장치에 프로그램이 저장되어 있고, 그 중 일부를 선택하여 메모리에 적재하는 전략

CPU 스케쥴링

  • 메모리에 적재된 작업들 중 무엇부터 실행할지

Written by@brouk
web developer

GitHub