← 질문 목록
#166깊이 0

프로세스 주소공간을 나누어 사용하는 이유는 무엇인가?

운영체제기초메모리

프로세스 간의 간섭을 막고 메모리 낭비를 줄이기 위해서다.

높은 주소낮은 주소
  1. 스택아래로 자랍니다

    지역 변수, 함수 호출 정보

  2. 위로 자랍니다

    런타임에 할당되는 동적 메모리

  3. 데이터

    전역 변수, 정적 변수

  4. 코드

    프로그램 실행 파일의 기계어

위 구조는 메모리 사용 목적에 따라 영역을 구분한 것이다. 각 영역은 데이터의 성격과 생명주기가 다르기에 분리하여 관리한다.

흔한 배치에서는 스택이 서로 마주 보고 자란다. 어느 쪽이 어디서 시작하는지는 운영체제와 규약에 따라 다르다. 두 영역이 서로 마주 보고 자라게 하여 가용 공간을 유동적으로 공유한다.

가상 메모리 기법으로 각 프로세스는 독립된 주소공간을 가진다. 독립된 주소 공간은 한 프로세스의 오류가 다른 프로세스의 메모리를 오염시키지 못하게 한다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

프로세스 주소공간을 나누어 사용하는 이유는 무엇인가?