Q. 프로세스 주소 공간에 무엇이 있는지 설명해주세요

-> 코드, 데이터, 스택 영역이 존재하며 코드는 프로그램의 코드가 저장되어있고, 데이터는 전역변수가, 스택에는 함수나 지역변수가 저장되어 있습니다.

-> 프로그램이 CPU에 의해 실행되면 프로세스가 생성되고 메모리에 프로세스 주소공간이 할당됩니다주소공간은 코드데이터스택으로 이루어져있습니다. 이 프로세스의 메타데이터들은 PCB에 저장됩니다.

 

Q. 프로세스 주소 공간을 나눈 이유는 무엇인가요?

  • 최대한 데이터를 공유하여 메모리 사용량을 줄이기 위해서
  • code는 프로그램이 만들어지고 나서 바뀔일이 없기 때문에 프로그램의 프로세스일 경우 코드 부분을 공유하여 메모리의 사용량을 줄이기 위해 분리했습니다.
  • stack과 data는 함수 외부와 함수에 따라서 stack 구조 활용을 위해 나누었습니다.
반응형

'cs지식 > Operating System' 카테고리의 다른 글

[OS] PCB와 Context Switching  (0) 2021.01.20
[OS] 시스템 콜(System Call)  (0) 2021.01.20
[OS] 인터럽트(Interrupt)  (0) 2021.01.15
[OS] 프로세스와 스레드  (0) 2021.01.14
[OS] 운영체제란  (0) 2021.01.02

+ Recent posts