- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课程名称:计算机操作系统实验
(一)本课程实验总体介绍
1、本课程上机实验的任务:
通过该实验真正认识多进程、多线程、微核、死锁、文件系统、缓存等概念及实现原理;在充分理解原理和算法的基础上,发挥学生自我创造力,鼓励并创造机会让学生提出新的算法或实现。
2、本课程上机实验简介:
分为课程实验和课程设计两大部分。
课程实验通过应用层编程调用系统接口加深对进程、内存、文件和设备等功能的理解。具体为实验1-4。课程设计通过对Linux核心源代码的实例分析和设计掌握系统设计的原理和方法。具体为实验5-12。
3、本课程适用专业:
计算机相关专业。
4、本课程上机实验涉及核心知识点:
核心知识点:微核、系统调用、核心态与用户态、进程、线程、同步、互斥、并发、死锁、伙伴算法、文件及文件目录、I/O缓冲、调度算法、系统初始化、时钟中断等。
5、本课程上机实验重点与难点:
并发控制,内核代码的分析与设计。
6、本课程上机实验运用软件名称:
VC++编译环境, Source Insight分析器、gcc编译器,
7、总学时:
课程实验:16学时
课程设计:共8个课程设计,每个根据难度在8-20学时。
8、教材名称及教材性质(自编、统编、临时):
名称:《LINUX操作系统分析与设计》
性质:自编
9、参考资料:
计算机操作系统. 汤子瀛,西安电子科技大学出版社(第3版)
《Linux设备驱动程序》第二版 Alessandro Rubini Jonathan Corbet编著 魏永明 骆刚等译 中国电力出版社 2002年11月 第一版。
《Linux操作系统内核分析》陈莉君 编 人民邮电出版社 第一版。
《Linux操作系统内核实习》 Gary Nutt 著 机械工业出版社。
(二)包含实验项目基本信息
实验项目1
实验项目名称:
进程调度算法设计实践
实验项目的目的和任务:
目的:通过该实验,加深对多道系统中调度算法的认识。
任务:实现FIFO,RR(q=1),SPN, SRT, HRRN, FB(去=2i-1)六种调度算法。并通过输入一组进程序列计算出每种算法的输出进程序列。
上机实验内容:
(1)实现主程序及六种调度算法。
(2)输入一组进程序列,对序列中的每一个进程,定义不同的优先级、总执行时间,用六种调度算法输出调度最终的排序结果。
序列例;
进程号 1 2 3 4 5 6 7 8 优先级 4 2 2 1 3 3 4 3 运行时间 20 60 36 5 97 18 23 45
学时数:4
实验项目2
实验项目名称:
线程间同步与互斥
实验项目的目的和任务:
目的:通过多线程并发程序设计,掌握同步与互斥的设计方法。
任务:实现一个生产者、消费者的两线程同步算法。
上机实验内容:
(1)申请10个缓冲区。
(2)编制生产者线程:首先产生一个随机数,写入到一个缓冲区中。其次将该缓冲区置“满”标志。
(3)编制消费者线程:取一个“满”标志的缓冲区中数据,打印输出,然后将该缓冲区置“空”标志。
(4)添加相应的同步互斥控制代码。
学时数:4
实验项目3
1、实验项目名称:
内存分配与回收设计
2、实验项目的目的和任务:
目的:学习内存管理的实现原理。
任务:实现一个基于伙伴算法的内存分配回收算法,并通过输入一组内存请求与回收序列验证该算法执行情况。
上机实验内容:
(1)实现主程序及伙伴算法(设内存总量为1M)。
(2)用如下请求和释放序列验证该算法执行情况。
请求100k――请求240k――请求64k――请求256k――释放240k――释放100k――请求75k――释放64k――释放75k――释放256k
试输出每次请求和释放动作产生后的内存状态。
学时数:4
实验项目4
实验项目名称:
文件复制
实验项目的目的和任务:
目的:掌握文件系统的系统调用的使用。
任务:产生两个文件A和B,并将这两个文件内容交叉复制到文件C中,并输出文件C的结果。
上机实验内容:
(1)产生一个1k的文件A,其内容为数字。
(2)产生一个1k的文件B,其内容为字母。
(3)以100字节为单位,将A、B两文件的内容交替复制到文件C中。最后输出C的结果。
学时数:4
实验项目5
1、实验项目名称:
Linux时间系统分析
实验项目的目的和任务:
通过对LINUX系统与时间有关的系统源代码分析,学习多任务系统中调度的核心事件时钟中断的实现原理,学习LINUX的内核机制以及内核时钟维护机制。
上机实验内容:
编写一个拾取当前时间的应用程序,熟悉系统调用gettimeofday() 的使用。
分析\linux\kernel\time.c中的sys_gettimeofday()过程,说明时间是
文档评论(0)