TIL 카테고리의 글은 그날 배운 것을 정리하는 목적으로 포스팅합니다. 내용이 잘못되었다면 댓글로 피드백 부탁드립니다.
Process
실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것
운영체제로부터 주소 공간, 파일, 메모리 등을 할당 받으며 이것들을 총칭해 프로세스라고함.
PCB (Process Control Block)
특정 프로세스에 대한 중요한 정보를 저장하고 있는 운영체제의 자료구조
- 운영체제는 프로세스를 관리하기 위해 프로세스의 생성과 동시에 고유한
PCB
를 생성함. - 프로세스는 CPU를 할당 받아 작업을 처리하다가 프로세스 전환이 팔생하면 진행하던 작업의 상황을
PCB
에 저장한 후 CPU를 반환함. 그리고 다시 CPU를 할당 받게 되면PCB
에 저장되어있던 내용을 불러와 이전에 종료됬던 시점부터 다시 작업을 수행함.
저장되는 정보
- PID : 프로세스 식별 번호
-
프로세스 상태 : 대기 중인가? 실행 중인가? (new, ready, running, wating, terminated)
- 프로그램 카운터 : CPU가 다음에 실행할 명령어의 주소
- 프로그램 우선순위
- CPU 레지스터
- 권한 : 프로세스가 접근할 수 있는 자원을 결정하는 정보
- 프로세스의 데이터와 명령어가 있는 메모리 위치를 가르키는 포인터 : 프로그램에 대한 정보를 가지고 있는 주소
- 실행문맥 : 프로세스가 실행 상태에서 마지막으로 실행한 프로세서의 레지스터 내용을 담고 있음.
- 등
프로세스 관리
운영체제는 프로세스들의 실행 사이에 프로세스를 교체하고 재시작할 때 오류가 발생하지 않도록 관리해야 하기 때문에
프로세스들을 상태전이
를 통해 체계적으로 관리함
- 디스패칭 : 프로세서가 사용 가능 상태가 되면 CPU를 할당 받음. 준비 상태에서 실행 상태로
상태전이
되는 것