;

728x90

리눅스 - 오픈 , 윈도우 - 폐쇄형 


작업이 들어오고 순서대로 들어오는 것을 준비 큐(작업)이라 한다. 큐라는 자료구조를 사용한다. -> 스케줄링에 사용한다. FIFO


CPU 상태전이

준비큐에 작업들이 기다리고 있다가 CPU에 들어가서 실행을 한다. -> DISPATCH라 한다 (CPU점유) -> 일정한 시간 할당량을 준다.(TIME RUN OUT) 


연산을 하다가 디스크에서 데이터를 읽어와야된다. I/O채널에다가 디스크에서 자료를 읽어줘 -> 준비큐에서 대기상태로가는데 이것을 블록킹이라함


입출력을 다하고 다시 CPU에 가는데 그것을 WAKE UP이라함. 


모든 프로세스는 한 개의 스레드를 가지고 있다. -> 병렬적처리가 멀티 스레드라함.

ex) 백신 프로그램이 동시다발적으로 검사함(멀티 스레드)


CPU 스케줄링

야 너 1초안에 못하면 나가 -> ROUND ROBIN 방식


멀티 레벨큐

큐가 하나였는데 레벨별로 큐를 분류하여 일을 함.


멀티 레벨 피드백큐 (ROUND ROBIN + 멀티레벨큐)

큐가 똑같이 여러개 있는데 첫 번재 큐에 들어갔을때 1초 안에 처리못하면 나와서 두번 째 큐로 감 또 못하면 세번 째로감. 피드백된다.


교착상태

교차로에 차가 다 들어오면 다들 움직이지 못함.


조건 : 비선점, 상호배제(하나만 쓸수 있음), 점유와대기, 환형대기

예방기법 : 은행원 알고리즘(대출심사 : 프로세스가 자원을 요청하면 그 프로세스가 쓸수 있는 한도를 준다.)


디스크

FCFS : 왼쪽 갔다 오른쪽 갔다하면서 실행

SSTK : 가장 짧은 거리를 실행

SCAN :진행방향에 있는 것부터 우선실행, 엘레베이터 알고리즘(1층에서 5층까지) 

C-SCAN : 바깥쪽에서 안쪽으로만 가서 실행