운영체제 (Operation System)

[OS] Lecture 5. Process Scheduling (1/4) / 운영체제 강의

유호야 2021. 12. 16. 10:13
반응형

 


 

프로세스 스케줄링을 해야하는 이유에 대해서 먼저 말해보자면

프로세스가 여러개니까 자원을 나누어 사용해야 한다. 

자원 할당할 cpu를 선택하는 것을 스케줄링이라고 한다. 

언제 누가 어느시간동안 사용해야할지 ( 시간 분할 time sharing 관리 )

메모리 같은 경우는 프로세스 두 명이 반을 나누어서 사용하는 >> 공간 분할 (space sharing) 관리

 


 

 

시스템의 성능(performance) 향상
시스템을 효율적으로 사용하기 위함

* 대표적 시스템 성능지표 (index)
응답시간 : 요청을 보냈을 때 응답이 돌아오기까지의 시간 > interactive 대화형 시스템, real time 
작업 처리량(through) : 단위시간 동안 얼마나 많은 일을 할 수 있는가 > batch system
자원 활용도 : 주어진 시간 동안 얼마나 자원이 놀지 않고 쓰였는가 > 비싼 자원을 구매했다면

 


관심 있으면 한 번씩 읽어보기 

 


 


성능은 모호한 지표이기 때문에 잘 정리해야한다.

 


 

 

batch / interactive system 은 목적이 다르다.
누가 급한지....
누가 우선순위를 갖느냐
로세스의 특성도 중요한데 더 이야기해보자


CPU를 사용한다 계산하다가
I/O(대기) 하다가...

연산이 더 많이 되는 녀석들을 Compupte bounded 라고 한다. 

i/o가 성능을 결정한다, bound 시킨다 > I/o-bounded


 

Long-term scheduling

> job scheduling
> 다중 프로그래밍정도(degree) 조절 : (다중프로그래밍의 정도 = 시스템 내의 프로세스 수)
> I/O-bounded 와 compute-bounded 프로세스들을 잘 섞어서 선택해야 함 
compute-bounded만 많이 올려놓으면 i/o-bounded는 놀고 있을 것이다. 반대의 경우도 마찬가지
시스템 입장에서 이는 매우 비효율적이다. 그래서 이 두 녀석을 적절히 섞어서 올려줘야 한다. > 효율이 올라간다.

job schduling의 역할 : 얼마나 많은 프로세스를 시스템에게 할당할 것인지 결정하는 것
: 성능을 결정하는데 중요한 역할

- 시분할 시스템에서는 시간을 나누어 사용하기 때문에 long-term schduling이 덜 중요하다.

 


누구에게 메모리를 결정한다. Mid-term이 long-term보다는 더 자주 일어난다.


 

ready > running 으로 올려주는 이것이 제일 많이 발생한다.
프로세서(CPU)를 할당해주는 것을 SHORT-TERM / PROCESSOR 스케줄링 이라고 한다.

프로세스 STSATE


 

잘 기억에 놓으면 도움이 되는 그림일 것이다.

 


 

 

 

 

Preemptive schduling 선점 : 누가 내것을 빼앗을 수 있다.
장점은 응답성이 높아지고, 시분할 시스템에서는 무조건 선점 시스템을 사용해야한다. 응답성이 높다. 자주 바뀌기 때문에 context switch overhead가 크다.

Non-preemptive scheduling : 비선점 어떤 프로세스 i 가 자원을 할당받으면, 스스로가 반납할 때까지 사용할 수 있는 것

응답시간이 길어지고, 우선순위가 역전되는 현상, 혼자 독점하고 있기 때문에


 

정적 우선순위 (스탬프 같은)
당연히 구현이 쉽고, overhead가 적다.
아까는 A가 급하고 지금은 B가 급할 때 : 변화에 대한 대응이 어렵다. 

동적 우선순위 (연필 같은)
 계속 변경되는 Overhead가 크지만, 시스템 환경변화에 대한 유연한 대응 가능

 


스케줄링에 대한 기본 개념을 살펴보았다.

시스템에는 프로세스가 많아서 스케줄링 해야하고, 성능을 높이기 위함
성능에는 다양한 지표/기준이 있다, 
스케줄링은 얼마나 자주 일어나느냐에 따라서 long/short/mid

스케줄링을 할 때는 다양한 정책을 사용할 수 있다.

 


 

 

 

 

반응형