操作系统
文章平均质量分 79
ZZULI丶TiAmo
Be Berter.
展开
-
操作系统第四次实验-基本分页存储管理(python代码实现)
其次因为作业分配和回收之间需要靠物理块号来确定每个作业所有物理块在内存中的位置,这其中需要进行行号、列号与物理块号的转换,稍微有一些麻烦,我采用的是通过在作业数据结构定义一个存储每一个物理块行号和列号的列表,每分配一个页面到物理块就记录该物理块的行号与列号,两者作为一个元素,保存至该列表中,在进行作业回收时直接根据该列表中的记录在内存中回收物理块即可,相对来说实现容易一些。(3)作业空间回收是输入作业名,回收相应的空间,如果这个作业名不存在,也要有相应的提示。(1)内存空间不足的情况,要有相应的显示;原创 2023-01-04 20:04:19 · 2203 阅读 · 2 评论 -
操作系统第三次实验-动态分区存储管理(python代码实现)
在具体的代码实现中,我采用的是Python语言,因为Python中列表这一数据结构可以较为简便地实现分区的增删改,在处理BF和WF内存分配算法时需要注意在分区空间相同时优先向低地址的分区分配作业,这个要求的实现如果不细想的话可能觉得比较复杂,实际在仔细考虑之后只需将排序算法中小于或大于的比较中加上等号就可实现了,因为本身分区是按地址从小到大依次排序的,那么在加上等号之后就可实现在新的排序中即使分区的大小相同,也是地址较小的靠前。分区的回收:用户输入作业号,实现分区回收,同时,分区的合并要体现出来。原创 2023-01-04 19:59:15 · 3363 阅读 · 0 评论 -
操作系统第二次实验-动态高优先权优先进程调度
目的:了解并掌握动态高优先权优先调度算法的理论,掌握动态优先权的设置方式。任务:模拟实现动态高优先权优先的调度(若数值越大优先权越高,每运行一个时间单位优先权-n,若数值越小优先权越高,每运行一个时间单位优先权+n)。1、实验内容设置进程体:进程名,进程的到达时间,服务时间,初始优先权,进程状态(W——等待,R——运行,F——完成),进程间的链接指针;进程初始化:由用户输入进程名、服务时间、初始优先权进行初始化,同时,初始化进程的状态为W;显示函数:在进程调度前、调度中和调度后进行显示;排序函数:原创 2022-08-07 16:30:20 · 3662 阅读 · 1 评论 -
操作系统第一次实验-短作业优先调度算法
目的:了解并掌握作业调度的功能,熟悉并掌握各种作业调度算法。任务:模拟实现先来先服务或者短作业优先调度算法。模拟实现SJF调度。设置作业体:作业名,作业的到达时间,服务时间,作业状态(W——等待,R——运行,F——完成),作业间的链接指针;作业初始化:由用户输入作业名、服务时间、到达时间进行初始化,同时,初始化作业的状态为W。显示函数:在作业调度前、调度中和调度后进行显示。排序函数:对等待状态的作业按照调度算法排序(不同的调度算法排序方式不同),注意考虑到达时间。调度函数:每次从等待队列队首调度原创 2022-06-11 19:41:57 · 5373 阅读 · 1 评论