一、题目

       在阅读Linux操作系统源代码的基础上完成三个主要Project。题目可在A类或者B类中任性其一,C类必作,也可自主命题。

二、设计目的和要求

操作系统原理是计算机专业的核心课程。本课程设计的目的旨在加深学生对计算机操作系统内核的理解,提高对操作系统内核的分析与扩展能力。在课程理论教学中,较多地是讲解操作系统理论和实现原理。本课程设计提供两类难度相当的实验,学生可按照自己的兴趣选做:

A、在阅读Linux操作系统源代码的基础上完成如下Project:

  1. 在Linux2.4的内核中添加新的系统调用,以理解系统调用的工作机制,掌握扩展内核功能的技术。
  2. 在Linux2.4中修改调度程序的代码,扩展一个新的调度算法

B、在Java虚拟机上完成如下Project:

1、用JAVA语言模仿“生产者—消费者问题。

2、用JAVA语言模仿实现“吃水果”问题

C、方向命题必作题目;

D、自主命题。

为将来在基于Linux的嵌入式系统开发或在Java虚拟机上的软件开发工作奠定基础。

三、工作内容及工作计划

1周(17周,其中课内20学时,课外20学时)

A类:

序号

实验项目名称

内  容  提  要

实验性质

实验种类

学时分配

每组人数

备注

1

Linux内核代码分析(部分)

  1. Linux内核代码的层次分析
  2. 调度程序代码段的分析
  3. 系统调用内部数据结构以及执行过程的分析
  4. 内核调试基本技术

专业基础

基本型

20

1

必做

2

新增系统调用

  1. 编写一个新系统调用的响应函数,函数的名称和功能由实验者自行定义。把新的系统调用函数嵌入到Linux内核中

  2. 编写应用程序以测试新的系统调用并输出测试结果

专业基础

综合型

20

1

必做(2、3选一)

3

进程调度的扩展

  1. 分析Linux进程调度模块
  2. 扩展调度模块,使得新创建的普通进程获得的优先级比一个曾经运行过的优先级高

专业基础

综合型

20

1

必做(2、3选一)

B类:

序号

实验项目名称

内  容  提  要

实验性质

实验种类

学时分配

每组人数

备注

1

用JAVA语言模仿“生产者—消费者问题”

  1. 通过Java语言中的wait()和notify()命令模拟操作系统中的P/V操作;
  2. 为每个生产者/消费者产生一个线程,设计正确的同步算法
  3. 每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区的当前全部内容、当前指针位置和生产者/消费者线程的自定义标识符。
  4. 生产者和消费者各有两个以上。
  5. 多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。

专业基础

综合型

20

1

必做(1、2选一)

2

用JAVA语言模仿实现“吃水果”问题

  1. 实现多进程的创建、进程间同步与互斥解决具体问题。
  2. 问题描述:桌上有一盘子,桌上有一个空盘,允许存放一只水果,爸爸可向盘内放苹果,妈妈可向盘内放桔子,儿子专等吃盘内的桔子,女儿专等吃盘中的苹果。
  3. 桌上有一盘子,桌上有一个空盘,允许存放一只水果,爸爸可向盘内放苹果,妈妈可向盘内放桔子,儿子专等吃盘内的桔子,女儿专等吃盘中的苹果。

专业基础

综合型

20

1

必做(1、2选一)

C类:

序号

实验项目名称 内  容  提  要 实验种类 每组人数 备注

1

文件系统

设计一个多用户文件系统,理解文件系统的层次结构,完成基本的文件系统create、open、close、read/write等基本功能,并实现文件保护操作。实现以此为基础加入自己设计功能的小型文件系统 。

综合型

1

必做

D类:

或者自由发挥,必须与操作系统相关题目(如自编小型操作系统,可从u盘自启动)且跟老师沟通确认后自主命题,最多允许3人组合,要求在第二次上课时确定题目。

四、实验要求

1、多人合作项目要求分别上交课程设计报告,且在课程设计报告中明确任务分工情况,若无体现,成绩无效

2、设计到编程部分对实验步骤要求如下:

(1)需求分析:了解基本原理,确定程序的基本功能,查找相关资料,画出基本的数据流图,设计各类测试数据,并对各类测试数据拟测试加以详细说明;

(2)概要设计:确定程序的总体结构、模块关系和总体流程;

(3)详细设计:确定模块内部的流程和实现算法;

