본문 바로가기

메인 메모리2

운영체제 21장 - 메모리 관리(8) : 가상 메모리 - 운영체제 21장- 가상 메모리 - 메인 메모리의 크기가 한정되어 있으므로 물리적인 메모리 크기보다 크기가 큰 프로세스를 실행시킬 수 없다. 예로 100MB 메인 메모리에서 200MB 크기의 프로세스를 실행할 수 없게 되는 것이다. 그렇다면 메인 메모리보다 크기가 큰 프로세스를 실행시키고 싶으면 어떻게 해야 할까? 단순히 메인 메모리가 더 큰 컴퓨터를 사용해야하는가? 이런 방법은 매우 비효율적일 것이다. 그래서 나온 방법이 바로 가상 메모리이다. 프로세스의 모든 코드는 항상 필요한 것이 아니다. 오류 처리하는 부분이나 필요 없는 배열 부분은 실제로 프로세스가 잘 동작한다면 필요 없는 부분이 된다. 따라서 프로세스는 필요한 부분만 메모리에 올림으로써 메인 메모리에 올라가는 프로세스의 크기를 줄인다. 프로세스.. 2017. 5. 7.
운영체제 18장 - 메모리 관리(5) : 페이징(2) - 운영체제 18장- 페이징(2) - 다중 프로그래밍 환경으로 바뀌면서 다양한 프로그램들이 메인 메모리 공간에 올라가서 프로세스로 되어 동작하기 시작했다. 프로그램들은 필요할 때 메인 메모리로 적재되고 사용이 다 되면 다시 하드디스크로 돌아가게 된다. 이런 작동이 반복되면서 메모리 공간에는 hole이라고 하는 빈 공간이 만들어지게 된다. 이런 빈 공간이 흩어져 있게 되어 총 합으로는 충분한 공간의 빈 메모리 공간이 있을지라도 사용할 수 없는 공간이 되어버린다. 왜냐하면 프로세스는 연속된 공간에서 존재해야 동작했기 때문이다. 이러한 문제를 외부 단편화라고 했다. 그리고 외부 단편화를 해결하고자 노력을 많이 하였다. 연속 메모리 할당을 하는 방식에 차이를 두기도 하고 compaction 기법을 사용하기도 하였다.. 2017. 5. 3.