广工操作系统实验
- 格式:doc
- 大小:1.18 MB
- 文档页数:34
2022年广东技术师范大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、某硬盘有200个磁道(最外侧磁道号为0),磁道访问请求序列为:130,42,180,15,199.当前磁头位于第58号磁道并从外侧向内侧移动。
按照SCAN调度方法处理完上述请求后,磁头移过的磁道数是()。
A.208B.287C.325D.3822、()结构的文件最适合于随机存取的应用场合。
A.流式B.索引C.链接D.顺序3、若系统中有n个进程,则在阻塞队列中进程的个数最多为()?Α. n B.n-1 C.n-2 D.14、若每个作业只能建立“一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用():为了实现人机交,应采用():为了使短作业、长作业,和交互作业用户都满意,应采用()。
I.FCFS调度算法II.短作业优先调度算法,III.时间片轮转调度算法IV.多级反馈队列调度算法V.基于优先级的剥夺调度算法A. II、V、I,IVB. I、V、III、IVC. I、II、IV、IIID.II、V、III、IV5、下面哪个不会引起进程创建()A.用户登录B.作业调度C.设备分配D.应用请求6、下列存储管理方式中,会产生内部碎片的是()。
I.请求分段存储管理II.请求分页存储管理III.段页式分区管理IV.[固定式分区管理A.I、II、IIIB.III,IVC.只有IID.II、III、IV7、假定有个请求分页存储管理系统,测得系统各相关设备的利用率为:CPU为10%,磁盘交换区为99.7%:其他1/O设备为5%。
试问:下面()措施可能改进CPU的利用率?I.增大内存的容量II.增人磁盘交换区的容量III.减少多道程序的度数IV.增加多道程序的度数V.使用更快速的磁盘交换区VI.使用更快速的CPUA.I、II、III、IVB.I、IIC.II、III、VD. II、VI8、处理外部中断时,应该山操作系统保存的是()A.程序计数器(PC)的内容B.通用寄存器的内容C.快表(TLB)中的内容D.Cache中的内容9、下列关于操作系统的论述中,正确的是()。
广东工业大学试卷用纸,共6页,第1页学院:专业:学号:姓名:装订线广东工业大学考试试卷 (B ) 课程名称: 操作系统 试卷满分 100 分 考试时间: 2007年 6月 6 日 (第14周 星期3 ) 题 号 一 二 三 四 五 六 七 八 九 十 总分 评卷得分 评卷签名 复核得分 复核签名 一、 填空题:(每空1分,共20分) 1.进程的三个基本状态是执行态;就绪态;阻塞态 2.用户和操作系统之间的接口可分为 命令接口;程序接口(系统调用);图形图象接口 三类。
3.解决死锁的办法有:预防死锁、避免死锁;检测死锁;解除死锁 4.两个或两个以上程序在计算机系统中同处于开始和结束之间的状态, 这就称为 并发 。
5.页式管理每取一数据,要访问 2 次内存。
6.单机系统中有N 个进程,则最多有 1 个进程处于执行状态。
7.记录型信号量的物理意义是当信号量值大于零时表示通道可用资源数,,当信号量值小于零时,其绝对值表示 阻塞进程数 。
8.进程控制块(PCB )是进程存在的唯一标志。
9.程序中一旦某个位置或数据被访问到,它常常很快又要再次被访问,这一现象称之为程序的 局部性原理。
10.I/O 控制方式有程序查询方式、I/O 中断方式、直接存储器访问(DMA )方式、I/O 通道方式 。
二、单项选择题:(每题1分,共20分) 1. 分时操作系统的主要特点是( D )。
A.设可靠性和安全性 B .自动控制作业运行 C .个人独占计算机资源 D .多个用户共享计算机资源 2.网络操作系统是一种( B )。
A.应用软件 B .系统软件 C .通用软件 D .工具软件 3.UNIX 操作系统区别于WINDOWS98的主要特点是( A )。
A.具有多用户分时功能 B .提供图形用户界面C.文件系统采用多级目录结构D.提供字符用户界面4.在一段时间内只允许一个进程访问的资源,称为( C )。
A.共享资源 B .临界区 C .临界资源 D .共享区5.在单一处理器上,将执行时间有重叠的几个程序称为( C )。
2022年广东海洋大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、文件系统采用多级目求结构的目的是()。
A.减少系统开销B.节约存储空间C.解决命名冲突D.缩短传送时间2、用户在删除某文件的过程中,操作系统不可能执行的操作是A.删除此文件所在的目录B.删除与此文件关联的目录项C.删除与此文件对应的文件控制块D.释放与此文件关联的内存缓冲区3、有若干并发进程均将一个共享变量count的值加1 次,那么有关count中的值说法正确的是()。
1)肯定有不止确的结果2)肯定有止确的结果3)若控制这些并发进程互斥执行count加1操作,count中的值正确A.1)和3)B.2)和3)C.3)D.1)、2)、3)的说法均不正确4、下列关于管程的叙述中,错误的是()。
A.管程只能用于实现进程的互斥B.管程是由编程语言支持的进程同步机制C.任何时候只能有一个进程在管程中执行D.管程中定义的变量只能被管程内的过程访问5、下面关于管程的叙述错误的是()。
A.管程是进程的同步工具,解决信号量机制大量同步操作分散的问题B.管程每次只允许一个进程进入管程,C.管程中V操作的作用和信号量机制中V操作的作用相同D.管程是被进程调用的,是语法范围,无法创建和撤销6、若用户进程访问内存时产生缺页,则下列选项中,操作系统可能执行的操作是()。
I.处理越界错误 II.置换页面 II1.分配内存A.仅I、IIB.仅I、IIIC. 仅I、IIID.I,II和III7、在空白表中,空白区按其长度由小到大进行查找的算法称为()算法。
A.最佳适应B.最差适应C.最先适应D.先进先出8、操作系统提供了多种界面供用户使用,其中()是专门供应用程序使用的一种界面。
A.终端命令B.图形用户窗C.系统调用D.作业控制语言9、下列选项中,不是操作系统关心的主要问题的是()。
A.管理计算机裸机B.设计、提供用户程序与计算机及计算机硬件系统的接口C.管理计算机中的信息资源D.高级程序设计语言的编译10、通道又称I/O处理器,用于实现()之间的信息传输。
广东旅游资源普查与管理信息系统实验报告实验名称广东旅游资源普查与管理信息系统实验共17页第1页专业、班级 2013级旅游管理姓名王真真学号 201330670349实验时间 2014年10月 20日星期一实验地点 B10 208 软件及版本《旅游资源普查与管理信息系统》v1.0版本一、实验目的:1.了解、熟悉当今地理信息系统技术在旅游资源开发与管理上的研究成果,熟悉广东省的旅游资源情况,掌握旅游资源分类、评价的各项指标和方法。
2.操作、运用旅游资源普查和管理信息系统,由于能大幅度减少对旅游资源查找、分类和评价的工作量,简化评价的过程,提高工作效率,同时也在一定程度上避免了人为评价的主观性,因此在实验操作的过程中逐步培养客观公正的调查分析态度。
3.通过在旅游资源普查和管理信息系统上的学习,加深我们对旅游资源的认知,逐步提高日常生活中对旅游资源的开发和管理重视程度。
二、实验内容:1.就某一区域在电子地图上进行放大、缩小、移动等操作,以便查找某一具体地点,更准确地了解具体地点的地理方位。
2.就某一已记录的旅游资源进行分类,以便作出更科学、准确的旅游资源评价。
3.就某一已记录的旅游资源进行评价,以了解、明确旅游资源的质量,确定发展导向、主题形象、发展规模;为分级管理和规划提供标准;为合理利用和保护、开发定位创造条件。
4.查找电子地图上各种等级的景区景点。
5.查询电子地图上具体的地理位置和已录入的景区景点。
6.对未知景点进行位置上的定位,介绍以及评价。
共17页第2页7.反复练习添加删除移动修改保存这几个的用法,添加或删减电子地图上的点,使旅游资源普查与管理信息信息系统不断完善,更好地符合研究者的需求。
并对新加的旅游资源进行评价描述。
三、实验过程:1.打开操作系统:单击开始——单击应用程序——单击广东旅游资源普查与管理信息系统,进入系统的操作页面,如下图所示:2.放大、缩小、移动原有视图共17页第3页1)单击放大选项,选中区域按照一定比例放大,如下图所示:2)单击缩小,即会按照相应比例缩小。
广东省专业技术人员继续教育管理系统个人操作手册一、登录系统1. 打开浏览器,输入广东省专业技术人员继续教育管理系统的网址,进入系统首页。
2. 在首页的登录区域,输入您的用户名和密码,“登录”按钮。
3. 如果您是首次登录,请先进行用户注册,按照提示填写相关信息并设置密码。
二、个人信息管理1. 登录成功后,进入“个人信息”页面,可以查看和修改您的个人信息,如姓名、联系方式等。
2. 在“学习记录”页面,可以查看您的历史学习记录和考试成绩。
3. 在“证书管理”页面,可以查看和您的继续教育证书。
三、在线学习2. 课程名称,进入课程详情页面,了解课程内容和学习要求。
3. “开始学习”按钮,开始在线学习课程。
四、考试与评估1. 在“考试与评估”页面,可以查看您需要参加的考试和评估。
2. 考试名称,进入考试页面,按照提示进行答题。
3. 完成考试后,系统会自动评分并显示成绩。
五、常见问题解答1. 如果您在使用过程中遇到问题,可以查看“常见问题解答”页面,了解常见问题的解决方法。
2. 如果您的问题在常见问题解答中没有找到答案,可以联系系统客服寻求帮助。
六、系统退出1. 完成操作后,右上角的“退出”按钮,退出系统。
2. 为了保障您的账号安全,建议您在退出系统后及时关闭浏览器窗口。
广东省专业技术人员继续教育管理系统个人操作手册二、在线学习1. 在“在线学习”页面,您可以看到系统为您推荐的各种在线课程。
这些课程涵盖了专业技术人员所需的各种知识和技能,您可以根据自己的兴趣和需求进行选择。
2. 选择课程后,您可以查看课程的详细信息和学习要求。
这包括课程介绍、学习目标、学习内容、学习时间等。
请仔细阅读这些信息,确保您了解课程的内容和要求。
3. 在线学习过程中,您可以随时暂停、播放、快进或快退视频。
您还可以在视频下方查看课程笔记、参与讨论区互动,以及进行在线测试和作业提交。
4. 完成课程学习后,系统会自动记录您的学习进度和成绩。
操作系统安装与配置实验报告实验目的:
1. 了解操作系统的安装过程。
2. 熟悉操作系统的基本配置。
实验内容:
1. 安装操作系统。
2. 进行基本配置。
3. 测试系统运行情况。
实验步骤:
1. 准备安装光盘或USB启动盘。
2. 将光盘或USB启动盘插入计算机,并启动计算机。
3. 按照提示选择安装语言和时区等信息。
4. 选择安装类型(新安装或升级)。
5. 选择安装目标磁盘。
6. 进行分区和格式化。
7. 完成安装并进行基本配置(设置用户名、密码、网络等)。
实验结果:
1. 成功安装操作系统。
2. 完成基本配置。
3. 系统能够正常运行。
实验总结:
通过本次实验,我了解了操作系统的安装过程和基本配置方法。
在实际操作中,我遇到了一些问题,比如分区和格式化时出现了错误提示,但通过查阅资料和询问同学,最终成功解决了这些问题。
通过这次实验,我对操作系统的安装和配置有了更深入的了解,也提高了自己的解决问题的能力。
希望在以后的实验中能够继续学习和提高。
2022年广东药科大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、在现代操作系统中,文件系统都有效地解决了重名(即允许不同用户的文件可以具有相同的文件名)问题。
系统是通过()来实现这一功能的。
A.重名翻译结构B.建立索引表C.树形目录结构D.建立指针2、某文件系统中,针对每个文件,用户类别分为4类:安全管理员、文件上、文件主的伙伴、其他用户:访问权限分为5类:完全控制、执行、修改、读取、写入。
若文件控制块中用:进制位串表示文件权限,为表示不同类别用户对一个文件的访问权限,则描述文件权限的位数至少应为()。
A.5B.9C.12D.203、下列关于线程的叙述中,正确的是()。
I.在采用轮转调度算法时,一进程拥有10个用户级线程,则在系统调度执行时间上占用10个时间片II.属于同·个进程的各个线程共享栈空间III.同一进程中的线程可以并发执行,但不同进程内的线程不可以并发执行IV.线程的切换,不会引起进程的切换A. 仅I、II、IIIB. 仅II、IVC.仅II、IIID.全错4、一个进程被唤醒意味着()。
A.该进程可以重新占用CPUB.优先级变为最大C.PCB移到就绪队列之首D.进程变为运行态5、下列调度算法中,不可能导致饥饿现象的是()。
A.时间片轮转B.静态优先数调度C.非抢占式短作业优先D.抢占式短作业优先6、采用分段存储管理的系统中,若段地址用24位表示,其中8位表示段号,则允许每段的最大长度是()。
A.224BB.216BC.28BD.232 B7、一个页式虚拟存储系统,其并发进程数固定为4个。
最近测试了它的CPU利用率和用于页面交换的利用率,假设得到的结果为下列选项,()说明系统需要增加进程并发数?I.CPU利用率13%:磁盘利用率97%II.CPU利用97%;磁盘利用率3%III.CPU利用率13%:磁盘利用3%A. IB.IIC.IIID.I、III8、假设5个进程P0、P1、P2、P3、P4共享3类资源R1、R2、R3.这些资源总数分别为18、6、22。
操作系统课程设计题目:哲学家就餐问题学院计算机学院专业软件工程班级12级3班学号3112006229 姓名陈志勇指导教师申建芳(2015年6月)操作系统课程设计任务书设计思想说明操作系统平台:Windows 2007开发平台:eclipse程序语言:Java设计思想:定义五个类,分别为哲学家A、哲学家B、哲学家C、哲学家D、哲学家E。
五个类均有thinking(思考)和Eating(吃饭)两个方法.当选定哪几位哲学家就餐后,使用单线程处理选定的哲学家就餐顺序,如果A要就餐,询问C是否要就餐,否则询问D 是否要就餐,否则A自己就餐;然后B进行就餐,如果B就餐,询问D是否要就餐,否则询问E是否要就餐,否则B就餐;然后C进行就餐,如果C就餐,询问E是否就餐,否则C 就餐;最后D就餐,再E就餐.数据结构的说明采用链式timer(计时器),每当一个timer结束时,链接到下一个timer中去,实现多步哲学家就餐顺序,当最后一个哲学家就餐完成后弹出信息面板提示就餐完成。
调用关系:ShowPannel为主类,StateControl为哲学家类,showPannel在timer中调用哲学家类实现就餐、思考的转换和选择。
各模块的算法流程图StateControl类:定义哲学家类Thinking:setText(空闲);Eating:setText(正在使用);showPannel类:点击确定后选定哲学家就餐A组:AC就餐AD就餐A就餐B组:BD就餐BE就餐B就餐C组:CE就餐C就餐D组:D就餐E组:E就餐Messagebox类:仅显示提示信息程序清单StateControl类:package philosopher;class philosopherA{void Thinking(){//正在思考时不占用筷子资源ShowPannel。
chops1。
setText("筷子1当前状态:空闲");ShowPannel.chops2。
2022年广东外语外贸大学计算机科学与技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、文件系统中设立打开(open)系统调用的卡要目的是()。
A.把文件从辅存读到内存B.把文件的控制信息从辅存读到内存C.把文件的FAT表信息从辅存读到内存D.把磁盘文件系统的控制管理信息从辅存读到内存2、文件系统采用两级索引分配方式。
若每个磁盘块的大小为1KB.每个盘块号占4B,则该系统中单个文件的最大长度是()A.64MBB.128MBC.32MBD.都不对3、在操作系统中,一方面每个进程具有独立性,另一方面进程之间具有相互制约性。
对于任何两个并发进程,它们()。
A.必定无关B.必定相关C.可能相关D.可能相同4、下面所列进程的3种基本状态之间的转换不正确的是()A.就绪状态→执行状态B.执行状态→就绪状态C.执行状态→阻塞状态D.就绪状态→阻塞状态5、银行家算法在解决死锁问题中用于()。
A.预防死锁B.死锁避免C.检测死锁D.解除死锁6、下列说法正确的有()。
I.先进先出(FIFO)页面置换算法会产生 Belady现象II.最近最少使用(LRU)页面置换算法会产生Belady现象III.在进程运行时,若它的工作集页面都在虚拟存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入/调出现象IV.在进程运行时,若它的工作集页面都在主存储器内,则能够使该进程有效地运行否则会出现频繁的贞面调入/调出现象A. I、IIIB.I、IVC.II、IIID.II、IV7、不会产生内部碎片的存储管理是()。
A.分页式存储管理B.分段式存储管理C.固定分区式存储管理D.段页式存储管理8、()不是操作系统的功能。
A.CPU管理B.存储管理C.网络管理D.数据管理9、计算机开机后,操作系统最终被加载到()。
A.BIOSB.ROMC.EPROMD.RAM10、 CPU输出数据的速度远远高于打印机的速度,为解决这一矛盾,可采用()。
2022年广东东软学院软件工程专业《操作系统》科目期末试卷A(有答案)一、选择题1、在单处理器系统中,可并行的是()I.进程与进程II.处理器与设备III.处理器与通道IV.设备与设备A.I、II和IIIB.I、II和IVC.I、III和IVD.II、III和IV2、假设5个进程P0、P1、P2、P3、P4共享3类资源R1、R2、R3.这些资源总数分别为18、6、22。
T0时刻的资源分配情况(见表),此时存在的一个安全序列是()。
A. P0, P2, P4, P1, P3B. P1, P0, P3, P4, P2C. P2, P1, P0, P3, P4D. P3, P4, P2, P1, P03、与单道程序相比,多道程序系统的优点是()I.CPU 利用率高II.系统开销小III.系统吞吐量大IV. I/O设备利用率高A.仅I、IIIB.仅I、IVC. 仅II、IIID.仅I、III,IV4、一次性分配所有资源的方法可以预防死锁的发生,这种方法破坏的是产生死锁的4个必要条件中的()。
A.互斥条件B.占有并请求C.不剥夺条件D.循环等待5、对进程的管理和控制使用()。
A.指令B.原语C.信号量D.信箱通信6、()是操作系统中采用的以空间换取时间的技术。
A.Spooling 技术B.虚拟存储技术C.覆盖与交换技术D.通道技术7、在SPOOLing系统中,用户进程实际分配到的是()。
A.用户所要求的外设B.内存区,即虚拟设备C.设备的部分存储区D.设备的部分空间8、磁盘高速缓存设在()中。
A.内存B.磁盘控制器C.CacheD.磁盘9、用户在删除某文件的过程中,操作系统不可能执行的操作是A.删除此文件所在的目录B.删除与此文件关联的目录项C.删除与此文件对应的文件控制块D.释放与此文件关联的内存缓冲区10、在空白表中,空白区按其长度由小到大进行查找的算法称为()算法。
A.最佳适应B.最差适应C.最先适应D.先进先出11、当系统发生抖动(Trashing)时,可以采取的有效措施是()。
操作系统实验报告学生学院计算机学院专业班级 12级网络1班学号3112006345学生姓名沙宇丰指导教师李敏2015 年01月07日目录1 实验一进程调度………………………………………………………………2 实验二作业调度………………………………………………………………3 实验三存储管理………………………………………………………………实验一进程调度(实现了最高优先级优先,时间片轮转,多级反馈队列三种算法)1、实验目的编写并调试一个模拟的进程调度程序,采用最高优先数优先算法,时间片轮转算法,多级反馈队列算法对进程进行调度。
以加深对进程的概念及进程调度算法的理解.2:实验原理每个进程有一个进程控制块( PCB)表示。
进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已运行时间、进程状态等等。
每个进程的状态可以是就绪 W(Wait)、运行R(Run)两种状态之一。
就绪进程获得 CPU后都只能运行一个时间片。
用运行时间加1来表示。
如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程需要继续运行,此时应分配时间片给就绪队列中排在该进程之后的进程,并将它插入就绪队列队尾。
3:实验内容,方法首先对于:最高优先数算法:最高优先数算法的基本思想是把cpu分配给就绪队列中优先数最高的进程。
而我采用优先数动态变化的方式,进程在没获得一次cpu时间后其优先数就减一,然后对各个进程的优先数进行重新排序。
继续把cpu分配给优先数最高的进程。
进程的剩余时间为0时就退出队列。
首先用create()函数创建链表并对其初始化,然后对链表按照优先级大小进行排序,然后把排序后的链表放进processing()函数中进行处理,让其占有一个时间片执行,若进程任然未完成,则把该进程放进insert()函数中插入就绪队列中。
用disp()函数进行进程的显示。
4:流程图:5:重要函数和数据结构的说明:Struct PCB对进程结构体进行定义Create()函数进行链表的初始化Processing()函数对整个链表的循环进行处理Sort()函数对优先级进行动态排序:Disp()函数对结果进行显示struct PCB *sort(struct PCB *head)/*递增排序函数:入口参数:链表的头指针,此为链表中的排序函数*/{struct PCB *p,*q;int temp;for(p=head;p!=NULL;p=p->next){for(q=p->next;q!=NULL;q=q->next){if(p->prio<q->prio) //通过对链表里面的数据进行互换达到重新排序{temp=q->prio;q->prio=p->prio;p->prio=temp;temp=q->name;q->name=p->name;p->name=temp;temp=q->run;q->run=p->run;p->run=temp;temp=q->rest;q->rest=p->rest;p->rest=temp;}}}return head;}5:实验效果::6:实验总结:对于最高优先数优先的算法,在设计好进程控制块链表后,就要对优先级进行排序,优先数动态变化和链表的循环是比较花时间处理的,如上图所显示,优先级在进程每执行一个时间片后减一,实现动态变化,开始在这两部分总是出问题,经过耐心的处理还是把问题很好的解决了。
对于第二个:时间片轮转算法,3:实验方法,步骤:基本思想:所有就绪进程按fcfs排成一个队列,总是把处理机分配给队首的进程,各进程占用的cpu时间片相同,如果运行进城用完时间片后还未完成,就把它送进就绪队列的末尾,把处理机重新分配给队首的集成。
直至所有的进程运行完毕。
4:流程图:4:重要的函数和数据结构:Struct PCB对进程结构体进行定义Create()函数进行链表的初始化Insert()函数把未完成的进程插入就绪队列的末尾Processing()函数对链表循环进行处理Disp()函数对结果进行显示其中insert()函数对进程插入就绪队列末尾是比较重要的void insert(struct PCB *p){struct PCB *p1,*p2;p2=p1=p;p2=(struct PCB *)malloc(sizeof(struct PCB));while(p1->next)p1=p1->next;p1->next=p2;p2->state="就绪中";p2->name=p->name;p2->run=p->rest;p2->queue=(p->queue)+1;p2->rest=p->rest;p2->fragement=2;p2->next=NULL;}:5:实验效果::6:实验总结:如上图所示,进程在一个时间片执行完后进程,剩余时间为0,退出队列,进程2在执行完一个时间片后仍然未完成,进入就绪队列末尾,以此类推,直至三个进程都完成,这个时间片轮转算法比较简单,只需要处理好把未完成的进程插入就绪队列末尾即可,把已完成的从就绪队列中释放。
调试过程中总是会出现bug,但需要我们耐心一个个解决。
第三个:多级队列反馈算法::3:实验方法,步骤:其思想是:当一个新进程进入内存后,首先将它放入第一个队列的末尾,按fcfs的原则排队等待,当轮到该进程执行,如能在该时间片内完成,则撤出系统,倘若在时间片内未完成,则放进第二个队列的末尾,按同样的fcfs原则等待执行。
首先用create()函数创建链表并对其初始化,然后把链表放进processing ()函数中进行处理,若任然未完成,则把该进程放进insert()函数中插入下一队列。
4:流程图:4:重要的函数和数据结构:struct PCB对进程结构体进行定义Create()函数进行链表的初始化Insert()函数把未完成的进程插入下一个就绪队列的末尾Processing()函数对链表循环进行处理Disp()函数对结果进行显示Insert()函数把进程插入下一个就绪队列void insert(struct PCB *p){struct PCB *p1,*p2;p2=p1=p;p2=(struct PCB *)malloc(sizeof(struct PCB));while(p1->next)p1=p1->next;p1->next=p2;p2->state="就绪中";p2->name=p->name;p2->run=p->rest;p2->queue=(p->queue)+1;p2->rest=p->rest;p2->fragement=2*(p->fragement);p2->next=NULL;}void processing(struct PCB *head){ //对占有cpu时间的进程进行系列的处理struct PCB *p1,*p2,*p3;int n=0;p1=head;while(p1){p1->rest=p1->rest-p1->fragement;if(p1->rest<0)p1->rest=0;p1->state="运行中";disp(p1);if(p1->rest==0)printf("\t\t\t进程%d已完成\n",p1->name);if(p1->rest>0)insert(p1);p1=p1->next;}}5:实验效果:6:实验总结:对于这个多级队列反馈,我在结构体pcb 的定义中增加了一个表示队列序号的queue 来从逻辑上标识不同的队列,:和让时间片的大小呈指数增长的变量fragement,如上图所示,进程1在第一个时间片运行完后任然未完成,则进入第二个就绪队列,它的时间片大小变为了4,使得进入下个队列的进程能获得较大的时间片。
可见,多级反馈队列能够比较好的适应长作业和短作业的需求。
实验二作业调度(实现了单道和多道)一:实验目的:编写并调试作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解。
二:实验内容和要求:1、为单道批处理系统设计一个作业调度程序(1)、编写并调试一个单道处理系统的作业调度模拟程序。
(2)、作业调度算法:分别采用先来先服务(FCFS)、响应比高者优先(HRN)的调度算法。
(3)、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU时限等因素。
(4)、每个作业由一个作业控制块JCB表示,JCB可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。
作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。
每个作业的最初状态总是等待W。
(5)、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,并比较各种算法的优缺点。
3、实验设计方案及原理1、编写并调试一个单道处理系统的作业等待模拟程序。
已知它们进入系统的时间、估计运行时间。
分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法,计算出作业的平均周转时间和带权的平均周转时间。
对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,并比较各种算法的优缺点。
对于先来先服务fcfs调度算法:流程图:重要的函数和数据结构:Struct fcfs 定义结构体Print()函数对到来的作业进行初始化并进行显示Sort()函数对作业按照到来的作业的时间先后进行排序Deal()函数对先来先服务原则对作业进行系列处理Main()函数进行对各个函数的串接。
定义结构体:struct fcfs{char name[10];float arrivetime;float servicetime;float starttime;float finishtime;float zztime;float dqzztime;};Deal函数按照fcfs原则处理各个作业,是本程序的重要函数void deal(fcfs *p,int N){int k;for(k=0;k<=N-1;k++) {if(k==0) {p[k].starttime=p[k].arrivetime;p[k].finishtime=p[k].arrivetime+p[k].servicetime;}else {p[k].starttime=p[k-1].finishtime;p[k].finishtime=p[k-1].finishtime+p[k].servicetime;} }for(k=0;k<=N-1;k++) {p[k].zztime=p[k].finishtime-p[k].arrivetime;p[k].dqzztime=p[k].zztime/p[k].servicetime;}}4:实验效果:5:实验总结:对于先来先服务算法,如图所示:在就绪队列中按照时间到达先后挑选要进行的作业,各个作业的运行顺序分别是2 1 3;fcfs原则只考虑到了到达的时间先后,而未考虑作业要求的时长,这是个不足之处。