멀티태스킹 3

프로세스 스케줄링(Process Scheduling)이란? 선점형 vs 비선점형 스케줄링 비교

1. 프로세스 스케줄링이란?컴퓨터 운영체제는 CPU와 같은 한정된 자원을 여러 프로세스가 효과적으로 사용할 수 있도록 관리해야 한다. 하지만 CPU는 한 번에 하나의 프로세스만 실행할 수 있기 때문에, 운영체제는 어떤 프로세스를 언제 실행할지를 결정하는 과정이 필요하다. 이때 운영체제가 프로세스를 효율적으로 실행할 수 있도록 CPU 할당 순서를 정하는 과정을 **프로세스 스케줄링(Process Scheduling)**이라고 한다.1-1. 프로세스 스케줄링의 필요성만약 프로세스 스케줄링이 없다면, 어떤 프로세스가 CPU를 차지하면 끝날 때까지 계속 실행되므로, 다른 프로세스는 실행되지 못하고 기다려야 한다.✅ CPU 사용률을 극대화하여 한정된 자원을 최대한 활용✅ 사용자가 여러 프로그램을 실행할 때 멀티태..

컴퓨터공학 2025.03.06

컨텍스트 스위칭(Context Switching)의 원리와 성능 최적화

1. 컨텍스트 스위칭이란?컴퓨터 운영체제에서 CPU는 한 번에 하나의 프로세스만 실행할 수 있다. 하지만 현대의 컴퓨터는 멀티태스킹(Multitasking) 환경을 지원하기 때문에, 여러 개의 프로그램이 동시에 실행되는 것처럼 보인다. 그러나 실제로는 운영체제가 빠르게 여러 프로세스를 번갈아가며 실행하는 방식으로 멀티태스킹을 구현한다. 이 과정에서 CPU는 현재 실행 중인 프로세스를 일시 중단하고, 다른 프로세스를 실행해야 하는 경우가 발생하는데, 이를 위해 기존 프로세스의 상태를 저장하고 새로운 프로세스의 상태를 불러오는 작업이 필요하다. 이때, CPU가 현재 실행 중인 프로세스의 정보를 저장하고 새로운 프로세스의 정보를 복원하는 과정을 **컨텍스트 스위칭(Context Switching)**이라고 한..

컴퓨터공학 2025.03.06

운영체제의 스케줄링 알고리즘: 개념과 종류

1. CPU 스케줄링이란?운영체제는 한정된 CPU 자원을 효율적으로 분배하기 위해 프로세스를 관리해야 한다.이때, CPU가 어떤 프로세스를 실행할지 결정하는 과정이 **CPU 스케줄링(CPU Scheduling)**이다.CPU는 한 번에 하나의 프로세스만 실행할 수 있으므로, 여러 프로세스를 공정하고 효율적으로 배치하는 방법이 필요하다.운영체제는 특정 규칙을 기반으로 프로세스의 실행 순서를 결정하는데, 이를 CPU 스케줄링 알고리즘이라고 한다.1-1. 스케줄링 알고리즘의 목표CPU 사용률(CPU Utilization) 극대화: CPU가 최대한 유휴 상태 없이 동작하도록 함처리량(Throughput) 증가: 단위 시간당 더 많은 프로세스를 처리응답 시간(Response Time) 최소화: 사용자 요청에 대..

컴퓨터공학 2025.03.05