[2023] 방송통신대학교 운영체제 중간과제물 만점 리포트
본 내용은
"
[2023] 방송통신대학교 운영체제 중간과제물 만점 리포트
"
의 원문 자료에서 일부 인용된 것입니다.
2024.05.13
문서 내 토픽
  • 1. 선점 스케줄링 정책
    선점 스케줄링 정책은 실행 중인 프로세스를 강제적으로 멈추고 다른 프로세스에게 CPU를 할당할 수 있는 스케줄링 정책이다. 이를 통해 중요도가 낮은 프로세스 실행 중간에 중요도가 높은 프로세스가 실행되도록 할 수 있고, 프로세스에 대한 평균 응답시간 등을 효과적으로 낮출 수 있다. 하지만 문맥 교환으로 인한 오버헤드가 발생한다는 단점이 있다. 선점 스케줄링 정책에는 SRT(Shortest Remaining Time), Round Robin, 다단계 피드백 큐 스케줄링 등이 있다.
  • 2. 다단계 피드백 큐 스케줄링
    다단계 피드백 큐 스케줄링은 다단계의 준비 큐를 큐 간에 우선 순위와 CPU 할당 길이에 있어 차등을 두며 운영하되 각 큐에 있는 프로세스가 다른 단계의 큐로 이동할 수 있는 스케줄링 방식이다. 이 방식은 연산은 많이 하지 않지만 I/O를 위해 낮은 반응 시간이 필요한 프로세스와 연산 중심의 프로세스가 효율적으로 작동하게 한다는 장점이 있지만, 알고리즘이 복잡해 구현이 어렵고 CPU 오버헤드가 크다는 단점이 있다.
  • 3. 다단계 피드백 큐 스케줄링 예시
    주어진 상황에서 다단계 피드백 큐 스케줄링을 적용하면 다음과 같다. 3단계의 큐가 있으며, 각 단계의 큐는 2, 3, 4 사이클의 시분할을 가지고 Round Robin 알고리즘을 따른다. 모든 프로세스는 최초 생성 시 가장 높은 우선 순위를 가진 큐인 1단계 큐에 삽입된다. CPU Starvation 방지를 위한 낮은 큐로의 이동은 없다. 이에 따라 프로세스 A, B, C, D, E의 실행 과정과 각 프로세스의 반환 시간, 평균 반환 시간을 계산할 수 있다.
  • 4. SJF 스케줄링 알고리즘
    비선점 스케줄링 알고리즘 중 SJF를 위와 동일한 상황에 적용하면 다음과 같다. 프로세스 A, B, C, D, E의 반환 시간은 각각 6, 10, 4, 4, 9이며, 평균 반환 시간은 6.6이 된다. 이는 다단계 피드백 큐 스케줄링의 평균 반환 시간 7.6보다 더 짧다.
Easy AI와 토픽 톺아보기
  • 1. 선점 스케줄링 정책
    선점 스케줄링 정책은 프로세스의 실행 순서를 결정하는 중요한 스케줄링 기법입니다. 이 정책은 프로세스의 우선순위에 따라 실행을 중단하고 다른 프로세스로 전환할 수 있습니다. 이를 통해 시스템 자원을 효율적으로 활용하고 응답 시간을 단축할 수 있습니다. 하지만 선점 스케줄링 정책은 프로세스 간 전환 오버헤드가 발생할 수 있으며, 우선순위 결정 기준이 중요한 역할을 합니다. 따라서 시스템 요구사항과 특성에 맞는 적절한 선점 스케줄링 정책을 선택하는 것이 중요합니다.
  • 2. 다단계 피드백 큐 스케줄링
    다단계 피드백 큐 스케줄링은 프로세스의 우선순위를 동적으로 조정하는 기법입니다. 이 기법은 프로세스의 특성에 따라 여러 개의 큐를 사용하며, 프로세스의 실행 시간이 증가할수록 우선순위를 낮추는 방식으로 동작합니다. 이를 통해 대화형 프로세스와 배치 프로세스를 효과적으로 처리할 수 있습니다. 또한 프로세스의 특성에 따라 큐의 개수와 스케줄링 정책을 조정할 수 있어 시스템 성능을 최적화할 수 있습니다. 하지만 큐 간 전환 오버헤드와 우선순위 결정 기준 설정이 중요한 과제입니다.
  • 3. 다단계 피드백 큐 스케줄링 예시
    다단계 피드백 큐 스케줄링의 대표적인 예시로는 Unix 운영 체제의 스케줄링 정책을 들 수 있습니다. Unix 운영 체제는 프로세스의 특성에 따라 여러 개의 큐를 사용하며, 프로세스의 실행 시간이 증가할수록 우선순위를 낮추는 방식으로 동작합니다. 이를 통해 대화형 프로세스와 배치 프로세스를 효과적으로 처리할 수 있습니다. 또한 큐의 개수와 스케줄링 정책을 조정할 수 있어 시스템 성능을 최적화할 수 있습니다. 이러한 다단계 피드백 큐 스케줄링 기법은 다양한 운영 체제와 시스템에서 널리 사용되고 있습니다.
  • 4. SJF 스케줄링 알고리즘
    SJF(Shortest Job First) 스케줄링 알고리즘은 프로세스의 실행 시간이 가장 짧은 프로세스를 먼저 실행하는 기법입니다. 이 알고리즘은 프로세스의 실행 시간을 미리 알고 있다는 가정 하에 동작합니다. SJF 스케줄링 알고리즘은 평균 대기 시간을 최소화할 수 있어 효율적인 스케줄링 기법으로 간주됩니다. 하지만 실행 시간을 정확히 예측하기 어려운 경우가 많아 실제 구현에는 어려움이 있습니다. 또한 긴 실행 시간의 프로세스가 계속 뒤로 밀릴 수 있는 문제점이 있습니다. 따라서 SJF 스케줄링 알고리즘은 실행 시간 예측이 가능한 시스템에서 유용하게 사용될 수 있습니다.