728x90
728x90
프로세스 스케줄링 process scheduling 이란 수행 가능한 여러 프로세스들 중에서 하나의 프로세스를 선택하는 것으로,
다중 프로그래밍은 CPU의 이용률을 극대화하기 위하여 항상 어떤 프로세스가 실행되도록 하고,
시분할은 각 프로그램이 실행되는 동안 사용자가 상호작용 할 수 있도록 프로세스들 사이에서 CPU를 빈번하게 교체한다.
< 스케줄링 큐 Queue >
실행될 프로세스가 여러 개 있으면 하나만 실행되고 나머지는 CPU가 자유로워질 때까지 대기하는 것으로 선입선출의 방식을 따른다.
큐의 종류에는 작업 큐, 준비 큐, 장치 큐가 있다.
작업 큐 Job Queue 는 메모리 할당을 대기 중인 프로세스들로 구성되고,
준비 큐 Ready Queue 는 CPU 할당을 대기 중인 프로세스들로 구성되며,
장치 큐 Device Queue는 입출력 장치 할당을 대기 중인 프로세스들로 구성된다.
프로세스가 시스템에 들어가면 이들은 잡 큐에 넣어진다. 잡큐는 시스템에서 모든 프로세스들이 존재하는 곳이다. 메인메모리에 거주하는 프로세스들은 레디 큐라고 불리우는 리스트에서 실행되기를 기다리고 대기를 한다.
큐는 보통 링크드 리스트로 저장된다. 레디 헤더는 포인터를 포함하는데, 이 포인터는 리스트에서 PCB의 처음과 끝을 가리킨다. 각 PCB는 포인터 필드를 포함하고 있는데, 이는 레디 큐에 있는 다음 PCB를 가리키는 것이다.
728x90
728x90
'OS' 카테고리의 다른 글
CPU 스케줄링(2) : 스케줄링 알고리즘 (0) | 2020.08.14 |
---|---|
CPU 스케줄링(1) : 기본 개념 (0) | 2020.08.14 |
Threads (0) | 2020.08.02 |
프로세스(3): Process Control Block PCB, CPU Switching (0) | 2020.08.02 |
프로세스(2) : 메모리에 저장된 프로세스, 프로세스의 상태 (0) | 2020.08.02 |
댓글