운영체제 - 스케줄링

CHO·2022년 11월 29일
0

OS(운영체제)

목록 보기
1/18
post-thumbnail

cpu 상태전이도 : ready, wait, run 3가지 상태 존재

cpu 스케줄링 : 프로세스 작업 수행을 위해 언제, 어느 프로세스에서 cpu를 할당할 것인지 결정하는 작업

멀티 프로세서 환경하에 프로세서 간의 우선순위를 지정해 cpu 활용을 극대화 하기 위한 방법이다.

스케줄링 : 선점 / 비선점
-선점 : 라운드로빈, srt, multi-level queue, multi-level feedback queue
: 중간중간 타 프로세스에 의해 뺏길 수 있음

-비선점 : 우선순위, 기한부, fcfs, sjf, hrn
:작업끝날때까지 다른 프로세스는 대기한다. 진행중인 프로세스를 중단시키지 못함

어떤 프로세스를 어떻게 할당할지에 따라서 대기시간에 큰 영향을 준다.

1) 라운드로빈 : 선점방식, cpu 할당된 시간 제한되어있음. 할당된 정도가 다름. 하나의 프로세스 5초 걸린다고 하면 100밀리 세컨드 일하고, 할당 대기 큐에 쌓임. 오래 걸리는 프로세스가 cpu 독점하는 것을 막는 방식

2) srt알고리즘(short remaining time) : 가장 짧은 시간이 소요된다고 판단되는 프로세스를 가장 먼저 수행한다. 남은 처리 시간이 짧다고 판단되는 프로세스가 준비 큐에 생기면 언제라도 프로세스가 선점이 가능하다. 긴 작업은 sjf 보다 대기시간이 길다.

3) 다단계 큐 : 큐가 병행적으로 여러개 큐가 있다. 1번 가장 우선순위 높고, 4번이 가장 낮다. 우선순위에 따라서

4) 다단계 피드백 큐 : 큐마다의 제한시간을 둬서 우선순위 높은 태스크 일하다가 10초 제한시간 걸리면 다음 프로세스 진행하고 그 이후에 가장 우선순위 높았던 애가 또 진행하는 그런 방식.

<비선점방식>
1) fcfs : Fifo알고리즘과 동일. 프로세스가 대기큐에 도차한 순서에 따라 cpu를 할당한다. 가장 간단한 스케줄링 알고리즘이다. 선입선출 방식이다. convoy effect가 발생할 수 있다. burst time이 긴 프로세스가 cpu를 독점하는 방식으로, 낭비가 발생할 수 있음.

평균 반환시간 = 평균 실행시간 + 평균 대기시간

2) sjf(shortest job first) : 준비 큐 내의 작업 중 수행시간이 가장 짧다고 판단되는 것을 먼저 수행한다 (srt랑 비슷. 근데 얜 비선점임). 각 프로세스에서 cpu 버스트 길이를 비교해 cpu가 이용 가능해지면 가장 작은 cpu 버스트를 가진 프로세스를 할당한다. 단점: 실행시간이 큰 작업은 무한 연기(=기근현상)이 발생할 가능성이 있다.
-작업이 끝나기까지의 실행시간 추정치가 가장 작업 먼저 실행
-fifo보다 평균 대기시간 적음 ㅇㅇ. 근데 긴 작업의 경우 fifo기법보다 더 예측이 어려움
-작업 시간이 큰 경우 오랫동안 대기해야함;;

3) hrn 기법 (Highest response ration next) : 대기 중인 프로세스 중 현재 response ratio 가 가장 높은 놈을 선택. sjf약점을 보완한 기법

response ratio = (대기시간+서비스시간) / 서비스 시간

hrn이해 못함;;;


spn=sjp와 똑같음

<디스크 스케줄링>
-이동식 디스크, 고정식 디스크 스케줄링 대표적 기법?
운영체제가 프로세스들이 디스크 쓰거나 읽으려는 요청 받았을 때 우선순위 정해주고 이를 관리하는 기법

낭비시간 최소화, 특정 프로세스 입출력 배정 있음
각 프로세스에 할당, 정해진 기한까지 요청 보증함

<가상메모리>
주기억장치 안에 프로그램 양이 많아질때 사용하지 않는 프로그램을 보조기억 장치안에 넣어서 주기억장치처럼 사용하는 가상기억장치를 말함

메인 메모리에 할당하고 디스크에 어느 항목 호출할지, 어느곳에 배치, 무엇을 교체할 것인지 보는게 중요함

할당정책 : 각 프로세스에 할당할 메모리 양을 관리한다.
호출정책 : 언제 어느 항목을 메인 메모리롤 가져올지 결정
배치정책 : 메인메모리를 어디에 배치할 것인가를 관리
교체정책 : 메인 메모리에 적재할 공간이 없을 경우, 무엇과 교채할 것인지 관리

고정분할 페이징 기법 : 페이지번호, 프레임번호(매핑테이블)로 만들어서 메모리를 고정된 작은 크기의 프레임으로 나누는 방식

페이징 기법의 유형 : direct mapping / associative mapping / direct+associative mapping

페이지 교체 알고리즘

<프로세스와 스레드>

프로세스
-메모리에 로드되어 cpu에 의해 실행되고 있는 실행 프로그램을 말한다
-레지스터, 스택, 포인트, 프로그램, 데이터 등의 집합체로 실행 중인 프로그램 인스턴스이다
-비동기적 행위, 프로시저가 활동중인 것으로, 실행 중인 프로시저의 제어 경로 등을 의미한다.
-이들이 디스패치 된 작업 단위 의미

pcb(process control bolck) : 운영체제가 프로세스에 대한 중요한 정보를 저장해 놓는 곳.

<교착항태 - 데드락>
교착상태 : 다중 프로세스 환경하에 서로 다른 프로세스가 각자 자신이 소유한 자원을 포기하지 않고, 상대 프로세스의 자원을 무한 대기하고 있는 상태

원인
1)상호배제 , 점유와대기, 비선점, 환형대기
비선점 스케줄링에서만 발생한다.

교착상태 해결방안
1) 예방, 회피, 발견, 회복

profile
매일 개념 익히고 적용합니다

0개의 댓글