(4)上机编码和调试;

(5)运行测试,并利用各类测试数据证明算法的稳定性;

(6)编写实验报告。注:实验心得要真情实感,做到人人有感而发,而不是类似“通过这次实验收益良多”之类的范范之谈。

3、文件命名规则:班级操作实验课程设计+姓名+点名册中的序号

五、计划安排

时间

地点

工作内容

指导教师

1.11

上午

10-414

任务布置,相关要求介绍与选题

田秋红、郭奕亿

下午

10-414

完成选题报告和需求分析文档

田秋红、郭奕亿

1.12

上午

10-414

算法分析与基本设计

田秋红、郭奕亿

下午

10-414

完成基本设计文档

田秋红、郭奕亿

1.13

上午

10-414

编写代码

田秋红、郭奕亿

下午

10-414

编写代码

田秋红、郭奕亿

1.14

上午

10-414

程序测试

田秋红、郭奕亿

下午

10-414

程序测试

田秋红、郭奕亿

1.15

上午

10-414

撰写课程设计报告,答辩

田秋红、郭奕亿

下午

10-414

撰写课程设计报告,答辩

田秋红、郭奕亿

六、实验参考资料

  1. Gray Nutt.Kernel Projects for Linux(影印版).北京:机械工业出版社,2002
  2. 李善平,郑扣根.Linux操作系统计实验教程.北京:机械工业出版社,1999
  3. 印旻.Java语言与面向对象程序设计.北京:清华大学出版社,2000

七、考核成绩评定标准

本课程设计的评价由两部分组成,包括答辩(50%)(包括程序演示(30%),回答教师提问(20%))和 课程设计报告(50%)。指导教师根据每个学生小组必做实验和选做完成情况、实验结果的正确性、选做实验的数量和完成情况,进行小组评分,作为该小组成员的最高得分。对组内各个成员评分,结合学生小组分工情况和组内评价进行评分,并将成绩记录在册。

程序演示:

优           功能完善,全部测试正确,并且能够对局部进行完善,能够对不同测试数据进行正确分析。

良            功能完善,但测试欠缺。

中            功能基本完善,但程序尚有部分错误。

及格         完成一定功能。

不及格     功能不完善,且程序错误较多,无法运行。

课程设计报告:

优            包括设计内容,设计思想,已经完成的任务及达到的目标,

设计思路清晰、书写条理清楚,源程序结构合理、清晰,注

释说明完整,有对本次课程设计的心得体会。

良            包括设计内容,设计思想,已经完成的任务及达到的目标,

设计思路基本清晰、书写条理基本清楚,源程序结构合理、

清晰,注释说明基本完整,有对本次课程设计的心得体会。

中            课程设计报告内容基本完整,思路较清晰,书写基本清楚,

源程序结构尚可,有注释说明但不完整。

及格         课程设计报告内容基本完整,思路较差,书写尚清楚。

不及格     课程设计报告内容不完整,书写没有条理。

回答教师提问:

优            能回答教师提出的所有问题,并完全正确,思路清晰。

良            基本能回答教师提出的所有问题,有些小错误。

中            基本能回答教师提出的问题,少数问题回答错误或不清楚。

及格         能回答教师提出的问题,但较多问题回答错误或不能回答。

不及格     基本不能回答教师提出的问题。

