Operating System | Process
Operating System | Process
Chapter 3 프로세스 기술과 제어
3.1 프로세스란?
프로세스의 정의
- 수행중인 프로그램
- 컴퓨터 상에 수행 중인 프로그램의 인스턴스
- 처리기에 할당되어 수행될 수 있는 개체(entity)
- 명령들의 순차 수행, 현재 상태, 연계된 시스템 자원들의 집합
PCB(Process Control Block)
- Running 중인 Process를 interrupt한 이후에, 다시 Running을 재개할 수 있도록 충분한 정보를 유지해야한다.
PCB 블록의 구성요소
- identifier
- status
- priority
- program counter
- context data
- I/O status information
- accounting information
3.2 프로세스 상태
two-state 프로세스 모델
- 작업 큐를 구성하는 각 요소는 특정 프로세스의 PCB를 가리키는 pointer이다.
- 수행 중이 인터럽트를 당한 프로세스는 다시 큐로 옮겨진다.
- 만일 프로세스의 수행이 완료되었거나 도중에 취소된다면, 프로세스는 폐기된다. (Exit)
five-state 프로세스 모델
- two-state 프로세스 모델에서는 실행 중인 프로세스에 인터럽트가 발생하면 Not Running 상태로 전환된다. 그런데 단일 큐(single queue)를 사용하는 경우, 디스패처가 어떤 프로세스를 우선 실행시킬지 판단하기가 까다로워진다.
- 이러한 상황을 보다 자연스럽게 처리하기 위해서는 Not Running 상태를 Ready와 Blocked 상태로 분할하는게 효과적이다.
suspended-state 프로세스 모델
3.3 프로세스 기술 (Process Description)
운영체제 제어구조
운영체제가 프로세스와 자원들을 관리하기 위해서는 상태를 나타내는 정보를 가지고 있어야한다.
- 각 개체에 대한 정보를 테이블로 구성하여 유지한다.
1. Memory tables
주기억 장치와 보조기억장치 모두의 track을 유지하기 위해 사용
- 주기억장치의 일부는 운영체제가 사용할 수 있도록 예약됨
- 예약되지 않은 나머지는 프로세스들이 사용할 수 있음
1. Memory tables이 가진 정보
- 프로세스에게 할당된 main memory
- 프로세스에게 할당된 secondary memory
- such as which processes may access certain shared memory regions
- 주기억장치 또는 가상메모리 블록들에 대한 보호속성
- 가상 메모리 관리를 위한 정보
2. I/O tables
입출력 장치와 컴퓨터 시스템의 채널들을 관리하기 위해 사용된다.
- 입출력 테이블은 chapter 11에서 다룰 예정
3. file tables
파일 존재 여부와 secondary memory에 저장된 파일의 위치, 현재 상태등에 대한 정보 저장용
- chapter 12에서 다룰 예정
3.4 프로세스 제어
This post is licensed under
CC BY 4.0
by the author.



