운영체제 스케줄링 레포트 과제제출 시험대비
본 내용은
"
운영체제 스케줄링 레포트 과제제출 시험대비
"
의 원문 자료에서 일부 인용된 것입니다.
2023.03.09
문서 내 토픽
  • 1. 프로세스 상태 변화와 스케줄러의 역할
    프로세스 상태 변화와 스케줄러의 역할을 도식화하고 기술하였습니다. 작업 스케줄링, 작업 승인과 프로세서 결정 스케줄링, 프로세서 할당 스케줄링 등 스케줄러의 역할을 설명하였습니다.
  • 2. 장기 스케줄러, 중기 스케줄러, 단기 스케줄러
    장기 스케줄러는 프로세스 생성 과정에서 프로세스의 준비 상태에 무엇을 추가할지 결정하며, 메모리 사용 가능 공간과 자원을 확인합니다. 중기 스케줄러는 스왑 기능의 일부로 메모리에 부분적으로 프로세스를 적재하고, 일시중지된 프로세서의 원인을 해결합니다. 단기 스케줄러는 미리 정한 스케줄링 알고리즘에 따라 실행할 프로세스를 선택하며, 프로세스의 실행 상태에서 대기 또는 대기 상태에서 준비 상태로 변화하는 것을 담당합니다.
  • 3. 선점 스케줄링 알고리즘
    선점 스케줄링 알고리즘으로 RR(라운드 로빈 스케줄링)과 SRT(최단 잔여 시간 우선 스케줄링)을 설명하였습니다. RR은 프로세스에 시간 할당량을 주고 작업을 완료하지 못하면 다음 프로세스로 넘어가며, SRT는 준비 큐에 있는 프로세스 중 가장 짧은 시간이 소요된다고 판단되는 프로세스를 먼저 수행시킵니다.
  • 4. 비선점 스케줄링 알고리즘
    비선점 스케줄링 알고리즘으로 FCFS(선입선처리)와 SJF(최소작업우선)을 설명하였습니다. FCFS는 프로세스 생성 순서대로 실행하며, SJF는 준비 큐에 있는 작업 중 수행 시간이 가장 짧다고 판단되는 것을 먼저 수행합니다.
  • 5. 반환시간 계산
    주어진 작업의 도착시간과 CPU 사용시간을 이용하여 반환시간을 계산하였습니다. 반환시간은 (사용시간들-도착시간)으로 계산하며, 평균 반환시간은 (13+45+65)/3=41초입니다.
  • 6. SJF 스케줄링
    주어진 작업을 SJF 스케줄링으로 처리하였을 때 작업번호 2의 종료 시간은 13초입니다. 작업이 도착한 순서대로 실행 시간이 가장 짧은 작업을 먼저 실행하는 방식으로 스케줄링하였습니다.
  • 7. 라운드 로빈 스케줄링
    준비상태 큐에 프로세스 A, B, C가 차례로 도착하였을 때 타임 슬라이스를 4초로 하여 라운드 로빈 스케줄링을 수행하였습니다. 이때 평균 반환 시간은 (8+17+29)/3 = 18초입니다.
  • 8. 우선순위 스케줄링
    주어진 작업의 대기 시간, CPU 사용 시간을 이용하여 우선순위를 계산하였습니다. 우선순위는 (대기한 시간+서비스를 받을 시간)/서비스를 받을 시간으로 계산하며, 그 결과 D>B>C>A 순으로 우선순위가 높습니다.
