CS지식/운영체제

TIL 정리_83

ran4 2022. 5. 10. 10:55

http://www.kocw.net/home/m/search/kemView.do?kemId=1046323

운영체제 강의를 듣고 정리한 내용입니다

 

 

CPU가 여러개 있는 경우의 스케줄링

CPU가 여러 개인 경우 스케줄링은 더욱 복잡해진다

 

Multiple-Processor Scheduling

Homogeneous processor

  • Queue에 한 줄로 세워서 각 프로세서가 알아서 꺼내가게 할 수 있다
  • 반드시 특정 프로세서에서 수행되어야 하는 프로세스가 있는 경우 문제가 더 복잡해진다

 

Load sharing

  • 일부 프로세서에 job이 몰리지 않도록 부하를 적절히 공유하는 메커니즘이 필요하다
  • 별개의 큐를 두는 방법과 공동 큐를 사용하는 방법이 있다

 

Symmetric Multiprocessing(SMP)

  • 각 프로세서가 각자 알아서 스케줄링을 결정한다 (동등한 방식)

 

Asymmetric multiprocessing

  • 하나의 프로세서가 시스템 데이터의 접근과 공유를 책임지고
  • 나머지 프로세서는 이를 따른다

 

Real-Time Scheduling

  • Hard real-time systems
  • 정해진 시간 안에 반드시 끝내도록 스케줄링 해야한다

Soft real-time computing

  • 일반 프로세스에 비해 높은 priority를 갖도록 해야한다

 

Thread Scheduling

Local Scheduling

User level thread의 경우 사용자 수준의 thread library에 의해 어떤 쓰레드를 스케줄링할지 결정한다

-> 사용자 프로세스가 직접 결정한다

 

Global Scheduling

Kernal level thread의 경우 일반 프로세스와 마찬가지로 커널의 단기 스케줄러가 어떤 쓰레드를 스케줄링할지 결정한다

-> 운영체제가 결정한다

 

 

어떤 알고리즘이 좋은지 평가할 수 있는 방법

Algorithm Evaluation

 

Queueing models

확률 분포로 주어지는 arrival rateservice rate 등을 통해 각종 performance index 값을 계산한다

-> 복잡한 수식 계산을 하고 그 결과를 활용한다 (과거에 사용한 방법)

 

Implementation(구현) & Measurement(성능 측정)

실제 시스템에 알고리즘을 구현하여 실제 작업(workload)에 대해서 성능을 측정하고 비교한다

 

Simulation(모의 실험)

알고리즘을 모의 프로그램으로 작성 후 trace를 입력으로 하여 결과를 비교한다

'CS지식 > 운영체제' 카테고리의 다른 글

TIL 정리_85  (0) 2022.05.12
TIL 정리_84  (0) 2022.05.11
TIL 정리_82(운영체제)  (0) 2022.05.09
TIL 정리_77  (0) 2022.05.04
TIL 정리_76  (0) 2022.05.03