본문/내용
1. 서론
현대의 컴퓨터 시스템은 동시에 수많은 작업을 수행하면서도 사용자에게는 매우 부드러운 환경을 제공한다. 웹 브라우징, 음악 재생, 백그라운드 업데이트 등이 동시에 이루어져도 복잡한 내부 과정은 거의 드러나지 않는다. 이러한 다중 작업 환경을 가능하게 하는 핵심 요소가 바로 프로세스(process)이며, 운영체제는 다양한 스케줄링(scheduling) 기법을 통해 이들을 효율적으로 관리한다. 프로세스는 단순히 실행 중인 프로그램이 아니라, CPU 명령어, 메모리 공간, 변수 값, 실행 상태 등 실행에 필요한 모든 정보를 포함한 독립적인 작업 단위이다. 운영체제는 프로그램을 실행하면 이를 프로세스로 생성하고, 필요한 자원을 배분하며, 실행 중 발생하는 상태 변화를 지속적으로 관리한다. 그러나 시스템 자원은 한정되어 있기 때문에 운영체제는 프로세스가 CPU를 언제, 얼마나 사용할지를 결정해야 하며, 이를 위해 다양한 스케줄링 기법을 사용한다. 스케줄링은 단순한 순서 결정이 아니라, CPU 활용도를 높이고 응답 시간을 단축하며 사용자 경험을 향상시키기 위한 전략적 자원 관리 과정이다. 공정성 확보, 시스템 성능 유지, 특정 프로세스의 과도한…