Easy AI와 토픽 톺아보기
  • 1. 프로세스 상태 변화와 스케줄러의 역할
    프로세스의 상태 변화는 운영 체제의 핵심 기능 중 하나입니다. 프로세스는 생성, 실행, 대기, 준비, 종료 등의 상태를 거치며, 이러한 상태 변화를 관리하는 것이 스케줄러의 주요 역할입니다. 스케줄러는 프로세스의 상태를 모니터링하고, 자원 할당, 우선순위 결정, 프로세스 전환 등을 통해 효율적인 프로세스 실행을 보장합니다. 이를 통해 시스템의 성능과 응답성을 향상시키고, 공정성과 안정성을 유지할 수 있습니다. 따라서 프로세스 상태 관리와 스케줄러의 역할은 운영 체제 설계에 있어 매우 중요한 부분이라고 할 수 있습니다.
  • 2. 장기 스케줄러, 중기 스케줄러, 단기 스케줄러
    운영 체제에서는 프로세스의 수명 주기에 따라 장기, 중기, 단기 스케줄러가 각각의 역할을 담당합니다. 장기 스케줄러는 새로운 프로세스의 생성을 관리하고, 메모리 할당 등의 작업을 수행합니다. 중기 스케줄러는 메모리 부족 시 프로세스를 메모리와 디스크 간에 이동시키는 스왑 기능을 담당합니다. 단기 스케줄러는 준비 큐에 있는 프로세스 중 어떤 것을 실행할지 결정하는 역할을 합니다. 이러한 스케줄러들의 협력을 통해 시스템의 전반적인 성능과 효율성이 향상될 수 있습니다. 각 스케줄러의 역할과 상호작용을 이해하는 것은 운영 체제 설계와 성능 최적화에 매우 중요합니다.
  • 3. 선점 스케줄링 알고리즘
    선점 스케줄링 알고리즘은 프로세스의 실행 중에도 다른 프로세스로 전환할 수 있는 기능을 제공합니다. 이를 통해 시스템 자원을 보다 효율적으로 활용할 수 있으며, 응답 시간 향상, 공정성 보장 등의 장점을 얻을 수 있습니다. 대표적인 선점 스케줄링 알고리즘으로는 라운드 로빈, 우선순위 스케줄링, 다중 수준 피드백 큐 등이 있습니다. 각 알고리즘은 프로세스의 특성, 시스템 요구사항 등에 따라 적절히 선택되어야 합니다. 선점 스케줄링은 실시간 시스템, 대화형 시스템 등에서 특히 중요한 역할을 하며, 운영 체제 설계 시 고려해야 할 핵심 기능 중 하나라고 할 수 있습니다.
  • 4. 비선점 스케줄링 알고리즘
    비선점 스케줄링 알고리즘은 프로세스가 자발적으로 CPU를 반환할 때까지 계속 실행되는 방식입니다. 이는 선점 스케줄링과 달리 프로세스 전환이 발생하지 않으므로, 문맥 교환 오버헤드가 낮다는 장점이 있습니다. 대표적인 비선점 스케줄링 알고리즘으로는 FCFS(First-Come, First-Served), SJF(Shortest Job First) 등이 있습니다. 이러한 알고리즘은 배치 처리 시스템, 실시간 시스템 등에서 유용하게 사용될 수 있습니다. 하지만 응답 시간 보장, 공정성 등의 측면에서는 선점 스케줄링 알고리즘에 비해 제한적일 수 있습니다. 따라서 시스템의 요구사항에 따라 선점 및 비선점 스케줄링 알고리즘을 적절히 활용하는 것이 중요합니다.
  • 5. 반환시간 계산
    프로세스의 반환시간은 프로세스가 시스템에 도착한 시점부터 실행이 완료되어 시스템에서 빠져나가는 시점까지의 시간을 의미합니다. 이는 프로세스의 대기 시간과 실행 시간을 합한 값입니다. 반환시간은 프로세스의 성능과 사용자 경험을 평가하는 중요한 지표가 됩니다. 스케줄링 알고리즘의 성능을 비교할 때에도 평균 반환시간, 최대 반환시간 등의 지표를 활용합니다. 따라서 프로세스의 반환시간을 정확히 계산하고 관리하는 것은 운영 체제 설계와 성능 최적화에 필수적입니다.
  • 6. SJF 스케줄링
    SJF(Shortest Job First) 스케줄링은 프로세스의 실행 시간이 가장 짧은 것을 먼저 실행하는 비선점 스케줄링 알고리즘입니다. 이 알고리즘은 평균 대기 시간을 최소화할 수 있다는 장점이 있습니다. 하지만 실행 시간이 긴 프로세스가 무기한 대기할 수 있는 문제점이 있습니다. 또한 프로세스의 실행 시간을 정확히 예측하기 어려운 경우가 많아 실제 구현이 어려울 수 있습니다. 따라서 SJF 스케줄링은 실행 시간 예측이 가능하고 공정성이 중요하지 않은 배치 처리 시스템에서 주로 사용됩니다. 운영 체제 설계 시 SJF 스케줄링의 장단점을 고려하여 적절한 스케줄링 기법을 선택해야 합니다.
  • 7. 라운드 로빈 스케줄링
    라운드 로빈 스케줄링은 선점 스케줄링 알고리즘의 하나로, 각 프로세스에 동일한 시간 할당량(time quantum)을 부여하고 순차적으로 실행하는 방식입니다. 이 방식은 공정성이 높고 응답 시간이 빠르다는 장점이 있습니다. 또한 구현이 비교적 간단하여 널리 사용되고 있습니다. 하지만 시간 할당량이 너무 작으면 문맥 교환 오버헤드가 증가하고, 너무 크면 응답 시간이 느려질 수 있다는 단점이 있습니다. 따라서 시스템의 특성과 요구사항에 맞는 적절한 시간 할당량을 선택하는 것이 중요합니다. 라운드 로빈 스케줄링은 대화형 시스템, 시분할 시스템 등에서 효과적으로 사용될 수 있습니다.
  • 8. 우선순위 스케줄링
    우선순위 스케줄링은 프로세스에 우선순위를 부여하고, 이에 따라 실행 순서를 결정하는 스케줄링 알고리즘입니다. 이 방식은 긴급한 작업이나 중요한 프로세스를 빠르게 처리할 수 있다는 장점이 있습니다. 하지만 낮은 우선순위의 프로세스가 무기한 대기할 수 있는 문제점이 있습니다. 이를 해결하기 위해 다중 수준 피드백 큐와 같은 변형된 알고리즘이 사용되기도 합니다. 우선순위 스케줄링은 실시간 시스템, 운영 체제 커널, 데이터베이스 관리 시스템 등 다양한 분야에서 활용됩니다. 시스템의 요구사항에 따라 적절한 우선순위 기준을 설정하는 것이 중요합니다.