操作系统课程设计任务书(2)
2、具体设计要求及有关说明
选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态:运行状态(RUN)、就绪状态(READY)和完成状态。并假定初始状态为就绪状态。 设计进程控制块结构如下:
PCB:
NAME
PRIO/ROUND
CPUTIME
COUNT
NEEDTIME
STATE
NEXT
其中:
NAME——进程标识符;
PRIO——进程优先数;
ROUND——进程轮转时间片;
CPUTIME——进程占用CPU时间;
COUNT——计数器;
NEEDTIME——进程到完成还要的CPU时间;
STATE——进程的状态;
NEXT——链指针。
进程控制块链结构如插图。其中:
RUN——当前运行进程指针;
READY——就绪队列头指针;
TAIL——就绪队列尾指针;
FINISH——完成队列头指针。
为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转时间片数以及进程需运行的时间片数的初值均由用户给定。
3、程序设计算法:
(2)程序结构说明如下: (1)在优先数算法中,进程每执行一次,优先数减3,CPU时间片数加1,进程还需要的时间片数减1。在轮转法中,采用固定时间片,时间片数为2,进程每执行一次,CPU时间片数加2,进程还需要的时间片数减2,并排到就绪队列的尾上。
整个程序由INSERT1, INSERT2, FIRSTIN, PRINT, CREATE, PRISCH和ROUNDSCH过程组
成。其中:
INSERT1的功能是把还未完成且优先数小于别的进程PCB按进程优先数的顺序插入到就绪队列中。
INSERT2是轮转法使用的过程,将执行了一个单位时间片数(为2)且还未完成的进程的PCB插入到就绪队列的队尾。
FIRSTIN的功能是将就绪队列中的第一个进程投入运行。
PRINT打印每执行一次后的所有进程的状态,这里,就绪(等待)用“W”代表。 CREATE的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。
PRISCH按优先数算法调度进程。
ROUNDSCH按时间片轮转法调度进程。
主程序中定义了PCB的结构和其它变量NUMBER——进程数,ALGO为10个字符长的字符串,存放要求输入的算法的名,PRIORITY为优先数算法,ROUNDROBIN为循环轮转法,在程序运行时输入其中的一个。
课题八:多道程序缓冲区协调操作
如下图所示,有10个PUT操作要不断循环地向Buffer1送数据,有一个Move操作要不断地将Buffer1的数据取到Buffer2,有20个GET操作要不断地从Buff2中取数据。BUFF1是10,BUFF2的容量是20, PUT、 MOVE、 GET每次操作一个数据,为了在操作的过程中要保证数据不丢失,每个Buffer每次只能接受一个PUT或一个Move或一个Get,多个操作不能同时操作同一BUFFER。设计一个多道程序完成上述操作。
试用P、V原语协调PUT、 MOVE、GET的操作,并说明每个信号量的含义、初值和值的范围。
PUT MOVE GET
1、基本功能要求
(1) 显示Buffer的操作过程;
(2) 可以确定Buffer的容量、PUT、GET、MOVE操作的个数;
(3) 自行确定放数据的速度,取数据的速度;
(4) 实时显示每个Buffer中数据的个数,已放入Buffer的数据个数,已取的数据个数;
(5) 程序运行结束,显示汇总数据:
a) 总的运行时间;
b) Buffer中数据的个数;
c) 已放入BUFFER的数据个数;
d) 已放已取的数据个数;
e) 平均buffer中的数据个数。
f) 。。。。。。
课题九、磁盘调度算法
1、设计要求:
要求设计一个程序,该程序模拟操作系统的磁盘调度。模拟仿真FCFS、SSTF、SCAN、CSCAN等磁盘调度算法,并对各算法进行性能分析。应提供良好的测试界面及测试方法。提供全面的输出结果。
2、实验原理
磁盘可供多个进程共享,当有多个进程要求访问磁盘时,应采用一种调度算法,以使进程对磁盘的平均访问时间最小,由于在访问磁盘的时间中,主要是寻道时间,因此磁盘调度的目标就是使磁盘的平均寻道时间最短。
选题十:动态资源分配算法演示程序
1、设计目的:主要用于解决多种资源被多个独立执行的进程使用的安全算法。该算法采用矩阵存储资源的数据,通过对系统资源预分配后检查系统状态,以避免死锁的产生。
2、设计要求:
1) 资源种类与数目可在界面进行设置,在资源分配过程中可以随时增加进程及其对资
源的需求
2) 可读取样例数据(要求存放在外部文件中)进行资源种类、数目与进程数的初始化
3) 在资源分配过程中可以随时进行系统安全状态检测
4) 如果能够通过系统安全状态检测,则系统对该进程进行资源分配;当进程满足所有
资源分配后能够自行释放所有资源,退出资源竞争
5) 要求进行安全性检查时按指定策略顺序进行,即按每个进程当前Need数由小至大进
行排序,如果Need数相同,则按序号由小至大进行排序;
6) 具有一定的数据容错性
选题十一:通用处理机调度演示程序
1、设计目的:在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干个,也就是能运行的进程数大于处理机个数,为了使系统中的进程有条不紊地工作,必须选用某种调度策略,在一定的时机选择一个进程占有处理机。要求学生设计一个模拟处理机调度算法,以巩固和加深处理机调度的概念。
2、设计要求(多道、单处理机):
1) 进程调度算法包括:时间片轮转算法、先来先服务算法、短作业优先算法、静态优
先权优先调度算法、高响应比调度算法
2) 每一个进程有一个PCB,其内容可以根据具体情况设定。
3) 进程数、进入内存时间、要求服务时间、作业大小、优先级等均可以在界面上设定
4) 可读取样例数据(要求存放在外部文件中)进行进程数、进入内存时间、时间片长
度、作业大小、进程优先级的初始化
5) 可以在运行中显示各进程的状态:就绪、执行(由于不要求设置互斥资源与进程间
的同步关系,故只有两种状态)
6) 采用可视化界面,可在进程调度过程中随时暂停调度,查看当前进程的状态以及相
应的阻塞队列
7) 有性能比较功能,可比较同一组数据在不同调度算法下的平均周转时间
8) 具有一定的数据容错性
选题十二:采用最低松弛度优先调度的实时系统调度程序
1、设计目的:在实时系统中,要保证在指定的时间完成指定的任务,通常会采用抢占式的调度方式。要求采用指定的调度算法,使系统中的任务能够按时完成,通过观察中系统中的抢占点,以巩固和加深对实时系统调度算法的理解。
2、设计要求:
1) 每一个周期性实时任务必须指定周期长度与执行时间
2) 可以在界面安排周期性实时任务的个数与相关的指标值,又及要求仿真的时间长度
m3) 系统可又对设定的任务条件进行检查,如果无法满足公式 Ci 1 的要求,则弹
出相应的错误提示,并重新进入任务安排界面 i 1Pi
4) 可读取样例数据(要求存放在外部文件中)进行周期性实时任务数、周期长度、执
行时间的初始化
5) 采用可视化界面,数据载入后按最低松弛度算法进行调度,可以在运行中动态显示
各进程的状态:就绪、执行、完成< …… 此处隐藏:2703字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用文档]李践-有效提升销售的12大黄金法则8-大
- [实用文档]党支部换届工作方案
- [实用文档]2013年下期电子商务专业部宣传工作计划
- [实用文档]方庄一矿通风、钻探绩效工资考核管理办
- [实用文档]项目一 认识企业物流认识企业物流
- [实用文档]MBI_Display_产品蓝图规画
- [实用文档]北京市建筑业劳务作业人员普法维权培训
- [实用文档]锅炉燃烧调整与运行优化
- [实用文档]4支付结算业务的核算
- [实用文档]米什金_货币金融学_第9版各章学习指导
- [实用文档]水泥混凝土路面硬化工程施工组织设计
- [实用文档]钢筋工程安全技术交底书
- [实用文档]关于公布华中师范大学本科毕业论文
- [实用文档]太原市园林绿化施工合同范本 2
- [实用文档]周日辅导 初中英语分类复习单项选择题(
- [实用文档]第四章 文化经纪人的管理形式 第二节
- [实用文档]学宪法讲宪法竞赛题库
- [实用文档]《数值计算方法》期末考试模拟试题二
- [实用文档]爱词霸学英语:每日一句( 十月)
- [实用文档]2014年国家公务员面试:无领导小组讨论
- 新课程主要理念和教学案例分析汇编(24
- 英国人的快乐源于幸福的家庭生活
- 七年级上册第一次月考模拟数学试卷
- 真丝及仿真丝的种类有哪些?
- 【最新】华师大版八年级数学下册第十六
- 高中英语3500个必背单词
- 我可以接受失败,但我不能接受放弃!
- 最近更新沪科版八年级物理上册期末试卷
- 绿化工作先进乡镇事迹材料
- 鲁教版九年级上册思想品德教学计划
- 英语音标的分类
- 地下室底板无梁楼盖与普通梁板结构形式
- 美容师黄金销售话术
- 雅思写作满分作文备考方法
- 血清甲状腺激素测定与高频彩色多普勒超
- 1度浅析装修对室内空气品质的影响
- 2017-2022年中国汞矿行业深度分析与投
- 计算机二级VB公共基础知识
- (何勇)秸秆禁烧_重在寻找出路
- 内外墙抹灰工程分包施工合同1




