关于操作系统中"分页",的问题

哪位能给解释一下:操作系统中,分页,分段,缺页的概念!通俗一点也好最好能给我一份教程... 哪位能给解释一下:操作系统中,分页,分段,缺页的概念!通俗一点也好
最好能给我一份教程
展开
 我来答
anpsp
2007-10-28 · TA获得超过1841个赞
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:186万
展开全部
什么是分页?
无论你的NT服务器的内存有多大,它总是显得不够充足。当物理RAM从低端开始运行时,Windows NT使用了分页文件Pagefile.sys。为了运行不同的进程和应用程序,Pagefile.sys给物理内存分配了一些空间。在这些空间内允许交换数据页。

分段?

程序分段的好处。cpu中的段寄存器中保存了段址(base)和偏移值的上限(limit)。段址:有效地址 中,如果有效地址大于limit,便会引发异常。这样就可以限制程序不能范围当前段外的数据,不能访问其他程序的数据。总之就是不能访问它不能访问的数据。
面向对象的好处。对象就是一块连续的内存中的数据吧。这点跟上面一点类似。通过限制访问,就做到了private的效果吧。

分段与分页:
(1)内存分段和内存分页一样都是一种内存管理技术,分段是为了权限保护,分页是为了虚拟内存.
(2)分段后,程序员可以定义自己的段,各段有独立的地址空间,象进程的地址空间互相独立一样.
(3)同一个类的实例分配在一个段中,只有该类的方法可以访问,如果其他类的方法去访问,会因为段保护而出错.可以从硬件上实现类的数据保护和隐藏

什么是缺页?
为什么会出现缺页?你的问题中已经有了答案。物理内存和系统“提供”给用户的内存的不对称性。
是不是很容易就出现缺页的情况?像windows nt这样的系统,每个进程拥有4G的虚存,记住,是每个进程。其中3-4G影射为操作系统的核心,是只读的,1-2G映射为用户空间,其中一部分是系统提供的动态链接库。
对于每一个进程,操作系统只向物理内存映射少数的地址,这是因为 RAM 实在是太宝贵、太稀缺了。进程的剩下的内存实际上都保存在二级存储器(通常是硬盘)上。这就是为什么要叫虚拟内存的原因。没有映射到物理 RAM 的地址都被做上了标记。只要进程一访问这样的地址,操作系统就将数据从二级存储器上取回到内存。若操作系统把物理 RAM 用光了,它就把一些数据换出来腾出空间。之后我们还可以把这些数据取回,因为它们都保存在在二级存储器上。那些数据被换出是由替换策略决定的。Windows NT 使用先进先出(First-In-First-Out,FIFO)的策略。根据这个策略,当空间不够时,最老的数据(即最先取进内存的数据)被换出。
缺页的频率取决于你系统的实际内存的大小和系统的进程数目等因素。例如同时跑着几千个进程的网络服务器,缺页肯定是非常频繁的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式