이 영역을 누르면 첫 페이지로 이동
나눔코딩 블로그의 첫 페이지로 이동

나눔코딩

페이지 맨 위로 올라가기

나눔코딩

03. 기술면접 - 운영체제 - 스케줄러 (Schedula)

  • 2021.10.06 09:46
  • ∞. 기술 면접/3. 운영체제
공부목적으로 다른 블로그의 글을 그대로 따라치면서 작성되었습니다. 저작권 문제 시, 비공개 처리하겠습니다

x

스케줄러

- 스케줄링(Scheduling) 이란?
  - 시스템이 실행하고자 할 때 프로세서(CPU) 를 프로그램들에게 할당하는 과정

프로세스(Process)는 자신의 임무를 모두 수행하고 사라질 때 까지 많은 큐를 돌아다닌다
이 때 프로그램들은 제한된 프로세서(CPU)를 서로 사용하려고 한다
OS 는 이러한 프로세스(Process) 중 하나를 택하는 데, 바로 스케줄러(Schedula)가 이러한 역할을 담당한다

가장 자주 사용되는 스케줄러는 장기 스케줄러와 단기 스케줄러이다 (주로 일괄처리 시스템에 사용)

실행 준비가 완료된 프로세스(Process) 들은 준비큐(Ready Queue)에 놓인다
프로세스는 프로세서를 할당 받을 때 까지 준비 큐에서 대기한다

 

장기 스케줄러 (Long Term Scheduler)

- 작업 스케줄러, 승인 스케줄러 라고도 한다
- 디스크 내의 작업을 어떤 순서로 메모리에 가져올지 결정하는 프로그램
- 디스크와 같은 저장장치에 작업들을 저장해놓고, 필요할 때 실행할 작업을 작업 큐에서 꺼내 준비 큐를 통해서 메인메모리에 적재
- 장기 스케줄러에 의해서 new -> ready 상태로 전이를 승인하게 됨

 

단기 스케줄러 (Short Term Scheduler)

- 프로세스 스케줄러, CPU 스케줄러 라고도 함
- 우선, CPU 에게 필요한 데이터를 확보해주고, 메모리에 있는 프로세스 중 하나를 선택해서 프로세서(CPU)에게 할당함
- 준비큐에 있는 프로그램 중 먼저 도착한 프로세스에게 CPU 할당  (= dispatch)
- 단기 스케줄러에 의해서 ready -> running 상태로 전이

 

요약
  장기 스케줄러   단기 스케줄러  
new → ready → running

흐름

저작자표시 (새창열림)

'∞. 기술 면접 > 3. 운영체제' 카테고리의 다른 글

06. 기술면접 - 운영체제 - 메모리 관리 전략  (0) 2021.10.06
05. 기술면접 - 운영체제 - 프로세스 동기화  (0) 2021.10.06
04. 기술면접 - 운영체제 - 동기와 비동기  (0) 2021.10.06
02. 운영체제 - 멀티 프로세스와 멀티 쓰레드  (0) 2021.10.05
01. 운영체제 - 프로세스와 스레드의 차이 (Process vs Thread)  (0) 2021.10.05

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 05. 기술면접 - 운영체제 - 프로세스 동기화

    05. 기술면접 - 운영체제 - 프로세스 동기화

    2021.10.06
  • 04. 기술면접 - 운영체제 - 동기와 비동기

    04. 기술면접 - 운영체제 - 동기와 비동기

    2021.10.06
  • 02. 운영체제 - 멀티 프로세스와 멀티 쓰레드

    02. 운영체제 - 멀티 프로세스와 멀티 쓰레드

    2021.10.05
  • 01. 운영체제 - 프로세스와 스레드의 차이 (Process vs Thread)

    01. 운영체제 - 프로세스와 스레드의 차이 (Process vs Thread)

    2021.10.05
다른 글 더 둘러보기

정보

나눔코딩 블로그의 첫 페이지로 이동

