꾸준하게 기록하기
article thumbnail
Published 2022. 2. 23. 17:40
프로세스 구조 CS/운영체제

 

프로세스와 컨텍스트 스위칭

 

컨텍스트 스위칭이란? 

 : 프로세스 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

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

프로세스 간 커뮤니케이션  (0) 2022.02.24
컨텍스트 스위칭  (0) 2022.02.23
인터럽트 내부 동작  (0) 2022.02.23
인터럽트  (0) 2022.02.23
선점형과 비선점형 스케쥴러  (0) 2022.02.23
profile

꾸준하게 기록하기

@:_:

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!