[운영체제] 1. 프로세스(Process) 개념, 상태, 컨트롤 블록(PCB)

Posted by 앱해피
2015. 7. 12. 16:36 운영체제(OS)

프로세스의 개념

 

* 운영체제는 다양한 프로그램을 실행한다.

 

1) 일괄 처리 방식으로 작업을 처리한다.

 

2) 시분할(Time Shared System) 기반으로 유저 프로그램 및 작업을 처리한다.

 

 

프로그램의 정의

 

1) 프로그램이란 컴퓨터 디스크에 수많은 명령어를 가지고서 저장되어 있는 파일과 같은 개체이다.

 

2) 프로그램 그 자체는 프로세스가 아니다.

 

 

UNIX 프로세스는 무엇인가?

 

1) 프로세스란 실행중인 프로그램의 인스턴스라고 생각하면 된다.

 

2) 프로세스는 실행될 다음 명령어를 가리키는 프로그램 카운터를 갖는다.

 

3) 프로세스는 메모리, 파일, 소켓 등 시스템 자원을 이용해서 실행된다.

 

4) 프로세스는 가상 주소 공간과 제어 정보를 이용해서 실행된다.

 

 

운영체제, 정보처리기사, 프로세스, 컨트롤 블록, PCB, process control block, 이론

 

 

프로세스 상태

 

프로세스가 실행됐을 때, 여러가지 상태를 갖는다.

 

1) New : 프로세스가 막 생성된 상태

 

2) Running : 프로세스에 포함된 명령어가 실행되는 상태

 

3) Waiting : 프로세스가 특정 이벤트를 기다리는 상태

 

4) Ready : 프로세스가 CPU에 의해서 실행되기 위해 대기하는 상태

 

5) Terminated : 프로세스가 실행을 완료한 상태

 

 

프로세스 컨트롤 블록(PCB, Process Control Block)

 

 

운영체제, 정보처리기사, 프로세스, 컨트롤 블록, PCB, process control block, 이론

PCB는 프로세스와 관련된 정보를 갖는다.

 

1) Process State

- Ready, Running, Waiting, Halted 등...

 

2) Program Counter

- 다음에 실행될 명령어 주소

 

3) CPU registers

- 여러 범용 목적의 레지스터들

 

4) CPU Scheduling information

- 프로세스의 우선 순위 정보, 스케줄링 큐

 

5) Memory management information

- base와 limit 값, 페이지 테이블 등등..

 

6) Accounting information

- CPU 사용량, 프로세스의 실제 실행 시간

 

7) I/O 상태 정보

- 해당 프로세스에 할당된 디바이스의 목록, Open된 파일의 목록 등등..