一、存储历史
二、计算机IO
1.什么叫IO
I表示in,对于CPU来说,从内存中取数据;O表示out,CPU运算完后将数据发送至内存
同理,对于磁盘来说,将数据写入磁盘表示in,将输入从磁盘读出来叫out
2.总线
PCI总线:一种南桥与外设连接的总线技术
PCI总线特点:中断共享,即不同设备使用同一中断而不发生冲突。硬件上采用电平触发;软件上采用中断链,即,假设系统启动时,发现板卡A用了中断7,就会将中断7对应的内存区指向A卡对应的中断服务程序入口ISR_A;系统发现板卡B也用了中断7,这是中断7会指向对应的内存区ISR_B,同时ISR_B的结束指向ISR_A,以此类推,形成一个中断链。
CPU与硬盘之间的通信
通信都是“连”、“找”、“发”的过程
连:CPU与硬盘间通过总线进行连接
找:设备地址映射,每个IO设备在启动时都要向内存中映射一个或者多个地址,这个地址被称为IO端口,针对这个地址的数据,统统被北桥芯片重定向到总线上实际的设备上。
发:北桥芯片接收到之后,会等待CPU发送3条指令
(1)指令中主要包含了是读还是写
(2)指明应该读取的硬盘逻辑块号(LBA)
(3)读出来的内容放到内存哪个地址中
三、磁盘原理与技术详解
1.磁盘结构
盘片:盘片的基板有金属或玻璃材质制成,表面光滑平整不可有任何瑕疵。
磁头:硬盘的存储原理是将数据用控制电路通过硬盘读写头去改变磁盘表面上极细微的磁性粒子簇的N、S极性来加以存储。
磁性粒子簇溅镀在磁头可定位的范围内,并且磁性粒子制作得越细越好。硬盘读写头会漂浮在磁盘表面,高速来回移动读取数据,不能有接触,接触就会有划伤。实现这种技术,完全靠磁盘旋转时,在盘片上空产生空气流,利用空气动力学使磁头悬浮在磁盘片上空。
步进电机:为了让磁头精确定位磁道,必须使用步进电机,利用精确的齿轮或者音圈,每次旋转可以仅仅使磁头进行微米级的位移。
盘片上的数据
每个盘片的每个面都有一个读写磁头,磁头起停在盘片的最内圈。这个区域不存放任何数据,称为启停去或者着陆区
磁道:磁盘在格式化时分为很多同心圆,这些同心圆轨迹叫做磁道。磁道是用肉眼看不见的,只是在盘面上以特殊形式磁化了一些磁化区。划分磁道和扇区的过程,叫做低级格式化。另外,高级格式化指对磁盘上所存储的数据进行文件系统标记,而不是对磁道和扇区进行标记。
柱面:所有盘片上的同一磁道,在竖直方向构成的一个圆柱。
扇区:每个环形磁道等距离切割,形成等长度的圆弧,每个圆弧就是一个扇区。
扇区三级地址:扇区所在柱面(Cylinder)、磁头编号(Header)、扇区(Sector)在磁道上的位置(扇区号),称为CHS地址
磁盘读写数据的原理:盘片高速旋转,磁头用磁性对每个格子的磁性粒子去做磁化操作,每个磁极表示0或者1的状态,每个格子规定存放4096位,也就是512个字节(一个扇区)。等同一柱面上的所有磁头读写完毕后,磁头在转向下一柱面。选取磁头只需要电子切换,选取柱面需要机械切换,即寻道。
要精确到每个格子就需要给每个格子一个地址,早期是采用CHS地址方式,后来因为每个磁道的扇区数目不同,采用逻辑地址来编址,具体的盘片、磁道和扇区抽象成LBA地址。