CS

프로세스 주소 공간

quedevel 2023. 4. 6. 10:43
728x90
반응형

Process Address Space

1️⃣ Code Segment

프로그램의 코드가 저장되어있다.

2️⃣ Data Segment

전역 변수(global variables)같은 데이터가 저장되어 있다.

3️⃣ Stack Segment

함수(function)나 지역 변수(local variables)가 저장되어 있다.

 

여기서 질문 📌

Q. 왜 Code 부분을 따로 두었나?

A. Program의 Code는 Program이 만들어지고(컴파일되고) 나서는 바뀔 일이 전혀 없습니다. 따라서 읽기만 가능한 Read Only 부분입니다. 그렇기 때문에 같은 프로그램을 실행시켜 몇 개의 Prcess가 실행되더라도 같은 프로그램이라면 Code 부분은 다 똑같은 내용을 가지고 있습니다.

 

Q. 왜 Stack 부분과 Data 부분을 나누었나?

A. 전역 변수(global variables)는 어떤 함수에서도 접근 할 수 있기 때문에 Data로 따로 관리를 해주는 것입니다. 따라서 함수 외부(Outside function)와 함수(Inside function, 지역 변수 포함)에 따라서 Stack구조 활용을 위해 나누어 두었다고 생각하시면 됩니다.

 

Referenes

 

프로세스(Process)의 주소 공간(Address Space)

1. 프로세스(Process)란 무엇일까?2. 프로세스(Process)의 Lifetime과 Process State 이번엔 Process Address Space(프로세스 주소 공간)에 대해서 알아보겠습니다. 앞서 프로세스 상태(Process State)까지 알아보았는

whereisusb.tistory.com

 

 

GitHub - gyoogle/tech-interview-for-developer: 👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖

👶🏻 신입 개발자 전공 지식 & 기술 면접 백과사전 📖. Contribute to gyoogle/tech-interview-for-developer development by creating an account on GitHub.

github.com

 

728x90
반응형

'CS' 카테고리의 다른 글

시스템 콜(System Call)  (0) 2023.04.06
인터럽트(Interrupt)  (0) 2023.04.06
프로세스(process)와 스레드(thread)  (0) 2023.04.06
마이크로서비스 아키텍처(MSA)  (0) 2023.04.05
[CS] 패리티 비트 & 해밍 코드  (0) 2023.03.25