본문 바로가기
CS/OS

4. CPU Scheduling(3)

by DenverAlmighty 2022. 3. 8.
반응형

강의 노트


1. CPU 스케쥴링

1) Multilevel Queue Scheduling

: 프로세스가 들어오면 프로세스 그룹에따라 다른 스케줄링 방법 사용

각각의 큐에 절대적 우선순위 존재 또는 cpu time을 각 큐에 차등 배분

각 큐는 독립된 스케줄링 정책

 

Process Groups

  • system processes
  • interactive processes <-> compile, batch processes
  • interactive editing processes ex) Word
  • batch processes

우선순위 System > Interactive > batch...

                              

 

2) Multilevel Feedback Queue Scheduling

: 복수개의 큐, 다른 큐로 이동

- 모든 프로세스는 하나의 입구로 진입

- 너무 많은 cpu time 사용 시 다른 큐로 이동

- 기아 상태 우려 시 다시 우선순위 높은 큐로 이동

 

 

2. 프로세스 생성과 종료

1) 프로세스 생성

: 부팅시 - Os가 메인메모리로 올라감 - os 프로세스 생성(init) - init 다른애들 만듦

  • 부모 프로세스
  • 자식 프로세스
  • 프로세스 트리

- process Identifier(PID)

   cf) 부모 프로세스 pid : PPID

 

- 프로세스 생성 명령어

  • fork() system call : 부모 프로세스 복사
  • exec() : 실행파일을 메모리로 가져오기


2) 프로세스 종료

  • exit() system call : 해당 프로세스가 가졌던 모든 자원은 OS에게 반환(메모리, 파일, 입출력 장치 )

 

3. Thread

: 프로그램 내부의 흐름.

 

1) Single Thread

: 1 프로세스 1 쓰레드

 

2) Multithreads 다 쓰레드

  • 프로그램에 2개이상의 쓰레드
  • 쓰레드가 빠른 간격으로 스위칭되어 동시에 실행되는것 처럼 보임(concurrent : 스위칭되며 vs simultaneous : 여러개 실행)

 

쓰레드 구조

  • 프로세스 간 메모리 공간 공유(code, data)
  • 프로세스의 자원 공유 (file, i/o..)
  • 비공유 : 개별적 pc, sp, registers, stack

Q. 멀티코어 프로세서에서는 늘어난 코어 수만큼 simultaneous 하게 프로세스/쓰레드 처리 가능?

 

+ 컴퓨터 구조론 공부하기

728x90
반응형