본문 바로가기

Scheduling

스케줄링 알고리즘과 우선순위 우선순위(Priority) 스케줄링(Scheduling) 알고리즘 : 각각의 프로세스마다 우선순위를 부여해서 우선순위가 높은 프로세스를 먼저 실행한다. 우선순위가 다른 두 프로세스를 동시 실행할 때, 우선순위가 높은 프로세스가 작업을 마치지 않는다면(블로킹 상태가 되거나 I/O 작업을 하지 않는다면) 우선순위가 낮은 프로세스는 절대로 실행되지 않는다. (기아 상태 : Starvation) 라운드 로빈(Round-Robin) 스케줄링 알고리즘 : 우선순위가 동일한 프로세스들의 형평성 유지를 위해 정해진 시간 간격(타임 슬라이스(Time Slice), 퀀텀(Quantum))만큼만 실행하고 CPU 할당을 넘긴다. 타임 슬라이스 ↑ -> 반응속도 ↓ 타임 슬라이스 ↓ -> 성능 ↓ (잦은 컨텍스트 스위칭 발생으.. 더보기
프로세스의 생성과 소멸 프로세스(Process) : 메모리에 로드되어 실행중인 프로그램 1. 프로세스를 구성하는 요소 메모리 구조 : 프로세스 생성시 만들어진다. Register Set : 프로세스 실행을 위해 필요한 데이터들로 채워진다. 2. 프로세스의 스케줄링과 상태 변화 프로세스의 스케줄링(Scheduling) : 프로세스의 CPU 할당 순서 및 방법을 결정짓는 일 (스케줄링 알고리즘(Scheduling Algorithms) : 스케줄링에 사용되는 알고리즘) 스케줄러(Scheduler) : 스케줄링 알고리즘을 적용해서 실제로 프로세스를 관리하는 운영체제 요소(모듈) (참고 : 멀티 프로세스(Multi-Process) 운영체제의 CPU 사용 실행해야 할 프로세스 여러개라면 멀티 프로세스는 모든 프로세스를 일단 실행시킨 후 .. 더보기