인프런 커뮤니티 질문&답변

ahntree님의 프로필 이미지
ahntree

작성한 질문수

넓고 얕게 외워서 컴공 전공자 되기

가상 메모리를 사용하는 이유

해결된 질문

작성

·

731

0

안녕하세요. 선생님. 강의 잘 보고 있습니다..!

가상 메모리를 사용하는 이유 중의 하나가 프로세스 간의 독립성을 보장할 수 있다고 설명해주셨는데요. 이 부분이 잘 이해가 가지 않습니다.

실제 메모리를 사용한다고 하더라도 각 프로세스마다 독립적인 메모리 주소 공간이 부여되어 독립성이 보장될 것 같은데, 어떤 점이 다르다고 볼 수 있는 걸까요?

미리 감사드립니다!

답변 1

1

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

가상 메모리 체계가 적용되면 모든 프로세스는 자신이 실제 사용하는 메모리 공간을 운영체제로부터 배정받습니다. 이 과정에서 운영체제는 타 프로세스가 이미 사용중인 메모리를 절대로 배정하지 않습니다. 즉, 프로세스 간 독립성을 보장하는 것은 (가상 메모리 체계를 직접 관리하는) 운영체제 입니다. 만일 이 체계를 우회 할 수 있다면 운영체제가 막는 일을 해낼 수 있습니다. 즉, 타 프로세스의 메모리를 읽을 수 있지요. 마치 궁예대왕의 관심법 처럼요. (이를 메모리 해킹이라 합니다.)

실제 메모리를 사용하더라 하더라도 운영체제가 관리해 프로세스간 사용 영역이 절대로 겹치지 않도록 막아준다면 독립성은 보장됩니다. 그러나 주기억장치 공간은 매우 한정적입니다. 어떤 컴퓨터는 8GB정도 밖에 없지만 어떤 컴퓨터는 64GB가 넘을 수도 있습니다. 즉, 하드웨어적 환경이 다를 수 있습니다. 그럼에도 불구하고 영향을 받지 않기 위해서 가상 메모리 시스템을 사용하기도 합니다.

참고하시기 바랍니다. 감사합니다.

ahntree님의 프로필 이미지
ahntree

작성한 질문수

질문하기