티스토리 뷰

CS/운영체제

#13 다중큐

RadderNepa 2023. 3. 10. 03:08

2023.02.05 - [자료구조 및 알고리즘] - #7 큐(Queue) - 개념(FIFO : First In First Out)

 

#7 큐(Queue) - 개념(FIFO : First In First Out)

- 큐(Queue)도 Stack과 같이 단순한 규칙을 가지고 있는 리스트이다. - 규칙 : FIFO(First In First Out) - 즉, 먼저 들어간 데이터가 가장 먼저 나온다는 의미로서 먼저 들어간게 가장 나중에 나오는 Stack과

radderveloper.tistory.com

- CPU 스케줄러가 어떻게 동작하는지 알아보기 전에 이번 글과 관련이 있으므로 먼저 읽어보자


● 프로세스 상태

- 이전 글에서 작성했던 프로세스 상태에 대해 다시 알아보자

2023.02.24 - [운영체제] - #8 프로세스 상태 with 시분할 처리

 

#8 프로세스 상태 with 시분할 처리

2023.02.17 - [운영체제] - #4 컴퓨터 부팅과정 & 인터럽트 #4 컴퓨터 부팅과정 & 인터럽트 ● 컴퓨터 부팅과정 - 컴퓨터를 ON 했을 때 일어나는 과정을 알아보자 1. 컴퓨터의 전원을 누르면 ROM에 저장된

radderveloper.tistory.com

출처 - 인프런, 그림으로 쉽게 배우는 운영체제

- 프로세스가 생성되면 준비상태로 전환되고
- 준비상태에서 CPU를 기다리고 있는 프로세스들은 CPU 스케줄러에 의해 실행상태로 전환된다.
- 실행상태에 있는 프로세스는
1. CPU 할당 시간이 다 됐다면 다시 준비상태로
2. I/O 요청이 있다면 대기상태로
3. 작업이 끝났다면 완료상태로 전환된다.

 

- 이 중 프로세스가 대기하고 있는 준비상태와 대기상태는 Queue 자료구조로 관리된다.
- Queue는 First In First Out 구조이다.(먼저 들어온 것이 가장 먼저 처리를 받는다.)


다중큐

- 프로세스가 실행상태  →  준비상태로 돌아갈 때 
- OS는 해당 프로세스의 우선 순위를 보고 그에 맞는 '준비 큐'에 넣는다.
- 이후 CPU 스케줄러는 '준비상태의 다중큐'에 들어있는 프로세스들 중에서 적당한 프로세스를 선택해서 실행상태로 전환

출처 - 인프런, 그림으로 쉽게 배우는 운영체제 / 프로세스의 우선 순위를 보고 그에 맞는 '준비 큐'에 넣는다.
출처 - 인프런, 그림으로 쉽게 배우는 운영체제 / '준비 큐'에 들어간 상태
출처 - 인프런, 그림으로 쉽게 배우는 운영체제 / '준비상태의 다중큐'에 들어있는 프로세스들 중에서 적당한 프로세스를 선택해서 실행상태로 전환


- 프로세스가 실행상태에서 I/O 요청을 받아 대기상태로 오게되면(실행상태  →  대기상태)
- I/O 작업의 종류에 따라 분류된 큐에 들어가게 된다.
ex)

- 아래 그림에서 하드디스크 작업은 HDD 큐에 들어가고

- 하드디스크 작업이 완료되어 인터럽트가 발생되면 HDD 큐를 뒤져서 해당 프로세스를 다시 꺼내간다.

출처 - 인프런, 그림으로 쉽게 배우는 운영체제
출처 - 인프런, 그림으로 쉽게 배우는 운영체제


- 위에서 Queue에 프로세스가 들어간다고 했는데 정확히 말하면 프로세스의 정보를 담고 있는 PCB가 Queue에 들어간다고 해야한다.

출처 - 인프런, 그림으로 쉽게 배우는 운영체제


● 정리

- 프로세스 정보를 담고있는 PCB는 준비상태의 다중큐에 들어가서 실행되기를 기다리고있다가
- CPU 스케줄러에 의해 실행상태로 전환된다.(준비상태  →  실행상태)
- 바로 이때 CPU 스케줄러가 준비상태의 다중큐를 참조해서 어떤 프로세스를 실행시킬지를 결정하는 것이다.

출처 - 인프런, 그림으로 쉽게 배우는 운영체제


- I/O 작업도 이와 비슷하다.

- 실행중인 프로세스에서 I/O 작업이 발생하면 해당 I/O 작업의 종류별로 나뉜 Queue에 들어가고 CPU 스케줄러는 이를 참조해 스케줄링을 진행한다.

출처 - 인프런, 그림으로 쉽게 배우는 운영체제
출처 - 인프런, 그림으로 쉽게 배우는 운영체제

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함