CS/운영체제
프로세스 구조
:_:
2022. 2. 23. 17:40
프로세스와 컨텍스트 스위칭
컨텍스트 스위칭이란?
: 프로세스 A가 실행하다가 어느순간 스케쥴러가 프로세스 B로 변경하는데
이런 바꿔주는 매커니즘을 컨텍스트 스위칭이라 한다.
프로세스는 일반적으로 어떻게 구성되어 있을까?
- text(CODE): 컴파일된 소스 코드가 저장
- data: 프로그램 실행에 필요한 데이터가 저장되며, 주로 소스코드에서 선언된 전역변수가 저장
- stack: 임시 데이터(함수 호출, 로컬 변수 등)가 저장
- heap: 함수가 동작하기 위해서 쓴 자료구조, 함수 실행에 필요한 자료를 저장
Program Counter + Stack Pointer
다음 실행할 명령어의 주소를 가지고 있는 레지스터 : PC(Program Counter)
함수가 실행될때 가장 최상단 주소를 가르키는 레지스터 : Stack Pointer
Heap
: 동적으로 생성되는 메모리
( c 언어에서 malloc 함수는 동적으로 메모리 생성, 인자가 size 가 들어간다. )
Data 영역
DATA를 BSS 와 DATA 로 분리된다.
BSS 는 초기화 되지 않은 전역변수
DATA 는 초기값이 있는 전역변수
제로베이스 컴퓨터 공학 전공자 따라잡기 강의 시청 후 정리한 내용입니다.
728x90