티스토리 뷰
### Process Scheduling ###
: CPU에서 실행중인 process를 제거하고 특정 전략에 따라 다른 process를 선택하는 process 관리자의 활동
: multi-processing의 필수 부분
: OS는 각 process 상태에 대해 별도의 queue를 유지하고 동일한 실행 상태에 있는 모든 process의 PCB는 동일한 queue에 배치 된다
: process가 변경되면 PCB가 현재 대기열에서 연결 해제되고 새 상태 대기열로 이동한다.
< process scheduling 목적 >
: CPU Utilization(사용률) Maximizes
: Increase processing speed
: interaction(상호작용) 제공
<1. Multi-processing >
: 한 번에 둘 이상의 CPU를 사용하는 컴퓨터.
: 여러 프로세스가 실행되는 동안 사용자 상호 작용이 가능하다
: Based on time sharing
=> CPU 여러개
< 자료 >
https://www.geeksforgeeks.org/difference-between-multitasking-multithreading-and-multiprocessing/
(소프트웨어(프로세스 실행)가 아닌 하드웨어(cpu 장치)를 말한다)
=> 기본 하드웨어가 둘 이상의 프로세서를 제공하는 경우 다중 처리
<2. Sheduling queue >
: multi-processing을 하기 위한 process sheduling을 관리하기 위한 툴
: 모든 PCB를 유지 보수한다.
: process가 다양한 queue들이 migrate 된다.
<queue 종류>
<1. Ready queue>
: process가 ready상태인 queue
: 기본 메모리에 상주하고 준비 및 실행 대기중인 모든 process 세트 유지
: 새로운 process 항상 queue에 배치
<2. Wait queue>
:특정 이벤트(i/o)를 기다릴(wait)때 상태인 queue
<Linked list based queue implementation(이행)>
(새로 삽입된 것을 가르킨다)
<Flow of Sheduling Queue>
(반복 수행)
'운영체제 > 이론' 카테고리의 다른 글
(17) Process Management(Process creation) (0) | 2020.09.17 |
---|---|
(16) Context Switching (0) | 2020.09.17 |
(14) PCB (0) | 2020.09.17 |
(13) Process (0) | 2020.09.16 |
(12) System Call & Trap & Timer (0) | 2020.09.16 |