운영체제 - PCB와 Context Switching

고태희·2022년 2월 17일
0

CS

목록 보기
8/20

Process Management

정의
CPU가 프로세스가 여러개일 때, CPU 스케줄링을 통해 관리하는 것..
관리하기 위해서는 각 프로세스가 무엇인지 알아야 한다.

프로세스의 특징이 담겨있는 Process Metadata

  • Process Metadata
    • PID
    • Process State
    • Process Priority
    • CPU Register
    • Owner
    • CPU Usage
    • Memory Usage

이러한 정보들이 담겨있다. 이 메타데이터는 프로세스가 생성되면 PCB라는 곳에 저장됨.

PCB

구조

PCB는 Process Table에서 Linked List 방식으로 관리된다.
->링크드리스트 방식이므로 삽입.삭제가 용이하다.
->프로세스가 생성되면 PCB가 생성되고 프로세스 완료하면 제거됨.

PCB를 사용하는 이유

CPU에서는 프로세스의 상태(생성,준비,실행,대기,완료)에 따라 교체작업이 이루어진다.

만일, 프로세스가 CPU를 점유하여 작업을 하던 중에 갑자기 상태가 전이되면, 진행하던 내용을 모두 정리하고 , CPU를 반환해야 한다.
근데 그냥 반환하면 작업하던 정보가 날아가 버리니까 다음 자기 차례 왔을 때 어디까지 했는지를 저장할 수 있어야 한다.
그러면 저장한 것을 토대로 하던 작업을 계속 진행할 수 있다.

여기서 수행중인 프로세스를 변경할 때, CPU의 레지스터 정보가 변경되는 것을 Context Switching이라 한다.

Context Switching

CPU가 이전 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에 읽어 레지스터에 적재하는 과정

다음과 같은 상황에서 발생한다

  • 인터럽트
  • 실행중인 CPU 사용허가시간 모두 소모

0개의 댓글