1.感觉今天最大的收获应该就是明白了索引查找这类的原理;用这种数据结构的方式来解决快速查找关键字;
这类问题一般都是map类型,就是一个索引对应一个关键字,如数组;他的下标就可以看成索引,还有数据中的B+树实现索引,一个索引对应指向某条元组(记录)的指针来达到快速查找;包括今天复习OS的文件系统中关于文件物理结构如何分配磁盘块的方式:
连续分配、链接分配、索引分配;
类比于顺序表和链表形式;
而索引表就是把一个文件需要的所有盘块号都集中放在一起构成索引块(表);查找文件对应的到索引块,然后查看块里的信息,找到全部的盘块号;
2.重点学习内容:
磁盘调度算法:用户访问文件,文件存在磁盘中,OS收到多个用户的命令请求同时到达的时候,会决定先为哪个请求服务,就用到磁盘调度算法:
2.1 一次磁盘读写操作时间 = 寻道+延迟+传输时间
寻道:就是磁头移动到指定磁道所需要的时间;
延迟:找到磁道后定位到他的扇区所需要的时间;
传输:读写数据时间;
而磁盘调度算法就是解决寻道时间!
1)FCFS先来先服务:
根据磁盘请求队列的顺序依次访问;
2)最短寻找时间算法:(SSTF)
每次都寻找与当前磁头所在磁道最近的磁道;容易出现饥饿现象;
3)扫描算法(SCAN)
在磁头当前移动方向上选择与当前磁头距离最近的磁道;寻找到头后再返回过程中依次服务,类似于“电梯”;
4)循环扫描(C-SCAN)
也是规定单向移动磁头来选择最近的服务,但是当到头后就直接回到开始,再继续单向走;
补充:LOOK,和C-LOOK,就是在3、4的基础上,不到头,只要后续没有服务了,就返回;
OS知识学习(2)
最新推荐文章于 2024-08-05 15:54:56 发布