- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 号:SK142111适用专业:计算机科学与技术制 定 人: 李威教 研 室:计算机科学与技术教研室信息科学与工程学院2013年5月目录概述3题目一进程创建模拟实现3题目二进程间通信的设计4题目三连续动态内存管理模拟实现7题目四进程调度算法的实现9题目五银行家算法的实现9题目六磁盘调度算法的实现11题目七页面置换算法的实现11题目八 P、V原语的模拟实现12附录:课程设计报告书撰写要求14概述从计算机领域出现第一个OS开始,OS就获得众多计算机爱好者们的关怀。经过几十年的迅速发展,当今世界已经存在多种面向不同领域、不同平台、不同用途的OS,例如,当今主流PC操作系统MS-Windows系列,面向大型机的UNIX系列,及其变种Linux操作系统,应用领域从大型机到桌面电脑,甚至掌上电脑等。本课程设计是为了配合《操作系统》和《Linux操作系统》课程的开设,通过本课程设计使学生了解计算机操作系统这个最核心的系统软件。Linux操作系统是一个开源的操作系统,通过对其进行学习,学生可以学习到操作系统是怎样开发起来以及操作系统各个方面的时限的大致框架和基本技术。为今后从事实际工作打下坚实的基础。课程设计的内容主要包括:进程的创建、进程间的通信、连续动态内存管理、进程调度、银行家算法的实现、磁盘调度算法的实现、页面置换算法的实现以及P、V原语的模拟实现。8个内容中选做5个内容,同等条件下选做Linux平台题目者成绩评定时优先。【开发语言及实现平台或实验环境】基于Windows操作系统或是Linux操作系统,程序开发语言不限。题目一进程创建模拟实现【设计目的】(1)理解进程创建相关理论。(2)掌握进程创建方法。(3)掌握进程相关数据结构。【课题描述】本课题针对操作系统中进程的创建相关理论进行设计。要求编写程序并进行测试。代码简化了进程创建的多个步骤和内容。进程的树形结构采用广义二叉树的方式进行存储。【课题内容】(1)至少创建10个进程。(2)创建进程树中4层以上的树型结构。【相关知识】(1)进程控制块为了描述和控制进程的运行,系统为每个进程定义了一个进程控制块(PCB),它是进程实体的一部分,是操作系统管理进程最重要的数据结构。其主要包含四类信息:A、进程标识符它唯一地标识一个进程。通常包括进程号pid,父进程号ppid 和用户号uid。B、处理机状态处理器的状态通常由处理机的各种寄存器中的内容组成。PCB 存放中断(阻塞,挂起)时的各寄存器值,当该进程重新执行时,可以从断点处恢复。主要包括:a) 通用寄存器;b) 指令计数器;c) 程序状态字PSW;d) 用户栈指针。C、进程调度信息a) 进程状态;b) 进程优先级(用于描述优先使用cpu 级别的一个整数,高优先级的进程先得到cpu,通常情况下,优先值越小优先级越高);c) 其它信息(等待时间、总执行时间等);d) 事件(等待原因)。D、进程控制信息a) 程序和数据的地址(程序在内存和外存中的首址);b) 进程同步和通信机制;c) 资源列表(进程除CPU 以外的所有资源);d) 链接指针(进程队列中指向下一个进程的PCB 首址)。(2)进程创建流程A、申请空白PCB 为新进程申请获得唯一的数字标识符,并从PCB 集合中索取一个空白PCB。如果无空白PCB,可以创建一个新的PCB。在本实验中,每次动态创建PCB。B、为新进程分配资源为新进程分配内存空间和栈空间。C、初始化进程控制块a) 初始化标识信息;b) 初始化处理机状态信息;c) 初始化处理机控制信息。D、将新进程插入就绪队列(3)进程树,用于描述进程家族关系。在进程创建过程中,需将每一个新增加的进程加入到进程树中,有了清晰的父子关系,可以使资源继承或进程删除等操作变得很方便。(4)进程总链,它是一个PCB 链表,每一个新创建的进程必须把其PCB 放入总链中,该总链可以对破坏的进程树进行修复,也方便PCB 查找。题目二进程间通信的设计【设计目的】Linux操作系统中进程间通信方法有管道、消息队列和信号量等,通过本课题掌握进程间常用的通信方式。【课题描述】本课题针对Linux操作系统中进程的通信进行训练。进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。进程间通信主要包括管道, 消息队列和信号量,要求编写程序并进行测试。【课题内容】(1)编制一个程序,使其实现进程的软中断通信。父进程发信号控制子程序的终止。使用系统调用fork()创建两个子进程,再用系统调用signal()让父进程捕捉键盘上的中断信号;当捕捉到中断信号后,父进程用系统调用Kill()向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止: Child Proeess 1 is Killed by Parent! Chil
您可能关注的文档
- 延长壳牌加油站租赁合同详解.doc
- 延长油田“企业精神学习宣传月”活动知识答题详解.doc
- 扬州施工组织设计(钢内筒方案)详解.doc
- 异步电动机教程详解.ppt
- 幽径悲剧上课用详解.ppt
- 幼儿教师心理健康问题详解.doc
- 幼儿拼音应该这样学详解.doc
- 幼儿十以内数的认识详解.ppt
- 幼儿卫生学详解.docx
- 报销发票应注意的问题详解.ppt
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)