- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Linux内核设计与实现》
课程实验指导书
西安理工大学Linux小组
谢井明 编
2010年3月
西安理工大学
计算机科学与工程学院
目 录
1. 前言 1
1.1 一些话 1
1.2 说明 1
1.3 关于文档修正与程序bug 1
2. Linux下Shell脚本编程实验 2
2.1 预习要求 2
2.2 实验目的 2
2.3 实验任务 2
2.4 实验原理及方法 2
2.5 注意事项 3
3. Makefile文件的编写 4
3.1 预习要求 4
3.2 实验目的 4
3.3 实验任务 4
3.4 实验原理及方法 4
3.5 注意事项 6
4. Linux内核模块编程实验(必做) 7
4.1 预习要求 7
4.2 实验目的 7
4.3 实验任务 7
4.4 实验原理及方法 7
4.5 注意事项 9
5. 增加系统调用实验 10
5.1 预习要求 10
5.2 实验目的 10
5.3 实验任务 10
5.4 实验原理及方法 10
5.5 总结思考 14
6. 获取进程管理与调度信息实验 15
6.1 预习要求 15
6.2 实验目的 15
6.3 实验任务 15
6.4 实验原理及方法 15
6.5 注意事项 15
7. 工作队列实验 17
7.1 预习要求 17
7.2 实验目的 17
7.3 实验任务 17
7.4 实验原理及方法 17
8. 定时器实验 20
8.1 预习要求 20
8.2 实验目的 20
8.3 实验任务 20
8.4 实验原理及方法 20
9. Linux驱动程序实验 21
9.1 预习要求 21
9.2 实验目的 21
9.3 实验任务 21
9.4 实验原理及方法 21
10. 模拟Linux内存管理实验 24
10.1 预习要求 24
10.2 实验目的 24
10.3 实验任务 24
10.4 实验原理及方法 24
10.5 注意事项 28
11. 进程同步实验 29
11.1 预习要求 29
11.2 实验目的 29
11.3 实验任务 29
11.4 实验原理及方法 29
前言
一些话
对于大多数人来说,几乎还没接触过Linux及Linux下的用户层编程,就开始学习《Linux内核设计与实现》这门课程,这是一个巨大的挑战!即便是有一定基础的人,学习Linux内核也是个莫大的考验。这里并不是吓唬初学者,而是希望能够使大家有个心里准备,学习Linux内核之旅充满艰难万险,但当你披荆斩棘一路走来,拨开云雾之时,无限感慨“风景这边独好!”。
看不懂书中阐述的原理吗?搞不明其机制是如何实现的吗?没有捷径,唯有反复的学习、消化,以致脑中出现其清晰的逻辑。
不知如何进行内核编程吗?也没有捷径,只有实践,大胆的实践,从简单helloworld开始,一步一步逐渐深入。实践多了,当你遇到问题时,自然会把内核编程考虑进你自己的解决方案中来,而不仅仅局限于用户层的解决方案。
对于没接触过Linux的同学,建议自己装个Linux系统来玩玩,熟悉其基本操作、目录组织以及掌握基本的Linux下的开发工具等;对于接触Linux有一段时间的同学,希望能够多指导指导新手,同时自己也可以温习温习,温故而知新嘛,共同进步。
说明
本人受黑新宏教授的指导与委托,特编写此实验指导书,予后来者。
本指导书包含了作者学习Linux内核时的大部分入门实验程序,旨在指导帮助大家对内核编程有个入门。每个实验都提供了简单的实验程序及其原理说明,同学们也可以自由发挥编写相关实验程序。下面对实验按内核层代码与用户层代码进行分类:
只包含内核层代码的实验:实验4、实验7、实验8。
只包含用户层代码的实验:实验2、实验3、实验10、实验11。
同时包含内核层代码与用户层代码的实验:实验5、实验6、实验9。
请注意内核层代码的编译与用户层代码的编译有点小异。
本指导书中的所有程序都在“CentOS 5.3”这个Linux版本系统中编译通过。进行内核编程需要相应内核开发包,可自行安装,一般安装在/usr/src/kernels/下,其他像/lib/modules/下会有对其的符号链接。
实验可能要用到的工具:
Vim:用于编辑源代码;
gcc:用于编译连接;
gdb:用于调试(调试用户空间程序);
make:用于自动编译;
SourceInsight:用于浏览内核源代码。
关于文档修正与程序bug
由于作者水平的有限,接触Linux内核的时间不长,对Linux内核的理解难免有偏差,编写的程序瑕疵或许不少,所以欢迎广大读者来函指正。
邮箱:xjmbufan@
Linux下Shell脚本编程实验
预习要求
开始本实验之前,请学习相关shell脚本编程知识。
了解Linux环境变量。
实验目的
通过实验,进一步熟悉shell脚本编程。
掌握基本sh
您可能关注的文档
最近下载
- 牛奶过敏的诊断、管理和预防意见书(2024).pdf VIP
- 西安2初一新生分班(摸底)数学模拟考试(含答案).doc VIP
- 2025年新版人教版四年级上册英语 四上Unit 4 Helping in the community单元整体教学设计.pdf VIP
- 中国碳化钨项目创业投资方案.docx VIP
- 内能的利用的学案.doc VIP
- 建筑与市政工程防水通用规范试题(含答案).doc
- 《中国儿童生长激素使用情况研究》.pdf VIP
- 万华化学经营分析报告.docx VIP
- 2025年中国PVB中间膜项目商业计划书.docx VIP
- 政府间国际科技创新合作重点专项2017年第二批项目.doc VIP
文档评论(0)