操作系统一个小型操作系统的设计与实现课程设计资料

操作系统一个小型操作系统的设计与实现课程设计资料

ID:40748479

大小:519.00 KB

页数:39页

时间:2019-08-07

操作系统一个小型操作系统的设计与实现课程设计资料_第1页
操作系统一个小型操作系统的设计与实现课程设计资料_第2页
操作系统一个小型操作系统的设计与实现课程设计资料_第3页
操作系统一个小型操作系统的设计与实现课程设计资料_第4页
操作系统一个小型操作系统的设计与实现课程设计资料_第5页
资源描述:

《操作系统一个小型操作系统的设计与实现课程设计资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、操作系统课程设计报告南通大学计算机科学与技术学院专业:学生姓名:学号:时间:操作系统课程设计报告操作系统课程设计报告操作系统模拟算法课程设计报告设计要求将本学期三次的实验集成实现:A.处理机管理;B.存储器管理;C.虚拟存储器的缺页调度。设计流程图主流程图开始的图形界面存储器管理缺页调度处理机管理LRU算法先进先出最佳适应法首次适应法先来先服务时间片轮转第38页共39页操作系统课程设计报告A.处理机调度1)先来先服务FCFS开始初始化进程控制块,让进程控制块按进程到达先后顺序让进程排队调度数组中首个进程,并让数组中的下一位移到首

2、位计算并打印进程的完成时刻、周转时间、带权周转时间其中:周转时间=完成时间-到达时间带权周转时间=周转时间/服务时间更改计时器的当前时间,即下一刻进程的开始时间当前时间=前一进程的完成时间+其服务时间数组为空NY结束先来先服务算法流程第38页共39页操作系统课程设计报告2)时间片轮转法时间片轮转算法流程图第38页共39页操作系统课程设计报告B.存储器管理(可变式分区管理)1)首次适应法分配流程图开始申请xkb内存由链头找到第一个空闲区分区大小≥xkb?大于分区大小=分区大小-xkb,修改下一个空闲区的后向指针内容为(后向指针)+

3、xkb;修改上一个空闲区的前向指针为(前向指针)+xkb将该空闲区从链中摘除:修改下一个空闲区的后向地址=该空闲区后向地址,修改上一个空闲区的前向指针为该空闲区的前向指针等于小于延链查找下一个空闲区到链尾了?作业等待返回是否登记已分配表返回分配给进程的内存首地址第38页共39页操作系统课程设计报告首次适应算法回收流程图开始输入完成进程的标号在分配区表中查找释放区p下邻分区空闲区前一个空闲区的后向指针指向p的后一个分区,p的后一个分区的前向指针指向p的前一个分区,且p的前一个分区大小更改为加上p的大小,释放p释放区p上邻分区空前一

4、个分区的后向指针指向p的后一个空闲分区,p的后一个空闲分区的前向指针指向p的前一个分区,且p的后一个分区大小更改为加上p的大小释放区p上下均邻空闲区前一个空闲区的后向指针指向p的后一个空闲分区,p的后一个空闲分区的前向指针指向p的前一个空闲分区,且p的前一个空闲分区大小更改为加上p的大小再加上p的后一个空闲分区的大小,合并后的这个空闲区的后向指针指向p的下下个分区,如果p的下下个分区不为空,则其前向指针指向合并后的这个空闲区,释放p和p的下一个分区释放区p上下均不邻空闲区将p放在链首,并修改其状态位为空闲第38页共39页操作系统

5、课程设计报告2)最佳适应法开始释放分区与上空闲分区相邻释放分区与下空闲分区相邻结束释放分区与下空闲分区相邻TFTFTF摘除链表中上分区。合并释放分区与上分区,将上空闲区长度修改为这二分区的长度。摘除链表中上下分区。合并这三个分区,将上空闲区长度修改为三个分区的长度。摘除链表中下分区。合并释放分区与下分区,将释放分区中长度修改为这二分区的长度。将合并的或释放的分区按长度升序重新插入到自由链表中。回收内存流程第38页共39页操作系统课程设计报告C.虚拟存储器的缺页调度1)先进先出FIFO开始FIFO的缺页中断处理查主存分块表有空闲块

6、可用?Y分配一块NJ=p[HEAD]J的修改标志=1?NY输出“将J页复写入交换区”输出“装入L页”调整FIFO队列,将L插入队尾(HEAD=(HEAD+1)modM)修改主存分块表和页表终止FIFO淘汰算法流程第38页共39页操作系统课程设计报告2)LRU开始LRU的缺页中断处理查主存分块表有空闲块可用?Y分配一块N找到栈底元素:J=p[M-1]J的修改标志=1?NY输出“将J页送到入交换区”输出“装入L页”调整堆栈,使HEAD所指元素及以下的元素下移P[HEAD]=L修改主存分块表和页表终止LRU淘汰算法流程第38页共39页

7、操作系统课程设计报告实现原理主界面设计一个框架分别去链接处理机管理、存储器管理和缺页调度相关的程序。A.处理机调度1)先来先服务FCFS(一)任务先来先服务的调度算法实现处理机调度。(二)要求1.实现对FCFS算法的模拟实现2.计算出该算法的平均作业周转时间、平均带权作业周转时间。(三)原理按作业到达CPU时间先后顺序进行非剥夺式调度,先到达CPU的作业先被执行。(四)数据结构structtask_struct{charname;/*进程名称*/intnumber;/*进程编号*/floatcome_time;/*到达时间*/f

8、loatrun_begin_time;/*开始运行时间*/floatrun_time;/*运行时间*/floatrun_end_time;/*运行结束时间*/intpriority;/*优先级*/intorder;/*运行次序*/intrun_flag;/*调度

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。