虚拟内存和物理内存如何管理

物理内存:

        RAM随机存储器,读写速度快;操作系统通常操作数据时需要先读入内存在进行操作,但电脑的内核空间和应用程序无法直接访问物理内存(为了保证安全性,否则进程之间可能会直接访问物理内存,使用虚拟内存进行访问每个进程就只能访问自己的虚拟地址空间),因此需要虚拟内存访问物理内存

物理内存管理:

非连续分配管理方式:将进程放在内存的多个不相邻的块中

分页管理:

        将内存空间分为一个个大小相等的分区,每个分区称为一个页框Page Frame,页框号从0开始,将进程的虚拟地址空间也分为与页框大小的一个个分区,每个分区称为一个页Page,每个页都有一个页号,从0开始;

        操作系统以叶匡为单位为各个进程分配内存空间,进程的每个页面可用分别放入离散的各个页框中;在指令执行时将虚拟地址转换为物理地址,每个进程存在一张页表,页表存在于进程控制块PCB中,每个页表由页号和块号(页框号)组成,记录进程页面和实际存放的内存块之间的映射关系

        使用快表,将虚拟地址直接映射为物理地址;使用多级页表解决页表过多的问题

分段管理:

        页表管理划分的页没有物理意义(数据是一般是分段的,比如主程序段、数据段),因此使用段式管理。按照用户进程的自然段划分逻辑空间,比如用户进程由主程序、两个子程序、栈、数据组成,则将其分为5段存储;

        分段管理使用段表记录虚拟地址和物理地址之间的映射

段页管理:

        将过大的段进行分页保存,就是段页管理;对虚拟地址空间先进行段的划分,然后在每一段内进行页的划分

虚拟内存:

        将一部分硬盘空间作为虚拟内存,当内存不足时,虚拟内存会和物理内存相互转换

虚拟内存管理:

分页机制:

        虚拟内存被分割为固定大小页面Page,物理内存也被分割为相同大小页框Page Frame,操作系统将虚拟内存的页面映射到物理内存的页框上

页面置换:

        物理内存不足时,将一部分不常用的虚拟内存页面转移到磁盘上,从而释放物理内存空间

你可能感兴趣的:(linux,运维,服务器)