프로세스 제어 블록 (Process Control Block, PCB)

프로세스 제어 블록 (Process Control Block, PCB) 은 운영 체제에서 프로세스를 관리하기 위해 사용하는 핵심적인 데이터 구조이다.
PCB 는 각 프로세스에 대한 중요한 정보를 저장하고 관리하며, 운영 체제가 프로세스를 효율적으로 제어하고 실행할 수 있게 한다.

Process Control Block
Sourece: https://www.geeksforgeeks.org/process-table-and-process-control-block-pcb/

PCB 의 주요 구성 요소

  1. 프로세스 식별자 (Process ID, PID): 각 프로세스에 할당되는 고유한 식별 번호이다.
  2. 프로세스 상태 (Process State): 프로세스의 현재 상태를 나타낸다. 주요 상태로는 생성 (new), 준비 (ready), 실행 (running), 대기 (waiting), 종료 (terminated) 등이 있다.
  3. 프로그램 카운터 (Program Counter): 다음에 실행할 명령어의 주소를 가리킨다.
  4. CPU 레지스터: 프로세스가 CPU 를 사용할 때의 레지스터 정보를 저장한다.
  5. CPU 스케줄링 정보: 프로세스의 우선순위, CPU 사용 시간 등 스케줄링에 필요한 정보를 포함한다.
  6. 메모리 관리 정보: 프로세스의 메모리 할당 정보, 페이지 테이블 등을 저장한다.
  7. 입출력 상태 정보: 프로세스에 할당된 입출력 장치, 열린 파일 목록 등을 관리한다.
  8. 계정 정보: CPU 사용 시간, 메모리 사용량 등 프로세스의 리소스 사용 정보를 추적한다.

PCB 의 역할과 중요성

  1. 프로세스 관리: PCB 는 운영 체제가 프로세스의 생명주기를 관리하는 데 필수적이다.
  2. 컨텍스트 스위칭: PCB 는 프로세스 간 전환 시 현재 상태를 저장하고 복원하는 데 사용된다.
  3. 스케줄링: 운영 체제는 PCB 의 정보를 바탕으로 프로세스 스케줄링 결정을 내린다.
  4. 리소스 관리: PCB 는 프로세스에 할당된 리소스를 추적하고 관리한다.
  5. 동기화 및 통신: 프로세스 간 동기화와 통신에 필요한 정보를 저장한다.

PCB 의 생명주기

  1. 프로세스 생성 시 PCB 가 생성되고 초기화된다.
  2. 프로세스 실행 중 PCB 정보가 지속적으로 업데이트된다.
  3. 프로세스 종료 시 PCB 가 제거된다.

PCB 의 구현 및 저장

PCB 는 운영 체제 커널의 보호된 메모리 영역에 저장된다.
일부 운영 체제에서는 PCB 를 커널 스택의 시작 부분에 위치시킨다.

PCB 의 장단점

장점:

  • 효율적인 프로세스 관리와 스케줄링 가능
  • 멀티태스킹 지원
  • 리소스 사용 최적화

단점:

  • PCB 관리에 따른 메모리 오버헤드 발생
  • 잦은 컨텍스트 스위칭 시 성능 저하 가능성

참고 및 출처

1. 주제의 분류 적절성

프로세스 제어 블록 (Process Control Block, PCB) 은 “Computer Science and Engineering > Computer Science Fundamentals > Operating System > Process Management > Processes” 의 하위 주제로 분류하는 것이 매우 적절하다. PCB 는 프로세스의 모든 상태와 정보를 저장·관리하는 운영체제 핵심 자료구조로, 프로세스 관리의 중심 역할을 담당한다 [1][2][3][15].


2. 200 자 내외 요약

프로세스 제어 블록 (PCB) 은 운영체제가 각 프로세스를 효율적으로 관리하기 위해 생성하는 핵심 자료구조로, 프로세스의 상태, 식별자, 메모리, 스케줄링, 입출력 등 모든 관리 정보를 담고 있다. PCB 는 문맥 교환, 프로세스 스케줄링, 자원 할당 등 운영체제의 핵심 기능을 지원한다 [1][2][3][15].


3. 250 자 내외 개요

프로세스 제어 블록 (PCB) 은 운영체제가 각 프로세스를 추적·관리하기 위해 생성하는 자료구조로, 프로세스의 식별자, 상태, 프로그램 카운터, 레지스터, 메모리 정보, 입출력 정보, 스케줄링 정보 등 프로세스 실행에 필요한 모든 정보를 포함한다. PCB 는 프로세스 생성 시 생성되고 종료 시 폐기되며, 문맥 교환 (context switching), 스케줄링, 자원 관리 등 다양한 운영체제 기능의 기반이 된다. PCB 는 커널에서만 접근 가능하며, 시스템의 안정성과 효율성을 좌우하는 핵심 요소다 [1][2][3][4][15].


핵심 개념

  • 프로세스 제어 블록 (PCB): 운영체제가 각 프로세스를 추적·관리하기 위해 사용하는 자료구조. 프로세스의 모든 상태 정보와 자원 정보를 저장하며, 문맥 교환, 스케줄링, 자원 할당 등 운영체제의 핵심 기능을 지원한다 [1][3][15].
  • 프로세스 상태 (Process State), 프로세스 식별자 (Process ID, PID), 프로그램 카운터 (Program Counter), CPU 레지스터, 스케줄링 정보, 메모리 관리 정보, 입출력 정보, 계정 정보 등 다양한 필드를 포함한다 [2][4][5][8][11][12][15].
  • PCB 는 커널 메모리 영역에 저장되며, 사용자 접근이 불가능하다 [2][14][15].

주요 내용 정리

배경

  • 멀티태스킹 OS 에서 여러 프로세스를 효율적으로 관리하고, 프로세스 간 전환 및 자원 할당을 위해 PCB 가 필요하다 [1][3][6][7].

목적 및 필요성

  • 프로세스의 상태와 자원을 일관되게 관리
  • 문맥 교환, 스케줄링, 자원 할당 등 핵심 OS 기능 지원 [1][3][5][6][13].

주요 기능 및 역할

  • 프로세스의 모든 정보 저장 및 관리
  • 문맥 교환 시 상태 저장/복원
  • 프로세스 식별 및 추적
  • 자원 (메모리, I/O 등) 할당 및 회수 [1][2][3][5][13][15].

특징

  • 각 프로세스마다 고유의 PCB 가 존재
  • 커널 영역에 저장되어 보안 및 무결성 보장
  • 프로세스 생성 시 생성, 종료 시 폐기 [1][2][14][15].

