一、格式化的磁盘容量为什么比最大容量要小?
在磁盘可以存储数据之前,它必须被磁盘控制器格式化。包括用表识扇区的信息填写扇区之间的间隙,标识出表面有故障的柱面并弃用。以及在每个区中预留出一组柱面作为备用,如果区中一个或者多个柱面在磁盘使用过程中坏掉,就可以使用这些备用的柱面。因为存在着这些柱面,所以磁盘制造商所说的格式化容量比最大容量要小。
二、在程序中利用局部性
存储系统被组织成为一个存储设备的层次结构,较小、较快的设备靠近顶部,较大、较慢的设备靠近底部。由于这种层次结构,程序访问存储位置的有效速率不是一个数字所能描述。相反,它是一个变化很大的程序局部性的函数,变化可以有几个数量级。
有良好的局部性的程序从快速的高速缓存存储器中访问它的大部分数据。局部性差的程序从相对慢速的DRAM主存中访问它的大部分数据。
(1)注意内循环,它涉及大部分的计算和存储器访问。
(2)通过按照数据对象存储在存储器中的顺序、以步长为1的来读数据,从而使得你的程序中的空间局部性最大。
(3)一旦从存储器中读入了一个数据对象,就尽可能多地使用它,从而使得程序中的时间局部性最大。
三、虚拟存储器
主存也可以为通常由磁盘实现的辅助存储器充当Cache -- 虚拟存储器技术
构造虚拟存储器的两个主要动机:
(1) 允许在多道程序之间有效而安全地共享存储器
(2) 允许单用户程序超过主要存储器的数量
在虚拟存储器中,块被称为页(page),访问缺失称为缺页. 在虚拟存储器中,处理器产生一个 虚拟地址
再结合软硬件转换为一个物理地址(physical address)
由虚拟存储器控制的两极存储器层次结构是DRAM和磁盘. 好比一本书的书名就是虚拟地址, 物理地址就是这本书在图书馆中的位置.
虚拟地址和物理地址都被划分为页, 因此一个虚页被映射到一个物理页, 当然, 一个虚页也可能不在主存中,因此无法映射到物理地址空间, 这种情况下, 页就被存在磁盘上,
物理页 可以被两个指向相同物理地址空间的虚拟地址所共享. 这种方法用来使两个不同的程序共享数据或代码.
本文探讨了计算机系统结构中的三个关键概念:磁盘格式化后实际容量小于标称容量的原因,程序如何利用局部性提高效率,以及虚拟存储器的工作原理和优势。通过理解这些,可以更好地优化程序性能和存储管理。
2939

被折叠的 条评论
为什么被折叠?



