[CS] Process에 대한 나름의 이해

2023. 10. 21. 15:28CS

Process는 Program이 메모리에 올라간 상태.

Context는 Process의 상태 정보를 알기 위한 개념으로 크게 세가지가 있다.

1. Program Counter, Register 값: 하드웨어에 대한 정보

2. Memory의 code, data, stack: 메모리에 대한 정보

3. PCB, kernel stack: 프로세스에 대한 정보 등과 같은 커널 자료구조

 

프로세스의 상태는 생성, 준비, 실행, 대기, 종료가 있다.

실행에서 대기(Blocked)로 가는 경우는 타이머 인터럽트나 I/O 요청, 공유 자원 대기 등이 있다. 

이게 끝나면 다시 대기에서 준비로 가게 된다.

준비큐가 있고 I/O에도 대기큐가 있다.

 

만약 하드디스크에 스왑아웃되어 있으면 suspended이다.

 

PCB는 프로세스의 정보를 간직하는 커널 자료구조이다.

프로세스 상태, id, 우선순위, 스케줄링 정보 등 OS가 관리상 저장하는 정보

PC, 레지스터 값 등 하드웨어 정보

코드, 데이터, 스택 등 메모리 정보

프로세스가 사용하고 있는 파일등은 어떤게 있는지 등 파일 관련 정보

를 담고 있다.

 

Reference


https://core.ewha.ac.kr/publicview/C0101020140318134023355997?vmode=f

 

반효경 [운영체제] 5. Process1

설명이 없습니다.

core.ewha.ac.kr