핵심 원칙

  • 정보의 일관성 및 신뢰성 유지
  • 커널 보호 영역에서만 접근 가능
  • 프로세스 상태 전이 및 관리의 기준점 역할 [1][2][14][15].

주요 원리 및 작동 원리

  • 프로세스 생성 시 PCB 생성 및 초기화
  • 프로세스 상태 변화 (실행, 대기, 종료 등) 시 PCB 갱신
  • 문맥 교환 시 현재 프로세스의 PCB 에 상태 저장, 다음 프로세스의 PCB 에서 상태 복원 [1][2][3][12][15].

다이어그램

1
2
3
4
5
+-------------------+
|   Process Table   |   [Scheduler] --> [Worker Process]
                                      |
                                      v
                                   [PCB]
  • 워크플로우

    1. 클라이언트 요청 도착 → 워커 프로세스 생성
    2. PCB 생성, 프로세스 상태/자원 정보 저장
    3. 요청 처리 중 상태 변화 시 PCB 갱신
    4. 처리 완료 후 PCB 폐기
  • 역할: PCB(상태 저장/복원), 스케줄러 (프로세스 관리), 워커 프로세스 (실제 작업)


실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점

항목설명권장사항
메모리 관리PCB 메모리 오버헤드 방지PCB 크기 최적화, 불필요 정보 최소화
보안사용자 접근 제한커널 보호 영역에 저장
동기화동시성 문제 예방락 등 동기화 메커니즘 적용
무결성PCB 손상 방지정기적 무결성 검사

최적화하기 위한 고려사항 및 주의할 점

항목설명권장사항
PCB 접근 속도빠른 상태 전환 지원배열/인덱스 기반 접근
정보 최소화불필요 필드 제거로 오버헤드 감소필수 정보만 저장
동적 할당프로세스 수 변화 대응메모리 풀/슬롯 관리
캐시 활용PCB 캐싱으로 접근 속도 향상자주 사용되는 PCB 우선 캐싱

2025 년 기준 최신 동향

주제항목설명
PCB경량화 구조PCB 크기 최소화 및 필드 최적화 연구 지속
PCB동적 할당대규모 시스템에서 PCB 동적 관리 기법 강화
PCB보안 강화PCB 보호 및 접근 제어 강화 트렌드
PCB실시간 모니터링PCB 기반 실시간 성능/상태 모니터링 도구 발전

주제와 관련하여 주목할 내용

주제항목설명
PCBTCB(스레드 제어 블록)멀티스레드 환경에서 TCB 와 연계 관리 중요성 증가
PCB컨텍스트 스위칭PCB 의 상태 저장/복원 효율화 기술
PCB프로세스 보안PCB 정보 보호 및 접근 통제 강화 필요성

앞으로의 전망

주제항목설명
PCB자동화 관리PCB 생성/폐기 자동화 및 최적화 도구 발전
PCB통합 관리프로세스/스레드/자원 통합 관리 구조 확대
PCB보안 중심 설계커널 보호, 접근 제어 중심의 PCB 구조 강화

하위 주제 및 추가 학습 필요 내용

간략 설명카테고리주제
TCB(스레드 제어 블록)프로세스 관리스레드별 상태 관리 자료구조
프로세스 스케줄링운영체제PCB 기반 스케줄링 알고리즘
메모리 관리시스템 구조PCB 와 메모리 관리 연계 구조
프로세스 상태 전이프로세스 관리상태 변화와 PCB 갱신 메커니즘

추가로 알아야 할 내용 및 관련 분야

간략 설명카테고리주제
커널 자료구조운영체제프로세스 테이블, PCB, TCB 등
시스템 보안보안PCB 보호, 접근 제어 정책
실시간 OS임베디드실시간 PCB 관리 최적화
분산 시스템클라우드분산 환경에서의 PCB 역할

용어 정리

용어설명
프로세스 테이블 (Process Table)커널이 관리하는 PCB 들의 집합, 모든 프로세스 정보 저장
TCB(Thread Control Block)스레드별 상태 및 자원 정보를 저장하는 자료구조
프로그램 카운터 (Program Counter)다음 실행할 명령어의 주소를 저장하는 레지스터
계정 정보 (Accounting Information)프로세스별 CPU 사용량, 시간 제한 등 관리 정보

참고 및 출처

Citations:
[1] https://en.wikipedia.org/wiki/Process_control_block
[2] https://www.tutorialspoint.com/what-is-process-control-block-pcb
[3] https://www.guru99.com/process-management-pcb.html
[4] https://www.scaler.com/topics/operating-system/process-control-block-in-os/
[5] https://app.studyraid.com/en/read/2442/49379/process-control-block-pcb
[6] https://www.linkedin.com/pulse/process-control-blocks-core-operating-system-management-paolo-gomez-bbkac
[7] https://cuvette.tech/blog/understanding-process-control-blocks-in-operating-systems
[8] https://byjus.com/gate/process-control-block-notes/
[9] https://jwprogramming.tistory.com/16
[10] https://wit-hdip-comp-sci-2018.github.io/computer-systems/topic-09-week9/unit-1/talk-2/talk-2.pdf
[11] https://jins-dev.tistory.com/entry/PCBProcess-Control-Block-%EA%B0%9C%EB%85%90-%EC%A0%95%EB%A6%AC
[12] https://www.baeldung.com/cs/process-control-block
[13] https://gist.ly/youtube-summarizer/understanding-process-control-block-pcb-in-operating-systems
[14] https://hapen385.tistory.com/53
[15] https://www.tutorialspoint.com/operating_system/os_process_control_block.htm
[16] https://velog.io/@gabie0208/OS-Process-Process-Control-Block-Process-Scheduling
[17] https://yoongrammer.tistory.com/52
[18] https://gofo-coding.tistory.com/entry/Process-PCBProcess-Control-Block
[19] https://crm06217.tistory.com/41
[20] https://talkingaboutme.tistory.com/entry/Process-Process-Process-Control-Block
[21] https://testbook.com/operating-system/process-control-block-in-os
[22] https://intro2operatingsystems.wordpress.com/tag/process-control-block/
[23] https://www.wevolver.com/article/understanding-process-control-an-important-technique-for-industrial-processes
[24] https://digiimento.com/understanding-the-process-control-block-pcb-in-operating-systems/
[25] https://examradar.com/process-control-block-question-answers/
[26] https://www.youtube.com/watch?v=4s2MKuVYKV8
[27] https://www.eit.edu.au/resources/practical-process-control-for-engineers-and-technicians/
[28] https://velog.io/@sweet_sumin/PCBTCB
[29] https://www.emerson.com/documents/automation/training-improving-throughput-by-improving-process-control-en-41094.pdf
[30] https://www.oem-pcb.com/news/top-5-pcb-manufacturing-trends-to-watch-in-84730099.html
[31] https://www.teach-ict.com/as_as_computing/ocr/H447/F453/3_3_1/scheduling/miniweb/pg3.htm
[32] https://www.samsongroup.com/document/l101en.pdf
[33] https://www.sciencedirect.com/topics/computer-science/process-control-block
[34] https://www.wearedevelopers.com/dictionary/process-control-block
[35] https://velog.io/@sangh00n/Process-Description-and-Control-1


