paging
-
[OS] - Paging AlgorithmCS/면접준비 2022. 9. 30. 12:49
Paging Change Algorithm 요청하는 Page가 Main Memory에 없다면(Page Fault) -> 새로운 Page 할당 -> 할당된 Page 중에서 어떤 것을 Main Memory에서 내려서 사용할 것인가? Virtual Memory는 필요한 Page만 Memory에 적재한다. 그럼에도 Main Memory가 가득 찰 수 있다. 가득차게 된다면 안쓰는 Page는 Out 하고 요청한 Page를 In해야 한다. 이 때 Page Out되는 Page를 Victim Page라고 하며, 수정이 되지 않은 Page를 우선으로 하여 Page Out한다. ( 수정되면 Disk 작업이 필요하다 ) Page Reference String Cpu는 Logical Address를 통해 특정 Address를..
-
[OS] - Paging / SegmentationCS/면접준비 2022. 9. 30. 12:37
Paging , Segmentation Multi Programming에서 여러 Process를 수용하기 위해 Main Memory를 분할하여 Memory 관리 관리 방식 1. Continuous Memory 관리 Program 전체가 하나의 커다란 공간에 연속적으로 할당 고정 분할 : Internal fragmentation 동적 분할 : External fragmentation 2. Non Continuous Memory 관리 Program 일부가 서로 다른 Address 공간에 할당 Page = Process를 고정 사이즈로 분할 Frame = Page와 동일한 크기로 Main Memory 분할 Fragmentation = Hole Space , data가 여러 조각으로 나누어지는 현상 Segmen..
-
Virtual Memory란?CS/면접준비 2022. 7. 18. 17:15
Virtual Memory란? OS에서 한정된 Memory(physical Memory)를 가상화시켜 더 효율적으로 사용하기 위해 나온 개념. 어떻게 가상화 시킨다는 것이 효율적일까? Program이 실행될 때에는 전체가 Memory에 있을 필요가 없고, 실행되는 부분만 Memory에 존재하면 된다. 이를 사용하여 Physical Memory에 더욱 더 많은 Program을 올릴 수 있는 것이다. 그렇다면 어떻게 실행될 위치를 아는 것일까? MMU(Memory Management Unit) 은 하드웨어 실제 Program별 Logical Memory를 통해 Phyiscal Memory를 변환하여 준다. 가상 메모리는 어떻게 관리되는가? Paging / Segmentation / Paging+segment..
-
8. Vitrual MemoryCS/OS 2022. 6. 23. 01:42
Virtual Memory 가상 메모리는 프로세스의 virtual memory(logical memory)와 physical memory를 분리하기 위해 생겨난 것 모든 프로세스는 자신만의 가상 주소 공간을 가지고 있다. 32비트/64비트 프로세스는 각 비트수에 맞게 최대 4GB/16EB의 주소 공간을 가진다. 모든 프로세스들은 자신만의 주소 공간을 가지기 때문에, 특정 프로세스 내에서 쓰레드가 수행될 때 해당 쓰레드는 프로세스가 소유하고 있는 메모리에 대해서만 접근이 가능하다. OS Memory는 숨겨져 있다. 쓰레드가 OS의 Data에 Access하는 것이 불가능하다. 따라서, A 프로세스가 0x12345678 주소에 무엇인가를 저장하였지만, B 프로세스 역시 0x12345678 주소에 무엇인가를 저..