반응형
CPU 스케줄링 - 다중 큐 방식
프로세스가 생성되면 준비상태로 전환되고 준비상태에서 CPU를 기다리고 있는 프로세스들은
CPU 스케줄러에 의해 실행상태로 전환된다.
실행상태에 있는 프로세스는 CPU 할당시간이 다 되었다면,
다시 준비상태로 전환되고 i/o 요청이 있다면 대기상태로 작업이 끝났다면 완료상태로 전환된다.
여기서 프로세스가 대기하고 있는 "준비상태"와 "대기상태"는 Queue로 관리된다.
준비상태 프로세스
프로세스가 실행상태에서 준비상태로 돌아갈 때,
운영체제는 해당 프로세스의 우선순위를 보고 그에 맞는 준비 큐에 넣는다.
CPU 스케줄러는 "준비상태의 다중큐" 에 들어있는 프로세스들
중에 적당한 프로세스를 선택해서 실행상태로 전환시킨다.
대기상태 프로세스
프로세스가 실행상태에서 i/o 요청을 받아 대기상태로
오게 되면 i/o 작업 종류에 따라서 분류된 큐에 들어가게 된다.
예를 들면 키보드 입력과 같은 작업은 키보드 입출력 관련 큐에 들어가고
키보드 입출력 작업이 완료되어 인터럽트가 발생되면
Keyboard Queue에서 프로세스를 하나를 다시 꺼내가서 실행시킨다.
반응형
'운영체제' 카테고리의 다른 글
[운영체제] FIFO(First In, First Out) 스케줄링 알고리즘 (0) | 2024.05.27 |
---|---|
[운영체제] 컴퓨터 시스템 스케줄링의 주요 목표 (0) | 2024.05.24 |
[운영체제] Thread (쓰레드) (0) | 2024.05.22 |
[운영체제] 프로세스의 생성/종료 (0) | 2024.05.21 |
[운영체제] Context Switching (문맥교환) (0) | 2024.05.20 |