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