Perplexity 로부터의 답변: pplx.ai/share

Process Control Block Diagram Examples

프로세스 제어 블록 (Process Control Block, PCB) 은 운영체제가 각 프로세스를 관리하기 위해 사용하는 핵심 데이터 구조입니다. 프로세스의 상태, 메모리 정보, CPU 레지스터 값, 스케줄링 정보 등을 포함하여, 프로세스의 생성부터 종료까지의 전 과정을 추적하고 관리하는 데 필수적입니다.


1. 주제 분류 검토

현재 주제 분류인 “Computer Science and Engineering > Computer Science Fundamentals > Operating System > Process Management > Processes” 는 적절합니다. PCB 는 운영체제의 프로세스 관리에서 핵심적인 역할을 하며, 프로세스의 상태와 자원 정보를 관리하는 데 사용됩니다.


2. 요약 문장 (200 자 이내)

프로세스 제어 블록 (PCB) 은 운영체제가 각 프로세스를 관리하기 위해 사용하는 데이터 구조로, 프로세스의 상태, 메모리, CPU 레지스터, 스케줄링 정보 등을 포함하여 프로세스의 실행을 효과적으로 제어합니다.


3. 개요 (250 자 이내)

PCB 는 운영체제가 각 프로세스를 식별하고 관리하기 위해 사용하는 데이터 구조입니다. 프로세스의 상태, 메모리 정보, CPU 레지스터 값, 스케줄링 정보 등을 포함하여, 프로세스의 생성부터 종료까지의 전 과정을 추적하고 관리하는 데 필수적입니다. PCB 는 컨텍스트 스위칭, 자원 할당, 프로세스 스케줄링 등 운영체제의 핵심 기능을 지원하며, 시스템의 안정성과 효율성을 유지하는 데 중요한 역할을 합니다.


4. 핵심 개념

  • 정의: PCB 는 운영체제가 각 프로세스를 관리하기 위해 사용하는 데이터 구조로, 프로세스의 상태, 메모리 정보, CPU 레지스터 값, 스케줄링 정보 등을 포함합니다.

  • 역할: 프로세스의 실행 상태를 추적하고, 컨텍스트 스위칭 시 필요한 정보를 저장하며, 자원 할당과 스케줄링 결정을 지원합니다.

  • 구성 요소: 프로세스 ID, 프로세스 상태, 프로그램 카운터, CPU 레지스터, 메모리 관리 정보, 스케줄링 정보, 입출력 상태 정보 등으로 구성됩니다.

  • 위치: PCB 는 일반적으로 커널 영역의 보호된 메모리 공간에 저장되어, 사용자 프로세스가 직접 접근할 수 없습니다.


5. 주제와 관련하여 조사할 내용

5.1 배경 및 목적

운영체제는 멀티태스킹 환경에서 여러 프로세스를 효율적으로 관리해야 합니다. 이를 위해 각 프로세스의 상태와 자원 정보를 추적하는 PCB 를 사용하여, 프로세스 간의 전환과 자원 할당을 효과적으로 수행합니다.

5.2 주요 기능 및 역할

  • 프로세스 식별: 각 프로세스에 고유한 식별자 (PID) 를 할당하여 관리합니다.

  • 상태 추적: 프로세스의 현재 상태 (예: 실행 중, 대기 중, 종료 등) 를 기록합니다.

  • 자원 관리: 프로세스에 할당된 메모리, 파일, 입출력 장치 등의 정보를 저장합니다.

  • 스케줄링 지원: 프로세스의 우선순위, 스케줄링 큐 정보 등을 포함하여 스케줄링 결정을 지원합니다.

5.3 특징 및 핵심 원칙

  • 보안성: PCB 는 커널 영역에 저장되어 사용자 프로세스가 직접 접근할 수 없습니다.

  • 효율성: 프로세스의 상태 정보를 한 곳에 모아 관리함으로써, 컨텍스트 스위칭과 자원 할당을 효율적으로 수행할 수 있습니다.

  • 유연성: 운영체제는 PCB 를 통해 다양한 프로세스 관리 전략을 구현할 수 있습니다.

5.4 주요 원리 및 작동 원리

컨텍스트 스위칭 시, 운영체제는 현재 실행 중인 프로세스의 상태를 PCB 에 저장하고, 다음 실행할 프로세스의 PCB 에서 상태를 복원하여 CPU 에 로드합니다. 이를 통해 프로세스 간의 전환이 원활하게 이루어집니다.

5.5 구조 및 아키텍처

PCB 는 일반적으로 다음과 같은 구성 요소로 이루어져 있습니다:

  • 필수 구성 요소:

    • 프로세스 ID (PID): 프로세스를 고유하게 식별하는 번호

    • 프로세스 상태: 실행 중, 대기 중, 종료 등

    • 프로그램 카운터: 다음에 실행할 명령어의 주소

    • CPU 레지스터: 프로세스 실행에 필요한 레지스터 값 (위키백과)

    • 메모리 관리 정보: 페이지 테이블, 세그먼트 테이블 등

    • 스케줄링 정보: 우선순위, 스케줄링 큐 포인터 등

  • 선택 구성 요소:

    • 입출력 상태 정보: 할당된 입출력 장치, 열린 파일 목록 등 (GeeksforGeeks)

    • 계정 정보: CPU 사용 시간, 프로세스 생성 시간 등

5.6 구현 기법

  • 정적 할당: 운영체제가 미리 정해진 크기의 PCB 를 생성하여 관리합니다.

  • 동적 할당: 프로세스 생성 시 PCB 를 동적으로 생성하고, 종료 시 해제합니다.

  • 링크드 리스트: PCB 를 링크드 리스트로 연결하여, 스케줄링 큐를 구성합니다.

5.7 장점과 단점

