*** 作系统计算题该怎么学??

 *** 作系统计算题该怎么学??,第1张

*** 作系统中的计算大都是一些方法或是策略的模拟,关键是要把每种方法的核心思想与相关步骤理解了,在理解的基础上再去记忆。

比如:在给定一个逻辑地址,给定页面大小、给定页面部署情况下,由逻辑地址计算代码的物理地址。其本质是搞清分页式内存管理的基本思想,然后就是只是按步骤先计算逻辑页号,页内地址,再查找逻辑页与物理页的对应,找到相应的物理页,计算该物理页的起始地址,再加上刚才计算的页内地址,就完成了。

当然,这只是一个简单的例子,在OS各章节中,都有这样的计算。主要包括:

作业调度中,不同调度策略下(先来先服务、短作业优先等)计算用户作业的等待时间,平均周转时间,带权周转时间,系统的吞吐率等

预防死锁的银行家算法模拟

内存管理中的地址转换;

虚拟内存中不同页面置换算法所产生的缺页率等

文件管理中索引形式、多级索引形式下文件逻辑存储单元的分配,其空闲单元的回收等。

1.可利用资源向量Available2.最大需求矩阵Max3.分配矩阵Allocation4.需求矩阵Need **功能介绍:模拟实现Dijkstra的银行家算法以避免死锁的出现.分两部分组成:第一部分:银行家算法(扫描)1.如果Request<=Need,则转向2否则,出错2.如果Request<=Available,则转向3,否则等待3.系统试探分配请求的资源给进程4.系统执行安全性算法第二部分:安全性算法1.设置两个向量(1).工作向量:Work=Available(表示系统可提供给进程继续运行所需要的各类资源数目)(2).Finish:表示系统是否有足够资源分配给进程(True:有False:没有).初始化为False2.若Finish[i]=False&&Need<=Work,则执行3否则执行4(I为资源类别)3.进程P获得第i类资源,则顺利执行直至完成!并释放资源:Work=Work+AllocationFinish[i]=true转24. 若所有进程的Finish[i]=true,则表示系统安全否则,不安全!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8659715.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存