정의
CPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것..
관리하기 위해서는 각 프로세스가 무엇인지 알아야 한다.
프로세스의 특징이 담겨있는 Process Metadata
이러한 정보들이 담겨있다. 이 메타데이터는 프로세스가 생성되면 PCB
라는 곳에 저장됨.
PCB는 Process Table에서 Linked List 방식으로 관리된다.
->링크드리스트 방식이므로 삽입.삭제가 용이하다.
->프로세스가 생성되면 PCB가 생성되고 프로세스 완료하면 제거됨.
CPU에서는 프로세스의 상태(생성,준비,실행,대기,완료)에 따라 교체작업이 이루어진다.
만일, 프로세스가 CPU를 점유하여 작업을 하던 중에 갑자기 상태가 전이되면, 진행하던 내용을 모두 정리하고 , CPU를 반환해야 한다.
근데 그냥 반환하면 작업하던 정보가 날아가 버리니까 다음 자기 차례 왔을 때 어디까지 했는지를 저장할 수 있어야 한다.
그러면 저장한 것을 토대로 하던 작업을 계속 진행할 수 있다.
여기서 수행중인 프로세스를 변경할 때, CPU의 레지스터 정보가 변경되는 것을
Context Switching
이라 한다.
CPU가 이전 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에 읽어 레지스터에 적재하는 과정
다음과 같은 상황에서 발생한다