구분항목설명
✅ 장점효율적인 프로세스 관리PCB 를 통해 프로세스의 상태와 자원 정보를 효율적으로 관리할 수 있습니다.
빠른 컨텍스트 스위칭필요한 정보를 PCB 에 저장하여, 프로세스 전환 시 빠르게 상태를 복원할 수 있습니다.
⚠ 단점메모리 오버헤드각 프로세스마다 PCB 를 유지해야 하므로, 많은 프로세스가 존재할 경우 메모리 사용량이 증가합니다.
보안 위험PCB 가 적절히 보호되지 않으면, 악의적인 접근으로 인해 시스템 안정성이 저하될 수 있습니다.

5.8 도전 과제

  • 스케일링 문제: 대규모 시스템에서 많은 PCB 를 효율적으로 관리하는 것이 어렵습니다.

    • 해결책: PCB 를 계층적으로 관리하거나, 효율적인 데이터 구조를 사용하여 관리합니다.
  • 보안 문제: PCB 가 노출되면 시스템 전체의 안정성이 위협받을 수 있습니다.

    • 해결책: PCB 를 커널 영역에 저장하고, 접근 제어를 강화합니다.

5.9 분류에 따른 종류 및 유형

유형설명
프로세스 제어 블록 (PCB)프로세스의 상태와 자원 정보를 관리합니다.
스레드 제어 블록 (TCB)스레드의 상태와 자원 정보를 관리합니다.
작업 제어 블록 (JCB)배치 작업의 상태와 자원 정보를 관리합니다.

5.10 실무 적용 예시

시스템적용 예시설명
리눅스/proc 디렉토리각 프로세스의 정보를 /proc/[PID]/ 디렉토리에 저장하여 관리합니다.
윈도우작업 관리자각 프로세스의 상태와 자원 사용 정보를 표시합니다.
안드로이드ActivityManager앱의 프로세스 상태를 관리하고, 필요 시 종료합니다.

5.11 활용 사례

시나리오: 멀티태스킹 운영체제에서 사용자 인터페이스 (UI) 응답성을 유지하면서 백그라운드에서 데이터 처리를 수행해야 하는 경우

시스템 구성:

  • UI 프로세스: 사용자 이벤트를 처리하고 화면을 갱신

  • 백그라운드 데이터 처리 프로세스: 주기적인 데이터 수집, 저장, 처리

  • 운영체제 커널: 두 프로세스의 상태를 PCB 를 통해 추적하고 컨텍스트 스위칭을 조율

시스템 구성 다이어그램:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
+-------------------+       +--------------------------+
|   UI 프로세스     | <---> |   백그라운드 프로세스     |
+-------------------+       +--------------------------+
         |                               |
         |                               |
         +-----------+   +--------------+
                     |   |
             +-------------------------+
             |    운영체제 커널 (Kernel)   |
             |   - PCB 관리               |
             |   - 스케줄링 및 전환       |
             +-------------------------+

Workflow:

  1. UI 에서 사용자의 입력 이벤트 발생

  2. 커널이 해당 이벤트를 처리할 UI 프로세스를 활성화

  3. 백그라운드 프로세스는 잠시 대기 상태로 PCB 에 저장

  4. UI 처리 완료 후 커널이 PCB 를 참조하여 백그라운드 프로세스를 복원

  5. 데이터 처리 수행 후 결과 저장

역할:

  • PCB 의 활용:

    • 각 프로세스의 실행 상태, 메모리 사용, 스케줄링 정보를 추적하여 원활한 프로세스 간 전환을 가능하게 함

    • 시스템 자원 충돌 없이 멀티태스킹을 구현하는 기반 제공


5.12 실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점

고려사항설명권장사항
프로세스 수 증가 시 메모리 사용PCB 는 메모리를 차지하므로 너무 많은 프로세스 생성은 시스템 성능에 영향을 줄 수 있음최대 동시 실행 가능 프로세스 수를 제한하거나, 필요 없는 프로세스는 정리
보안성 확보PCB 에 포함된 정보가 노출되면 시스템 전체에 위험이 발생PCB 는 커널 메모리 영역에 안전하게 저장하고 사용자 접근을 차단
스케줄링 효율화우선순위, 큐 정보가 PCB 에 저장되므로 스케줄러와 밀접하게 연동되어야 함우선순위 기반 스케줄링 알고리즘을 설정하고 PCB 필드를 최적화
상태 동기화멀티코어 환경에서 PCB 의 일관성 유지 필요동기화 메커니즘 (Mutex, Spinlock 등) 을 통해 일관성 유지

5.13 성능을 최적화하기 위한 고려사항 및 주의할 점

고려사항설명권장사항
PCB 접근 속도컨텍스트 스위칭 시 PCB 접근이 병목이 될 수 있음PCB 를 고속 접근 가능한 캐시 영역에 저장하거나 구조 최적화
불필요한 상태 저장 최소화저장할 필드를 최소화하여 메모리 사용량 및 접근 속도 향상Lazy context saving 기법 적용
PCB 메모리 구조 정렬구조체 정렬이 비효율적이면 캐시 적중률 저하구조체를 캐시 라인 기준으로 정렬
프로파일링 도구 활용PCB 가 실제 병목 지점인지 확인 필요perf, ftrace 등을 활용하여 전환 비용 분석

6. 주제에 대한 추가 조사 내용

현재 주어진 지침에는 해당 항목에 명시된 추가 조사 내용이 없습니다.


7. 주제에 대해 추가로 알아야 하는 내용

카테고리주제간략한 설명
운영체제 구현PCB 생성 및 제거 로직프로세스 생성 시 커널 내부에서 PCB 를 어떻게 할당하고 해제하는지 이해
커널 구조PCB 와 커널 스레드 연동커널 스레드의 컨텍스트 전환에도 PCB 또는 유사 구조가 사용됨
보안커널 메모리 보호 기법PCB 접근 제어 및 커널 보호 모드의 동작 방식

8. 2025 년 기준 최신 동향

주제항목설명
리눅스 커널rcu 기반 PCB 관리 최적화커널 6.x 시리즈부터 Read-Copy-Update 방식으로 PCB 접근 병렬성 향상
가상화 환경VM 별 PCB 관리 체계 분리가상머신 컨텍스트 전환 시 PCB 복잡도 증가에 따른 분리 관리 적용
실시간 OS최소화된 PCB 구조 채택실시간 시스템에서는 PCB 크기를 최소화하여 전환 속도 향상 추구

9. 주제와 관련하여 주목할 내용

