정리노트/필요한것

[운영체제] 4장 프로세스 관리

컵라면만두세트 2021. 7. 25. 14:14

Message Passing

  • 공유되는 메모리 영역 없이 프로세스 사이에 데이터를 송수신 하거나 동기화 작업 가능
  • 분산 시스템 환경에서 주로 사용하는 메커니즘

Interprocess communication

  • 통칭 IPC
  • 여러 프로세스간의 데이터를 주고 받을 수 있도록 하는 메카니즘
  • 공유메모리 : 다수의 프로세스에 의해서 공유되는 메모리 영역
  • 메시지 시스템 : 공유되는 변수 하나 없이 데이터를 구조 받을 수 있는 프로세스 통신

 

CPU Scheduler & Dispatcher

스케줄러의 종류

  1. 작업 스케줄러 : 장기 스케줄러
    • CPU 위주의 연산과 I/O 위주의 연산을 적절히 혼용하여 스케줄링
  2. 프로세스 스케줄러 : 단기 스케줄러
    • 실행 준비가 되어 있는 프로세스 중 하나를 선택하여 CPU 할당
    • 선점 스케줄링 : 할당 자원에 대해 우선순위 항상 비교 (RR, SRT, MLQ, MFQ) 중간에 현재 프로세스를 빼았을 수 있다 높은 우선순위를 가진 프로세스들이 빠른 처리를 요구하는 대화형에서 유리 인터럽트와 문맥교환에 따른 오버헤드가 발생
    • 비선점 스케줄링 : 할당 자원에 대해 우선순위 비교 X(FCFS, SJF, HRN) 중간에 현재 프로세스를 빼았을 수 없다. 우선순위 존재X, 공정하게 처리 응답시간 예측 짧은 작업이 긴 작업을 기다리는 경우가 발생
  3. 스케줄링 고려 사항
    • 이용율 극대화
    • 처리량 : 단위 시간당 얼마나 많은 프로세스가 실행
    • 총 처리 시간 : task의 처음부터 끝까지를 의미
    • Waiting time : 프로세스가 ready queue 에 있는 시간
    • Response time : 어떤 프로세스가 실행이 될때 첫 응답이 오는데 걸리는 시간
  4. FCFS(First com First Service) - 비선점
    • 먼저온게 먼저 실행된다
    • 선입선출
  5. SJF(Shortest Job First) - 비선점
    • 기다리고 있는 작업 중, 수행시간이 가장 짧다고 생각하는 것
  6. SRT(Shortest Remaining time First) - 선점
    • 남아있는 잔여시간이 가장 적은 프로세스를 고르는 알고리즘
    • 도착시간, 실행시간 고려하여 짧게 남은 프로세스를 실행
  7. RR(Round Robin) - 선점
    • Time Slice 할당
    • 시분할 시스템을 위한 설계
    • switching이 많이 일어나기 떄문에 오버헤드가 많이 발생
    • 처음 실행된거는 대기큐로 들어가 기다리고 있음
  8. MLQ(Multilevel Queue) - 선점
    • 특성에 따라 다른 프로세스들이 할당(메모리크기, 프로세스 우선순위 등)
    • 각 작업 서로 다른 묶음으로 분류
      • 최고 우선순위 시스템 프로세스 대화형 프로세스 대화형 편집 프로세스 일괄 프로세스 학생 프로세스
      • 최저 우선순위
  9. MFQ(Multilevel Feedback Queue)
    • 프로세스가 다양한 큐를 이동할 수 있다. starvation 문제를 aging으로 해결
    • cpu 사용시간에 따라 time-slice 부여
  10. HRN(Highest Response ratio Next)
    • 각 작업의 우선순위로 서비스 해주는 스케줄링
    • aging : 오랫동안 대기하는 프로세스의 우선순위를 증가시키는 방법
    • starvation를 해결 가능
    • 우선순위 결정식 ( 대기시간 + 서비스 시간 / 서비스 시간) -> 계산결과에 따라 높은것을 우선순위 둠

Dispatcher : short term scheduler가 선택한 프로세스에 cpu권한을 준다