나눔코딩

  • 나눔코딩의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (316)
    • ∞. 읽은 거리 (3)
    • ∞. 기술 면접 (61)
      • 1. 자료구조 (0)
      • 2. 네트워크 (9)
      • 3. 운영체제 (11)
      • 4. 데이터베이스 (13)
      • 5. 디자인 패턴 (0)
      • 6. 알고리즘 (0)
      • 7. 자바 (15)
      • 8. 자바스크립트 (7)
      • 9. 스프링 (5)
      • 10. 시큐리티 (1)
      • 11. 기타 (0)
      • 12. Vue (0)
    • ∞. 웹개발 유용한 사이트 (14)
    • ∞. 트러블 슈팅 + TIL (7)
    • 00. 출발 (9)
    • 01. 엑셀 (9)
      • 기초 (4)
      • 컴활 1급 (4)
      • VBA (0)
    • 02. 엑세스 (9)
      • 기초 (5)
      • 컴활 1급 (4)
    • 04. Oracle (1)
      • 기초 (1)
    • 03. JAVA (8)
      • 기초 (7)
      • 객체지향 프로그래밍 (0)
    • 05. HTML (13)
      • 기초 (1)
      • css (10)
      • sass (0)
      • less (0)
    • 06. Javascript (16)
      • 기초 (13)
      • ES6 모듈 (2)
      • Canvas (0)
    • 07. JSP (0)
      • 기초 (0)
    • 08. jQuery (0)
      • 기초 (0)
    • 09. BootStrap (1)
      • 기초 (0)
      • v4 - Layout (1)
    • 10. Spring (30)
      • 기초 (3)
      • 실험 (4)
      • MVC (1)
      • BOOT (6)
      • Security (10)
      • Lib (Library) (2)
      • 벤치마킹 (0)
      • JUnit5 (2)
      • DevTools (0)
      • Socket (1)
      • Batch (0)
      • Mobile (0)
      • WebFlux (0)
      • Cloud (0)
      • Thymleaf (0)
      • Actuator (0)
      • 성능 테스트 (1)
    • 11. JetBrains (34)
      • 기초 (1)
      • IntelliJ IDEA (33)
      • WebStorm (0)
      • Pycham (0)
    • 12. API (0)
      • 기초 (0)
      • 네이버 API (0)
      • 카카오 API (0)
      • 구글 API (0)
      • 인스타그램 API (0)
    • 13. AutoHotkey (1)
    • 14. Python (8)
      • 기초 (3)
      • Selenium (2)
      • Beautiful Soup (0)
      • openpyxl (1)
      • Pyqt5 (0)
      • Deep learning (open CV) (0)
      • Geocoder (0)
      • Anaconda (0)
      • DeepLearning (0)
      • Jupyter Nootbook (0)
    • 14.5. R (0)
    • 15. JMeter (0)
      • 다운로드 (0)
    • 16. Vue JS (23)
      • 기초 (3)
      • Vue 2 (15)
      • Vue 3 (5)
      • Vuetify 2.5.8 (0)
    • 17. Git (12)
      • 기초 (8)
      • ItelliJ IDEA (4)
      • SourceTree (0)
    • 18. AWS (5)
      • 기초 (2)
      • Jira (3)
    • 19. Naver Cloud Platform (0)
    • 20. Google Cloud Platform (0)
      • 기초 (0)
      • stt & tts (0)
    • 21. Kotlin (0)
    • 22. Android (0)
      • 기초 (0)
      • Java (0)
      • Kotlin (0)
      • Flutter FrameWork (0)
    • 23. Clean Code [JAVA] (1)
    • 24. BuildTool (1)
      • Maven (1)
      • Gradle (0)
    • 25. 자료 구조와 알고리즘 (18)
      • JAVA (1)
      • Java Script (1)
      • 프로그래머스 (0)
      • 백준 알고리즘 (0)
      • 나의 알고리즘 (14)
      • Brilliant 공부 (0)
    • 26. React (1)
      • 기초 (0)
      • 강의 정리 (1)
    • 27. PostMan (0)
      • 기초 (0)
    • 28. 프로그래머스 (9)
    • 29. Leet Code (0)
    • 30. MySQL (3)
      • 기초 (2)
      • 문제 (1)
    • 73. GraphQL (0)
    • 74. Nuxt JS (0)
    • 75. Electron (0)
    • 76. UX & UI Design Tool (0)
      • 기초 (0)
      • Axure (0)
      • Sketch (0)
      • Figma (0)
    • 77. MarkDown (1)
      • 기초 (1)
    • 78. Tomcat (1)
      • 메모 (1)
    • 79. Element JS (0)
    • 80. Parallax JS (0)
      • 기초 (0)
    • 81. Player JS (0)
      • 기초 (0)
    • 82. Smart Maker (0)
    • 83. Vim (0)
      • 기초 (0)
    • 84. Linux (0)
      • 기초 (0)
      • Centos 7 (0)
      • Ubuntu (0)
    • 85. Node JS (2)
      • 기초 (1)
      • WebRTC (0)
      • NVM (1)
    • 86. Propeller JS (0)
    • 87. FullPage JS (0)
      • 기초 (0)
    • 88. 아두이노 (0)
    • 89. Tensorflow (0)
    • 90. 웹 패킷 분석 (0)
    • 91. 크롬 개발자도구 (0)
    • 92. 디자인 패턴 (7)
      • 생성(Creational) (3)
      • 구조(Structral) (1)
      • 행위(Behavioral) (2)
      • SOLID 패턴 (0)
    • 95. Linux Shell Script (0)
    • 96. 구글 애널리스틱 (0)
    • 97. ffmpeg (0)
    • 98. ShareX (1)
    • 자료실 (0)
    • 기타 (2)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 엑셀 기타작업
  • 엑셀 표시형식
  • 깁
  • 졵
  • 엑셀 가운데맞춤
  • 엑셀 분석작업
  • 엑셀 글씨
  • 엑셀 기본작업

나의 외부 링크

  • 비전공자 개발자
  • 자바 디자인 패턴
  • 자바 디자인 패턴
  • 스프링 블로그
  • 해킹보안 & 웹 관련
  • ERD 생성
  • 전문 기술 블로그
  • Servlet에 대한 개념없이 스프링을 했네요?
  • 스프링 FitlerChainList
  • 알고리즘 파워 블로그

정보

THE HEYDAZE의 나눔코딩

나눔코딩

THE HEYDAZE

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © THE HEYDAZE. Designed by Fraccino.

티스토리툴바