课程名称:操作系统原理课程设计
英文名称:Project design of Principles of Operating System 课程编号:0901316
面向专业:计算机科学与技术
课程总学时:___40___;实验学时___24 __; 课程学分:___ 1.5___;
一、课程设计目的
操作系统原理是计算机专业的核心课程。本课程设计的目的旨在加深学生对计算机操作系统内核的理解,提高对操作系统内核的分析与扩展能力。在课程理论教学中,较多地是讲解操作系统理论和实现原理。本课程设计提供两类难度相当的实验,学生可按照自己的兴趣选做A类或者B类:
A、本课程设计要求学生在阅读Linux操作系统源代码的基础上完成如下两个主要Project:
1、 在Linux2.4的内核中添加新的系统调用,以理解系统调用的工作机制,掌握扩
展内核功能的技术。
2、 在Linux2.4中修改调度程序的代码,扩展一个新的调度算法 B、在Java虚拟机上完成如下两个Project: 1、基于java虚拟机的线程调度 2、请求页式管理的Java实现
为将来在基于Linux的嵌入式系统开发或在Java虚拟机上的软件开发工作奠定基础。
二、实验内容、学时分配与组织 序号 实验项目 内 容 提 要 名称 1、 Linux内核代码的层次分析 Linux内核 代码分析1 (部分) 3、 系统调用内部数据结构以及执行过程的分析 4、 内核调试基本技术 1、编写一个新系统调用的响应函数, 新增系统2 调用 义。把新的系统调用函数嵌入到Linux内核中 2、编写应用程序以测试新的系统调专业基础 综合型 16 函数的名称和功能由实验者自行定 3-4 3选一) 必做(2、 专业基础 基本型 12 3-4 必做 2、 调度程序代码段的分析 实验性质 类 分配 人数 实验种学时每组备注 用并输出测试结果 1、 分析Linux进程调度模块 3 进程调度的扩展 2、 扩展调度模块,使得新创建的普通进程获得的优先级比一个曾经运行过的优先级高 1、 Java线程的优先级机制及调度机制 2、 用Java语言实现基于优先级的 4 线程调度 上述调度算法下的调度情况,并输出到终端,以检查算法的执行情况 1、 创建一个页面访问序列(页号范围为0-9),序列长度自定,假定分配给线程的主存块数为3,即请求页式5 管理的Java实现 M=3 2、 实现下面的页面置换算法: ·FIFO ·近似LRU ·OPT 3、输出页面置换序列和缺页率 专业基础 虚拟机的3、 至少创建5个线程并输出它们在基于java轮转线程调度 专业基础 综合型 专业基础 综合型 16 3-4 必做(2、3选一) 20 3-4 必做 综合型 8-10 3-4 必做
三、教学管理模式与注意事项
1. 每个学生小组成员必须有明确的分工,在上机前必须认真复习课程有关内容,设计相
关数据结构和算法,初步写出相关程序。
2. 指导教师必须明确课程设计要求、性能及注意事项,并给出相应参考资料(电子版)
和相关网站。
3. 学生在完成全部“必做实验”的同时,可根据自己的实际情况,选择“选做实验”。选
做内容应包含基本内容。指导教师需要综合讲解。
四、成绩评定与占课程总成绩的比例
1. 指导教师根据每个学生小组必做实验和选做完成情况、实验结果的正确性、选做实验的
数量和完成情况,进行小组评分,作为该小组成员的最高得分.
2. 对组内各个成员评分,结合学生小组分工情况和组内评价进行评分,并将成绩记录在册。
五、设备与器材配置(每组)
1.微机 1台
2.打印机 1台(或两组合用) 3.耗材 若干
六、实验参考资料
1. Gray Nutt.Kernel Projects for Linux(影印版).北京:机械工业出版社,2002 2. 李善平,郑扣根.Linux操作系统计实验教程.北京:机械工业出版社,1999 3. 印旻.Java语言与面向对象程序设计.北京:清华大学出版社,2000
因篇幅问题不能全部显示,请点此查看更多更全内容