08. Process 실행과 관련된 자료구조

Process

  • 정의

    • 실행 가능한 Program이 Memory에 올라와서 실행시킬 수 있는 것

    • 실행 시퀀스이자 Active Entity

    • 현재 상태(Program + stack)와 자원을 얼마나 사용하고 있는지, 명령을 실행하고 관리하는 Activity의 단위

  • 기본 구성 요소

    • Program Code
    • 코드와 연관된 Data 집합
  • 특성

    • 실행 단위 ( Thread, Light Weight Process )
    • 자원 소유권 단위 ( Process, Task )

Program

Disk에 Text와 Data가 저장되어 있는 이진 시퀀스이자 Passive Entity

Program이 실행될 때 비로소 Process

하나의 Program은 여러 개의 Process가 될 수 있음

(여러 User들이 같은 Program을 실행할 때)

Stack

프로그램을 실행시키면 Return Address를 Stack에 Push하고 종료되면 Pop 함

프로그램의 Excution Sequence를 관리하기 위함

Stack의 Top을 관리하기 위한 StakPointer가 존재

보호하기 위해 base와 limit 레지스터 존재

Stack은 높은 주소에서 낮은 주소로 자람

=> base의 주소가 limit 보다 높음

Process를 실행시키기 위해선 반드시 Stack 필요

  • Stack Frame

    아래의 정보들을 모아서 Stack Frame이라고 함

    • Return Address
    • Parameter
    • Return Parameter
  • Call Stack

    Stack Frame들의 집합

    그때 당시의 Stack Frame을 보여줌

Program Description

  • User Level Context (memory context)

    프로그램을 수행하기 위한 기본적인 구성요소

    • 구성요소

      • User text
      • User data
      • User Stack
  • System Level Context

    • 구성요소

      Process Control Block

    • Process Control Block

      OS가 Process를 관리하기 위한 정보들의 집합

      • 구성요소

        • Process Identification

          식별자 정보

          PID, UID 등

        • Process Control Information

          Process 간 Relation 정보(부모, 자식, 형제), 등

        • ProcessorState Information

          Process가 현재 어떤 상태인지, Priority 등

  • Hardware Context (register)

    PC, PSW 등 레지스터의 Content

Process Control Block

OS에서 가장 중요한 Data Sturcture

OS가 Process 관리하기 위해 필요한 모든 정보를 저장 관리하는 Structure

Multiprocessing을 가능하게 하며 각각의 Process가 각각의 PCB를 가짐

  • 구성요소

    • Process Identification

      식별자 정보

      PID, UID 등

    • Process Control Information

      Process 간 Relation 정보

      • Process간 관계 (부모 자식)
      • Process 상태 (Run, Ready, Block)
      • 메모리 정보 (Segment, Page)
    • Processor State Information

      Processor의 레지스터 정보

      Register와 Priority 등 정보

      • User level Register
      • Control and State Register

Process Image

Process Image란 OS가 어떤 Process를 관리하고 제어하기 위해 알아야 할 정보들의 집합

OS가 관리하는 각 Process별 Description

Process가 어디에 위치해 있는지, Process를 관리하기 위한 속성들에 대한 정보

User Level Context + PCB

Process의 식별 정보, 상태 정보 뿐만 아니라 해당 Process의

  • 구성 요소

    • User Text
    • User Data
    • Stack
    • PCB
    • Kernel Stack

Process List Structures

PCB에서는 각 Process의 정보를 가지고 있고, 이 Process들의 상태 별로 PCB들을 리스트처럼 관리하는 구조


© 2025. Na2te All rights reserved.