1.本实验是模拟操作系统的磁盘寻道方式,运用磁盘访问顺序的不同来设计磁盘的调度算法。 2.实现的磁盘调度算法有FCFS,SSTF,SCAN,CSCAN和 NStepSCAN算法。 设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。 3.选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。 4.按算法的寻道效率进行排序,并对各算法的性能进行分析比较。 1.算法描述 1)FCFS算法实现思路:将vector内随机产生的数依次读出,相当于对于队列数据结构中的出队操作。 2)SSTF算法实现思路:在时间复杂度和空间复杂度上的综合考虑,我首先将vector内的数据进行排序,然后确定当前磁道号在有序数据中的位置,然后在该位置的左右找到离它最近的数,并将当前位置进行刷新。 3)SCAN算法实现思路:首先将vector内的数据进行排序,然后同样地确定当前磁道号在有序数据中的位置,然后在向内的方向上依次访问,访问完了之后,再输出初始位置向外的服务序列。 4)CSCAN算法实现思路:开始和前面的算法一样,也是先进行排序,定位,然后
1
1.设定系统中有五个进程,每一个进程用一个进程控制块表示。 2.输入每个进程的“优先数”和“要求运行时间”。 3.为了调度方便,将五个进程按给定的优先数从大到小连成就绪队列。用一单元指出队列首进程,用指针指出队列的连接情况。 4.处理机调度总是选队首进程运行。采用动态优先数算法,进程每运行一次优先数就减“1”,同时将运行时间减“1”。 5.若要求运行时间为零,则将其状态置为“结束”,且退出队列。 6.运行所设计程序,显示或打印逐次被选中进程的进程名以及进程控制块的动态变化过程。 1.算法描述: 设计一个有 N个进程共行的进程调度程序。 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法。每个进程有一个进程控制块( PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。进程的运行时间以时间片为单位进行计算。每个进程的状态可以是就绪 W(Wait)、运行R(Run)、或完成F(Finis
1
个人实验,成绩良(整个专业没几个优,我也不知道为啥) 除了实验二可能跑不了,其他都是正常的 预览:https://img-blog.csdnimg.cn/f1a00a42a93141db842d2a647fe1296a.png 实验一:添加简单的linux内核模块 内核模块开发的主要流程、框架和重要函数。 实验二:进程间通信 使用内存映射文件实现进程间通信 实验三:进程同步与互斥-生产者消费者(两种方式) 实验四:Limux内存管理 1.显示进程的虚拟内存地址空间分布信息 2.获取一个进程的虚拟存储区域信息 3.计算vma每个vma区域的大小,以及代码段和数据段的大小. 实验五:proc文件系统及查看进程信息 请读者自己完成一个类似cat的读取程序,可以命名为mycat.c,用于显示/proc/tasklist中的进程信息(提示:proc文件既然是文件,就可以按照普通文件的方式进行读写) 实验六:Linux驱动程序 内容一:实现读取CMOS实时时钟信息的驱动程序 内容二:实现一个基于内存映射的设备驱动程序 内容三:向映射内存区域写入信息并显示 最后附录是各个实验的代码
2022-12-27 09:04:08 5.72MB 山东科技大学 操作系统实验
操作系统实验报告一(进程调度).docx
2022-12-23 22:38:30 253KB 文档资料
1
西南交大操作系统实验报告,包含代码与截图
2022-12-20 15:02:42 749KB 操作系统 实验报告
1
操作系统实验报告四川师范大学信息与计算科学.。
2022-12-09 12:54:57 1.56MB 操作系统 Java
1
操作系统实验报告心得体会.docx
2022-12-09 09:39:21 16KB 互联网
1
西工大计算机学院计算机操作系统2022最新报告,给出了两次实验的完整的project, 可以直接copy到linux系统中使用bochs -f bochsrc运行,同时 word报告中详细介绍了编写代码的步骤和相关的代码和最后的实验的截图,供各位同学参考 实验内容: 掌握GeekOS系统的线程调度算法,实现线程调度的优化。 1. 按照实验讲义P146页中的设计要求,增加线程调度算法的选择策略,使系统可以在时间片轮转调度和四级反馈队列调度之间切换,并且实现四级反馈队列调度算法,给出关键函数的代码以及实验结果。 2.回答问题:在MLFQ算法中,如果为不同队列的线程设置不同的时间片,如何实现?代码要做哪些修改?第十章第1、2题. 掌握GeekOS系统的线程同步与互斥原理,实现线程的同步与互斥。 1. 在GeekOS中实现信号量,使用信号量保证用户程序运行时的线程同步,给出关键函数的代码以及实验结果。 2. 设计测试程序,验证线程同步和互斥的结果。 3. 回答课后思考题。第十一章第1题。 在项目2 的基础上,增加调度算法的选择策略,使系统可以在时间片轮转调度和四级反馈队列调度之间切换。实
1
①:了解linux软中断(Signal)的工作原理 ②:在Linux上使用C语言编写一个包含信号处理机制的程序,该程序中可以安装自己的信号处理程序;再此基础上发送一个对应的信号,验证自己安装的信号处理程序
2022-12-05 11:02:59 316KB 操作系统 linux软中断
1
1.1实验目的 了解Linux共享内存进行进程通信的基本原理; 在Linux上使用C语言编写两个程序,其中一个程序创建一个共享内存区域,并向该区域写入一些内容,另一个程序从该共享区域读出内容,验证写入的内容和读出的内容是否一致,从而加深对共享内存工作原理的解释。
2022-12-05 11:02:47 238KB 操作系统 Linux共享内存 进程通信
1