ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Operating System - PCB & Context Switching
    Computer Science/Operating System 2022. 1. 11. 21:02

    PCB

    Process Management

    Process Management란 CPU가 프로세스가 여러 개일 때, CPU 스케줄링을 통해 관리하는 것을 말한다.

    이때, CPU는 각 프로세스들이 누군지 알아야 관리가 가능하다.

    프로세스들의 특징을 갖고 있는 것을 Process Metadata라고 하며, Process Metadata가 가지고 있는 정보들은 다음과 같다.

     

         ㆍ Process ID

         ㆍ Process State

         ㆍ Process Priority

         ㆍ CPU Registers

         ㆍ Owner

         ㆍ CPU Usage

         ㆍ Memory Usage

     

    이 메타데이터는 프로세서가 생성되면서 PCB(Process Control Block)라는 곳에 저장된다.

     

    PCB란?

    ㆍ PCB는 Process Control Block의 약자로, 프로세스의 메타데이터들을 저장해 놓는 곳이다.

    ㆍ 프로세스가 생성될 때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB도 함께 제거된다.

     

    PCB가 필요한 이유

    ㆍ CPU에서는 프로세스의 상태에 따라 교체 작업이 이루어진다. 이때, 현재 처리 중인 프로세스에 대한 정보를 PCB에 저장하고 나중에 PCB에 저장된 정보를 불러와 작업 재개가 가능하다.

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


    Context Switching

    Context Switching이란?

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

    ㆍ 보통 인터럽트가 발생하거나, 실행 중인 CPU 사용 허가시간을 모두 소모하거나, 입출력을 위해 대기해야 하는 경우에 발생한다.

     

     

    ㆍ 즉, 프로세스의 상태가 Ready→Run, Run→Ready, Run→Wait처럼 변화할 때 발생한다.

     

    Context Switching의 Overhead

    ㆍ Overhead는 어떠한 처리를 하기 위해 들어가는 간접적인 처리 시간을 의미한다.

    ㆍ Context Switching이 발생할 때 CPU는 아무런 작업을 하지 못한다. 따라서 Context Switching이 많아지면 그만큼 Overhead가 발생하기 때문에, 성능이 떨어진다는 단점이 있다.

     

    728x90

    댓글

Designed by Tistory.