본문 바로가기
운영체제

[운영체제] CPU Scheduling

by moonstal 2022. 4. 28.
  • Schdulig Criteria(성능 척도)
    • 시스템 입장: 이용률(놀지않고 일한 시간-주방장), 처리량(몇개의 일을 처리했냐-손님몇명)
    • 프로그램 입장: 소요시간(기다린+실행-코스요리), 대기시간(총 기다린 시간-밥먹은 시간 뺀 시간), 응답 시간(최초의 cpu얻은 시간-첫번째 음식)
  • FCFS(first come first served): 먼저 온 고객 먼저(비선점형)
    convoy effect : 긴 프로세스 뒤에 짧은 프로세스 오는 것
  • SJF(shortest jop first): cpu burst time 가장 짧은 프로세스 제일 먼저 스케줄
    nonpreemptive: cpu잡으면 완료될 때까지 선점당하지 않음
    preemptive: 남은 burst time보다 더짧은 cpu burst time 갖는 프로세스오면 뺏김
    ->minimum average waiting time 보장-preemptive
  • priority scheduling: 우선순위 높은 프로세스에게 cpu 줌
    문제: 기아현상 영원히 cpu얻지 못함
    해결: aging 우선 순위 높여줌
  • round robin: 동일한 크기의 할당 시간을 가짐 시간끝나면 선점 당함 다시 줄섬
  • multilevel queue
    • 레디큐 여러개로 분할
      • foreground(interactive)
      • background(사람과 상호작용 없음)
    • 독립적인 스케줄링 알고리즘
      • foreground-RR
      • background-fcfs
    • 스케줄링: 우선순위조정, time slice
  • multilevel feedback queue: 프로세스가 다른 큐로 이동가능 , aging
  • multiple processor scheduling: cpu여러개인 경우 스케줄링 더 복잡
    homogeneous processor: 줄세워서/특정 프로세서에서(전담 헤어디자이너)
    load sharing: jop몰리지 않도록 별개 큐/공동 큐
    symmetric 멀티프로세싱: 각 프로세서가 스케줄링
    asymmetric 멀티프로세싱: 하나의 프로세서가 시스템 데이터 접근과 공유 책임
  • real time scheduling
    하드: 반드시 정해진 시간 안에 끝
    소프트: 일반 프로세스 비해 높은 우선순위
  • 스레드 스케줄링
    로컬: 사용자 수준의 스레드 library에 의해 스케줄
    글로벌: 일반 프로세스와 마찬가지로 커널의 단기 스케줄러가 스케줄링
  • 알고리즘 평가
    queueing models: 확률분포로 주어지는 도착률과 처리율 통해 performance index계산
    구현&성능측정: 실제 시스템 구현해서 측정
    모의 실험

http://www.kocw.net/home/search/kemView.do?kemId=1046323&ar=pop

'운영체제' 카테고리의 다른 글

[운영체제] Deadlocks  (0) 2022.05.03
[운영체제] Process Synchronization  (0) 2022.05.01
[운영체제] Process Management  (0) 2022.04.25
[운영체제] Process  (0) 2022.04.23
[운영체제] System Structure & Program Execution  (0) 2022.04.19