分享免费的编程资源和教程

网站首页 > 技术教程 正文

解读计算机中的虚拟内存,深入掌握内存的基础分配原则

goqiw 2024-10-05 19:05:29 技术教程 16 ℃ 0 评论

请求分页管理方式,这是建立在基本分页基础上的最常用的实现虚拟存储器的方式,不过为了能支持虚拟存储器功能而增加了请求调页功能和页面置换功能。由于调入和换出的基本单位都是长度固定的页面,使得它比请求分段系统简单。


系统中给请求分页提供了一定的硬件支持,有页表机制、缺页中断机构以及地址变换机构。

在请求分页系统中最常用的数据结构是页表,基本作用是将用户地址空间中的逻辑地址变换为内存空间中的物理地址。这个页表比基本分页的页表多出了:状态位,用于指示该页是否已调入内存。访问字段,记录本页在一段时间内被访问的次数。修改位,表示该页在调入内存后是否被修改过。外存地址,用于指出该页在外存上的地址,通常是物理块号。


缺页中断机构,是在进程执行过程期间,所要访问的页面不再内存时,便产生一缺页中断,请求OS将所缺之页调入内存。缺页中断需要经历保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、恢复CPU环境。


地址变换机构,是在分页系统地址变换机构的基础上,为实现虚拟存储器而增加了某些功能而形成的,如产生和处理缺页中断,以及从内存中换出一页的功能等。先从快表查找页表项,找到则修改页表项中的访问位。若快表未找到页表项,应到内存中去查找页表,再从找到的页表项中的状态位,判断是否调入内存,若未调入内存。

请求分段存储管理方式,在程序运行之前,只需先调入若干个分段,便可启动运行。像请求分页系统一样,为实现请求分段存储管理方式,同样需要一定的硬件支持和相应的软件。


段表机制,请求分段存储管理方式中主要的数据结构是段表。新增加了存取方式,用于标识本分段的存取属性。访问字段,其含义与请求分页的相应字段相同,用于记录该段被访问的频繁程度。修改位,用于表示该页在进入内存后是否已被修改过。存在位,指示本段是否已被调入内存。增补位,这是请求分段管理中特意的字段,表示是否做过动态增长。外存始址,指示本段在外存中的起始地址。

请求分段存储管理方式的缺段中断机构和地址变换机构与请求分页的类似,只不过由于分段是信息的逻辑单位,因而不可能出现一条指令被分割在两个分段中和一组信息被分割在两个分段中的情况。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表