process란?

TIL 카테고리의 글은 그날 배운 것을 정리하는 목적으로 포스팅합니다. 내용이 잘못되었다면 댓글로 피드백 부탁드립니다.

Process

실행 중인 프로그램으로 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것

운영체제로부터 주소 공간, 파일, 메모리 등을 할당 받으며 이것들을 총칭해 프로세스라고함.

PCB (Process Control Block)

특정 프로세스에 대한 중요한 정보를 저장하고 있는 운영체제의 자료구조

  • 운영체제는 프로세스를 관리하기 위해 프로세스의 생성과 동시에 고유한 PCB를 생성함.
  • 프로세스는 CPU를 할당 받아 작업을 처리하다가 프로세스 전환이 팔생하면 진행하던 작업의 상황을 PCB에 저장한 후 CPU를 반환함. 그리고 다시 CPU를 할당 받게 되면 PCB에 저장되어있던 내용을 불러와 이전에 종료됬던 시점부터 다시 작업을 수행함.

저장되는 정보

  • PID : 프로세스 식별 번호
  • 프로세스 상태 : 대기 중인가? 실행 중인가? (new, ready, running, wating, terminated)

  • 프로그램 카운터 : CPU가 다음에 실행할 명령어의 주소
  • 프로그램 우선순위
  • CPU 레지스터
  • 권한 : 프로세스가 접근할 수 있는 자원을 결정하는 정보
  • 프로세스의 데이터와 명령어가 있는 메모리 위치를 가르키는 포인터 : 프로그램에 대한 정보를 가지고 있는 주소
  • 실행문맥 : 프로세스가 실행 상태에서 마지막으로 실행한 프로세서의 레지스터 내용을 담고 있음.

프로세스 관리

운영체제는 프로세스들의 실행 사이에 프로세스를 교체하고 재시작할 때 오류가 발생하지 않도록 관리해야 하기 때문에

프로세스들을 상태전이를 통해 체계적으로 관리함

https://t1.daumcdn.net/cfile/tistory/27733D4856EEACF616

  • 디스패칭 : 프로세서가 사용 가능 상태가 되면 CPU를 할당 받음. 준비 상태에서 실행 상태로 상태전이 되는 것