Process가 생성된다 == PCB 하나가 만들어진다
→ PCB에 대한 작업은 매우 빈번한 일이라서 PCB는 기본적으로 메모리에 저장(빈번한 일이라서 메모리에 상주)
장기에서 중기로 스케줄러를 변경한 이유?
•
장기 스케줄러는 수십 초 내지 수 분 단위로 가끔 호출되기 때문에 상대적으로 속도가 느린 것이 허용
•
장기 스케줄러는 일괄처리 뷰를 별도로 유지하는 경우에 필요
◦
CPU Burst와 I/O Burst사이의 균형을 유지해야 하므로 스케줄링 실행시간이 상대적으로 길더라도 신중하게 프로세스를 선택해야 한다.
•
과거에는 적은 양의 메모리를 많은 프로세스들에게 할당하면 프로세스당 메모리 보유량이 적어져 장기 스케줄러가 이를 조절하는 역할을 했지만 현대의 운영체제에서는 프로세스가 시작되면 바로 그 프로세스에 메모리를 할당해 준비 큐에 넣어주게 된다.
•
이전에 없었던 virtual memory management가 발달하면서 장기 스케줄러가 사라짐.
◦
마치 메모리가 무한으로 있는 것처럼 운영체제가 서비스를 함.
◦
이 가상메모리개념때문에 중기 스케줄러 또한 사용되지 않는다.
◦
VMM(가상 기억 장치)이 사용되는 중
◦
프로그램의 일부만 주기억장치에 있어도 실행이 가능하도록 하면 얻을 수 있는 장점
▪
프로그램은 더 이상 물리적 주기억장치 크기에 제한을 받지 않는다.
▪
각 프로그램이 적은 공간을 차지하므로 동시에 여러 프로그램을 주기억장치에 적재(multiprogramming degree 향상)
▪
프로그램을 적재하는데 걸리는 입출력 비용을 줄일 수 있다.
▪
가상기억장치는 요구 페이징(demand paging)기법을 이용하여 구현한다. 세그먼테이션과 결합하여 사용
장기 스케줄러 | 생성 상태 관리 |
중기 스케줄러 | 중단된 준비, 준비, 중단된 대기, 대기 상태 관리 |