본문 바로가기

CS59

[Chapter 5. CPU 스케줄링] 다중 처리기 스케줄링 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 앞에까지의 스케줄링은 단일 처리기 시스템(CPU가 하나만 있는 시스템)에서의 CPU 스케줄링이었다. 현대에는 대부분 CPU가 여러 개인 다중 처리기 시스템을 사용한다. 다중 처리기 시스템에서의 스케줄링을 알아보자. 다중 처리기 스케줄링 (Multiple-Processor Scheduling) 다중 처리기에서는 부하 공유(load sharing)가 가능해진다. * 부하 공유 : 쉬고 있는 처리기에 할 일을 부여하는 것. 한 처리기는 계속 일하고 나머지는 놀고 있는 상태가 되어서는 안 된다. 하지만 이에 따라 스케줄링은 더 복잡해진다. 동일한 다중.. 2022. 8. 26.
[Chapter 5. CPU 스케줄링] 스레드 스케줄링 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 스레드를 지원하는 운영체제에서는 프로세스를 스케줄 하는 것이 아니라, 실질적으로는 스레드를 스케줄 한다. 하지만 "프로세스 스케줄링"과 "스레드 스케줄링"의 용어는 상호 교환적으로 사용된다. 따라서 해당 책에서는 일반적인 스케줄링 개념을 설명할 경우 "프로세스 스케줄링"을 사용하고, 스레드에 국한된 개념을 가리키는 경우에는 "스레드 스케줄링"이라는 용어를 사용하고 있다. 스레드 스케줄링 앞서 스레드에는 사용자 스레드, 커널 스레드의 두가지가 있다고 알아보았다. 참고 : https://developbear.tistory.com/102 [Chapt.. 2022. 8. 25.
[Chapter 5. CPU 스케줄링] 동적 우선순위와 선점 스케줄링 (라운드 로빈, 다단계 큐, 다단계 피드백 큐) 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 앞서 비선점 스케줄링에는 무엇이 있는지 살펴보았다. 하지만 현대에는 거의 시분할 시스템으로 이루어져 있고, 시분할 시스템에서는 타임슬라이스에 의한 CPU 선점이 일어나기 때문에 이번엔 선점 스케줄링에 대하여 알아보도록 하자. 선점 스케줄링 선점이란, 실행중인 프로세스가 자신이 원하는 시점(입출력 혹은 어떤 이벤트)에 의하여 CPU 사용을 반납하는 것이 아니라 시분할 시스템에서의 타임 슬라이스 소진되거나 자신이 예상치 못한 인터럽트에 의해 CPU를 반납하게 되는 것을 선점이라고 한다. 이때, 대기 중인 프로세스 중에 우선순위를 정하고, 가장 높은.. 2022. 8. 24.
[Chapter 5. CPU 스케줄링] 비선점 스케줄링 FCFS,SJF,우선순위 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 비선점 스케줄링 (Non-preemptive Scheduling) 프로세스가 종료하거나 대기 상태로 전환해 CPU를 자진 반납할 때까지 CPU에 의한 실행을 보장해주는 스케줄링 작업 실행 시간 전체 또는 한 번의 CPU 배당에 대해 적용된다. 선입 선처리 스케줄링 (FCFS) 최단 작업 우선 스케줄링 (SJF) - 선점형으로도 가능 우선순위 스케줄링 - 선점형으로도 가능 FCFS (선입 선처리 스케줄링 First Come First Served ) 프로세스 도착순으로 CPU에 배정하는 스케줄링 알고리즘 실행 중에 입출력을 요구하면 다시 다음 준.. 2022. 8. 23.