磁盘与文件系统就是由4层抽象组成!!!
总结一下磁盘的使用:多进程需要读写→通过文件系统(第四层抽象)目录解析找到test.c文件,根据文件(第三层抽象)的FCB得到所需位置的盘块号→盘块号写入请求队列排队(第二层抽象)进行电梯算法→磁盘驱动根据盘块号(第一层抽象)算出C H S→相应扇区读写。下面开始一层一层的抽象开始讲解。
总结:用户删除文件的某一段字符→最终对应磁盘删除的全过程
![](http://i.imgur.com/nGQmK0Z.png)
用户需要删去文件里面的200-212字符,于是编程写write(fd),多进程切换中对应PCB也开始切换调度,轮到删200-212的进程执行时,开始找对应文件名fd的fcb(多级索引inode信息)查该文件存在哪些盘块上的,把盘块号放入请求队列执行电梯算法,在磁盘控制器上算出C H S,把这些信息根据out发在磁盘管理器上,最后开始删除。
L28 生磁盘的使用
原理一样:文件视图、out、中断,但是比前面显示器和键盘复杂很多。包装(抽象)层次复杂。
让磁盘工作起来,就是生磁盘
扇区的大小是传输时间和碎片浪费的折中
磁盘数据读写过程:移动磁头到相应的磁道上,旋转磁盘到相应的扇区上,和内存缓存配合进行读写。(控制器—>寻道—>旋转—>传输)
raw disks
<