주제항목설명
커널 아키텍처PCB 와 TCB 분리현대 OS 는 스레드와 프로세스를 개별적으로 관리하며 각각 제어 블록을 가짐
보안커널 메모리 격리Spectre, Meltdown 대응 이후 PCB 보호 강화가 이루어짐
성능 최적화Lazy Context SaveFPU/SIMD 레지스터를 필요 시점에만 저장하여 성능을 향상시킴

10. 앞으로의 전망

주제항목설명
고성능 컴퓨팅PCB 병렬 접근 최적화다중 코어 기반에서의 PCB 접근 동기화 성능 향상 요구 증가
엣지 컴퓨팅경량 PCB 구조 채택엣지 디바이스에서 최소 리소스로 PCB 관리 기술 적용
운영체제 설계스레드 중심 관리 체계 변화스레드 중심 구조에서 TCB 중심으로 운영체제 설계 방향 전환 가속

11. 하위 주제로 추가 학습해야 할 내용

카테고리주제설명
운영체제컨텍스트 스위칭 구조PCB 와 관련된 컨텍스트 스위치 흐름 이해
운영체제프로세스 상태 전이PCB 가 관리하는 상태 전이 흐름 학습
데이터 구조커널에서의 리스트 구조PCB 간 연결에 사용되는 커널 내부 자료구조 학습

12. 추가로 알아야 하거나 학습해야 할 관련 분야

관련 분야주제설명
보안커널 메모리 보호 기법PCB 보호를 위한 메모리 영역 격리 기법 이해
클라우드 컴퓨팅컨테이너 PCB 관리 방식컨테이너 기반 프로세스의 PCB 가 어떻게 관리되는지 조사
시스템 아키텍처멀티코어 PCB 동기화 전략SMP 시스템에서의 PCB 접근 병목 방지 기법

용어 정리

용어설명
PCB (Process Control Block)운영체제가 프로세스를 관리하기 위해 사용하는 데이터 구조
PID (Process Identifier)프로세스를 유일하게 식별하는 번호
Context Switching실행 중인 프로세스의 상태를 저장하고 다른 프로세스로 전환하는 과정
Lazy Context Save필요 시점에만 레지스터 정보를 저장하여 오버헤드 감소
TCB (Thread Control Block)스레드의 상태와 정보를 관리하는 구조체

참고 및 출처


✅ 1. Linux 에서의 PCB 구현 방식

1.1 구조체: task_struct

리눅스 커널에서 각 프로세스는 task_struct 구조체로 표현됩니다. 이는 PCB 에 해당하는 데이터 구조입니다.

위치:
include/linux/sched.h 또는 kernel/sched/core.c

대표 필드:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
struct task_struct {
    pid_t pid;                       // 프로세스 ID
    long state;                      // 현재 상태 (TASK_RUNNING, TASK_INTERRUPTIBLE 등)
    struct mm_struct *mm;           // 메모리 관리 정보 (가상 메모리 영역)
    struct files_struct *files;     // 열린 파일 디스크립터 테이블
    struct thread_struct thread;    // CPU 레지스터 상태 등 스레드 컨텍스트
    struct sched_entity se;         // 스케줄링 정보
    struct list_head tasks;         // 프로세스 리스트
    
};

1.2 동작 흐름

  1. fork() 또는 clone() 호출 시 새로운 task_struct 생성

  2. PCB 는 슬랩 할당자 (slab allocator) 를 통해 커널 힙에서 동적으로 할당

  3. schedule() 함수 호출 시 현재 task 의 PCB 를 저장하고, 다음 task 의 PCB 를 로딩

예시:

1
2
3
// context switch 예시 (arch/x86/kernel/process.c)
save_context(&prev->thread);
load_context(&next->thread);

✅ 2. Windows 에서의 PCB 구현 방식

2.1 구조체: EPROCESS

Windows 에서는 프로세스를 EPROCESS 라는 커널 오브젝트로 관리합니다.

관련 구조:

  • EPROCESS: 프로세스 수준의 정보 저장

  • KPROCESS: 커널 수준 실행 정보

  • ETHREAD: 각각의 스레드 관리

중요 필드 예시 (EPROCESS):

필드명설명
UniqueProcessId프로세스 식별자 (PID)
ActiveProcessLinks다른 프로세스와 연결된 리스트
Pcb (KPROCESS)스케줄링 및 컨텍스트 정보
ObjectTable핸들 테이블 (자원 관리)
VadRoot가상 메모리 관리용 트리 구조

2.2 구현 특징

  • Windows 는 프로세스와 스레드를 분리하여 관리

  • EPROCESS 는 보통 커널 주소 공간에 저장

  • 컨텍스트 스위칭 시 KPROCESS 와 ETHREAD 의 상태 정보를 사용


✅ 3. RTOS 에서의 PCB 구현 방식

RTOS (Real-Time Operating System) 는 리소스가 제한된 환경을 위해 경량화된 PCB 구조를 사용합니다.

3.1 구조체 예시 (FreeRTOS 기준)

1
2
3
4
5
6
7
typedef struct tskTaskControlBlock {
    volatile StackType_t *pxTopOfStack; // 스택 포인터
    ListItem_t xStateListItem;         // 상태 큐 연결 정보
    UBaseType_t uxPriority;            // 우선순위
    TaskFunction_t pxTaskCode;         // 태스크 함수
    
} TCB_t;

3.2 특징

  • PCB 가 작고 실시간 처리에 최적화

  • 모든 PCB 는 정적 또는 경량 동적 할당

  • 빠른 응답성과 스위칭을 위해 context 저장 최소화 (필수 레지스터만 저장)


✅ 4. 컨텍스트 스위칭 시 동작 시나리오 (공통)

1
2
3
1. 현재 프로세스 PCB에 레지스터/스택 등 상태 저장
2. 다음 프로세스의 PCB에서 상태 복원
3. CPU 제어권을 다음 프로세스에게 넘김

리눅스의 경우 __switch_to() 함수가 이 동작을 수행하며, 이는 커널 어셈블리 코드와 밀접하게 동작합니다.


✅ 5. 시스템별 비교 요약

항목Linux (task_struct)Windows (EPROCESS)RTOS (예: FreeRTOS)
저장 위치커널 메모리 (heap/slab)커널 힙 메모리정적 또는 스택 메모리
컨텍스트 구조thread_struct, mm_struct 등 분리KPROCESS, ETHREAD 분리단일 TCB 구조
구현 특징고성능 & 범용 OS 에 적합고보안 & 멀티스레드 중심초경량, 실시간성 중시
전환 방식schedule(), __switch_to()Windows DispatchervTaskSwitchContext()

✅ 참고 코드 및 리소스


1. 주제의 분류 검토

