Post

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 프로세스 모델

alt text

  • 작업 큐를 구성하는 각 요소는 특정 프로세스의 PCB를 가리키는 pointer이다.
  • 수행 중이 인터럽트를 당한 프로세스는 다시 큐로 옮겨진다.
    • 만일 프로세스의 수행이 완료되었거나 도중에 취소된다면, 프로세스는 폐기된다. (Exit)

five-state 프로세스 모델

alt text

  • two-state 프로세스 모델에서는 실행 중인 프로세스에 인터럽트가 발생하면 Not Running 상태로 전환된다. 그런데 단일 큐(single queue)를 사용하는 경우, 디스패처가 어떤 프로세스를 우선 실행시킬지 판단하기가 까다로워진다.
    • 이러한 상황을 보다 자연스럽게 처리하기 위해서는 Not Running 상태를 Ready와 Blocked 상태로 분할하는게 효과적이다.

suspended-state 프로세스 모델

3.3 프로세스 기술 (Process Description)

운영체제 제어구조

운영체제가 프로세스와 자원들을 관리하기 위해서는 상태를 나타내는 정보를 가지고 있어야한다. alt text

  • 각 개체에 대한 정보를 테이블로 구성하여 유지한다.

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.