Software Courses/Operating System

Process 관리

김 정 환 2020. 11. 30. 21:21
반응형

프로그램과 프로세스

    - 프로그램(작업) : 실행할 프로그램 + 데이터로 컴퓨터 시스템에 실행 요청 전의 상태

    - 프로세스 : 실행을 위해 시스템(커널)에 등록된 프로그램(작업)

 

 

 

자원

    - 커널의 관리 하에 프로세스에게 할당/반납되는 수동적 개체

 

 

 

PCB(Process Control Block)

    - OS가 프로세스 관리를 위한 정보를 저장한 블록

    - 관리하는 정보 : PID, 스케줄링 정보, 프로세스 상태, 메모리 관리 정보, 입출력 상태 정보 등

 

 

 

프로세스 상태

    - Admitted State : 작업을 커널에 등록, PCB 할당 및 프로세스 생성

    - New -> Ready : 메모리 할당 받는 상황

 

    - Ready State : 프로세서 외에 다른 모든 자원을 할당 받은 상태, 프로세서 할당 대기, 즉시 실행 가능

    - Ready -> Running : 프로세서를 할당 받는 상황

 

    - Running State : 프로세서와 필요한 자원을 모두 할당 받은 상태

    - Running -> Ready : 프로세서를 뺏기는 상황

    - Running -> Waiting : I/O 또는 자원 할당을 기다리는 상황

 

    - Waiting State : 프로세서 외에 다른 자원을 기다리는 상태

    - Waiting - > Ready : 자원을 얻고 다음 프로세서를 기다리는 상황

 

    - Terminated State : 프로세서 수행이 끝난 상태, 모든 자원을 반납했지만 커널 내에 일부 PCB 정보만 남은 상태

 

 

 

 

Interrupt

    - 예상치 못한 event, 외부에서 발생한 event

    - 종류 : I/O interrupt, Clock interrupt, Console interrupt, etc

 

 

 

Interrupt 처리 과정

 

    ① Interrupt 발생

    ② Kernel이 프로세스1을 중단하고 프로세스1이 하던 내용을 PCB1에 저장 (문맥 저장)

    ③ Interrupt 원인 파악

    ④ 원인을 해결할 수 있는 프로그램을 투여 (서비스)

    ⑤ 원인이 해결되었으니 Ready 상태에 있는 프로세스를 가져온다. 프로세스1이 들어올 수 있지만, Ready Queue에 상황에 따라 프로세스2가 들어올 수 있다.

 

 

 

 

문맥 교환(Context Switching)

    - Context : 프로세스와 관련된 정보들의 집합

    - Context Saving : 현재 프로세스의 Register Context를 저장하는 작업

    - Context Restoring : Register Context를 프로세서로 복구하는 작업

    - Context Switching : Saving과 Restoring으로 프로세스를 바꾸는 일. P1을 저장하고 P2를 복구

 

 

 

Context Switch Overhead

    - 빈번하게 일어나는 현상

    - 해결 : 불필요한 Context Switching을 줄이기 위해서 Thread를 사용하기도 한다.

 

 

 

본 내용은 한국기술교육대학교 김덕수 교수님의 유튜브 강의를 듣고 정리한 내용입니다.
반응형

'Software Courses > Operating System' 카테고리의 다른 글

Process Synchronization and Mutual Exclusion  (0) 2020.12.02
Process Scheduling  (0) 2020.12.01
Thread 관리  (0) 2020.11.30
OS Overview 2  (0) 2020.11.29
OS Overview 1  (0) 2020.11.29