Hyunebee

프로세스의 구성 본문

운영체제

프로세스의 구성

Hyunebee 2022. 4. 15. 19:50

프로세스

https://kyu9341.github.io/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C/2020/10/04/OS_Process_Structure/

 

 Stack : 임시데이터(지역변수, 함수의 매개변수)등이 들어감 

 data : 변수/초기화된 데이터 , 전역변수, 문자열 상수

 heap : 코드에서 동적으로 만들어지는 데이터 - 자바에서는 이렇게 생성된 동적데이터를 사용하지 않는다면 GC에서              자동으로 메모리 해제

 text : 컴파일한 코드

 

CPU에서 프로세스를 만드려면 메모리를 잡아야하고 그 메모리안 Kernel 영역에 PCB블럭이 있고 PCB블럭의 메모리에서

위의 그림같은 데이터들이 들어간다. 

 

문맥교환(Context switch)

 하나의 프로세스가 CPU를 사용 중인 상태에서 다른 프로세스가 CPU를 사용하도록 하기 위해, 이전의 프로세스를 보관   하고 새로운 프로세스의 상태를 적재하는 과정 

 이러한 상태는 PCB에 저장이된다. 

 

 PCB에는

 프로세스의 식별자 : 각 프로세스의 고유 식별자

 프로세서 상태 : 생성, 준비, 실행, 대기 ,중단 상태표시

 ProgramCounter : 프로세스를 실행하는 다음 명령의 주소

 레지스터 저장영역 : 누산기 인덱스 레지스터 스택 포인터 등의 정보로 컴퓨터의 구조에 따라 다르다. 프로그램 카운터

 와 함께 저장하여 재실행할 때 원래대로 복귀할 수 있게 한다. 

 프로세서 스케줄링 정보 : 우선순위, 스케쥴링 큐 포인터 등등

 

 

 

 

'운영체제' 카테고리의 다른 글

메모리 관리 - 페이징, 세그먼테이션  (0) 2022.04.17
교착상태  (0) 2022.04.17
동시성과 상호배제  (0) 2022.04.17
프로세스의 스레드  (0) 2022.04.16
운영체제  (0) 2022.04.15