4장 CPU 스케줄링 - 01(2) 고수준, 저수준, 중간수준 스케줄링

2024. 4. 24. 23:27 · Basic/운영체제 OS

 
해당 내용은 쉽게 배우는 운영체제을 기반으로 작성되었습니다.


1. 스케줄링 개요

1(2) CPU 스케줄링

 스케줄링 단계

   - 레스토랑 관리자는 주방 및 재료 상황, 레스토랑 규모 등을 파악하여 적당한 인원, 손님 배치하여함 (큰 틀)
   - 그 후, 손님들의 다양한 상황을 고려하여 요리 속도, 순서를 관리해야 함. (작은 틀)
   - 큰 틀 관리와 작은 틀 관리를 병행하듯이 CPU 스케줄러도 관리의 범주를 나누어 스케줄링한다. 
   - [고수준 스케줄링] [저수준 스케줄링] [중간 수준 스케줄링]

출처 : 쉽게 배우는 운영체제

   고수준 스케줄링 high level scheduling(= 장기, 작업, 승인 스케줄링)

   - 시스템 내의 전체 작업 수 조절
   - 운영체제에서 작업(일)의 가장 큰 단위
   - 많은 작업을 동시에 하면 시스템 과부하로 작업 원활 x
   - 작업이 시작되면 시스템 자원을 사용하기 때문에 기존 작업에 영향을 준다. 
   - 그래서 작업 요청이 들어오면 스케줄러가 시스템의 상황을 고려하여 작업 [승인 / 거절] 결정
   - 이에 따라 시스템 내에서 동시에 실행 가능한 프로세스의 총개수가 정해짐 ( = 멀티프로그래밍 정도)
   - 메인프레임과 같은 큰 시스템에서 규모가 큰 일괄 작업을 처리할 때 사용

   저수준 스케줄링 low level scheduling (= 단기 스케줄링)

   - 가장 작은 단위의 스케줄링
   - 고수준이 전체 손님 수 조절이라면 저수준은 각 손님의 주문과 그에 따른 요리 제공 순서를 미세하게 조절하는 단계

   - 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정
   - ex) 준비 상태에 있는 프로세스 중 하나를 골라 실행 상태로 보내거나, 실행 상태에 있는 프로세스를 대기 상태로 보내거나, 대기 상태의 프로세스를 준비 상태로 보내는 것
   - 아주 짧은 시간에 일어나기 때문에 단기 스케줄링(short-term scheduling)이라고도 함. 
   - 어떤 기준에 따라 타임 슬라이스를 정할지와 같은 이슈는 시스템 성능에 많은 영향을 끼침. 
   - 실제로 작업이 이루어짐. 

   중간 수준 스케줄링

   - 프로세스가 활성화된 후에도 여러 가지 사정으로 시스템에 과부하가 올 수 있다. 
   - 시스템의 부하를 조절하려면 고수준 스케줄링 대신 중간 수준 스케줄링을 고려해야 함. 
   - 시스템에 과부하가 걸려서 전체 프로세스 수를 조절해야 한다면 이미 활성화된 프로세스 중 일부를 보류 상태로 보낸다.

   - 보류된 프로세스는 처리 능력에 여유가 생기면 다시 활성화한다.
   - 중지 suspend, stop와 활성화 active로 전체 시스템의 활성하된 프로세스 수를 조절하여 과부하를 막는다.
   - 이렇게 하면 저수준 스케줄링이 원만하게 이루어지도록 완충하는 buffer 역할을 한다. 
 

출처 : 쉽게 배우는 운영체제

https://yoooniverse.tistory.com/14?category=1133284

728x90

'Basic > 운영체제 OS' 카테고리의 다른 글

4장 CPU 스케줄링 - 02(1) 선점형, 비선점형 스케줄링  (0) 2024.04.30
4장 CPU 스케줄링 - 01(3) 스케줄링 목적  (0) 2024.04.30
4장 CPU 스케줄링 - 01(1) 스케줄링, CPU 스케줄러  (0) 2024.04.24
1-2장 운영체제 - 운영체제 발전 (1/2) ING  (0) 2024.04.11
1-1장 운영체제 - 역할 및 목표 (2/4)  (0) 2024.03.29
'Basic/운영체제 OS' 카테고리의 다른 글
  • 4장 CPU 스케줄링 - 02(1) 선점형, 비선점형 스케줄링
  • 4장 CPU 스케줄링 - 01(3) 스케줄링 목적
  • 4장 CPU 스케줄링 - 01(1) 스케줄링, CPU 스케줄러
  • 1-2장 운영체제 - 운영체제 발전 (1/2) ING
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    취업
    Py
    javascript
    대학생학회
    오블완
    파이썬
    빅데이터분석
    파이썬{}
    input
    파이썬 챗봇 만들기
    python
    BDA학회
    취업준비
    print(f"")
    자바스크립트
    js
    react
    오라클SQL
    티스토리챌린지
    리액트
    이름나이
    sql
    자료형
    dbms
    Oracle
    importturtle
    주석
    대외활동
    AI역량검사
    jsx
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
4장 CPU 스케줄링 - 01(2) 고수준, 저수준, 중간수준 스케줄링
상단으로

티스토리툴바