Study/cs

[CS] 프로세스의 상태전이와 스케줄링

written by yunwon 2021. 8. 30. 08:58

 

 

목차

  • 프로세스
  • 프로세스 상태 전이
  • 프로세스 스케줄링

 

 


 

프로세스 란?

 프로세스(Process)란 일반적으로 CPU에 의해 처리되는 프로그램으로 현재 실행 중인 프로그램을 말한다.하나의 프로세스는 여러가지 이벤트에 의해 일련의 서로 구분되는 상태 변화(생성 상태, 준비 상태, 실행 상태, 대기 상태, 완료 상태) 를 겪는다.

 

 

 


 

프로세스 상태 전이

 프로세스의 상태 전이는 하나의 작업이 컴퓨터 시스템에 입력되어 완료되기까지 프로세스의 상태가 준비, 실행 및 대기 상태로 변하는 활동을 말한다. 활동 상태는 프로세스가 기억장치를 할당받은 상태이며, 지연 상태는 기억장치를 할당받지 못한 상태이다.

 

 

 디스패치는 준비 상태에 있는 여러 프로세스(Ready list) 중 실행될 프로세스를 선정(Scheduling)하여 CPU를 할당(Dispatching)하는 것으로 문맥교환(Context switching)이 발생한다.

 

 

 


 

프로세스 스케줄링

 프로세스 스케줄링은 CPU를 사용하려고 하는 프로세스들 사이의 우선순위를 관리하는 작업이다. 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 방식인 선점형 스케줄링과 한 프로세스가 CPU를 할당받으면 작업 종료 후 CPU 반환 시까지 다른 프로세스는 CPU 점유가 불가능한 비선점형 스케줄링 방식이 있다.

 

- 선점형 스케줄링

  • 라운드로빈 (Round Robin)
    프로세스는 같은 크기의 CPU 시간을 할당,
    프로세스가 할당된 시간 내에 처리 완료를 목하면 준비 큐 리스트의 가장 뒤로 보내지고,
    CPU는 대기 중인 다음 프로세스로 넘어감


  • SRT(Shortest Remaing Time)
    가장 짧은 시간이 소요되는 프로세스를 먼저 수행하고,
    남은 처리 시간이 더 짧다고 판단되는 프로세스가 준비 큐에 생시면 언제라도 프로세스가 선정됨


  • 다단계 큐
    작업들을 여러 종류의 그룹으로 분할, 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선정 당함

  • 다단계 피드백 큐
    FCFS(FIFO)와 라운드로빈 스케줄링 혼합,
    새로운 프로세스는 높은 우선순위를 가지며 프로세스의 실행 시간이 길어질수록
    점점 낮은 우선순위 큐로 이동하며 마지막 단계는 RR을 적용함

 

- 비선점형 스케줄링

  • 우선순위
    프로세스별로 우선순위가 주어지고, 우선순위에 따라 CPU를 할당함

  • 기한부 (Deadline)
    작업들이 명시된 시간이나 기한 내에 완료되도록 계획

  • FCFS
    프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당함

  • SJF (Shortest Job First)
    프로세스가 도착하는 시점에 따라
    그 당시 가장 작은 서비스 시간을 갖는 프로세스가 종료 시까지 자원 점유


  • HRN (Highest Response Ratio Next)
    대기 중인 프로세스 중 현재 응답률이 가장 높은 것을 선택,
    기아현상 최소화 (= 대기시간+서비스시간 / 서비스시간)


 

 

© 참고

http://www.yes24.com/Product/Goods/96051171

 

2021 수제비 정보처리기사 필기 세트 - YES24

NCS 반영! 출제기준 전면개편 NCS 기반을 반영(기출문제 분석 150제, 예상문제 수록 400제)한 정보처리기사 필기 수험서 이다. 수제비는 합격만을 위한 다양한 학습 콘텐츠 제공 한다. NCS 기반 명견

www.yes24.com

 

'Study > cs' 카테고리의 다른 글

[iOS/Swift] WKWebView (+ SFSafariViewController)  (0) 2021.11.22
[PHP] 🐘  (0) 2021.10.28
[CS] 디자인 패턴 유형과 종류  (0) 2021.08.30