작성
·
106
0
동적할당의 흐름을 설명해 주신 부분에서 질문이 있습니다.
유저 영역에 있는 응용프로그램들이 메모리가 필요할 때 마다 커널에 요청하는 것은 비효율 적이라
처음 힙 영역 메모리를 할당할 때 일정정도 큰 크기를 준다고 하셨습니다.
여기서 궁금한 점이
유저 영역에 [메모장] [LOL] [곰플레이어] 이 3가지 응용프로그램이 있다면
처음 힙을 할당할 때 3개의 응용프로그램이 다 같이 쓸 수 있게 힙을 할당한 후
[ 메모장이 요청하면 줄 힙공간 | LOL이 요청하면 줄 힙공간 | 곰플레이어가 요청하면 줄 힙 공간 ]
이런식으로 되어 있는건가요
아니면
힙1 메모장용 [ ]
힙2 LOL용 [ ]
힙3 곰플레이어용 [ ]
이렇게 되어있는건가요?
답변 2
1
메모장을 켰더니 LOL이 꺼져서 승급전에 실패한다면...
생각만 해도 끔찍하군요.
응용프로그램이 실행되면 각자 샌드박스에 갇혀 서로의 존재를 알지 못하고
마치 RAM을 혼자 사용하는 것 마냥 신나게 사용하고 서로 어떠한 간섭도 주지 못합니다.
실제 힙 영역의 주소는 물리적 메모리 (RAM의 주소)가 아니고
커널이 별도로 매핑해서 관리해주는 가상 메모리이기 때문입니다.
관련하여 운영체제 이론에 대해 공부를 해보시면 도움이 됩니다.
0