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

2025. 3. 23. 12:34·CS/운영체제

PCB란

프로그램이 프로세스로 전환될 때 운영체제가 생성하는 작업 지시서

운영체제가 각 프로세스를 관리하기 위해 정의한 자료 구조

각 프로세스는 고유한 PCB를 가짐

PCB에 저장되는 주요 정보

1. 프로세스 구분자(PID, Process Identification)

프로세스를 식별하는 고유 ID

2. 프로세스 상태 정보

생성, 준비, 실행, 대기, 보류 등의 상태 저장

3. 프로그램 카운터

다음 실행될 명령어의 메모리 위치값 저장

4. 프로세스 우선순위

실행 순서를 결정하는 우선순위 값

5. 각종 레지스터 정보

실행 중 사용된 레지스터 값 저장(문맥 교환 시 필요)

6. 메모리 관리 정보

프로세스의 메모리 위치 정보

메모리 보호를 위한 경계 레지스터, 한계 레지스터 값

7. 할당된 자원 정보

프로세스가 사용하는 입출력 자원, 오픈된 파일 정보

8. 계정 정보

사용자 계정 번호, CPU 할당 시간, 사용 시간 등의 정보

9. 부모/자식 프로세스 식별자

PPID(Parent Process ID): 부모 프로세스 식별자

CPID(Child Process ID): 자식 프로세스 식별자

10. 포인터

대기 상태에 있는 프로세스들을 연결 리스트 형태로 관리하여 입출력 대기 등을 처리함

프로세스와 프로그램의 관계

프로그램이 프로세스가 되었다는 것은 프로그램이 운영체제에 의해 실행되어 프로세스 제어 블록(PCB) 을 할당받았다는 의미

프로세스가 종료되면 실행이 끝나면서 PCB가 폐기

프로세스의 구성 요소

프로세스 = 프로그램 + PCB + 사용자 데이터

프로그램 = 프로세스 – PCB – 사용자 데이터

'CS > 운영체제' 카테고리의 다른 글

[OS]문맥 교환  (0) 2025.03.23
[OS]프로세스 상태  (0) 2025.03.23
[OS]프로그램, 프로세스, 프로세서  (0) 2025.03.23
[OS]일괄 작업 방식, 시분할 방식  (0) 2025.03.22
[OS]멀티 프로세스(Multi Process), 멀티 코어(Multi-Core)  (0) 2025.03.22
'CS/운영체제' 카테고리의 다른 글
  • [OS]문맥 교환
  • [OS]프로세스 상태
  • [OS]프로그램, 프로세스, 프로세서
  • [OS]일괄 작업 방식, 시분할 방식
yxxjxxeee
yxxjxxeee
  • yxxjxxeee
    공부 일지
    yxxjxxeee
  • 전체
    오늘
    어제
    • study N
      • Framework
        • Spring
      • Language
        • JavaScript
        • C | C++
        • JAVA
        • PHP
      • CS
        • 네트워크
        • 자료구조
        • 데이터베이스
        • 운영체제
      • DBMS
        • MySQL
      • 코딩테스트 N
        • 백준 N
        • 프로그래머스
        • LeetCode
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 쇼핑몰 제작 프로젝트(PHP)
    • github
  • 공지사항

  • 인기 글

  • 최근 글

  • hELLO Designed By 정상우
    Version v4.10.2
yxxjxxeee
[OS]프로세스 제어 블록(PCB, Process Control Block)
상단으로

티스토리툴바