[CS] PCB

또띠·2024년 1월 23일
0

CS

목록 보기
5/7
post-thumbnail

PCB 이미지 출처

PCB (Process Control Block, 프로세스 제어 블록)

OS는 프로세스를 제어하기 위해 프로세스 정보를 저장하는데, 이를 PCB라고 한다.

PCB는 프로세스의 현재 상태, 프로세스를 나타내는 고유의 PID(Process ID), 부모의 프로세스의 PID, 다음 실행할 명령어의 주소인 PC(Program Counter), 프로세스의 우선순위, 메모리 제한 등을 저장한다.


프로세스의 생성

새로운 프로세스는 기존 프로세스로부터 fork() 함수를 호출해 생성한다.
이 함수에는 복사하는 기능이 있는데, 기존 프로세스를 부모 프로세스, 복사된 프로세스는 자식 프로세스라고 한다.

부모 프로세스는 자식 프로세스의 PID 값을, 자식 프로세스는 0을 반환 한다.


프로세스의 종료

운영체제가 프로세스를 종료하는 경우는 다음과 같다.

  1. 프로세스가 운영체제의 종료 서비스(exit())를 호출해 정상 종료하는 경우
  2. 프로세스의 실행 시간 또는 특정 이벤트 발생을 기다리는 시간이 제한된 시간을 초과한 경우
  3. 프로세스가 파일 검색 또는 입출력에 실패하는 경우
  4. 오류가 발생하거나 메모리 부족 등이 발생하는 경우

부모 프로세스가 자식 프로세스를 종류하는 경우는 다음과 같다.

  1. 자식 프로세스가 할당된 자원을 초과해 사용할 때
  2. 자식 프로세스에 할당된 작업이 없을 때
profile
✨ 𝑬𝒗𝒆𝒓𝒚𝒕𝒉𝒊𝒏𝒈 𝒄𝒐𝒎𝒆𝒔 𝒕𝒐 𝒉𝒊𝒎 𝒘𝒉𝒐 𝒉𝒖𝒔𝒕𝒍𝒆𝒔 𝒘𝒉𝒊𝒍𝒆 𝒉𝒆 𝒘𝒂𝒊𝒕𝒔. ✨

0개의 댓글