Process Control Block
- 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조.
- PCB는 운영체제가 프로세스를 표현한 것이라고 볼 수 있다.
- 운영체제가 프로세스 스케줄링을 위해 프로세스에 관한 모든 정보를 가지고 있는 데이터베이스
- 운영체제에서 프로세스는 PCB로 나타내어지며, PCB는 프로세스에 대한 중요한 정보를 가지고 있다. 각 프로세스가 생성될때마다 고유의 PCB가 생성되고, 프로세스가 완료되면 PCB는 제거된다.
- 프로세스가 CPU를 점유하여 작업을 처리하다가 상태가 전이되면, 진행하던 작업 내용들을 모두 정리하고 CPU를 반환해야 하는데, 이 때 진행하던 작업들을 모두 저장하지 않으면 다음에 자신의 순서가 왔을 때 어떠한 작업을 해야하는지 알 수 없다.
- 따라서, 프로세스는 CPU가 처리하던 작업의 내용들을 자신의 PCB에 저장하고, 다음에 다시 CPU를 점유하여 작업을 수행해야 할 때, PCB로부터 해당 정보들을 CPU에 넘겨와서 계속해서 하던 작업을 진행할 수 있다.
(1) 프로세스 식별자
- 각 프로세스는 고유한 ID를 가지고 있다.
(2) 프로세스 상태
- 프로세스의 상태를 나타낸다(new, running, waiting, executing, blocked, suspended, terminated)
(3) 프로그램 카운터
- 다음에 실행할 명령의 주소
(4) 레지스터 정보
- 프로세스와 관련된 레지스터
(5) 스케줄링 정보
- 프로세스 우선순위에 관한 정보
(6) 메모리 관리 정보
- 페이지 및 세그먼트 테이블로 구성
(7) 계정 정보
- CPU 활용 및 실행시간에 관한 세부사항
(8) input / output과 관련된 상태 정보
- 프로세스 실행 중에 열린 파일 및 리소스 활용에 관한 세부 정보
※ 참고
https://www.includehelp.com/operating-systems/process-control-block-in-operating-system.aspx
https://jwprogramming.tistory.com/16
'CS' 카테고리의 다른 글
Inheritance와 Delegation (상속과 위임) (0) | 2020.09.05 |
---|---|
디자인 패턴(Design Pattern) (0) | 2020.09.04 |
Process / Thread (0) | 2020.08.28 |
REST (1) | 2020.08.22 |
Gradle (0) | 2020.08.22 |
댓글