操作系统学习笔记
用来记录操作系统各种算法的具体实例
林夕i
记录学习历程
展开
-
混合索引求单个文件最大长度、系统支持的最大分区长度
L0(直接地址索引): 有8个,所以为 8 * 512 = 4KL1(一级间接地址): 有2个,所以为 2 * 512/4 * 512 = 128KL2(二级间接地址): 有1个,所以为 1 * 512/4 * 512/4 * 512 = 8M这里的512是磁盘索引块大小,4是每个地址项大小。L0+L1+L2 = 132K + 8M (Byte)算法:2 4*8-3 * 512 = 256 G (Byte) 这个算法中,4 * 8 - 3 指的是每个地址项大小 * 8位 - 磁盘ID所占的位.原创 2020-12-20 17:31:53 · 8686 阅读 · 0 评论 -
一定或者可能发生死锁时求进程数,求磁盘分区簇大小(操作系统)
一、已知磁盘分区容量、以及所需簇的个数,求磁盘分区簇的大小,或者三者知二求一设磁盘分区簇的大小为x,先把容量的单位转换为kb,用容量除以磁盘分区簇的大小,再除以(磁盘分区簇换算成位,也就是x * 1024 * 8),得到的大小就是所需簇的个数。具体算法: 20* 1024 * 1024Kb / x Kb / (x * 1024 * 8) = 160 解得x=4K二、为使进程一定不发生死锁,并发进程最多为多少?设进程个数为n,每个进程需要的某个资源数为m,则一定不发生死锁时,公式为:n * m原创 2020-12-20 16:02:29 · 1006 阅读 · 1 评论 -
磁盘调度算法(SCAN,CSCAN,NStepSCAN,FSCAN)(操作系统)
一、SCAN(扫描算法) 会提示你寻道方向,然后按照起始方向移动磁头,直到最小,然后再往大处走,直到最大再往回走,直到完成。往返移动二、CSCAN(循环扫描算法) 类似于SCAN,但是它不来回移动,而是磁头移动方向是单向的,比如从大往小移动,那么达到最小值后,瞬间移动到后面的最大磁道处,再往小处移动,以此类推直到完成。三、NStepSCAN(N步SCAN算法)原创 2020-12-01 18:52:27 · 46498 阅读 · 7 评论 -
页面置换算法(含 Opt,FIFO,LRU,LFU,Clock页面置换算法)(操作系统)
一、Opt(最佳置换算法):(不排序) 写法:上老下新(下面的是最新访问的) 思想:往后看,替换那个未来不使用或者未来最长时间内不被使用的那个,注意看清题目有几个物理块二、FIFO(先来先服务):(把最上面的替换,新来的排到最下面) 注意: 如果已经存在了,当再次被访问时,不用移位,这是与LR原创 2020-12-01 18:22:33 · 3469 阅读 · 1 评论 -
磁盘存储器(传输速率,磁盘容量,转速求法)
注意单位!!最后是rpm还是rps ,传输速率是mbps 还是mbpm原创 2020-11-16 15:28:09 · 4056 阅读 · 0 评论 -
中断处理的理解(操作系统)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2020-11-16 12:24:08 · 516 阅读 · 0 评论 -
缓冲区管理(T,C,M)(操作系统)
1.单缓冲区例题:原创 2020-11-09 11:16:34 · 493 阅读 · 0 评论 -
存储器管理(分页存储)例题解析(操作系统)
逻辑地址 = 页号 * 页长 + 页内偏移量将逻辑地址102B(H)转换成十进制,11* 160 +2*161 +1 *163 =4139因为页长1KB=1024 ,所以 4139/1024 = 4 余数是43 那么也就是说 页号是 4 页内偏移量是 43 ,由页号 4 找到块号 2 ,2 * 1024 + 43 = 2091 , 2091换算成 16 进制就是 082B这里考2级页表,逻辑空间地址256K,一级页表项个数为 64 ,256K / 64 = 4K 所以说,二级页表页表...原创 2020-11-07 20:43:54 · 9548 阅读 · 3 评论 -
银行家算法详细实例(操作系统)
题目与答案:公式:need = max - allocation (总共的 - 已经占用的 = 需要的) ,available = 各个进程的全部总量 - 各个进程已经占用的资源之和 , 例如: 这里的 available :A :20 - (1+6+2+2+0) = 9 , B: 26 - (6+5+4+4+2) = 5 , C:31 - (0+8+4+9+7) = 3 , D:17 - (3+2+3+6+3) = 0 !!! available 就是 (9,5,3,0)判断系统状态原创 2020-11-07 20:02:37 · 12427 阅读 · 7 评论 -
时间片轮转RR算法
这个解法比较麻烦,中间过程容易出错,切记要仔细再仔细!3 P1(11)6 P1(8)12 P2(14) P1(5)21 P3(8) P2(11) P1(2)35 P4(7) P5(3) P3(5) P2(8) P1(0)47 P4(4) P5(0) P3(2) P2(5)55 P4(1) P3(0) P2(2)58 P4(0) P2(0)其中的每一行总共运行的时间+每一行前面的数字=下一行开头的时间,比如(1+2)+55 = 58平均带权周转时间:[ (35-..原创 2020-11-06 20:33:41 · 2927 阅读 · 0 评论 -
SPF(SJF)短进程(短作业)优先算法
一上来P1直接服务,服务时间7s,这服务时间7s内,P2 P3 也进入等待队列,并且P2作业短所以下一个是P2,服务6s到第13s,也就是说时间进行到了13s,这个时候P4 P5 也到了到达时间,现在队列里有P3P4P5,按照作业最短依次是P5P4P3,最后结束时间是33s平均周转时间计算方法:n个进程的 (进程服务完结束的时间-到达时间)/n ,就是每个进程从进来到结束总的这段时间加起来/n例如这里是 [ (7-0)+(13-3)+(15-13)+(23-9)+(33-5) ] / 5 =...原创 2020-11-06 19:38:28 · 4851 阅读 · 0 评论 -
进程同步练习(P、V操作)
整形信号量为S,所说的P、V操作wait(S)和signal(S)wait(S):{S->value–;if(S->value < 0)block(S->list);}signal(S):{S->value++;if(S->value <= 0)wakeup(S->list);}执行序列:S1 C=42S2 Y=C-Y=42-45=-3S3 V(T) T=1S4 C=Y-N=-3-47=-50原创 2020-11-06 18:53:46 · 892 阅读 · 0 评论