프로세스와 컴퓨터 구조
프로세스 (process)는 일반적으로 어떻게 구성되어 있을까?
text(CODE) : 코드
data : 변수 / 초기화된 데이터
stack : 임시 데이터 (함수 호출, 로컬 변수 등)
heap : 코드에서 동적으로 만들어지는 데이터
PC(Program Counter) + SP (Stack Pointer)
PC : 코드를 한줄 한줄 카리키는 주소
SP : 함수가 실행이 될 때 최상단 주소
프로세스 구조 : Stack, HEAP, DATA(BSS, DATA), TEXT(CODE)
DATA를 BSS와 DATA로 분리
스택오버플로우
주로 해커들의 공격에 활용되었음
프로세스와 컨텍스트 스위칭
PC(Program Counter) + SP(Stack Pointer)
Stack, HEAP, DATA(BSS, DATA), TEXT(CODE)
PCB
PC, SP는 어디에 저장을 하는가?
Process Control Block (PCB)에 저장
Process Context Block 이라고도 한다
1. Process ID
2. Register 값 (PC, SP 등)
3. Scheduling Info (Process State)
4. Memory Info (메모리 사이즈 limit)
정리
* 프로세스 구조
- Stack, HEAP, DATA(BSS, DATA), TEXT(CODE)
* PCB
- 프로세스 상태 정보 - PC, SP, 메모리, 스케줄링 정보 등
출처 : 제로베이스
'공부 Note > 운영체제' 카테고리의 다른 글
Chapter 03 프로세스 & 스케쥴러 (7) (0) | 2021.12.30 |
---|---|
Chapter 03 프로세스 & 스케쥴러 (6) (0) | 2021.12.30 |
Chapter 03 프로세스 & 스케쥴러 (4) (0) | 2021.12.24 |
Chapter 03 프로세스 & 스케쥴러 (3) (0) | 2021.12.24 |
Chapter 03 프로세스 & 스케쥴러 (2) (0) | 2021.12.23 |