본문 바로가기
CS/운영체제&컴퓨터구조

PCB(Process Control Block)와 문맥교환(Contect Switching), 메모리 공간의 구조

by nothing-error 2022. 11. 2.

PCB(Process Control Block)와 문맥교환(Contect Switching), 메모리 공간의 구조

1. PCB(커널영역)

PCB는 운영체제가 프로세스를 제어하기 위해 정보를 저장해 놓는 곳으로 프로세스 상태관리와 문맥교환을 위해 필요합니다. 

 

2. PCB에 포홤되는 정보

종류 설명
프로세스 ID(PID) 프로세스를 구분하는 고유 아이디
레지스터 값 Accumulator, CPU Register, General Register 등 해당 프로세스가 사용했던 레지스터 값
프로세스 상태 CPU를 기다리는지 혹은 이용중인지 등의 프로세스 상태에 대한 정보
CPU스케줄링 정보 프로세스가 할당 순서 정보(우선순위, 최종실행시간, 점유시간 등)
메모리 관리 정보 프로세스가 저장된 주소 정보
사용한 파일과 입출력장치 목록 사용한 입출력 장치에 대한 기록

 

3. 문맥교환(Context Switching)

프로세스의 수행을 재개하기 위해 기억해야할 정보를 문맥(context)이라고 합니다. 프로세스1에서 프로세스2로 실행 순서가 변경될 때  프로세스1의 문맥을 PCB에 저장해 놓고 프로세스 2의 정보를 PCB에서 복구하여 프로세스를 실행하는 것을 문맥교환이라고 합니다.

 

 

4. 프로세스의 메모리 영역(사용자 영역)

구분 설명
코드영역 사용자가 작성한 프로그램 함수들의 코드가 CPU에서 수행할 수 있는 기계어 명령 형태로 변환되어 저장되는 공간
데이터 영역 전역 변수 또는 static 변수 등 프로그램이 사용하는 데이터를 저장하는 공간
스택 영역 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터(지역변수, 매개변수, 리턴값 등)를 임시로 저장하는 공간
힙 영역 프로그래머가 필요할 때마다 사용하는 메모리 영역

 

 


Reference

혼자공부하는 컴퓨터구조 + 운영체제

https://zangzangs.tistory.com/107

https://dev-mystory.tistory.com/119

댓글