[운영체제] PCB & Context Switching

함민혁·2023년 7월 31일
0

cs면접준비

목록 보기
3/43

프로세스 컨텍스트 스위칭이란?

CPU가 한 프로세스에서 다른 프로세스로 전환할 때 발생하는 일련의 과정을 말함
동작 중인 프로세스가 대기를 하면서 해당 프로세스의 상태(Context)를 보관하고, 대기하고 있던 다음 순서의 프로세스가 동작하면서 이전에 보관했던 프로세스의 상태를 복구하는 작업

컨텍스트 스위칭을 왜 할까?

CPU는 한번에 하나의 프로세스만 실행할 수 있으므로, 여러 개의 프로세스를 번갈아가며 실행하여 CPU 활용률을 높이기 위해 컨텍스트 스위칭이 필요한 것임

컨텍스트 스위칭이 일어날 때 다음번 프로세스는 스케줄러가 결정함

PCB란?

PCB는 프로세스 제어 블록을 말함. 운영체제에서 프로세스를 관리하기 위해 해당 프로세스의 상태정보를 담고 잇는 자료구조를 말함. PCB는 프로세스 스케쥴링을 위해 프로세스에 관한 모든 정보를 저장하고 있는 임시저장소 역할을 함. 운영체제마다 다르겠지만 PCB 내부에는 포인터, 프로세스 상태, 프로세스 아이디, 프로그램 카운터, 레지스터 등이 들어있다.

컨텍스트 스위칭은 언제 일어날까?

하드웨어나 소프트웨어 인터럽트가 발생하는 경우 컨텍스트 스위칭이 일어납니다.
멀티코어 프로세서에서 여러 스레드가 병렬로 일어나는 경우, 스레드 스케줄러가 각 코어에 스레드를 할당할때 발생하기도 합니다.

프로세스 컨텍스트 스위칭과 스레드 컨텍스트 스위칭의 차이점은?

프로세스 컨텍스트 스위칭은 CPU가 한 프로세스에서 다른 프로세스로 이동하는 것인 반면, 스레드 컨텍스트 스위칭은 하나의 프로세스 내에서 스레드들을 교환함. 그리고 TCB가 PCB보다 가벼워서 스레드 컨텍스트 스위칭이 더 빠르다.

profile
Born to be FE developer 🧑🏻‍💻

0개의 댓글