您的位置:首页 > 其它

内存管理

2015-12-27 20:12 204 查看
1、内存管理有哪几种方式?

块式管理:把主存分成一大块一大块的,当所需的程序片段不在主存时就分配一块主存空间

页式管理:把主存分成一页页的,每一页的空间要比一块空间小很多

段式管理:每段空间比一页空间小很多,在空间利用率上比块式和页式高很多,但一个程序片段可能会被分成几十段,很多时间被浪费在计算每一段的物理地址上

段页式管理:结合段式管理和页式管理的优点,把主存先分为若干页,每页又分为若干段。

2、分段和分页的区别是什么?

页是信息的物理单位,分页仅仅是由于系统管理的需要,而不是用户的需要。

段是信息的逻辑单位,它含有一组其意义相对完整的信息,分段的目的是为了能更好地满足用户的需要。

页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序。分页的作业地址空间是一维的,即单一的线性空间,分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又要给出段内地址。

3、虚拟内存

内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,WINDOWS运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,这部分空间即称为虚拟内存,虚拟内存在硬盘上的存在形式就是PAGEFILE.SYS这个页面文件。

当内存耗尽时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。若计算机运行程序或操作所需的随机存储器(RAM)不足时,则 Windows 会用虚拟存储器进行补偿。它将计算机的RAM和硬盘上的临时空间组合。当RAM运行速率缓慢时,它便将数据从RAM移动到称为“分页文件”的空间中。将数据移入分页文件可释放RAM,以便完成工作。虚拟内存是Windows 为作为内存使用的一部分硬盘空间。虚拟内存在硬盘上其实就是为一个硕大无比的文件,文件名是PageFile.Sys,通常状态下是看不到的。

虚拟内存有什么好处?

扩大地址空间;内存保护(每个进程运行在各自的虚拟内存地址空间,互相不能干扰对方);公平分配内存;当进程需要通信时,可采用虚存共享的方法实现。

虚拟内存的代价:虚存的管理需要建立许多数据结构,这些数据结构要占用额外的内存;

虚拟地址到物理地址的转换,增加了指令的执行时间;

页面的换入换出需要磁盘I/O,很耗费时间;

如果一页中只有一部分数据,会浪费内存。

4、内存碎片

内存碎片:由于多次进行内存分配造成的,当进行内存分配时,内存格式一般为:(用户使用段)(空白段)(用户使用段),当空白段很小的时候可能不能提供给用户足够需要的空间,这样会产生很多间隙造成使用效率的下降,这些很小的空隙叫碎片。

内碎片:分配给程序的存储空间没有用完,有一部分是程序不使用,但其他程序也没法用的空间。内碎片是处于区域内部或页面内部的存储块,在进程占有这块存储块时,系统无法利用它,直到进程释放它或进程结束时,系统才可能利用这块存储块。

外碎片:由于空间太小,小到无法给任何程序分配(不属于任何进程)的存储空间。外碎片是处于任何已分配区域或页面外部的空闲存储块,空间太小以致系统无法申请。

5、地址

虚拟地址:指由程序产生的由段选择符和段内偏移地址组成的地址。

逻辑地址:指由程序产生的段内偏移地址,有时直接把逻辑地址当成虚拟地址,两者并没有明确的界限

线性地址:指虚拟地址到物理地址变换之间的中间层,是处理器可寻址的内存地址中的地址。段基址加上段内偏移地址就生成一个线性地址

物理地址:指现在CPU外部地址总线上的寻址物理内存的地址信号,是地址变换的最终结果

虚拟地址到物理地址的转化方法:逻辑地址(段标识+段内偏移量)(查询段表)——>线性地址(查询页表)——>物理地址

若没有采用分页的形式,线性地址就是物理地址。

6、Cache替换算法

Cache(缓冲)用来提高CPU的运行效率。通常将数据从内存调入Cache,CPU再从Cache中读取数据,这样快很多。CPU从Cache中读取到有用数据称为“命中”。

Cache替换算法是影响代理缓存系统性能的一个重要因素,一个好的Cache替换算法可以产生较高的命中率。目前已经提出的算法:

(1)LRU(Least Recently Used)算法:将最近最少使用的内容替换出Cache;

(2)FIFO(First In First Out)算法:将最先进入Cache的信息块替换出去;

(3)RAND(随机)算法:用随机发生器产生一个要替换的块号,将该块替换出去;

(4)OPT(OPTimal replacement algorithm)算法:选择将来最久不被访问的页面作为被替换的页面;

(5)LFU(Lease Frequently Used)算法:将访问次数最少的内容替换出Cache;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: