版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机操作系统课程设计指导书 一、课程设计的目的和意义 本课程设计是学生学习完计算机操作系统课程后,进行的一次全面的综合训练, 通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论 和重要算法的理解,加强学生的动手能力。 ,i、F、 / J - .11.*、- 二、总体要求: 1、课程设计总时间为五天。 2、课程设计地点是实验楼 616 机房。 3、一个班分若干个组,每组 2 人,个别可以 3 人组(自由组合)课程设计题目由任 课老师指定; 4、人员分工:组长 1 人、组员 1 到 2 人。组长可由小组人员自行选出或自荐,组长 的职责是负责与老师交流,合理安排分配本组
2、的各项任务,任务有:系统总体设 计、编码、测试、写文档。 三、设计要求: 本课程设计以 Linux 操作系统为实验平台,进行源代码分析和修改或应用。通过该课 程设计,使学生掌握 Linux 操作系统各部分结构、实现机理和各种典型算法;或使学生进 行网络管理和系统管理,系统地了解操作系统的设计和实现思路,运用内核开发环境实现 对内核的修改,培养学生的系统设计能力,并了解操作系统的发展动向和趋势。 要求如下: 1、要充分认识课程设计对培养自己的重要性,认真做好设计前的各项准备工作。 2、既要虚心接受老师的指导,又要充分发挥主观能动性。结合课题,独立思考,努力 钻研,勤于实践,勇于创新。 3、独立按
3、时完成规定的工作任务,不得弄虚作假,不准抄袭他人内容,否则成绩以不 及格计。 4、课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,其成绩按不及 格处理。 5、在设计过程中,要严格要求自己,树立严肃、严密、严谨的科学态度,必须按时、 按质、按量完成课程设计。 6、小组成员之间,分工明确,但要保持联系畅通,密切合作,培养良好的互相帮助和 团队协作精神。 四、成绩评定 1、同学平时表现占总成绩30,若迟到扣 5 分,无故旷课每次扣 10 分,二次不 到者总成绩以 0 分计。 2、课程设计报告占总成绩70,在规定时间内上交。 3、严禁抄袭,复制设计内容,查出后相关同学设计成绩以零分处理。
4、五、设计内容(除特别注明外,每组 2 人,先自由组合,并选 定 1 个题目,再由老师作适当调整) 课题一、 Linux 下 C 编程实现银行家算法 银行家算法的思路: 1. 进程一开始向系统提出最大需求量. 2. 进程每次提出新的需求(分期贷款 )都统计是否超出它事先提出的最大需求量. 3. 若正常 ,则判断该进程所需剩余量(包括本次申请 )是否超出系统所掌握的 剩余资源量 ,若不超出 ,则分配 ,否则等待 . 4. 银行家算法的数据结构. 1)系统剩余资源量 Vn,其中Vn表示第I类资源剩余量. 2)已分配资源量 Amn, 其中 Aji 表示系统 j 程已得到的第 i 资源的数量 . 3)剩
5、余需求量 .Cmn, 其中 Cji 对第 i 资源尚需的数目 . 5. 银行家算法流程 :当某时刻 ,某进程时 ,提出新的资源申请 ,系统作以下操作 : 1)判定En是否大于Cjn,若大于,表示出错. 2)判定En是否大于系统剩余量Vn,若大于,则该进程等待. 3)若以上两步没有问题,尝试分配 ,即各变量作调整 . 4)按照安全性推测算法,判断,分配过后 ,系统是否安全 ,若安全 ,则实际分配 ,否则 ,撤消分 配,让进程等待 . 6. 安全性检测 算法 对进程逐个扫描,先判断 flag ,看进程是否完成,如果完成则继续扫描,如果没有再 判断当前系统是否满足进程所需要的分配额,如果满足则分配并
6、当进程完成后回收资源, 如果没有则扫描下一个进程。扫描所有进程,如果所有的进程都能完成就表明是安全分配 序列,如果没有,则分配不成功,不存在着安全序列。 课题二、处理机调度算法的实现 设计目的 :在多道程序和多任务系统中,系统内同时处于就绪状态的进程可能有若干 个。也就是说能运行的进程数大于处理机个数。为了使系统中的进程能有条不紊地工作, 必须选用某种调度策略,选择一进程占用处理机。要求学生设计一个模拟处理机调度算 法,以巩固和加深处理机调度的概念。 设计要求 : 1) 先由用户输入进程数量(至少5 个进程),再由系统随机生成一个进程序列(包括 到达时间和服务时间)。 2)然后显示进程调度算法
7、由用户选择,包括:时间片轮转法,短作业优先算法,动态 优先级算法。 3)显示结果包括每个进程的开始时间、完成时间、周转时间以及带权周转时间,显示 界面可参考书本的例子以表格形式但可不要表格线。 课题三、生产者消费者问题 设计目的 :通过研究 Linux 的进程机制和信号量实现生产者消费者问题的并发控制 . 说明:有界缓冲区内设有 20个存储单元,放入 /取出的数据项设定为 1-20 这 20个整型 数。 设计要求 : (1) 每个生产者和消费者对有界缓冲区进行操作后,实时显示有界缓冲区的全部内容、 当前指针位置和生产者 /消费者的标识符。 (2) 生产者和消费者各有两个以上。 (3) 多个生产
8、者或多个消费者之间须有共享对缓冲区进行操作的函数代码。 提示: (1) 有界缓冲区可用数组实现。 课题四:基于 Linux 的二级文件系统。 要求做到以下几点: 1、可以实现下列几条命令,但可不用参数。 注意,必须真正实现,不能模拟实现,如 Dir 类似于 Linux 的 ls 命令。 Login用户登录 Dir 列出文件夹内容 Create创建文件 Delete删除文件 Open打开文件 Close关闭文件 Read读文件 Write写文件 2、列目录时要列出文件名、物理地址、保护码和文件长度。 3、设计提示 实现虚拟文件系统的一般思路是调用系统的文件创建(如 c 中的 fopen 函数的
9、w 方式 即可)一个新文件,将此文件作为虚拟磁盘,在完成本设计要求的内容时,要求所生成的 文件目录以及文件等内容都是存储在此磁盘中。 4、源文件可以进行读写保护。 主要需完成以下子过程,但不一定全部要用到。 1、 i节点内容获取函数iget() 2、 i节点内容释放函数iput() 3、目录创建函数 mkdir( ) 4、目录搜索函数 namei( ) 5、 磁盘块分配函数balloc( ) 6、 磁盘块释放函数bfree( ) 7、分配 i 节点区函数 ialloc( ) 8、释放 i 节点区函数 ifree( ) 9、 搜索当前目录下文件的函数iname( ) 10、访问控制函数 acce
10、ss( ) 11、显示目录和文件用函数 _dir( ) 12、改变当前目录用函数 chdir( ) 13、打开文件函数 open( ) 14、创建文件函数 create( ) 15、读文件用函数 read( ) 16、写文件用函数 write( ) 17、用户登录函数 login( ) 18、用户退出函数 logout( ) 19、文件系统格式化函数 format( ) 20、进入文件系统函数 install( ) 21、关闭文件系统函数 close( ) 22、退出文件系统函数 halt( ) 23、文件删除函数 delete( ) 课题五:存储管理动态分区分配算法的模拟: 要求设计主界面以
11、灵活选择某算法,以下算法都要实现: 1、 首次适应算法 2、 循环首次适应算法 3、 最佳适应算法; 4、 最坏适应算法; 5、 快速适应算法 具体要求: 1) 首先由系统生成当前的内存状态,按照课本P122图4-5 (a)所示,要求未分配 的分区数量不少于 3 个,且空间大小随机,然后随机生成一个数,表示等待分配 进程的大小。 2) 然后显示上述算法由用户选择,结果显示分配后的状态。 课题六:三种存储管理方式的地址换算 1、分页方式的地址换算。具体要求: 1) 随机生成页面大小,但一定为 2 的幂,系统随机生成一个至少有 10 行的页 表,页号、块号从 0 开始。 2) 用户给定一个逻辑地址
12、,首先显示此地址的页号和页内地址,然后显示是第 几块,最后显示其物理地址。 2、分段方式的地址换算。具体要求: 1 )由系统随机生成 5 个左右的段,并随机生成一个段表并显示。 2)由用户给定一个逻辑地址,包括段号和段内地址,最后显示其物理地址。 3、段页式的地址换算。具体要求: 1)先由系统随机生成 5 个左右的段,然后再由系统随机生成页面大小,但一定 P140 的图 4-22。 为 2 的幂。然后生成段表和页表,具体内容参照课本 2)由用户给定一个逻辑地址,包括段号和段内地址,最后显示其物理地址。 课题七:进程调度模拟程序 设计要求:编写一个进程调度程序,允许多个进程共享进程调度程序。 进
13、程调度算法:采用( 1)最高优先数优先的调度算法(即把处理机分配给优先 数最高的进程),( 2)时间片轮转法,( 3)先来先服务算法。 每个进程有一个进程控制块( PCB )表示。进程控制块可以包含如下信息:进程 名、优先数、到达时间、需要运行时间、已用 CPU 时间、进程状态等等。 进程的优先数、到达时间、时间片以及需要的运行时间由随机数产生。 1、设计内容 1)设计进程控制块 PCB 表结构,分别适用于优先权调度算法、时间片轮转调度 算法和先来先服务算法。 2) PCB 结构包括以下信息:进程名、进程优先数(或轮转时间片),进程所占 用的 CPU 时间,进程的状态,当前队列指针等。根据调度
14、算法的不同, PCB 结构的 内容可以作适当的增删。 3)建立进程就绪队列。对两种不同算法编制入链子程序。 4)编制三种进程调度算法:A、优先数调度;B、循环轮转调度;C、先来先服 务。 2、具体设计要求及有关说明 选用优先数算法和简单时间片轮转法对五个进程进行调度,每个进程可有三种状态: 运行状态( RUN) 、就绪状态( READY )和完成状态。并假定初始状态为就绪状态。 设计进程控制块结构如下: PCB: NAME PRIO/ROUND CPUTIME COUNT NEEDTIME STATE NEXT 其中: NAME 进程标识符; PRIO 进程优先数; ROUND 进程轮转时间片
15、; CPUTIME 进程占用 CPU 时间; COUNT 计数器; NEEDTIME 进程到完成还要的 CPU 时间; STATE进程的状态; NEXT 链指针。 进程控制块链结构如插图。其中: RUN 当前运行进程指针; READY 就绪队列头指针; TAIL 就绪队列尾指针; FINISH 完成队列头指针。 为了便于处理,程序中进程的运行时间以时间片为单位计算。各进程的优先数或轮转 时间片数以及进程需运行的时间片数的初值均由用户给定。 RUN TAIL 时间片数加2,进程还需要的时间片数减 2,并排到就绪队列的尾上。 (2)程序结构说明如下: 整个程序由 INSERT1, INSERT2,
16、 FIRSTIN, PRINT, CREATE, PRISCH 和 ROUNDSCH 过程 组成。其中: INSERT1的功能是把还未完成且优先数小于别的进程PCB按进程优先数的顺序插入到 就绪队列中。 INSERT2是轮转法使用的过程,将执行了一个单位时间片数(为2)且还未完成的进 程的PCB插入到就绪队列的队尾。 FIRSTIN的功能是将就绪队列中的第一个进程投入运行。 PRINT打印每执行一次后的所有进程的状态,这里,就绪(等待)用“W”代表。 CREATE的功能是创建新的进程,即创立进程的PCB,并将此PCB链入到就绪队列中去。 PRISCH按优先数算法调度进程。 ROUNDSCH按时
17、间片轮转法调度进程。 主程序中定义了 PCB的结构和其它变量 NUMBER 进程数,ALGO为10个字符长 的字符串,存放要求输入的算法的名,PRIORITY为优先数算法,ROUNDROBIN 为循环 轮转法,在程序运行时输入其中的一个。 课题八:多道程序缓冲区协调操作 如下图所示,有10个PUT操作要不断循环地向Bufferl送数据,有一个 Move操作要 不断地将 Buffer1的数据取到 Buffer2,有20个GET操作要不断地从Buff2中取数据。 BUFF1是10,BUFF2的容量是20, PUT、 MOVE、GET每次操作一个数据,为了在操作的 过程中要保证数据不丢失 ,每个Bu
18、ffer每次只能接受一个 PUT或一个 Move或一个Get,多 个操作不能同时操作同一 BUFFER。设计一个多道程序完成上述操作。 试用P、V原语协调 PUT、MOVE、GET的操作,并说明每个信号量的含义、初值和 值的范围。 buffer PUTMOVEGET 1、基本功能要求 显示Buffer的操作过程; (2) 可以确定Buffer的容量、PUT、GET、MOVE操作的个数; (3) 自行确定放数据的速度,取数据的速度; (4) 实时显示每个 Buffer中数据的个数,已放入Buffer的数据个数,已取的数据个 数; (5) 程序运行结束,显示汇总数据: a) 总的运行时间; b)
19、Buffer中数据的个数; c) 已放入BUFFER的数据个数; d) 已放已取的数据个数; e) 平均 buffer 中的数据个数。 f) 。 课题九、磁盘调度算法 1、设计要求: 要求设计一个程序,该程序模拟操作系统的磁盘调度。模拟仿真FCFS、 SSTF、 SCAN 、CSCAN 等磁盘调度算法,并对各算法进行性能分析。 应提供良好的测试界面及测 试方法 。提供全面的输出结果。 2、实验原理 磁盘可供多个进程共享,当有多个进程要求访问磁盘时,应采用一种调度算法,以使 进程对磁盘的平均访问时间最小,由于在访问磁盘的时间中,主要是寻道时间,因此磁盘 调度的目标就是使磁盘的平均寻道时间最短。 说明: 可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国双螺杆铸铝加热器项目投资可行性研究报告
- 2025年标准家具配备租赁合同范本 家具配备租赁合同格式
- 2025投资移民委托代理协议范本
- 2025年大学《养老服务管理-养老财务管理》考试参考题库及答案解析
- 2025年大学《食品安全与检测-快速检测技术开发》考试备考试题及答案解析
- 2025年大学《核化工与核燃料工程-核化工实验与工艺模拟实训》考试备考试题及答案解析
- 除虫灭鼠消杀合同
- 2025年大学《健康科学与技术-健康监测技术》考试备考试题及答案解析
- 事后要求报批的合同
- 原材料纱线采购合同
- 胸痛患者转运课件
- 2025年韶关事业单位招聘考试综合类公共基础知识真题模拟试卷
- 朝阳市2024-2025学年八年级上学期语文期中测试试卷
- 水表抄表员安全知识培训课件
- 2025年税务系统试题及答案
- 中国华能集团公司招聘笔试题库及答案2025
- 2025年大学试题(计算机科学)-计算机组成原理历年参考题库含答案解析(5套典型题)
- GB 21256-2025粗钢生产主要工序单位产品能源消耗限额
- 事业单位奖励性绩效工资分配方案
- 2025年仓储员笔试题库及答案
- 护理学新进展
评论
0/150
提交评论