프로세스가 여러 개일 때, CPU 스케줄링을 통해 프로세스들을 관리하는 것
이때, CPU는 각 프로세스들의 정보를 알아야 관리가 가능하다. 이러한 프로세스들의 특징을 갖고 있는 것이 바로 Process Metadata
이다.
=> 이 메타데이터는 프로세스가 생성되면 PCB
에 저장된다.
운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로, 프로세스의 상태 정보를 저장하는 구조체
PCB
에 저장CPU가 이전의 프로세스 상태를 PCB에 보관하고, 또 다른 프로세스의 정보를 PCB에서 읽어서 레지스터에 적재하는 과정
컴퓨터로는 인터넷 하면서 음악도 듣고, 채팅도 할 수 있다. 동시에 처리되는 것처럼 보이지만, 우리가 느끼지 못할 뿐 time sharing이라고 해서 짧은 시간동안 왔다갔다 번갈아서 처리해주는 것이다.
이렇게 프로세스들이 교체되어 수행되고 나면 다시 다른 프로세스를 불러와야 하는데, 이를 위해서는 이전 작업에 대한 내용을 기억하고 있어야 하는데, 프로세스 단위로 정보를 저장해주는 BLOCK을 PCB라고 한다.
그래서 프로세스가 스위칭 되어도 기억을 하고 이어서 실행할 수 있다.
시간
과 메모리
를 말한다.스레드는 Context Switching 될 때 text, data, heap 영역은 프로세스 것이기 때문에 자신의 PCB에는 stack 및 간단한 정보만 저장하기에 프로세스 Context Switching 보다 빠르다.
https://github.com/haewon-park/csStudy/blob/main/OS/PCB%EC%99%80%20Context%20Switching.md
https://jhnyang.tistory.com/33
https://yoongrammer.tistory.com/52