1 분 소요

Chapter 1: 운영체제 개요 (2)

운영체제의 기능인 CPU 스케줄링, 메모리 관리, 디스크 스케줄링과 운영체제의 종류에 대해 알아본다.

키워드

  1. CPU 스케줄링
  2. 메모리 관리
  3. 디스크 스케줄링

내용 정리

📘 스케줄링의 목적

  1. 공평성: 모든 프로세스가 자원을 공평하게 배정받아야 하며, 특정 프로세스가 배제되어서는 안된다.
  2. 효율성: 시스템 자원을 놀리는 시간 없이 스케줄링해야 한다.
  3. 안정성: 우선순위를 사용하여 중요한 프로세스가 먼저 처리되도록 해야 한다.
  4. 반응 시간 보장: 응답이 없는 경우 사용자는 시스템이 엄춘 것으로 가정하기 때문에 시스템은 적절한 시간 안에 프로세스의 요구에 반응해야 한다.
  5. 무한 연기 방지: 특정 프로세스의 작업이 무한히 연기되어서는 안된다.

1. CPU 스케줄링

모든 프로세스가 공평하게 작업할 수 있도록 프로세스가 생성된 후 종료될 때까지 모든 상태 변화를 조정하는 일.

알고리즘 종류

  • FCFS(First Come First Served): 선입선출 방식, 모든 프로세스의 우선순위가 동일한 비선점형 방식. 하지만 CPU 처리 시간이 긴 프로세스가 먼저 올 경우 뒤의 프로세스가 기다리는 시간이 길어짐으로 이를 콘보이 효과(Convoy effect)라고 한다.
  • SJF(Shortest Job First): 준비 큐에 있는 프로세스 중 실행 시간이 가장 짧은 작업부터 CPU를 할당하는 비선점형 방식.

    📘 비선점형 방식이란?

    비선점형 기법은 특정한 프로세스의 작업이 끝날 때까지 CPU를 독점하는 기법.

  • RR(Round Robin): 프로세스에게 각각 동일한 CPU 할당 시간을 부여해서 이 시간동안만 CPU를 이용할 수 있게 하는 선점형 방식. 위의 두 방식은 CPU 처리 시간을 계산해야 하지만 RR 방식은 계산하지 않아도 된다.
    • 누가 CPU 처리 시간을 계산하는가?
      CPU 계산식이 있고 CPU 처리 시간에 대해서 OS가 계속 기록하고 있음으로 OS가 CPU 처리 시간을 계산하는 듯…?

2. 메모리 관리

한정된 메모리를 어떻게 쪼개어 쓸지 결정하는 과정

  • 가상 메모리
  • 디스크(파일시스템)
  • 디스크(스왑영역)
  • LRU vs LFU

3. 디스크 스케줄링

디스크에 들어온 요청을 어떤 순서로 처리할지 결정하는 과정.

  • 디스크 접근 시간(access time)의 구성
    • 탐색 시간(seek time): 헤드를 해당 트랙(실린더)으로 움직이는데 걸리는 시간
    • 회전 지연(rotational latency): 헤드가 원하는 섹터에 도달하기까지 걸리는 시간
    • 전송 시간(transfer time): 실제 데이터의 전송 시간
  • 디스크 스케줄링
    • seek time을 최소화하는 것이 목표
    • seek time = seek distance

알고리즘 종류

  • FCFS(First Come First Served)
  • SSTF(Shortest Seek Time First)
  • SCAN

댓글남기기