주제의 분류인 “Computer Science and Engineering” > “Computer Science Fundamentals” > “Operating System” > “Process Management” > “Processes” 는 적절합니다. 프로세스 제어 블록 (PCB) 은 운영체제의 프로세스 관리 영역에서 핵심적인 개념이므로 해당 분류가 정확합니다.

2. 요약 설명 (200 자 내외)

프로세스 제어 블록 (PCB, Process Control Block) 은 운영체제 커널이 특정 프로세스를 관리하기 위해 필요한 모든 정보를 저장하는 자료구조입니다. 프로세스 상태, 프로그램 카운터, CPU 레지스터, 메모리 관리 정보, 스케줄링 정보 등을 포함하며, 문맥교환 (Context Switching) 시 프로세스의 실행 상태를 보존하고 복원하는 핵심적인 역할을 담당합니다.

3. 전체 개요 (250 자 내외)

프로세스 제어 블록 (PCB) 은 운영체제가 프로세스를 효율적으로 관리하기 위한 핵심 자료구조로, 각 프로세스마다 고유하게 생성됩니다. 프로세스의 모든 상태 정보를 저장하여 멀티태스킹 환경에서 CPU 자원을 공유할 때 문맥교환을 가능하게 합니다. 보호된 메모리 영역에 위치하며, 프로세스 식별자부터 레지스터 값, 스케줄링 정보까지 포함하여 운영체제의 안정적인 프로세스 관리를 보장합니다.

4. 핵심 개념

**프로세스 제어 블록 (Process Control Block, PCB)**의 핵심 개념들:

기본 개념

  • 정의: 운영체제 커널이 특정 프로세스를 관리할 필요가 있는 모든 정보를 포함하는 자료구조
  • 별칭: 작업 제어 블록 (Task Control Block, TCB), 작업 구조
  • 위치: 보호된 메모리 영역 (커널 공간) 내 위치
  • 생명주기: 프로세스 생성 시 함께 생성, 프로세스 종료 시 제거

핵심 기능

  • 프로세스 정보 저장소: 프로세스의 모든 상태 정보를 중앙 집중적으로 관리
  • 문맥교환 지원: Context Switching 시 프로세스 상태 보존 및 복원
  • 스케줄링 지원: CPU 스케줄러가 프로세스 우선순위 및 상태 결정에 활용
  • 자원 관리: 메모리, I/O 장치 등 할당된 자원 정보 관리

핵심 원리

  • 프로세스 독립성: 각 프로세스마다 고유한 PCB 보유
  • 커널 수준 관리: 운영체제 커널에서만 접근 및 수정 가능
  • 상태 동기화: 실제 하드웨어 상태와 PCB 정보의 일치성 유지

5. 주제와 관련하여 조사할 내용

핵심 개념

프로세스 제어 블록 (PCB) 은 운영체제가 프로세스를 표현하고 관리하기 위한 핵심 자료구조입니다. 운영체제 커널의 데이터 영역에 위치하며, 각 프로세스마다 고유한 PCB 가 할당됩니다.

배경

멀티태스킹 운영체제에서 여러 프로세스가 CPU 를 공유하면서 실행되려면, 각 프로세스의 실행 상태를 정확히 기록하고 관리할 필요가 있었습니다. 이러한 필요에 의해 PCB 개념이 도입되었습니다.

목적 및 필요성

  • 멀티태스킹 구현: 여러 프로세스의 동시 실행을 위한 상태 관리
  • 문맥교환 지원: CPU 사용권 전환 시 프로세스 상태 보존
  • 자원 관리: 프로세스별 할당된 자원의 체계적 관리
  • 스케줄링 지원: CPU 스케줄러의 의사결정 정보 제공

주요 기능 및 역할

  1. 프로세스 상태 저장: 현재 프로세스의 실행 상태 정보 보관
  2. 문맥교환 지원: Context Switching 시 상태 보존 및 복원
  3. 스케줄링 정보 제공: CPU 스케줄러에게 우선순위 등 정보 제공
  4. 자원 추적: 프로세스가 사용 중인 메모리, I/O 장치 등 관리

특징

  • 프로세스별 고유성: 각 프로세스마다 별도의 PCB 존재
  • 커널 수준 관리: 운영체제 커널에서만 접근 가능
  • 보호된 저장: 일반 사용자 접근 불가한 메모리 영역에 위치
  • 동적 관리: 프로세스 생성/종료에 따라 동적으로 생성/삭제

핵심 원칙

  1. 정보 완전성: 프로세스 재실행에 필요한 모든 정보 포함
  2. 접근 제한: 커널 모드에서만 읽기/쓰기 가능
  3. 일관성 유지: 실제 하드웨어 상태와의 동기화 보장
  4. 효율성: 빠른 문맥교환을 위한 최적화된 구조

주요 원리 및 작동 원리

PCB Context switching Diagram

구조 및 아키텍처

PCB 의 구조는 프로세스 관리에 필요한 모든 정보를 체계적으로 조직화한 자료구조입니다.

pcb structure diagram

필수 구성요소

  1. 프로세스 식별 정보: PID, PPID 등 프로세스 고유 식별자
  2. 프로세스 상태: 현재 프로세스의 실행 상태
  3. CPU 관련 정보: 프로그램 카운터, 레지스터 값들

선택 구성요소

  1. 스케줄링 정보: 우선순위, 큐 포인터 등
  2. 메모리 관리 정보: 페이지 테이블, 세그먼트 테이블
  3. 계정 정보: CPU 사용 시간, 통계 정보
  4. I/O 상태 정보: 할당된 장치 및 파일 정보

구현 기법

1. 연결 리스트 (Linked List) 방식

  • 정의: PCB 들을 연결 리스트로 관리하는 방식
  • 구성: PCB 헤더에 다음 PCB 를 가리키는 포인터 포함
  • 목적: 동적인 프로세스 생성/삭제에 효율적 대응
  • 실제 예시: Linux 의 task_struct 연결 리스트

2. 배열 기반 테이블 방식

  • 정의: 고정 크기 배열에 PCB 정보를 저장하는 방식
  • 구성: 프로세스 테이블 배열과 인덱스 관리
  • 목적: 빠른 접근 속도와 단순한 관리
  • 실제 예시: 초기 UNIX 시스템의 프로세스 테이블

3. 해시 테이블 방식

  • 정의: PID 를 키로 사용하는 해시 테이블 구조
  • 구성: 해시 함수와 버킷을 이용한 PCB 관리
  • 목적: O(1) 시간 복잡도로 빠른 검색
  • 실제 예시: 현대 운영체제의 프로세스 검색

