Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 안드로이드스튜디오
- 혼공챌린지
- 정처기
- 혼공파
- MySQL
- 프로그래머스
- 자료구조
- join
- Kotlin
- 코테
- groupby
- 스터디
- 자바
- 정보처리기사
- Android
- 티스토리챌린지
- 혼공단
- Til
- 카카오코테
- select
- 안드로이드
- 알고리즘
- 기술면접
- doitandroid
- SQL
- java
- CS
- 오블완
- 코틀린
- 인프런
Archives
- Today
- Total
Welcome! Everything is fine.
#10. 스케줄러의 종류 본문
728x90
하드 드라이브에 보관되어있던 프로그램을 실행시키면 프로그램이 메모리에 올라온다. 이때 프로그램은 실행 중인 프로그램, 즉 프로세스가 된다. 이렇게 메모리에 올라온 프로세스를 CPU에서 가져다가 사용하는 것이다. 다시 말하자면, 프로세스들이 메모리에 저장되어있다가 하나씩 CPU로 가서 실행된다는 것이다. 이때, 어떤 프로세스에 CPU와 메모리를 할당할지 결정해주는 것이 스케줄러의 역할이다.
스케줄러의 종류에는 장기 스케줄러, 단기 스케줄러, 중기 스케줄러 3가지가 있다.
장기 스케줄러(Long-term Scheduler)
= 작업 스케줄러(Job Scheduler)
- 디스크와 메모리 사이의 스케줄링을 관리함.
- 현대 운영체제에서는 장기 스케줄러 없이 바로 준비큐에 넣어줌.
- 어떤 프로세스를 준비큐에 삽입할지 결정하는 역할.
- 스케줄링이 발생하는 시간이 비교적 오래 걸림.
단기 스케줄러(Short-term Scheduler)
= CPU 스케줄러(CPU Scheduler)
- 메모리와 CPU 사이의 스케줄링을 관리함.
- Ready Queue(= CPU 점유를 기다리는 줄)에서 어떤 프로세스를 CPU로 올려 실행시킬지 결정함.
- CPU 자원을 효율적으로 사용하기 위해 필요.
- 이름처럼 매우 짧은 시간 단위로 수행됨.(장기 스케줄러보다 빠름)
중기 스케줄러(Medium-term Scheduler)
= 스와퍼(Swapper)
- 프로세스를 스와핑(Swapping)하여 여유공간을 마련함.
- 너무 많은 프로그램이 동시에 올라가는 것을 조절해 시스템의 성능이 저하되는 것을 해결함.
'CS 스터디' 카테고리의 다른 글
#12. 배열(Array)과 연결 리스트(LinkedList) (0) | 2024.02.20 |
---|---|
#11. Stack과 Queue의 차이 (0) | 2024.02.18 |
#09. RESTful API 정리 (0) | 2024.02.13 |
#08. TCP와 UDP의 특징 및 차이 (1) | 2024.02.07 |
#07. OSI 7계층(OSI 7 Layer) 개념 / 각 계층별 특징 (0) | 2024.02.05 |