[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 3-1) 프로세스의 개념과 PCB(Process Control Block)

극꼼 2023. 1. 9. 22:19
반응형


<프로세스>

: 실행중인 프로그램. 디스크에 저장된 수동적 파일(실행 파일)이 메모리에 적재될 때 프로세스가 됩니다.


<메모리 상에서의 프로세스>

: 메모리 상의 특정 위치를 할당받고, 내부적으로 메모리를 동적으로 조절합니다.

1) 텍스트 세션 : 실제 실행 코드가 담겨 있으며, 고정된 메모리 영역을 할당받습니다.

* 텍스트 외의 세션은 고정되어 있지 않음(항상 같은 주소값을 가지진 않음).

2) 스택 세션 : 함수 호출 시 임시 데이터 저장 - 함수 매개 변수, 반환 주소, 지역 변수 등

3) 힙 세션 : 프로그램 실행 시 동적으로 할당되는 메모리

4) 데이터 세션 : 전역 변수


<프로세스 상태 별 키워드>

- New : 프로세스가 생성 중

- Running : 내부적으로 명령어들이 실행 중

- Waiting : 사건(IO)들이 일어나기를 대기

- Ready : 프로세스가 처리기에 할당 되기를 기다림

- Terminated : 프로세스 실행이 종료된 상태

 

 

비효율적인 단일프로세스가 아니고서야, 매번 new~terminated로 가지 않고, ready~running~waiting을 돌게 됩니다.


<프로세스 제어 블록(Process Control Block)>

: 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료 구조. 운영체제에 따라 달라지긴 하는데, 일반적으로 다음과 같은 정보가 포함되어 있습니다.

- process ID : 프로세스 식별자

- process state : 프로세스 상태를 체크

- program counter : 프로세스가 다음에 실행할 명령어의 주소를 가지고 있음

- registers : CPU 레지스터 및 일반 레지스터

- scheduling information : 우선 순위, 최종 실행시각, CPU 점유 시간 등

- memory related information : 해당 프로세스의 주소 공간 등

- accounting information : 프로세스 계정 정보. 페이지 테이블, 스케줄링 큐 포인터, 소유자, 부모 등

- status information related to I/O : 입출력 상태 정보. 프로세스에 할당된 입출력장치 목록, 열린 파일 목록 등

 

* PCB은 프로세스의 중요한 정보를 포함하고 있기 때문에, 일반 사용자가 접근하지 못하도록 보호된 메모리 영역 안에 남습니다. 일부 운영 체제에서 PCB는 커널 스택 처음에 위치한다. (편리하면서도 보호를 받는 메모리 영역이기 때문)

 

반응형