스케줄링

CS 지식/운영체제

[운영체제] 스케줄링 관련 면접 대비 질문 정리

💡 스케줄링에 대해 설명해주세요. 더보기 여러 프로세스가 있고, 이 프로세스들이 자원(CPU 등)을 동시에 요구하는데 자원은 제한되어 있습니다. 그럴 때 제한된 자원들을 어떻게(순서를 할당하는 등) 나눠줄 것인지에 대한 정책을 말합니다. 💡 CPU 스케줄링은 언제 발생합니까? 더보기 실행상태에서 대기상태로 전환될 때 (예, 입출력 요청) - Non preemptive(비선점) 실행상태에서 준비상태로 전환될 때 (예, 인터럽트 발생) - preemptive(선점) 대기상태에서 준비상태로 전환될 때(예, 입출력이 종료될 때) 종료될 때(Terminated) 💡 CPU 스케줄링의 목적은 무엇입니까? 더보기 1. 공평성 모든 프로세스가 자원을 공평하게 배정받아야 한다. 자원 배정 과정에서 배제되어서는 안 된다...

CS 지식/운영체제

[운영체제] 스케줄링 기법 정리

0. CPU 스케줄링 CPU 스케줄러는 다중 프로그램 운영체제의 기본이다. 운영체제는 CPU를 프로세스 간에 교환함으로써, 컴퓨터를 보다 생산적으로 만든다. 최신 운영체제에서는 실질적으로 프로세스가 아니라 커널 수준 스레드를 스케줄 한다. 1. 기본 개념 (Basic Concepts) 다중 프로그래밍의 목적은 CPU 이용률을 최대화하기 위해 항상 실행 중인 프로세스를 가지게 하는데 있다. 어떤 프로세스가 대기해야 할 경우, 운영체제는 CPU를 그 프로세스로부터 회수해 다른 프로세스에 할당한다. 즉, CPU 이용률을 최대화 하는 것은 다중 프로세서 운영체제 설계의 핵심이 된다. 1.1 CPU - I/O 버스트 사이클 (CPU - I/O Burst Cycle) 프로세스 실행은 CPU 실행과 I/O 대기의 사..

지나가던 개발자
'스케줄링' 태그의 글 목록