---
description: 컨텍스트 스위칭이 발생할 때, 기존의 프로세스 정보는 커널 스택에 어떠한 형식으로 저장되나요?
---

# Information of the current process during context switching

#### **커널 공간의 주요 영역**

1. **커널 코드 영역:** 커널 코드와 커널에 로드된 모듈의 코드가 저장됩니다.
2. **커널 데이터 영역:** 전역 변수와 각종 자료구조 (프로세스 테이블, 파일 테이블, I/O 버퍼 등)가 저장됩니다.
3. **커널 스택 영역:** 각 프로세스나 스레드에 대한 커널 스택이 저장됩니다.

#### **PCB의 위치:**

* **커널 데이터 영역 내:** PCB는 커널 공간의 데이터 영역 내에 있을 수 있습니다. 데이터 영역은 정적이거나 동적으로 할당된 전역 변수 및 데이터 구조를 저장하는데 사용됩니다.
* **특별한 자료구조:** 운영체제는 프로세스 관리를 위해 PCB를 저장하는 특별한 자료구조를 유지할 수 있습니다. 예를 들어, 프로세스 테이블, 프로세스 큐, 또는 다른 데이터 구조 내에 PCB들이 저장될 수 있습니다.

#### **결론:**

PCB는 커널 스택이 아니라 커널 데이터 영역에 저장되거나, PCB를 관리하기 위한 특별한 자료구조 내에 저장됩니다. PCB는 시스템의 모든 프로세스에 대한 정보를 저장하고, 프로세스 스케줄링, 프로세스 관리, 컨텍스트 스위칭 등 다양한 작업을 지원합니다.



<figure><img src="https://2804243633-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfV6clXG953LqFieNgWUf%2Fuploads%2FuP37CzZmvCn7vUus5eg9%2Fimage.png?alt=media&#x26;token=b716cb55-b3dd-4640-b6a5-45e75f169584" alt=""><figcaption></figcaption></figure>

<figure><img src="https://2804243633-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfV6clXG953LqFieNgWUf%2Fuploads%2FmX8SznGakVIuJDj5gB7a%2Fimage.png?alt=media&#x26;token=bb3dd671-2fe8-4b75-80ab-03bc2a7badf7" alt=""><figcaption></figcaption></figure>
