页表
-
逻辑地址 -> 页号 -> 页表项(地址) -> 地址块号 -> 物理地址
-
每个进程都维护一张页表,初始在PCB中,进程执行时才载入内存
-
页表需要一段连续的空间存储(32位逻辑空间需要有1M个页面,每个页面存储4KB,每个页面对应一个页表项,每个页表项是4B大小,页表总共占用1024*4B,换算成页面个数就是1024个页面,即内存载入进程时还需要载入1024个页面),而内存不一定有这么大的连续空间,因此将页表再次采用映射表的机制分散映射,外部页表有1024项,每一项对应一张存放1024个页面的内部页表,因此总共还是能存放1024*1024个页面的。
使用映射思想压缩
-
深度学习载入大文件时,内存没有连续空间,此时可以用一个数组存放文件名,需要用到这个文件时通过这个文件名载入这个文件
-
给进程连续分配内存造成内部、外部的碎片,且碎片的压缩耗费大,因此采用映射表把进程中连续的逻辑地址映射到内存中不连续的物理地址
-
无法连续载入连续页表时,建立一个页表的索引(页表的页表),只需要把外部页表载入内存,需要用到那一块内部页表再载入那个页表即可