운영체제

[운영체제] 컴퓨터 시스템 스케줄링의 주요 목표

ssh9308 2024. 5. 24. 09:00
반응형

컴퓨터 시스템 스케줄링의 주요 목표

 

컴퓨터 시스템의 스케줄링은 자원의 효율적 관리와 최적의 성능을 달성하기 위해 중요하다.

 

스케줄링 알고리즘은 다음과 같은 여러 목표를 달성하기 위해 설계되어 있다.



1. 리소스 사용률 최대화


스케줄링의 주된 목표 중 하나는 CPU와 I/O 장치 같은 시스템 리소스의 사용률을 최대화하는 것이다.

 

이는 시스템의 효율성을 높이고, 자원이 낭비되지 않도록 함으로써 전반적인 성능을 개선한다.

 


2. 오버헤드 최소화

 

스케줄링 프로세스 자체도 시스템의 자원을 소모한다.

 

따라서 스케줄링 알고리즘은 필요한 계산량을 최소화하며,

 

자주 발생하는 콘텍스트 스위칭을 줄임으로써 오버헤드를 최소화하는 것을 목표로 한다.



3. 공평성 보장

 

스케줄링은 모든 프로세스가 공평하게 CPU 시간을 할당받도록 보장해야 한다. 

 

하지만 시스템의 요구에 따라, 예를 들어 안전을 최우선으로 하는 자율주행 차량의 시스템에서는 

 

중요한 프로세스에 더 많은 자원을 할당하는 것이 필수적일 수 있다.

 

(자율주행 차량의 경우 장애물을 피하는 프로세스가

 

음악재생 프로세스나 창문을 닦는 프로세스보다 CPU가 많이 할당되는 것이 공평하다.)

 


4. 처리량 극대화


처리량은 단위 시간당 완료된 프로세스의 수를 의미한다.

 

스케줄링은 가능한 많은 작업을 효과적으로 처리하여 높은 처리량을 달성하려고 한다.



5. 대기 시간 최소화


프로세스가 시스템에 작업을 요청한 후 실제로 작업이 시작되기까지의 시간을 최소화하는 것이 중요하다.

 

이는 특히 실시간 시스템에서 중요한 요소이다.

 


6. 응답 시간 단축


대화형 시스템에서는 사용자 요청에 대한 빠른 반응이 필수적이다.

 

스케줄링은 응답 시간을 줄여 사용자 경험을 향상시키는 것을 목표로 한다.

 

 

 

 

스케줄링 목표 간의 트레이드오프

 


이러한 목표들은 서로 상호 연관되어 있으며, 

 

때로는 상반되는 요구사항을 가질 수 있다.

 

예를 들어, 높은 처리량을 달성하기 위해 프로세스에

 

긴 CPU 시간을 할당하면 응답 시간이 늘어날 수 있다.

 

따라서 스케줄러는 시스템의 요구와 사용 환경에 따라

 

이러한 목표들 사이에서 최적의 균형을 찾아야 한다.

시스템의 특성과 요구에 따라 적절한 스케줄링 알고리즘을 선택하고 조정하는 것이

 

시스템 관리자와 개발자의 중요한 역할이다.

 

이를 통해 시스템의 성능을 최적화하고 사용자의 만족도를 높일 수 있다.







반응형