Process 관리 1
JeongSeulho
2023년 01월 15일
준비중...
클립보드로 복사
📌job(program)과 process
📖job(program)
- 하드에 있는 프로그램과 데이터
📖process
- 실행을 위해 커널(시스템)에 등록된 작업
- 커널에의해 관리
📌process의 정의
- 실행중인 프로그램
- 각종 자원들을 요청하고 할당받는 개체
- 각종 자원을 요구, 할당, 반납하는 능동적인 개체
📌resource의 정의
- 커널의 관리하에 프로세스에게 할당, 반납되는 수동적 개체
- H/W resource : processor, memory, disk
- S/W resource : message, signal, files
📌Process Control Block(PCB)
- OS가 프로세스 관리에 필요한 정보 저장
- 프로세스가 생성시 같이 생성
📌PCB가 관리하는 정보
- Process Identification Number : PID
- 스케줄링 정보
- 프로세스 상태
- 메모리 관리 정보
- 입출력 상태 정보
- 문맥 저장 영역
- 계정 정보
📌프로세스의 상태
📖create state
- 작업을 커널에 등록
- PCB 할당 및 프로세스 생성
- 커널이 가용 메모리 공간 체크 후에 프로세스 상태 전이
- 🚀ready state OR suspend ready state로 상태 전이
📖ready state
- 프로세서(CPU)외의 다른 모든 자원을 할당받은 상태
- 즉시 실행 가능 상태
- 프로세서 할당 대기 상태(queue로 대기중)
- 🚀dispatch(schedule)라는 과정을 거쳐 running state로
📖running state
- 프로세서를 포함한 필요한 자원을 모두 할당 받은 상태
- 🚀preemption(선점)을 거쳐서 ready state로
- 🚀sleep(block)을 거쳐서 asleep상태로
- sleep 과정은 I/O등의 자원 할당을 요청하러 가는 과정
📖asleep(blocked) state
- 프로세서 외에 다른 자원을 기다리는 상태
- 🚀wake-up을 거쳐서 ready state로
📖suspended state
- 메모리를 할당 받지 못한 상태(빼앗긴 것)
- memory image(메모리의 상태를 찍은것 docker느낌)를 swap device에 보관
- 🚀swap-in(resume)를 거쳐서 active쪽으로
📖terminated state
- 프로세스 수행이 끝난 상태
- 모든 자원 반납 후 커널내에 일부 PCB 정보만 남은 상태
- 이후 프로세스 관리를 위해 사용해온 정보, 자원 등 프로세스 생애를 기록함
📌프로세스 상태 총 요약
📮출처 : https://www.youtube.com/watch?v=hzXVQIlSSos&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN