일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dfs문제
- 초소형머신러닝
- DP문제
- BFS
- 포스코 ai 교육
- 임베디드 딥러닝
- 코딩테스트
- TensorFlow Lite
- sort
- 자료구조
- 포스코 교육
- tinyml
- 다이나믹프로그래밍
- 그리디
- 영상처리
- tflite
- 포스코 AI교육
- dfs
- 삼성역테
- MCU 딥러닝
- 삼성역량테스트
- 알고리즘
- DP
- 삼성코딩테스트
- 컴퓨팅사고
- bfs문제
- 딥러닝
- 삼성코테
- 코테 문제
- 코테
- Today
- Total
코딩뚠뚠
[OS 공부] 스케줄러 본문
스케줄러란
프로세스들은 자신이 죽을때까지 수많은 큐들을 돌아다닌다. OS는 이 큐 안에 있는 프로세스 중에 하나를 선택해야 한다. 이런일을 스케줄러가 하는 것이다.
즉,프로세스들 중에 무엇을 어떻게 어떤시간에 선택해야하는것일까? 이러한 원칙을 세워 실행하는 것을 스케줄러라고 한다.
큐(Queue) :
프로세스를 스케줄링 하기 위한 큐는 세가지 종류가 있다.
- Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합
- Ready Queue : 현재 메모리 내에 있으면서 CPU를 기다리는 프로세스의 집합
- Device Queue : Device I/O 작업을 대기하고있는 프로세스의 집합
스케줄러의 종류
장기스케줄러 : 한정된 메모리 공간에 프로세스들이 한번에 올라온 경우, 디스크에 임시로 저장된다. 이 프로세스들 중 어떤 프로세스에 메모리를 할당하여 ready queue로 보낼지 결정하는 역할을 한다.
- 메모리와 디스크 사이 스케줄링 담당
- 프로세스에 메모리를 할당
- 실행중인 프로세스의 수 제어
- 프로세스의 상태 new->ready
단기스케줄러 :
- CPU와 메모리 사이의 스케줄링 담당
- ready queue에 존재하는 프로세스 중 어떤 프로세스를 run 시킬지 결정
- 프로세스에 CPU를 할당해준다.
- 프로세스의 상태 ready -> running -> waiting -> ready
중기스케줄러 :
- 여유공간을 마련하기 위해서 프로세스를 통째로 메모리에서 디스크로 쫓아낸다
- 현 시스템에서 메모리에 너무 많은 프로그램이 동시에 올라가는 것을 조절하는 스케줄러
- 프로세스의 상태 ready -> suspended
참고자료 : 프로세스와 스레드
'공부 > OS 공부' 카테고리의 다른 글
[OS 공부] 프로세스 동기화 (0) | 2021.01.27 |
---|---|
[OS 공부] 동기&비동기 (0) | 2021.01.17 |
[OS 공부] CPU 스케줄러 (0) | 2021.01.13 |
[OS 공부] 멀티스레드 & 멀티프로세스 (0) | 2021.01.09 |
[OS 공부] 프로세스와 스레드 (0) | 2021.01.09 |