← 질문 목록
#166깊이 0
프로세스 주소공간을 나누어 사용하는 이유는 무엇인가?
프로세스 간의 간섭을 막고 메모리 낭비를 줄이기 위해서다.
높은 주소낮은 주소
스택아래로 자랍니다
지역 변수, 함수 호출 정보
힙위로 자랍니다
런타임에 할당되는 동적 메모리
데이터
전역 변수, 정적 변수
코드
프로그램 실행 파일의 기계어
위 구조는 메모리 사용 목적에 따라 영역을 구분한 것이다. 각 영역은 데이터의 성격과 생명주기가 다르기에 분리하여 관리한다.
흔한 배치에서는 스택과 힙이 서로 마주 보고 자란다. 어느 쪽이 어디서 시작하는지는 운영체제와 규약에 따라 다르다. 두 영역이 서로 마주 보고 자라게 하여 가용 공간을 유동적으로 공유한다.
가상 메모리 기법으로 각 프로세스는 독립된 주소공간을 가진다. 독립된 주소 공간은 한 프로세스의 오류가 다른 프로세스의 메모리를 오염시키지 못하게 한다.
추천 꼬리질문
관련 질문
- 프로세스 주소 공간을 나누는 이유는 무엇인가?운영체제두 질문 모두 프로세스 주소 공간의 분할 및 사용 목적에 대해 다룹니다.
- 가상 메모리는 무엇을 해결하는가?운영체제프로세스 주소 공간을 나누어 사용하는 것은 가상 메모리 구현의 핵심 원리이자 목적이다.
- 가상 메모리를 사용하는 이유는 무엇인가?운영체제프로세스 주소 공간의 분할은 가상 메모리 시스템의 핵심 구현 방식이자 목적이다.
- 메모리 연속할당 방식 중 무엇을 선택하는가?운영체제메모리 연속할당 방식은 프로세스 주소 공간의 배치와 분할 방식이라는 공통된 메모리 관리 개념을 다룬다.
- 쓰레싱이 발생하는 원인과 해결책은 무엇인가?운영체제쓰레싱은 가상 메모리의 페이지 교체 과정에서 프로세스 주소 공간의 메모리 부족으로 발생한다.