View

프로세스(process)란?

  • 실행중인 프로그램을 프로세스라고 부른다.
    • 프로세스 : 메모리에 올려져서, 실행중인 프로그램
    • 코드이미지(바이너리): 실행파일, 예:EELF format프로세스라는 용어는 작업, task, job이라는 용어와 혼용되어 쓰인다.
  • 응용 프로그램 =! 프로세스
    • 응용 프로그램은 여러개의 프로세스로 이루어질 수 있음.
  • 하나의 응용 프로그램은 여러개의 프로세스(프로그램)가 상호작용을 하면서 실행될 수 도 있음
  • 간단한 C/C+ 프로그램을 만든다면 -> 하나의 프로세스
    여러프로그램을 만들어서, 서로 통신하면서 프로그램을 작성할수도 있음(IPC기법 : 프로세스가 서로 통신하는 기법)

 

누가 프로세스 실행을 관리할까?

=> 스케쥴러

 

스케쥴링 알고리즘

어느 순서대로 프로세스를 실행시킬까?

  • 목표
    • 시분할 시스템 예: 프로세스 응답 시간을 가능한 짧게
    • 멀티 프로그래밍 예: CPU활용도를 최대로 높혀서, 프로세스를 빨리 실행

 

FIFO

  • 가장 간단한 스케쥴러(배치 처리 시스템과 유사)
  • FCFS(First Come First Served)
  • 들어온 순서대로 프로세서(CPU)에서 처리를 한다.

 

FIFO는 어디서 배웠을까?

  • 배치처리시스템에서 쓰였던 스케줄러로, Queue의 자료구료를 활용한 First In Fist Out 시스템!!

 

최단 작업 우선(SJF) 스케쥴러

  • SJF(Shortest Job First) 스케쥴러
    • 가장 프로세스 실행시간이 가장 짧은 프로세스부터 먼저 실행을 시키는 알고리즘
  • 실행시간을 알아야하는 단점이 존재.

 

여기서 잠깐!

  • RealTime OS(RTOS) : 응용 프로그램 실시간 성능 보장을 목표로 하는 OS
    • 정확하게 프로그램 시작, 완료 시간을 보장
    • Hardware RROS, Software RTOS
  • General Purpose OS(GPOS)
    • 프로세스 실행 시간에 만감하지 않고, 일반적인 목적으로 사용되는 OS, 예:Windows, Linux 등

 

우선순위 기반 스케쥴러

  • Priority-Based 스케쥴러
    • 정적 우선순위
      • 프로세스마다 우선순위를 미리 지정
    • 동적 우선순위
      • 스케쥴러가 상황에 따라 우선수위를 동적으로 변경

Round Robin 스케쥴러

  • 시분할 시스템으로 프로세스가 끝나지 않으면, Round Robin(RR) Ready Queue에 다음 순서로 담아진다.

 


오늘 배운 내용 정리

  • 다양한 기본 스케쥴링 알고리즘
    • FIFO(FCFS) 스케쥴링 알고리즘(배치처리 시스템)
    • 최단작업우선(SJF) 스케쥴링 알고리즘
    • 우선순위 기반 스케쥴링 알고리즘
      • 정적 우선순위, 동적 우선순위
    • Round Robin 스케쥴링 알고리즘
      • 시분할 시스템 기반
Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31