장점과 단점

구분항목설명
✅ 장점효율적인 멀티태스킹여러 프로세스의 동시 실행 환경 제공
체계적인 프로세스 관리모든 프로세스 정보의 중앙 집중 관리
안정적인 문맥교환프로세스 상태의 정확한 보존 및 복원
자원 추적 가능프로세스별 자원 사용량 모니터링
⚠ 단점메모리 오버헤드각 프로세스마다 추가 메모리 공간 필요
문맥교환 비용PCB 저장/복원으로 인한 시간 소모
구현 복잡성운영체제 설계 시 복잡한 자료구조 구현 필요
동기화 문제멀티프로세서 환경에서 PCB 접근 동기화

도전 과제

1. 문맥교환 오버헤드 최소화

  • 설명: 빈번한 문맥교환으로 인한 성능 저하 문제
  • 해결책: 스레드 기반 멀티태스킹, 경량화된 PCB 구조 개발

2. 멀티프로세서 환경에서의 동기화

  • 설명: 여러 CPU 에서 동시에 PCB 에 접근할 때 발생하는 데이터 일관성 문제
  • 해결책: 락 (Lock) 메커니즘, 원자적 연산 활용

3. 메모리 사용량 최적화

  • 설명: 대량의 프로세스 생성 시 PCB 로 인한 메모리 부족 문제
  • 해결책: 동적 할당, 압축 기법, 가상 메모리 활용

분류에 따른 종류 및 유형

분류 기준유형설명특징
운영체제별Linux PCBtask_struct 구조체연결 리스트 기반, 확장 가능한 구조
Windows PCBEPROCESS 구조체객체 지향적 설계, 보안 강화
UNIX PCBproc 구조체단순하고 효율적인 구조
프로세스 유형별일반 프로세스 PCB표준 PCB모든 기본 정보 포함
커널 프로세스 PCB축소된 PCB필수 정보만 포함, 경량화
실시간 프로세스 PCB확장 PCB실시간 스케줄링 정보 추가
아키 textura 별32 비트 PCB표준 크기32 비트 주소 공간 지원
64 비트 PCB확장된 구조64 비트 주소 공간, 더 많은 메모리 지원
구현 방식별정적 PCB고정 크기컴파일 시 크기 결정
동적 PCB가변 크기런타임에 크기 조정 가능

실무 적용 예시

분야적용 사례PCB 역할구체적 활용
웹 서버Apache/Nginx다중 요청 처리각 요청마다 프로세스/스레드 생성 및 관리
데이터베이스MySQL/PostgreSQL트랜잭션 관리동시 접속자별 세션 상태 관리
게임 엔진Unity/Unreal멀티스레딩렌더링, 물리 계산 등 병렬 처리
임베디드 시스템IoT 디바이스자원 최적화제한된 메모리에서 효율적 프로세스 관리
클라우드 컴퓨팅컨테이너 오케스트레이션가상화 지원Docker, Kubernetes 환경에서 프로세스 격리

활용 사례

시나리오: 대규모 전자상거래 플랫폼의 주문 처리 시스템

상황 설정: 온라인 쇼핑몰에서 동시에 수천 건의 주문이 들어오는 상황에서 PCB 가 어떻게 활용되는지 분석

시스템 구성:

  • 웹 서버: Nginx (프론트엔드)
  • 애플리케이션 서버: Node.js 클러스터
  • 데이터베이스: Redis (캐시) + MySQL (영구 저장)
  • 메시지 큐: RabbitMQ

PCB 의 역할:

  1. 요청 분산: Nginx 마스터 프로세스의 PCB 가 워커 프로세스들의 PCB 정보를 관리하여 효율적인 요청 분산
  2. 프로세스 격리: 각 주문 처리 프로세스가 독립적인 PCB 를 가져 다른 프로세스의 오류에 영향받지 않음
  3. 자원 관리: 메모리, CPU 사용량을 PCB 를 통해 모니터링하여 시스템 성능 최적화
  4. 상태 추적: 주문 처리 각 단계별로 프로세스 상태를 PCB 에 기록하여 장애 복구 지원

ecommerce pcb workflow

실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점

구분고려사항권장사항
설계 단계PCB 크기 최적화필요한 정보만 포함하여 메모리 사용량 최소화
확장성 고려향후 기능 추가를 위한 여유 공간 확보
구현 단계동기화 메커니즘멀티스레드 환경에서 PCB 접근 시 락 사용
오류 처리PCB 손상 시 복구 메커니즘 구현
운영 단계모니터링 체계PCB 사용량 및 성능 지표 실시간 모니터링
백업 전략중요한 PCB 정보의 주기적 백업
최적화캐시 활용자주 접근하는 PCB 정보를 캐시에 저장
압축 기법대용량 PCB 정보 압축으로 메모리 효율성 향상

최적화하기 위한 고려사항 및 주의할 점

구분최적화 방안권장사항
메모리 최적화PCB 풀링 (Pooling)미리 할당된 PCB 풀 사용으로 동적 할당 오버헤드 감소
정보 압축사용하지 않는 필드 제거 및 비트 패킹 기법 활용
CPU 최적화문맥교환 최소화스레드 풀 사용으로 프로세스 생성/소멸 빈도 감소
스케줄링 개선우선순위 기반 스케줄링으로 중요한 프로세스 우선 처리
I/O 최적화비동기 I/O블로킹 I/O 로 인한 문맥교환 오버헤드 감소
배치 처리여러 I/O 요청을 묶어서 처리하여 효율성 향상
동시성 최적화락 프리 자료구조CAS(Compare-And-Swap) 연산 활용으로 락 경합 감소
파티셔닝PCB 를 여러 구역으로 나누어 동시 접근 향상

6. 주제에 대한 추가 조사 내용

해당 항목에 기록된 내용이 없으므로 생략합니다.

7. 추가로 알아야 하는 내용

가상화 환경에서의 PCB

현대 클라우드 컴퓨팅 환경에서는 가상머신과 컨테이너 기술이 널리 사용되고 있으며, 이러한 환경에서 PCB 의 역할이 더욱 복잡해지고 있습니다. 하이퍼바이저는 각 가상머신의 프로세스들을 관리하기 위해 추가적인 PCB 계층을 필요로 합니다.

실시간 시스템에서의 PCB

실시간 운영체제 (RTOS) 에서는 일반적인 PCB 와 달리 데드라인, 우선순위, 주기성 등의 실시간 특성을 고려한 확장된 PCB 구조를 사용합니다. 이는 정확한 시간 내에 작업을 완료해야 하는 임베디드 시스템이나 산업용 제어 시스템에서 중요합니다.

