1,计算机系统中提供的存储能力:
(1)主存:一般是由硅制的存储芯片组成。
(2)辅存:一般是基于磁盘。
辅存的容量通常比主存的容量大至少两个数量级;磁盘比主存便宜,但是磁盘的速度很慢(因为有两个机械移动)
2,磁盘驱动器
(1)构成:
若干的盘片;主轴;磁臂;磁头;磁道;柱面。
(2)磁盘的存取工作:
1)盘片绕主轴旋转;
2)磁臂是物理的连接在一起的;
3)磁臂末端的磁头读取磁道上的数据;(垂直方向上的一组磁道被对应的磁头同时读取)
4)柱面是由一组垂直方向上的所有磁道组成;
(3)磁盘速度慢:
因为有两种机械移动部分:
1)盘旋转
2)磁臂移动
解决方法:为了平摊等待机械移动所花费的时间,磁盘会一次存取多个数据项;
这样,信息被分割成一些在柱面内连续出现的相等大小的位的页面,每次磁盘读写的是一个或多个完整的页面;
(4)存取数据的运行时间的两个主要组成部分:
1)磁盘存取次数(用存取的信息的页数来衡量)
2)CPU(计算)时间
3,典型的应用
在B树的应用中,要处理的数据量很大,因此无法一次都装入主存;
B树算法将所需的页选择出来复制到主存中去,而后将修改过的页再写回到磁盘上去,主存中只能有有限的页数。
B树算法的运行时间主要由读盘和写盘的次数决定,处于这个原因,在B树中,一个结点的大小通常相当于一个完整磁盘页。
对于存储在磁盘上的一棵大的B树,通常采用的分支因子要尽可能的大,(不过具体取决于一个关键字相对于一页的大小),这样可以大大的降低树的高度,以及寻找任意关键字时所需的磁盘存取次数。
|
|