《操作系统》课程设计任务书相关推荐

  1. 操作系统原理课程设计任务书

    操作系统原理课程设计任务书 设计目的: 操作系统原理是计算机专业的核心课程,本课程设计旨在让学生学习完理论课程后进行一次全面的综合训练.通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操 ...

  2. 操作系统分区分配java算法_合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc...

    合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc 1课程设计动态分区分配存储管理设计题目学号专业班级学生姓名号指导教师22010年12月合肥工业大学课程设计任务书设计题目动态分区分 ...

  3. C语言程序课程设计任务书

    C语言程序课程设计任务书 c语言课程设计电子生词库 一.设计目的 二.设计任务及容 三.设计要求 四.提交的成果 五.主要参考资料 六.各阶段时间安排(共1周) 目录 1概述 1.1 题目内容 1.2 ...

  4. C++语言程序设计课程设计任务书

    C++语言程序设计课程设计任务书 一.课程设计的目的 全面系统的学习面向对象程序设计的基本概念.基本语法和编程方法. 正确理解掌握C++面向对象程序设计的基本特性:类.对象.继承与派生.多态.虚函数. ...

  5. 操作系统课程设计——进程调度模拟程序(JAVA语言实现)

    本科期间的一些学习回忆记录(自己用) 一.课程设计的任务和要求 本次课程设计的题目是,时间片轮转调度算法的模拟实现.要求在充分理解时间片轮转调度算法原理的基础上,编写一个可视化的算法模拟程序.  具体 ...

  6. 设计模式画板java_画图画板设计模式课程设计任务书

    画图画板设计模式课程设计任务书 长 沙 学 院课 程 设 计 说 明 书题目 设计模式课程设计系(部) 数学与计算机科学系专业(班级) 数媒 2 班姓名 胡辉衡学号 B20140304401指导教师 ...

  7. 操作系统作业调度算法c语言,操作系统课程设计报告电梯调度算法c语言实现.doc...

    操作系统课程设计报告电梯调度算法c语言实现 操作系统课程设计报告电梯调度算法c语言实现 :调度 算法 电梯 课程设计 操作系统 操作系统课程设计报告 模拟操作系统课程设计 写一个简单的操作系统 篇一: ...

  8. 华南理工大学计算机操作系统课程设计大作业银行家死锁避免算法模拟,2016春操作系统大作业银行家死锁避免算法模拟.doc...

    文档介绍: 2016春操作系统大作业银行家死锁避免算法模拟20160501华南理工大学"计算机操作系统"课程设计大作业计算机科学与技术专业:春2015班级:号:2015047420 ...

  9. linux课程设计死锁避免,linux操作系统课程设计—车辆死锁.doc

    linux操作系统课程设计-车辆死锁.doc 键入文字"操作系统原理"课程设计BX090709吴沛儒操作系统原理课程设计报告姓名吴沛儒班级BX0907学号9指导老师胡静二〇一一年十 ...

  10. 操作系统课程设计--使用多线程模拟时间片轮转法调度

    本篇博文分享操作系统课程设计–使用多线程模拟时间片轮转法调度的思路及代码. 实验环境:虚拟机ubuntu18.04 ,VS Code 博主分享仅为互相学习之用,不懂的地方可以留言提问,谨防抄袭!!!谢 ...

最新文章

  1. 一重量级联盟成立!北大、浙大、上交大、国科大等34校加入
  2. qt向服务器传输文字_Qt 模拟 HTTP 表单提交文字或文件到服务器
  3. 霸榜18年,作者连续20年获得微软MVP,这本SQL书凭什么成为畅销经典
  4. java定时扫描_springmvc 定时扫描
  5. FPGA设计心得(9)基于DDS IP核的任意波形发生器设计
  6. 前端工程师系列,TCP复习及浓缩总结(全干货,支持面试)
  7. 《研磨设计模式》chap4 适配器模式Adapter
  8. Python其他数据结构collection模块-namtuple defaultdict deque Queue Counter OrderDict arrary
  9. java excel 数组公式_excel 数组公式
  10. 固态硬盘进阶知识:颗粒篇
  11. 市场营销人员如何用BI工具进行多维度数据分析?仅需7步
  12. svg格鲁特动画代码
  13. 青龙面板-中青看点(每日250毛)
  14. DDoS攻击--防护本质
  15. php禁用gopher协议,SSRF攻击-运用gopher协议构造POST包--emmmm(http://10.112.68.215:10004/index.php?action=login)...
  16. 360°全方位解析C语言的三目运算符
  17. 边缘计算使能智慧电网
  18. gdb 调试 RISC-V
  19. 愤怒的老王,每天都想暗杀一个同事...
  20. Userspace RCU原理

热门文章

  1. 矩阵卷积运算的具体过程,很简单
  2. 初级Java程序员如何快速提升自己的能力?
  3. Apple Pay 接入
  4. 解决:Firefox添加xpi扩展组件提示“此附件组件无法安装,未通过验证”
  5. 安装SHARP MX-3618NC PCL6打印机驱动程序
  6. sin30度用c语言转换弧度制,【数学】弧度和角度的转换
  7. 赋能泉城 2017中国软件生态大会再下一城
  8. 看到一份名单发现很多公司都和自己发生了或多或少的联系
  9. Labview软件、NI数据采集卡、汽车发动机数据采集学习总结(一)
  10. php短视频源码,流式布局(代码)