OS

Swap Space의 상호작용- (Physical Memory, Present Bit, Page Frame, Memory)

김치말이삼겹살 2023. 4. 6. 11:50

 

Swap Space

디스크 공간에 위치하며, 주로 운영체제에서 정한 파일 시스템 내의 특정 위치에 위치합니다. 이 공간은 운영체제가 사용하는 공간으로, 가상 메모리 시스템에서 메모리 부족 상황이 발생하면 일부 프로세스의 메모리 페이지를 Swap Space에 저장하여 더 많은 물리적 메모리 공간을 확보하는 데 사용됩니다.

 

운영체제에서 관리됩니다. 운영체제는 Swap Space의 사용 여부를 추적하고, 필요한 경우 페이지를 스왑 인 또는 스왑 아웃하여 물리 메모리를 확보합니다. 또한 Swap Space에 저장된 페이지가 필요할 경우, 운영체제는 해당 페이지를 다시 물리 메모리로 로드합니다.

 

물리 메모리와 Swap Space 간의 상호작용은 가상 메모리 매핑을 통해 이루어집니다. 가상 메모리 매핑은 프로세스가 사용하는 가상 주소 공간을 물리 메모리와 Swap Space에 매핑하는 작업으로, 이를 통해 프로세스는 물리 메모리나 Swap Space에 저장된 데이터에 접근할 수 있습니다.

 

 

Present Bit

Present Bit은 페이지가 현재 메모리에 존재하는지 여부를 나타내는 비트입니다. 만약 Present Bit이 1이라면 해당 페이지는 메모리에 존재하며, 0이라면 해당 페이지는 디스크에서 스왑 아웃되어 현재 메모리에 없는 상태입니다. 따라서 CPU가 특정 페이지에 접근하려 할 때, 해당 페이지의 Present Bit을 확인하여 메모리에 존재하는지 여부를 판단하고, 만약 페이지가 메모리에 없다면 해당 페이지를 스왑 인하여 다시 메모리에 올리게 됩니다. 이를 통해 메모리 공간을 효율적으로 활용하며, 필요한 페이지만 메모리에 올려 사용할 수 있습니다.

 

 

Page Frame은 물리적인 메모리 공간에서 페이지가 할당되는 영역입니다. Swap Space는 디스크 상의 공간으로, 페이지 교체가 발생하면 메모리에서 디스크의 Swap Space로 해당 페이지가 스왑아웃됩니다.

 

CPU는 페이지 테이블의 엔트리를 통해 가상 주소를 물리 주소로 변환합니다. 이때, 페이지 테이블에는 각 페이지가 현재 메모리에 있는지 여부를 나타내는 Present Bit이 존재합니다. 만약 해당 페이지가 현재 메모리에 존재하지 않으면, CPU는 Page Fault 예외를 발생시킵니다.

 

이후, 운영체제는 페이지 교체 알고리즘을 이용하여 메모리에 공간을 확보합니다. 이를 위해 Swap Space에 있는 페이지 중 교체할 페이지를 선택하여 해당 페이지를 메모리에 스왑인합니다. 이때, 스왑인된 페이지는 Page Frame에 위치하게 됩니다.

 

또한, 운영체제는 페이지 교체를 위해 스왑아웃할 페이지도 선택합니다. 이때, 스왑아웃된 페이지는 Swap Space에 위치하게 됩니다. 따라서, 페이지 교체는 Page Frame과 Swap Space 간의 데이터 이동으로 이루어지게 됩니다.

 

이러한 과정을 통해 메모리의 한계를 극복하며, 필요한 페이지들만 메모리에 올려서 효율적인 메모리 관리를 할 수 있습니다.

반응형