8. 2025 년 기준 최신 동향

주제항목설명
컨테이너 기술경량화된 PCBDocker, Kubernetes 환경에서 오버헤드 최소화를 위한 PCB 구조 개선
AI/ML 워크로드GPU 정보 통합머신러닝 작업을 위한 GPU 상태 정보를 PCB 에 포함하는 추세
보안 강화격리 기능프로세스 간 완전한 격리를 위한 하드웨어 기반 PCB 보안 기능
에지 컴퓨팅저전력 PCBIoT 및 모바일 환경을 위한 전력 효율적인 PCB 설계
양자 컴퓨팅양자 상태 관리양자 프로세스 상태를 관리하는 새로운 PCB 구조 연구

9. 주제와 관련하여 주목할 내용

주제항목설명
eBPF 기술커널 프로그래밍PCB 정보에 실시간으로 접근하여 시스템 모니터링 및 보안 강화
WASM 런타임샌드박스 실행WebAssembly 프로세스를 위한 특화된 PCB 구조 개발
서버리스 컴퓨팅함수 실행 최적화AWS Lambda, Azure Functions 등에서 빠른 함수 실행을 위한 PCB 캐싱
메모리 안전성Rust 언어 지원메모리 안전한 언어의 프로세스를 위한 PCB 최적화
분산 시스템클러스터 PCB여러 노드에 걸친 분산 프로세스 상태 관리 기법

10. 앞으로의 전망

주제항목설명
하드웨어 가속전용 칩셋PCB 관리를 위한 전용 하드웨어 가속기 개발 예상
자동 최적화AI 기반 튜닝머신러닝을 활용한 PCB 구조 자동 최적화 기술
통합 관리통일된 인터페이스다양한 운영체제 간 호환 가능한 표준 PCB 형식 등장
실시간 분석인메모리 처리PCB 데이터의 실시간 분석을 통한 예측적 시스템 관리
새로운 아키텍처RISC-V 지원오픈소스 프로세서 아키텍처를 위한 PCB 표준화

11. 추가적으로 학습해야할 내용들

카테고리주제간략한 설명
운영체제 이론스케줄링 알고리즘PCB 정보를 활용한 다양한 CPU 스케줄링 기법
메모리 관리가상 메모리와 PCB 의 연관성 및 페이지 테이블 관리
프로세스 동기화세마포어, 뮤텍스와 PCB 의 상호작용
시스템 프로그래밍시스템 콜 구현PCB 조작을 위한 커널 수준 프로그래밍
디바이스 드라이버PCB 와 하드웨어 장치 간의 인터페이스
커널 모듈 개발동적 커널 모듈에서의 PCB 활용
성능 분석프로파일링 도구PCB 정보를 활용한 성능 병목 지점 분석
시스템 모니터링PCB 메트릭 기반 실시간 시스템 상태 추적
벤치마킹PCB 오버헤드 측정 및 최적화 기법
보안프로세스 격리PCB 기반 보안 경계 설정 기법
침입 탐지PCB 변조 탐지를 통한 보안 위협 식별
샌드박싱제한된 PCB 권한으로 안전한 실행 환경 구축

12. 관련 분야와 함께 알아야할 내용들

카테고리주제간략한 설명
컴퓨터 아키텍처프로세서 설계PCB 지원을 위한 하드웨어 기능 및 레지스터 구조
캐시 메모리PCB 정보 캐싱 전략 및 지역성 원리 활용
인터럽트 처리하드웨어 인터럽트와 PCB 상태 전환 메커니즘
분산 시스템마이크로서비스컨테이너 환경에서의 PCB 관리 및 오케스트레이션
클러스터 컴퓨팅여러 노드에 걸친 프로세스 상태 동기화
로드 밸런싱PCB 정보 기반 부하 분산 알고리즘
데이터베이스트랜잭션 관리데이터베이스 프로세스와 PCB 의 상호작용
동시성 제어다중 사용자 환경에서의 PCB 기반 세션 관리
백업 및 복구PCB 상태 정보를 활용한 장애 복구 전략
네트워킹소켓 프로그래밍네트워크 연결 정보와 PCB 의 연관성
프로토콜 스택TCP/IP 스택과 프로세스 상태 관리
서버 아키텍처고성능 네트워크 서버에서의 PCB 최적화
클라우드 컴퓨팅가상화 기술하이퍼바이저와 PCB 관리 계층화
컨테이너 오케스트레이션Kubernetes 에서의 Pod 와 PCB 매핑
서버리스 컴퓨팅FaaS 환경에서의 경량화된 PCB 설계

용어 정리

용어설명
문맥교환 (Context Switching)CPU 가 한 프로세스에서 다른 프로세스로 실행 권한을 전환하는 과정
프로그램 카운터 (Program Counter, PC)다음에 실행될 명령어의 메모리 주소를 가리키는 레지스터
스케줄링 큐 (Scheduling Queue)프로세스들이 CPU 할당을 대기하는 자료구조
누산기 (Accumulator)산술 및 논리 연산의 결과를 임시로 저장하는 레지스터
스택 포인터 (Stack Pointer)현재 스택의 최상단 위치를 가리키는 레지스터
세그먼트 테이블 (Segment Table)메모리 세그먼테이션에서 각 세그먼트의 위치와 크기 정보를 저장하는 테이블
페이지 테이블 (Page Table)가상 메모리에서 논리 주소를 물리 주소로 변환하는 매핑 테이블
디스패치 (Dispatch)스케줄러가 선택한 프로세스에게 실제로 CPU 를 할당하는 작업
프로세스 우선순위 (Process Priority)스케줄러가 프로세스 실행 순서를 결정할 때 사용하는 중요도 지표
베이스 레지스터 (Base Register)프로세스가 사용할 수 있는 메모리 영역의 시작 주소를 저장하는 레지스터
리미트 레지스터 (Limit Register)프로세스가 접근할 수 있는 메모리 영역의 크기를 제한하는 레지스터
프로세서 상태 워드 (Processor Status Word, PSW)CPU 의 현재 상태와 제어 정보를 담고 있는 레지스터
인터럽트 벡터 (Interrupt Vector)각 인터럽트 유형별 처리 루틴의 주소를 저장하는 테이블
커널 스택 (Kernel Stack)커널 모드에서 사용되는 별도의 스택 메모리 영역
태스크 구조체 (Task Struct)Linux 에서 PCB 를 구현하는 C 구조체명

참고 및 출처