본문 바로가기
컴퓨터과학/OS

[OS] 프로세스(2)

by lewns2 2021. 4. 12.

PCB(Process Control Block)

 

운영체제 커널의 자료구조로, 프로세스를 표현하기 위해 사용된다.

PCB는 프로세스가 생성 될 때 같이 생성되며 프로세스 고유의 정보를 포함한다.

 

커널은 이 자료구조를 사용해서 프로세스를 관리한다.

PCB에 포함된 정보는 다음과 같다.

  • OS가 관리상 사용하는 정보 : 프로세스 상태, 프로세스 ID, 스케줄링 정보, 우선 순위
  • CPU 수행 관련 하드웨어 값 : 프로그램 카운터, 레지스터
  • 메모리 정보 : 코드, 데이터, 스택의 위치 정보
  • 파일 정보 : 열어둔 파일 정보(핸들)

프로세스 상태

 

컨텍스트 스위칭에 의해 프로세스는 실행 또는 정지 상태에 놓일 수 있다.

프로세스 상태 다이어그램

 

 

 

프로세스 상태 내용
실행 프로세스가 CPU를 점유하고 있는 상태
대기 프로세스가 CPU 점유를 위해 기다리고 있는 상태
CPU 동작을 위한 모든 조건을 만족한 상태(메모리에 이미 올라옴)
블록(wait, sleep) 당장 작업이 수행될 수 없는 상태
sleep 함수를 사용하거나 동기화를 위해 대기해야 할 경우 프로세스는 블록된다.
정지 상태  스케줄러나 인터럽트로 인해 비활성화된 상태
외부에서 다시 재개시켜야 활성화 가능

 

 

 

 

 

Ref.

books-and-cows.gitbook.io/-linux-kernel-lecture-note/2

 

2강

 

books-and-cows.gitbook.io

 

728x90
반응형

'컴퓨터과학 > OS' 카테고리의 다른 글

[OS] 스레드(Thread)  (0) 2021.04.12
[OS] 프로세스(1)  (0) 2021.04.12