[기본원리] 디스크가 메모리처럼! 가상메모리

반응형



디스크 속도 증가를 위한 디스크 캐시에 대한 포스팅을 적고
2010/07/24 - [Programing/기본원리] - 디스크의 속도 증가! 디스크 캐시.
2010/07/24 - [Programing/기본원리] - 프로그램은 디스크에서 메모리를 거쳐 CPU로

그 글에 이어 가상 메모리에 대한 글입니다.

읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥




가상 메모리란?
가상 메모리(virtual memory)란 말 그대로 실제 메모리가 아닌 가짜 메모리 입니다.
디스크의 일부를 메모리처럼 사용하는 것이지요.


디스크 캐시가 가상 디스크(실제는 메모리)를 지칭하는것과는 반대로 실제 디스크의 일부를 가르킵니다.
이처럼 가상 메모리를 이용하면, 실제 메모리가 부족한 경우에도 크기가 큰 프로그램을 실행할 수가 있는데요, ( 여유공간이 1MB 만 남은 메모리 상태에서도 2MB의 프로그램을 실행하는 것 등 )

하지만 결국 CPU는 메모리에 적재된 프로그램만 실행할 수 있기때문에
가상 메모리를 사용하더라도 실제 프로그램의 일부는 실제 메모리안에 있어야 합니다.

이렇게 해서 실제 메모리의 내용과 디스크에 있는 가상 메모리의 내용을 부분적으로 바꾸어주면서 프로그램을 실행해야 하지요.


현재 가장 많이 쓰는 OS인 윈도우는 OS 자체에서 가상 메모리를 제공합니다.
가상 메모리의 방식에는 '페이징 방식' 과 '세그먼트 방식' 두 가지가 있는데, 윈도우는 페이징 방식을 사용합니다.
  • 세그먼트(segment) 방식 : 실행되는 프로그램을 함수 단위나 데이터 단위로 묶은 세그먼트로 분할하여, 이 세그먼트 단위로 메모리와 디스크 사이의 데이터를 교환하는 방식.

  • 페이징(paging) 방식 : 실행되는 프로그램을 구조에 관계없이 일정한 크기의 '페이지'로 분할하여 페이지 단위로 메모리와 디스크의 내용을 서로 교환하는 방식.

페이징 방식에서는 메모리의 내용을 디스크에 저장하는 것을 ' 페이지 아웃(page-out) ',
디스크의 내용을 메모리에서 읽어들이는 작업을 '페이지 인(page-in) ' 라고 합니다.


윈도우 에서는 가상 메모리를 쓰기 위해 가상 메모리에서 동작될 파일(페이지 파일)을 준비하는데요, 이것은 윈도우가 자동으로 작성 및 관리합니다.
페이징 파일이란?
윈도우에서 가상 메모리를 사용하기 위해 하드 디스크에 저장하는 파일입니다.
스왑파일(swap file) 라고도 합니다. 실제 파일명은 win.386.swp , pagelife.sys 가 있습니다.

참고로 가상 메모리의 크기는 대부분 실제 메모리 크기의 2배 정도로 설정하지요.
' 제어판 -> 시스템 ' 에서 가상 메모리 설정을 확인 또는 변경 할 수 있습니다.
윈도우 XP 의 경우 에는 제어판-> 시스템 -> 고급탭에서 또 고급탭 -> 가상 메모리 영역을 변경할 수 있습니다.

페이징 파일의 크기는 윈도우가 알아서 설정을 해주는데, 직접 설정할 수도 있지만, 자동으로 윈도우가 관리하게 하는것이 정신건강에도 좋을거 같네요 ㅎ





반응형

댓글(1)

  • 알 수 없는 사용자
    2010.07.26 13:30

    윈도우에서 가상 메모리는
    우선 디스크조각모음을 한 뒤에 사용자가 임의로 처음크기와 최대크기를 똑같이 설정하는 것이 성능상 이점이 있습니다.

Designed by JB FACTORY