【计算机组成原理】快到碗里来,轻松图解硬盘结构~

 0 先上图,如图便是磁盘的外观结构

我在图中标注的文字会与讲解结合,后面的讲解将会不断用到此图 

  1 磁盘存储器的组成

磁盘驱动器
磁盘控制器
盘片

1.1 磁盘驱动器

核心部件是磁头组件和盘片组件。

1.2 磁盘控制器

硬盘存储器和主机的接口。

 1.3 盘片

 一个盘片有两个盘面(上盘面和下盘面)每一个盘面的结构如下:

(1)一个盘面有若干个磁道(连续紧挨)

(2)一个磁道分割成若干个扇区(连续紧挨)

(3)只有划分为磁道的盘面部分才能存储二进制信息,其他地方为转轴或者边缘区域,不可存数据

  2 必须要清楚的几个概念

  • 磁头数(Heads) = 盘面数(一个磁头对应于一个盘面,这个可以回看上面的第一张图 )
  • 柱面数(Cylinders) = 盘面的磁道数为什么称为柱面?看下图,所有磁头绕盘面一周是可以形成一个“断续的柱面”的 

  • 扇区数(Sectors) :表示每条磁道上有多少个扇区(这里可以回看上面的第2张图)

   3 如何清晰地描述磁盘扇区的地址?

(1)一个系统机器可以配备多个磁盘,所以在地址中要用若干字节来描述要对哪一个磁盘进行读写(磁盘号)

(2)一个磁盘有若干个柱面(一个盘面有若干个磁道),所以在地址中要用若干字节来描述要对哪一号磁道(柱面)进行读写(磁道号,也称柱面号)

(3)一个柱面有若干个盘面,所以在地址中要用若干字节来描述要对一个磁道的哪一号盘面进行读写(盘面号)

(3)一个盘面有若干个扇区,所以在地址中要用若干字节来描述要对一个盘面的哪一号扇区进行读写(扇区号)

综上,磁盘的地址结构如下:

   4 计算机组成原理中的计算题

4.1 计算题中的常见概念

存取时间  = 寻道时间 + 寻找扇区时间 + 其他延迟时间 + 传输时间

存取时间:对磁盘进行读或写需要的时间

寻道时间:寻找目标磁道的时间(一般题目中会明确给出)

寻找扇区时间:寻找目标扇区的时间(一般默认为 盘片旋转半周 的时间)

传输时间:磁头对扇区的读(或写)时间(需要自己计算)

其他延迟时间:其他的一些延迟时间,如果需要计算,题目应该会说明(如磁盘控制器延迟时间)

4.2 例题

【2013年统考真题】某磁盘的转速为10000r/分,平均寻道时间是6ms,磁盘传输速率是20MB/s,磁盘控制器延迟时间是0.2ms,读取一个4KB的扇区所需要的平均时间约为?( )

A.9ms        B.9.4ms        C.12ms        D.12.4ms

【分析】存取时间  = 1寻道时间 + 2寻找扇区时间 + 3其他延迟时间 + 4传输时间

1寻道时间 = 6ms

2寻找扇区时间 = (60s/10000r)/2 = 3ms

3其他延迟时间 = 磁盘控制器延迟时间 = 0.2ms

4传输时间 = (1s/20MB)*4KB = 0.2ms

存取时间  = 6ms + 3ms + 0.2ms + 0.2ms = 9.4ms

答案为 B

感谢读取>.< ~

  • 10
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构是计算机科学中非常重要的概念之一,它用于组织和存储数据以便有效地操作和访问。Java语言提供了丰富的数据结构库,包括数组、链表、栈、队列、树、图等。我将为你图解一些常见的数据结构及其在Java中的实现。 1. 数组(Array):数组是一种线性数据结构,它按照顺序存储相同类型的元素。在Java中,数组的大小在创建时就确定,并且可以通过索引访问和修改其中的元素。 2. 链表(Linked List):链表是一种动态数据结构,它由节点组成,每个节点包含数据和指向下一个节点的引用。在Java中,有单向链表和双向链表两种常见的实现方式。 3. 栈(Stack):栈是一种后进先出(LIFO)的数据结构,类似于我们生活中的一叠盘子。在Java中,可以使用Stack类或者使用LinkedList类来实现栈。 4. 队列(Queue):队列是一种先进先出(FIFO)的数据结构,类似于我们日常生活中排队等待的情况。在Java中,可以使用Queue接口或者使用LinkedList类来实现队列。 5. 树(Tree):树是一种非线性的数据结构,它由节点和边组成,每个节点可以有多个子节点。在Java中,常见的树结构包括二叉树、二叉搜索树(BST)、AVL树、红黑树等。 6. 图(Graph):图是一种由节点和边组成的数据结构,节点表示实体,边表示实体之间的关系。在Java中,可以使用邻接矩阵或邻接表来表示图,并通过深度优先搜索(DFS)或广度优先搜索(BFS)等算法来遍历图。 这些只是数据结构中的一部分,Java还提供了其他更复杂的数据结构和算法库,可以根据具体需求选择合适的数据结构。希望以上图解能够帮助你更好地理解数据结构在Java中的实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值