운영체제 CPU 스케줄링 기초

한정된 CPU 자원을 여러 프로세스에 어떻게 효율적이고 공정하게 배분할 것인지 결정하는 CPU 스케줄링 알고리즘의 원리와 목표 지표를 분석했다.
시스템의 목적에 따라 응답 시간, 처리량, 자원 활용도 중 무엇을 최우선으로 둘 것인지에 대한 전략적 선택 과정을 정리했다.

여러 프로세스가 준비 큐에서 대기하다가 스케줄러에 의해 CPU를 할당받는 과정을 보여주는 흐름도

스케줄링의 성과를 판단하는 객관적인 기준들을 수립하고 선착순 방식인 FCFS, 최단 작업 우선인 SJF, 그리고 시분할 방식인 Round Robin의 특징을 비교했다.
운영체제가 실행 중인 프로세스로부터 자원을 강제로 회수할 수 있는지에 따른 선점형과 비선점형 방식의 차이를 분석하며 실시간성 확보 방안을 모색했다.
모든 상황을 만족하는 완벽한 단일 알고리즘은 존재하지 않으며 시스템의 용도에 최적화된 전략을 선택하고 튜닝하는 것이 핵심임을 깨달았다.

자원 배분의 효율성이 곧 사용자 경험과 직결된다는 사실을 인지하며 운영체제의 지능적인 중재 역할에 대해 깊이 이해하게 되었다.
운영체제의 핵심 메커니즘을 파악함으로써 더 효율적인 애플리케이션을 설계할 수 있는 든든한 기초를 다졌다.
복잡한 작업들 사이에서 최적의 실행 순서를 찾아내는 스케줄러의 고도화된 판단 로직을 확인했다.

시스템의 부하 상황을 고려하여 최적의 성능을 낼 수 있는 스케줄링 정책을 설계하고 적용하는 안목을 강화했다.
한정된 자원으로 최대의 효율을 이끌어내는 운영체제의 전략적 사고방식을 체득했다.

Author avatar

웨이호프

WordPress creator and blogger.

View all posts