通过磁头和磁盘的电生磁,磁生电来写读通过往控制器写入扇区sect 磁头head 柱面port 等位置,通过DMA总线盗用技术,将信息读入内存或写入磁盘,重点在于传递数值,使用out指令,将几个信息拼接起来
寻道(移动磁臂)时间是最长的,机械运动
相邻盘块最好相邻,可以快速读出 7号在0号下面,因为在同一个磁道,不需要再寻道
盘块取代扇区,每次读取的时间相同,但是读取的空间大多了
根据block号算出扇区号,再根据扇区号得到C H 然后out指令输出
调度算法
先入先出,太麻烦了先处理离我最近的,但是中间柱面访问的比较多,所以总是在中间晃来晃去,边缘的磁道比较难去处理,SSTF存在饥饿问题首先根据盘块号求得扇区号,然后加入队列 add_request,有临界区cli sti
从生磁盘到文件
用户感觉是字符流,实际是对磁盘对应操作连续方式实现文件,但是当文件过大时就要需要很大的连续空间,浪费空间和时间,但是易于存取,因为连续,类似于数组存取起来比较慢,但是动态变化很快,类比于数组和链表
构建一个索引表,比如19就是索引块 第0-99个字符在盘块9,100-199在17……
文件使用磁盘
inode是一个表得到盘块,file表示哪个文件的哪里开始 buf是读还是写,count是长度
f_pos就是的字符流中的起始位置根据路径名找到inode,根据inode找到盘块号,根据盘块号往电梯队列中放,根据队列中的盘块号找到CHS,放到磁盘控制器上,马达控制磁头电生磁,磁生电