본문/내용
1. 프로세스 스케쥴링
프로세스 스케줄링은 컴퓨터 시스템에서 동시에 실행될 수 있는 여러 프로세스를 효율적으로 관리하고 배치하는 기법이다. 운영 체제의 핵심 기능 중 하나로, CPU와 메모리 자원의 최적 활용을 위해 필수적이다. 프로세스는 시스템 내에서 생성되어 소멸하며, 각 프로세스가 CPU를 점유할 수 있는 기준과 전략이 필요하다. 프로세스 스케줄링의 주요 목표는 시스템의 응답 시간, 처리량, CPU 이용율을 극대화하고 대기 시간과 회전 시간을 최소화하는 것이다. 스케줄링 알고리즘은 크게 비선형 스케줄링과 선형 스케줄링으로 나눌 수 있으며, 각 알고리즘은 특정한 상황과 요구에 따라 서로 다른 성능을 보인다. 선입선출(FIFO) 방식은 가장 간단한 스케줄링 기법이다. 이 방식은 먼저 도착한 프로세스가 먼저 실행되도록 하여 대기 시간의 예측이 용이하다. 하지만 프로세스 간의 처리 시간이 불균형할 경우, 긴 작업이 대기열의 앞부분에 있는 경우 짧은 작업들이 불필요하게 대기하게 되어 비효율적 순서가 발생할 수 있다. 최소 작업 우선(Minimum Job First) 스케줄링은 각 프로세스의 작업 소요 시간을 기준으로 스케줄링하는 방식이다. 짧은 …