Process

gmkim·2023년 10월 26일
0

OS

목록 보기
3/11
post-thumbnail

Process

"실행 중인 프로그램"

프로세스의 문맥

"특정 시점에서의 프로세스 진행 상황"

  • 문맥 표현을 위한 3요소
    1. HW 문맥 (CPU 수행 상태를 나타냄)
      • PC (Program Counter)
      • register
    2. 프로세스 주소 공간
      • code, data, stack
    3. 프로세스 관련 커널 자료 구조
      • PCB (Process Control Block)
      • Kernel stack

Process State

  • Running : CPU를 잡고 instruction을 수행 중인 상태
  • Ready : CPU를 기다리는 상태 (메모리 등 다른 조건 모두 만족)
  • Blocked(wait, sleep) : CPU를 주어도 당장 instruction을 수행할 수 없는 상태
    • Process 자신이 요청한 event가 즉시 만족 x

Process Control Block (PCB)

운영체제가 각 프로세스를 관라히가 위해 프로세스 당 유지하는 정보

  1. OS가 관리 상 사용하는 정보
  2. CPU 수행 관련 하드웨어 값
  3. 메모리 관련
  4. 파일 관련

Context Switch

CPU를 한 프로세스에서 다른 프로세스로 넘겨주는 과정

  • CPU를 내어주는 프로세스의 상태를 그 프로세스의 PCB에 저장
  • CPU를 새롭게 얻는 프로세스의 상태를 PCB에서 읽어봄

Process Scheduling

프로세스 스케줄링을 위한 QUEUE

  • Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합
  • Ready Queue : 현재 메모리 내에 있으면서 CPU를 잡아서 실행되기를 기다리는 프로세스의 집합
  • Device Queue : I/O devices의 처리를 기다리는 프로세스의 집합

스케줄러

  • Long-term Scheduler
    • 시작 프로세스 중 어떤 것들을 ready queue로 보낼지 결정
    • 프로세스에 memory를 주는 문제
    • degree of Multiprogramming을 제어
    • time sharing system에는 보통 장기 스케줄러가 없음
  • Short-term Scheduler
  • Medium-term Scheduler

Thread

A basic unit of CPU utilization

구성

  • program counter
  • register set
  • stack space

동료 thread와 공유하는 부분

  • code section
  • data section
  • OS section

장점

  • Responsiveness
  • Resource Sharing
  • Economy
  • Utilization of MP Architecture
profile
🌊 Flooding loads of work

0개의 댓글