You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 우선 순위 스케줄링 on Google, you do not find the information you need! Here are the best content compiled and compiled by the https://toplist.cazzette.com team, along with other related topics such as: 우선 순위 스케줄링 CPU 스케줄링, FCFS 스케줄링, SRT 스케줄링, RR 스케줄링, HRN 스케줄링, 정적 우선순위 기반 스케줄링, 우선순위 기반 라운드 로빈, 라운드로빈 스케줄링 구현
Table of Contents
[운영체제] 17. 우선순위 스케줄링(Priority 스케줄링) 알고리즘
- Article author: wonit.tistory.com
- Reviews from users: 12887
Ratings
- Top rated: 3.5
- Lowest rated: 1
- Summary of article content: Articles about [운영체제] 17. 우선순위 스케줄링(Priority 스케줄링) 알고리즘 우선순위 스케줄링은 다음 그림과 같이 준비 큐에 프로세스가 도착하면, 도착한 프로세스의 우선순위와 현재 실행 중인 프로세스의 우선순위를 비교 … …
- Most searched keywords: Whether you are looking for [운영체제] 17. 우선순위 스케줄링(Priority 스케줄링) 알고리즘 우선순위 스케줄링은 다음 그림과 같이 준비 큐에 프로세스가 도착하면, 도착한 프로세스의 우선순위와 현재 실행 중인 프로세스의 우선순위를 비교 … 운영체제의 스케줄링 알고리즘을 평가하기 위해서는 다음과 같은 특성을 충분히 이해해야 한다. 프로세서 사용률 프로세서를 항상 실행상태로 유지하여 유휴 상태가 되지 않도록 한다. 처리율 단위 시간당 완료하..
- Table of Contents:
우선순위 스케줄링 (Priority Scheduling)
우선순위 스케줄링의 실행
관련글
댓글0
공지사항
최근글
인기글
최근댓글
태그
전체 방문자
티스토리툴바
![[운영체제] 17. 우선순위 스케줄링(Priority 스케줄링) 알고리즘](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvkRPk%2FbtqAtCwQ5ak%2FC2H7I9eRCS03Wlrgb8v6xK%2Fimg.png)
[운영체제 OS]우선순위 스케줄링(Priority Scheduling) 총정리,장단점, aging 스케줄링, 우선순위 부여기준
- Article author: jhnyang.tistory.com
- Reviews from users: 19970
Ratings
- Top rated: 4.4
- Lowest rated: 1
- Summary of article content: Articles about [운영체제 OS]우선순위 스케줄링(Priority Scheduling) 총정리,장단점, aging 스케줄링, 우선순위 부여기준 Priority scheduling은 말 그대로 우선순위가 높은 프로세스를 먼저 스케줄링 하는거예요. 근데 문제는 뭘까요? 문제는 Priority를 어떻게 주느냐가 이제 … …
- Most searched keywords: Whether you are looking for [운영체제 OS]우선순위 스케줄링(Priority Scheduling) 총정리,장단점, aging 스케줄링, 우선순위 부여기준 Priority scheduling은 말 그대로 우선순위가 높은 프로세스를 먼저 스케줄링 하는거예요. 근데 문제는 뭘까요? 문제는 Priority를 어떻게 주느냐가 이제 … [운영체제 목차] 안녕하세요!! 오늘은 우선순위 스케줄링에 관한 내용을 들고 왔어요 ㅎㅎ 우선순위 스케줄링이란? 우선순위 알고리즘이 나오게 된 흐름! 이전 SJF가 되었던 SRTF가 되었던 이 스케줄링 방식은 우..
- Table of Contents:
우선순위 스케줄링이란 우선순위 알고리즘이 나오게 된 흐름!
태그
‘별걸다하는 IT운영체제 OS’ Related Articles
티스토리툴바
![[운영체제 OS]우선순위 스케줄링(Priority Scheduling) 총정리,장단점, aging 스케줄링, 우선순위 부여기준](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRDRon%2FbtquE19XY7J%2Ff8kXY0pKoeQWiPkq7pMGA1%2Fimg.png)
REAKWON :: [운영체제] 스케줄링(Scheduling) 알고리즘(FIFO, SJF, 우선순위, Round-robin)
- Article author: reakwon.tistory.com
- Reviews from users: 9509
Ratings
- Top rated: 3.4
- Lowest rated: 1
- Summary of article content: Articles about REAKWON :: [운영체제] 스케줄링(Scheduling) 알고리즘(FIFO, SJF, 우선순위, Round-robin) 우선순위 스케줄링은 프로세스마다 우선순위라는 속성이 붙게 됩니다. 우선순위 스케줄링도 역시 선점, 비선점형으로 스케줄링이 가능합니다. 숫자가 높을 … …
- Most searched keywords: Whether you are looking for REAKWON :: [운영체제] 스케줄링(Scheduling) 알고리즘(FIFO, SJF, 우선순위, Round-robin) 우선순위 스케줄링은 프로세스마다 우선순위라는 속성이 붙게 됩니다. 우선순위 스케줄링도 역시 선점, 비선점형으로 스케줄링이 가능합니다. 숫자가 높을 … 스케줄링의 개념 단일 처리 시스템에서는 실행 중인 프로세스(A)가 존재하는데 다른 프로세스(B)가 입출력을 요청하면 그 프로세스(B)는 이전의 프로세스(A)의 자원을 놓을때까지 대기하고 있어야합니다. 하지만..
- Table of Contents:
스케줄링의 개념
티스토리툴바
![REAKWON :: [운영체제] 스케줄링(Scheduling) 알고리즘(FIFO, SJF, 우선순위, Round-robin)](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbqVGI3%2FbtqYE6JkaL9%2FUeFI2oo0uwAiaPwYwkIxC1%2Fimg.png)
[09. 스케줄링 알고리즘과 우선순위]
- Article author: popcorntree.tistory.com
- Reviews from users: 26760
Ratings
- Top rated: 4.5
- Lowest rated: 1
- Summary of article content: Articles about [09. 스케줄링 알고리즘과 우선순위] 프로세스의 스케줄링(Scheduling) · 이러한 상황을 기아(Starvation)상태라 한다. · 우선순위 스케줄링 알고리즘은 우선순위가 높은 프로세스를 먼저 실행 … …
- Most searched keywords: Whether you are looking for [09. 스케줄링 알고리즘과 우선순위] 프로세스의 스케줄링(Scheduling) · 이러한 상황을 기아(Starvation)상태라 한다. · 우선순위 스케줄링 알고리즘은 우선순위가 높은 프로세스를 먼저 실행 … * 이 내용은 ‘뇌를 자극하는 윈도우즈 시스템 프로그래밍’ 책의 내용을 정리한 것 입니다. 프로세스의 스케줄링(Scheduling) 실행중인 모든 프로세스들에게 골고루 cpu를 할당하는 일이 필요하고, 그 일은 멀티프..
- Table of Contents:
‘내가 보려고 정리하는01윈도우즈시스템프로그래밍’ Related Articles
공지사항
최근 포스트
태그
검색
전체 방문자
티스토리툴바
![[09. 스케줄링 알고리즘과 우선순위]](https://img1.daumcdn.net/thumb/R800x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcOrCYl%2FbtqBoalTSWb%2FmojMkDdloEDUheXiYDk5bk%2Fimg.png)
우선순위 스케줄링
- Article author: hdg3052.tistory.com
- Reviews from users: 3872
Ratings
- Top rated: 3.6
- Lowest rated: 1
- Summary of article content: Articles about 우선순위 스케줄링 우선순위 스케줄링. 코딩천재홍 2021. 4. 20. 01:30. Priority Scheduling. 각 프로세스에 우선순위 지정 – 우선순위를 부여하는 것; 각 Process에 우선순위가 부여 … …
- Most searched keywords: Whether you are looking for 우선순위 스케줄링 우선순위 스케줄링. 코딩천재홍 2021. 4. 20. 01:30. Priority Scheduling. 각 프로세스에 우선순위 지정 – 우선순위를 부여하는 것; 각 Process에 우선순위가 부여 … Priority Scheduling 각 프로세스에 우선순위 지정 – 우선순위를 부여하는 것 각 Process에 우선순위가 부여되어 있으면 cpu는 가장 우선순위가 높은 프로세스를 실행하게 된다. 물론 우선순위 표현할 때 높은 정..
- Table of Contents:
Keep going
우선순위 스케줄링 본문

Crocus
- Article author: www.crocus.co.kr
- Reviews from users: 40317
Ratings
- Top rated: 4.9
- Lowest rated: 1
- Summary of article content: Articles about Crocus 우선순위 스케줄링은 프로세스가 Ready Queue에 도착하면 우선순위를 비교하여 우선순위가 가장 높은 프로세스에 프로세서(CPU)를 할당하는 방식이다. …
- Most searched keywords: Whether you are looking for Crocus 우선순위 스케줄링은 프로세스가 Ready Queue에 도착하면 우선순위를 비교하여 우선순위가 가장 높은 프로세스에 프로세서(CPU)를 할당하는 방식이다. 스케줄링 알고리즘 선택 기준 스케줄링 알고리즘을 선택하기 위해서는 몇가지 특성을 고려하여 선택해야 한다. 프로세서 사용률 :: 프로세서를 항상 실행 상태로 유지하여 유휴 상태(CPU가 쉬는 시간)이 되지 않도..Crocus에서 다양한 프로그래밍 정보를 보고 활용해보세요Crocus, 자료구조, 알고리즘, algorithm, c, cpp, python, java, android, web, html, css, vue, 백준, boj, 코딩, 프로그래밍, 크로커스
- Table of Contents:
스케줄링 알고리즘(Scheduling Algorithm)
티스토리툴바
[OS] 스케줄링 알고리즘과 우선순위
- Article author: marmelo12.tistory.com
- Reviews from users: 33921
Ratings
- Top rated: 4.3
- Lowest rated: 1
- Summary of article content: Articles about [OS] 스케줄링 알고리즘과 우선순위 [OS] 스케줄링 알고리즘과 우선순위. marmelo12 2022. 4. 4. 22:09. 프로그램은 디스크에 저장이 되어있고, 더블클릭을 하여 프로그램이 운영체제의 자원을 할당받아 … …
- Most searched keywords: Whether you are looking for [OS] 스케줄링 알고리즘과 우선순위 [OS] 스케줄링 알고리즘과 우선순위. marmelo12 2022. 4. 4. 22:09. 프로그램은 디스크에 저장이 되어있고, 더블클릭을 하여 프로그램이 운영체제의 자원을 할당받아 … marmelo12 님의 블로그입니다.
- Table of Contents:
선점형 OS와 비선점형 OS
![[OS] 스케줄링 알고리즘과 우선순위](https://k.kakaocdn.net/dn/El86l/btryn9x11Eu/1Akun3lktkYdQQ0vm6xnX0/img.png)
CPU 스케줄링 (3) – 우선순위 스케줄링
- Article author: gusdnd852.tistory.com
- Reviews from users: 11520
Ratings
- Top rated: 3.8
- Lowest rated: 1
- Summary of article content: Articles about CPU 스케줄링 (3) – 우선순위 스케줄링 Priority(우선순위) 스케줄링은 말 그대로 우선순위 순서대로 스케줄링을 진행하는 것이다. 우선순위는 정수값으로 주어지며 일반적으로 낮은 숫자가 높은 … …
- Most searched keywords: Whether you are looking for CPU 스케줄링 (3) – 우선순위 스케줄링 Priority(우선순위) 스케줄링은 말 그대로 우선순위 순서대로 스케줄링을 진행하는 것이다. 우선순위는 정수값으로 주어지며 일반적으로 낮은 숫자가 높은 … 0. 스케줄링 개요 Priority(우선순위) 스케줄링은 말 그대로 우선순위 순서대로 스케줄링을 진행하는 것이다. 우선순위는 정수값으로 주어지며 일반적으로 낮은 숫자가 높은 우선순위를 의미한다. 1. 우선순위 선..
- Table of Contents:
CPU 스케줄링 (3) – 우선순위 스케줄링
티스토리툴바

See more articles in the same category here: Top 83 tips update new.
[운영체제] 17. 우선순위 스케줄링(Priority 스케줄링) 알고리즘
운영체제의 스케줄링 알고리즘을 평가하기 위해서는 다음과 같은 특성을 충분히 이해해야 한다.
프로세서 사용률
프로세서를 항상 실행상태로 유지하여 유휴 상태가 되지 않도록 한다.
처리율
단위 시간당 완료하는 작업의 수가 많도록 하여 짧은 작업을 우선 처리하거나 인터럽트 없이 처리한다
반환 시간
작업이 메모리에 들어가기 까지 걸린 시간, 준비 큐에 머무르는 시간, 실행 시간, 입출력 시간 등 작업을 완료하는데 소요된 시간
대기 시간
프로세스가 실행이 되기 전 까지 대기되는 시간을 뜻한다.
반응 시간
작업을 요청한 시간부터 반응을 시작하는 시간까지의 간격
우선순위 스케줄링 (Priority Scheduling)
우선순위 스케줄링은 다음 그림과 같이 준비 큐에 프로세스가 도착하면, 도착한 프로세스의 우선순위와 현재 실행 중인 프로세스의 우선순위를 비교하여 우선순위가 가장 높은 프로세스에 프로세서를 할당하는 방식이다.
그럼 만약 우선순위가 동일한 프로세스가 준비 큐로 들어오게 되면 FIFO 의 순서로 스케줄링을 하게 된다.
우선순위의 선점과 비선점
또한 우선순위 스케줄링은 선점 또는 비선점이 존재하기 때문에 이 둘을 나눠서 생각해야 한다. 선점과 비선점의 방식도 동일하게 도착한 프로세스의 우선순위를 보고 구분을 하는데 기존 프로세스보다 우선순위가 높으면 할당한다.
우선순위 결정법
우선순위는 내부적, 외부적으로 정의할 수 있다.
내부적 우선순위 결정
제한 시간, 기억장소 요청량, 사용 파일 수, 평균 프로세서 버스트에 대한 평균 입출력 버스트의 비율
외부적 우선순위 결정
프로세스의 중요성, 사용료를 많이 낸 사용자, 작업을 지원하는 부서, 정책적 요인
장점
각 프로세스의 상대적 중요성을 정확히 정의할 수 있다.
다양한 반응으로 실시간 시스템에 사용 가능하다.
단점
높은 우선수위 프로세스가 프로세서를 많이 사용하면 우선순위가 낮은 프로세스는 무한정 연기되는 기아가 발생한다.
우선순위 스케줄링의 실행
준비 큐에 다음과 같은 프로세스들이 들어왔다고 가정한다. 유념해야 할 것이 우선순위는 높을 수록 빨리 처리가 된다. 1이라고 해서 1순위가 아니라는 소리다.
이를 토대로 간트 차트를 그려본다면 다음과 같다.
선점 우선순위 간트 차트 및 반환 시간
p1 프로세스가 준비 큐에 들어오고 기존 준비 큐에 프로세서를 점유하는 프로세스가 없기 때문에 실행한다.
1초에 p2 가 들어오는데 우선순위가 p1 보다 낮기 때문에 프로세서는 p1 을 계속 점유한다.
2초에 p3 가 들어오는데 우선순위가 p1 보다 높기 때문에 프로세서는 p3 를 점유한다.
3초에 p4 가 들어오는데 우선순위가 p2 보다 낮기 때문에 프로세서는 p3 를 점유한다.
4초에 p5 가 들어오는데 우선순위가 p2 보다 낮기 때문에 프로세서는 p3 를 점유한다. 이제 모든 프로세스가 준비 큐에 들어왔다.
p3 의 실행이 끝나고 우선순위를 확인하는데 p2 의 우선순위와 p5 의 우선순위가 같지만 FIFO로 인해 p2 를 실행한다.
…반복
반환 시간 및 대기 시간
비선점 우선순위 간트 차트 및 반환 시간
p1 프로세스가 준비 큐로 들어오고 기존 준비 큐에 프로세서를 점유하는 프로세스가 없기 때문에 실행한다.
p1 이 끝날 때 까지 어떤 프로세스도 점유할 수 없기 때문에 p1 이 끝나길 기다린다.
p1 이 끝나고 그 다음 우선순위가 높은 p3 를 점유한다.
p3 가 끝나고 그 다음 우선순위가 높은 p2 를 점유한다.
…반복
반환 시간 및 대기 시간
문제점과 에이징 방법
우선순위 알고리즘의 주요한 문제는 무한 정지와 기아상태 이다.
예를 들어 실행 준비가 되었으나 우선순위가 높은 프로세스가 계속 들어오면 우선순위가 낮은 프로세스는 무한정 대기해야 하는 상황이 발생한다. 이러한 기다림을 해결하는 방법이 바로 에이징이다.
에이징은 매 분마다 대기 중인 프로세스의 우선순위를 1씩 증가시킨다.
그러면 초기에 우선순위가 0이었단 프로세스가 대기중이면 프로세서를 점유중인 프로세스보다 우선순위가 높아지는 시점이 발생하여 무한 정지와 기아상태를 해결할 수 있다.
이를 그래프로 나타내면 다음과 같다.
[운영체제 OS]우선순위 스케줄링(Priority Scheduling) 총정리,장단점, aging 스케줄링, 우선순위 부여기준
반응형
[운영체제 목차]안녕하세요!! 오늘은 우선순위 스케줄링에 관한 내용을 들고 왔어요 ㅎㅎ
우선순위 스케줄링이란? 우선순위 알고리즘이 나오게 된 흐름!
이전 SJF가 되었던 SRTF가 되었던 이 스케줄링 방식은 우리 컴퓨터 방식에는 적용하기가 힘들다는 단점이 있었어요!!
한번 흐름을 다시 볼까요?
waiting time을 줄여야 하는데 waiting time이 FCFS가 좀 컸어요 그래서 FCFS를 사용 못했죠?
근데 waiting time을 줄이려고 SJF를 썼더니 이거는 또 쓸 수가 없어!! 예측하기가 너무 힘들다는 문제가 있었어요. 그 다음에 우리가 살펴볼 알고리즘이 Priority scheduling!!
우선순위 스케줄링이란?
Priority scheduling은 말 그대로 우선순위가 높은 프로세스를 먼저 스케줄링 하는거예요.
근데 문제는 뭘까요? 문제는 Priority를 어떻게 주느냐가 이제 문제겠죠!
사실 맥락만 바꾸면 이 우선순위 스케줄링은 FCFS가 될 수도 있고 SJF가 될 수도 있는 특징을 지녔어요.
priority를 가장 먼저 온 얘한테 높은 우선순위를 주는게 FCFS고 Cpu burst가 작은 것에 우선순위를 주는 것이 SJF겠죠!! (사진의 세번째 네모가 설명하고 있는 부문이예요)
우리 컴퓨터에서는 priority 스케줄링을 어떻게 주냐면 그 프로세스의 중요도를 기준으로 부여합니다.
첫 번째 네모를 보면 우선순위 알고리즘 특징을
‘A priority number(integer) is associated with each process’라고 했어요.
그 프로세스의 중요도 별로 우선순위를 준다! 그래서 우선순위 스케줄링은 그 중요도가 높은 프로세스를 먼저 수행을 합니다.
자 예를 들어볼까요?
운영체제가 만들어내는 프로세스들이 있어요, 운영체제 서비스.
그거하고 여러분들이 프로그램을 실행해서 만드는 프로세스가 있어요.
그 두 개의 프로세스 중 어떤 프로세스의 우선순위를 높이는 것이 맞을까요?ㅎㅎㅎ
운영체제가 판단하길, 여러분들이 실행시키는 것들은 하찮은 것들입니다 ㅎㅎㅎ. (실제로 제일 낮은 우선순위를 갖거든요..주륵)
운영체제가 만들어내는 프로세스들의 우선순위를 일반적으로 더 높이 줍니다.
프로세스의 어떤 의미, 의미(sementic)에 따라 우선순위를 주고 높은 프로세스를 스케줄링 하는 방법이 Priority scheduling이라 합니다
우선순위는 어떻게 정해지나요?
Priorities can be defined either internally or externally.
우선순위는 내부적으로 정의될 수도 있고 외부적으로 정의될 수도 있습니다.
내부적으로 정의된 우선순위는, 프로세스의 우선순위를 계산하기 위해 어떤 측정가능한 변수들을 사용해요. 예를 들면, 시간 제한, 메모리 요구량, 열린 파일의 수, 평균 I/O burst비율부터 평균 CPU 버스트 비율까지! 다 우선순위를 계산하는데 종합적으로 사용됩니다.
External 우선순위는 말 그대로 운영체제가 스스로 정하는게 아니라 바깥에 이미 설정된 기준을 따르는거예요!
우리가 프로세스의 우선순위를 임의로 설정할 수도 있는데 당근 external설정에 해당되겠죠?
the type and amount of funds being paid for computer use, the department sponsoring the work, and other,oftenpolitical,factors.
프로세스의 중요도, 자원의 유형이나 들어가는 자원의 비용, 사용자 선호도, 가끔은 정치적 요소들부터..등등
preemptive vs nonpreemptive
Priority scheduling can be either preemptive or nonpreemptive.
우선순위 스케줄링 또한 선점방식과 비선점 방식 두 방법이 가능합니다.
preemptive 우선순위 스케줄링
: 만약 어떤 프로세스가 ready queue에 도착했는데 이 프로세스가 가지는 우선순위가 현재 돌아가고 있는 프로세스보다 높을 경우 기존에 하고 있던애를 중단시키고 먼저 수행되는!! 이게 선점 방식이 되겠죠?
nonpreemptive 우선순위 스케줄링
:비선점 방식은 중단을 못시킨다고 했잖아요! ㅎㅎ 즉 더 높은 우선순위가 들어오면 ready queue의 앞에 집어넣고 끝날때까지 기다립니다. 그럼 바로 다음에 수행될 수 있겠죠!
우선순위 문제 보고 가기
문제를 볼까요?
낮은 숫자가 높은 우선순위를 갖는다는 전제하에 프로세스가 어떤 순서로 스케줄링 되는지 살펴봅시다. 평균기다림 시간을 구해볼까요?ㅎㅎ
일단 가장 높은 우선순위를 갖는 P2가 먼저 수행되겠죠? 그리고 그 다음인 P5, 그 다음으로 우선순위가 높은 P1이 순서대로 수행됩니다. ㅎㅎ 정답 구하는건 너무 쉬워요
그래서 평균 waiting time은 ( 0+1+6+16+18)/5 = 8.2ms가 될거예요
우선순위 알고리즘의 단점?! 문제점 – starvation
이렇게 보면 여기 문제가 starvation이라고 나와 있듯이 우선순위가 낮은 프로세스는 높은 프로세스가 있는 한은 절대 실행을 못하는 것이 문제가 됩니다. ㅎㅎㅎ
무한히 기다리는 것=starvation.
쉬운 설명을 위해 예를 들어볼게요.
여러분들이 식당에 가서 줄을 서가지고 밥을 먹는데 거기에서의 스케줄링은 Priority scheduling이라고 가정해봅시다. (고등학교 때 학년별로 급식을 먹지 않았었나요? ㅎㅎ 저희는 그랬는뎅…이 때 3학년은 2학년보다 높은 우선순위를 갖기 때문이었겠죠 ㅎㅎ)
즉 중요도에 의해서 Priority를 다 매겨놨어요. 선생님들은 당연히 우선순위가 더 높겠죠? 그 다음에 3학년들 학년별로.. 이렇게 우선순위를 가진다고 할게요. 1학년이 줄 서있었는데 계속 자기보다 높은 우선순위를 가진 사람들이 앞으로 들어오면(인원이 제한 된 수가 아니라면) 자신은 스케줄링을 못 받아가지고 계속 쫄쫄 굶겠죠? starvation이 되는 거죠!!
우선순위 알고리즘 문제 starvation 해결 방법- aging 에이징
어떻게 해결해야 될까요? 알고리즘으로 만들어보는 걸 생각해 봅시다.
Priority를 나이로 주자고 했다면 내 앞에 한 사람이 들어가면 내 나이가 한 살 더 많아지는 방법이 있을 수 있겠죠. 또 한명이 들어가면 내 나이가 많아지고 많아지고 하다보면 50대 선생님이 오더라도 내가 더 나이가 많아질 수 있을거예요. 이래서 aging입니다!
solution이 aging. aging이라는 알고리즘이 존재를 합니다. 이런식으로 Priority scheduling의 단점을 해결할 수도 있다는거~!
우선순위 스케줄링의 구조
priority별로 queue가 있는데
참고로 어떤 책에서는 priority는 0번이 제일 높고 어떤 책에서는 Priority 0번이 제일 낮을 수도 있어요.
Priority가 0번이 더 높은 경우가 더 많이 있는데 이 그림은 4가 제일 높은거겠죠?ㅎㅎ.
Priority 별로 queue가 있고 priority가 높은 쪽에 있는 process가 ready가 있으면 다른 것들은 수행이 안됩니다. 이 때 Priority가 똑같은 것들은 어떻게 해야 될까? 우리가 지금 배운 것으로는 FCFS로 할 수도 있고 FJS로 할 수도 있고~!! 근데 지금 현재 우리가 취하고 있는 방법은 Round Robin이다.
즉 현재 컴퓨터 시스템이 사용하는 방법은 ‘우선순위스케줄링 +라운드 로빈’ 방식!!
후 오늘도 긴 포스팅이었다. 정말 시간이 훅훅 지나가는 것 같아요!
가끔 운영체제 포스팅 보고 도움 많이 됐다는 댓글을 볼때마다 뿌듯하답니다 ㅎㅎ 그래서 배운지 오래됐지만 쪼끔씩이나마 틈틈히 써서 완성시켜보려고 해요! 시간이 넘 지나서 혹시 잘못된 점이 있을 수도, 오타가 있을 수도 있어요 ㅎㅎ 알려주시면 감사하겠습니다.
도움이 됐다면 보답광고&공감&댓글은 어떤가요?ㅎㅎ 오늘도 좋은 하루 되세요~!!
반응형
REAKWON :: [운영체제] 스케줄링(Scheduling) 알고리즘(FIFO, SJF, 우선순위, Round-robin)
스케줄링의 개념
단일 처리 시스템에서는 실행 중인 프로세스(A)가 존재하는데 다른 프로세스(B)가 입출력을 요청하면 그 프로세스(B)는 이전의 프로세스(A)의 자원을 놓을때까지 대기하고 있어야합니다. 하지만 다중 프로그래밍에서는 여러 프로세스들이 동시에 돌아갈 수 있으며, 프로세스가 자원(프로세서 등)을 요청하면 운영체제는 그 자원을 적절히 분배하여 프로세스에게 할당합니다. 그래서 다음과 같은 장점을 얻을 수 있습니다.
1. CPU의 활용 극대화
2.프로세스 처리율(시간 당 작업량)을 늘릴 수 있습니다.
프로세스는 필요한 자원을 할당받기 위해 큐에 대기합니다. 그래서 그 큐에 있는 프로세스를 어떻게 스케쥴링하는지가 프로세스 스케줄링 알고리즘이라고 합니다. 그레서 어떤 스케줄링 알고리즘이 있는지 봅시다.
잠깐 프로세스 스케줄링에 관한 용어 몇가지만 알아보고 가도록 합시다. 대기 시간, 실행 시간, 반환 시간입니다.
용어 설명 대기 시간 자원의 할당을 대기하는 시간을 의미합니다. 실행 시간 실제로 프로세스가 자원을 할당받은 다음 작업을 수행하는 시간을 의미합니다. 반환 시간 작업을 완료하는데 소요되는 전체 시간으로 대기 시간과 실행 시간을 모두 포함합니다.
1 선입선처리 스케줄링(First Come First Served, First In First Out)
선입선처리(FCFS, FIFO) 알고리즘은 말 그대로 먼저 요청한 프로세스가 먼저 자원을 제공받으며 이미 사용중이라면 사용이 끝날때까지 기다려야하는 스케줄링 방식입니다.
프로세스 5개가 있고, 각가 P1의 실행시간 10, P2의 실행시간 5, P3의 실행시간 6, P4의 실행시간 9, P5의 실행시간 10이라고 할때 반환 시간을 알아보도록 하죠.
프로세스 도착 시간 실행 시간 P1 0 10 P2 1 28 P3 2 6 P4 3 4 P5 4 14
먼저 요청한 프로세스가 먼저 제공받으니 P1부터 차례대로 자원을 할당받습니다. 그래서 프로세스의 반환시간과 대기시간을 구하면 아래와 같습니다.
프로세스 반환시간 대기시간 P1 10 0 P2 37 9 P3 42 36 P4 45 41 P5 58 44 평균 평균 반환 시간
(10+37+42+45+58)/5 = 38.4 평균 대기 시간
(0+9+36+41+44)/5 =
26
장점 1) 스케줄링이 단순합니다.
2) 모든 프로세스가 실행될 수 있습니다.
3) 프로세서가 지속적으로 유용한 프로세스를 수행하여 처리율이 높습니다. 단점 1) 비선점방식의 스케줄링이므로 대화형 작업에는 부적합합니다.
2) 만약 어떤 프로세스의 수행시간이 길면 대기시간이 늘어납니다. 그래서 짧고 간단한 작업은 계속 기다려야합니다.
2. 최소 작업 우선 스케줄링(Shortest Job First)
프로세스의 실행 시간을 이용하여 가장 짧은 시간을 갖는 프로세스가 먼저 자원을 할당받는 방식입니다. 이 방식은 선점할 수도 있는 스케줄링 방식입니다. 이전에 FIFO방식은 중간에 다른 프로세스가 들어오면 그 프로세스는 대기해야했죠? 이 스케줄링 방식은 선점 또는 비선점이 가능합니다. 위와 같은 프로세스라고 할때 비선점형 SJF 스케줄링의 결과는 아래와 같습니다.
프로세스 반환시간 대기시간 P1 10 0 P2 61 33 P3 18 12 P4 11 7 P5 30 16 평균 평균 반환 시간
(10+61+18+11+30)/5 = 26 평균 대기 시간
(0+33+12+7+16)/5 = 13.6
자 P1이 먼저 요청해서 자원을 할당받아 놓은 상태인데, P2가 도착합니다. 비선점형이기 때문에 P2는 우선 기다리고 있는데 P1의 작업이 끝나기 전에 P3, P4 ,P5의 요청이 도착하네요. 그러면 실행 시간이 가장 작은 P4가 자원을 할당받아 쓰고 그 다음인 P3이 자원을 할당받아 사용합니다. 이렇게 되면 위와 같은 결과가 도출되지요.
그렇다면 비선점형 SJF는 어떨까요? 아래의 표가 선점형 SJF의 결과입니다.
프로세스 반환시간 대기시간 P1 20 10 P2 61 33 P3 10 5 P4 4 0 P5 30 16 평균 평균 반환 시간
(20+61+10+4+30)/5 = 25 평균 대기 시간
(10+33+4+0+16)/5 = 12.6
이해를 돕기 위해서 아래의 간트 차트를 보세요. P1이 먼저 도착해서 수행하고 있는 와중에 P2가 도착하는데요. P2는 수행되어야할 시간이 P1보다 크니 P1은 계속 작업을 수행합니다. 그러다가 P3가 도착하는데 P1이 수행해야할 시간보다 P3의 수행시간이 더 짧으니 P3가 작업을 수행합니다. 그런데 P4가 다음에 도착하네요. P4가 더 적은 시간을 갖으니 P4를 수행합니다. 이때 P4가 끝나면 남아있는 프로세스 중에서 가장 적은 수행시간을 갖는 P3의 작업을 이어서 하게 됩니다.
장점 1) 항상 짧은 작업을 먼저 처리하게 되니까 평균 대기시간이 가장 짧습니다. 단점 1) 수행시간이 긴 작업은 짧은 작업에 밀려 기아가 발생합니다.
2) 실행 시간을 예측할 수 없어 실용적이지 못합니다.
3) 짧은 작업이 먼저 실행되므로 공정하지 못한 정책입니다.
3. 우선순위 스케줄링
우선순위 스케줄링은 프로세스마다 우선순위라는 속성이 붙게 됩니다. 우선순위 스케줄링도 역시 선점, 비선점형으로 스케줄링이 가능합니다. 숫자가 높을 수록 우선순위가 높고 만약 우선순위가 같다면 FIFO방식으로 동작합니다.
프로세스 도착 시간 실행 시간 우선순위 P1 0 10 3 P2 1 28 2 P3 2 6 4 P4 3 4 1 P5 4 14 2
그래서 아래는 선점형에서의 결과를 나타낸 표입니다. 약간 헷갈릴 수 있을텐데요. P1 먼저 수행하다가 P3가 오면 우선 순위가 P3가 더 높으니까 P1은 대기하고 P3가 작업을 수행합니다.
프로세스 반환시간 대기시간 P1 16 6 P2 43 15 P3 6 0 P4 59 55 P5 54 40 평균 평균 반환 시간
(16+43+6+59+54)/5 = 35.6 평균 대기 시간
(6+15+0+55+40)/5 = 23.2
다음은 비선점형일때의 결과 표입니다.
프로세스 반환시간 대기시간 P1 10 0 P2 43 15 P3 14 8 P4 59 55 P5 54 40 평균 평균 반환 시간
(10+43+14+59+54)/5 = 36 평균 대기 시간
(0+15+8+55+40)/5 = 23.6
만약 우선순위가 낮은 프로세스가 높은 프로세스에 의해 실행이 되고 있지 않은 상황이라면 어떻게 될까요? 이때는 그 프로세스의 우선순위를 점차 높여 처리받게끔 하는 에이징이라는 기법을 사용합니다.
장점 1) 각 프로세스의 중요성에 따라서 작업을 수행하기 때문에 합리적입니다.
2) 실시간 시스템에서 사용가능합니다. 단점 1) 높은 우선순위를 갖는 프로세스가 계속적으로 스케줄링이 되면 우선순위가 낮은 프로세스는 자원을 할당받지 못하기 때문에 기아가 발생할 수 있습니다.
4. 라운드 로빈 스케줄링(Round-Robin)
라운드 로빈 스케줄링은 시분할 시스템을 위해 설계된 스케줄링 기법입니다. 이 스케줄링은 작은 단위의 시간인 시간 할당량(Time-Slice)을 정의하여 그 시간 만큼 자원을 할당하는 방식입니다. 그래서 그 시간안에 작업을 끝내지 못하면 다음 프로세스가 다시 그 시간만큼 자원을 할당받아씁니다. 여기서 시간 할당량을 5로 정하고 간트 차트와 결과를 보면 아래와 같습니다.
각 프로세스들은 공정하게 5만큼의 시간 동안 작업을 진행하는 것을 볼 수 있네요.
프로세스 반환시간 대기시간 P1 29 19 P2 61 33 P3 33 27 P4 16 7 P5 45 31 평균 평균 반환 시간
(29+61+33+16+45)/5 = 36.8 평균 대기 시간
(19+33+27+7+31)/5 = 23.4
장점 1) 모든 프로세스가 공정하게 스케줄링을 받을 수 있습니다.
2) 실행 큐에 프로세스의 수를 알고 있을때 유용합니다.
3) 프로세스의 짧은 응답시간을 갖고 최악의 응답시간을 알 수 있습니다.
4) 평균 대기시간이 FIFO와 SJF보다 적습니다. 단점 1) 성능은 규정 시간량의 길이에 따라 달라지므로 작업이 비슷한 길이가 좋은데, 너무 길면 FIFO로 변하고 짧으면 문맥 교환(Context Switching) 비용이 증가합니다.
2) 하드웨어적 타이머가 필요합니다.
3) 미완성 작업은 규정 시간량(시간 할당량)을 마친 후 프로세서를 기다리니까 평균 처리 시간이 높습니다.
So you have finished reading the 우선 순위 스케줄링 topic article, if you find this article useful, please share it. Thank you very much. See more: CPU 스케줄링, FCFS 스케줄링, SRT 스케줄링, RR 스케줄링, HRN 스케줄링, 정적 우선순위 기반 스케줄링, 우선순위 기반 라운드 로빈, 라운드로빈 스케줄링 구현