基本信息

编辑推荐
本书设计了一组基于Linux环境的操作系统课程实验,带领读者由浅入深地实际体验Linux操作系统的设计原理。本书不仅仅提供了实验背景知识、实验内容、解决方案的描述,还系统地描述了Linux操作系统的基本实现原理,同时也给出了应用和内核编程可能涉及的系统调用、多线程库函数及内核函数。本书既讲解Linux操作系统原理,又提供实验指导及编程参考,为Linux内核编程入门者提供了*基本的信息。
主要特点
· 通过详细实例,循序渐进地启发学生的设计思路。
· 有详细的原理说明,无须参考其他理论书籍。
· 提供设计方法,激发学生的主观能动性,培养学生的综合设计能力。
内容简介
计算机书籍
本书讲解Linux操作系统原理及基本的内核编程。本书内容分为三部分,第一部分介绍Linux操作系统原理,第二部分介绍7个基于Linux的实验,第三部分(即附录)包含建立Linux环境的说明及进行Linux用户态及内核编程所需的函数说明等。
本书适合作为高等院校计算机专业操作系统实验课程的教材,也可以作为Linux环境应用及内核编程的参考书。
本书设计了一组基于Linux环境的操作系统课程实验,带领读者由浅入深地实际体验Linux操作系统的设计原理。本书不仅仅提供了实验背景知识、实验内容、解决方案的描述,还系统地描述了Linux操作系统的基本实现原理,同时也给出了应用和内核编程可能涉及的系统调用、多线程库函数及内核函数。本书既讲解Linux操作系统原理,又提供实验指导及编程参考,为Linux内核编程入门者提供了最基本的信息。
主要特点
● 通过详细实例,循序渐进地启发学生的设计思路。
● 有详细的原理说明,无须参考其他理论书籍。
● 提供设计方法,激发学生的主观能动性,培养学生的综合设计能力。
目录
专家指导委员会
前言
第一部分 基 础 知 识
第1章 Linux操作系统简介 3
1.1 Linux的故事 3
1.2 Linux简介 6
1.3 阅读Linux内核源码 8
1.4 小结 12
第2章 Linux的进程管理 13
2.1 进程与进程描述符 13
2.2 进程状态及切换时机 16
2.2.1 Linux的进程状态 16
2.2.2 进程的切换时机 17
2.3 进程的调度算法 18
2.4 进程的创建与消亡 19
2.4.1 进程的创建 19
2.4.2 进程的销毁 22
第3章 Linux的存储管理 25
3.1 物理内存的管理 25
前言
Linux操作系统是源码公开的实用的现代操作系统,利用Linux作为操作系统实验的平台,不但能够帮助学生进行以理解操作系统原理为目的的实验,同时也可以看做是操作系统开发实战的演练。由于Linux源码公开以及Linux的广泛普及,我们选定Linux作为操作系统实验教学平台是合适的。
本书分为三部分:第一部分介绍Linux操作系统原理;第二部分介绍7个基于Linux的实验;第三部分包含创建Linux环境及进行编程所需的参考资料。本书可以作为CCC2002(操作系统课程设计)课程指导教材,其中部分内容也可以作为操作系统原理课程的课后实验。本书也可以作为相关技术人员的Linux操作系统编程参考书。
本书作者长期从事计算机操作系统研究开发及教学工作,根据多年操作系统开发及教学经验,参考国内外近年出版的各类操作系统实验教程,设计了一组基于Linux环境的操作系统课程实验,让学生由浅入深地实际体验Linux操作系统的设计原理。本书不仅仅提供了Linux操作系统的基本实现原理、实验背景知识、实验内容、解决方案的描述,同时在第三部分也给出了应用和内核编程可能涉及的系统调用、多线程库函数及内核函数,这样可以在无须其他参考书的情况下实现基本的实验编程。在操作系统实验课程教学实践中,不需局限于本书所列的7个实验,建议老师将最终实验题(如动态加载模块方式的驱动程序实现,或者多个实验中由学生自选一个)在第一次上课时就向学生进行布置,让学生自己理解实现目标实验需要掌握哪些基本实验,这样可以发挥学生的主观能动性,以收到更好的实验效果。
本书由国防科技大学罗宇主编,参加本书编写的还有褚瑞、陈燕晖、唐勇、刘万伟、汪黎。温研对书稿进行了校对。由于作者水平有限,错误在所难免;读者对于本书的任何批评、建议可发送邮件到:yuluo@nudt.edu.cn。
作者
2005年6月于国防科技大学
序言
综合考察目前高等院校教学大纲、课程设置以及内容安排等方面的情况,多数学校还是比较重视训练学生的实际设计能力。但是,从安排设计实践的内容上看,基本上是围绕相关课程教学内容而展开的,不能够构成对实际问题的解决方案;从配套程序的规模上看,一般只是几十行到几百行的源码,或者是一个单独电路的设计,远远小于一个小型项目的规模;从设计的结构上看,由于设计实践是围绕着课程教学内容而进行的,问题已经高度抽象,学生很难得到有关综合运用所学知识的整体训练机会。而且,这些内容相对简单、问题域已经高度抽象、规模较小的设计实践一人基本上就能完成,学生几乎无法通过这些设计实践,去真正获得有关项目管理和团队协作等方面的基本训练和工作经验。
由此可以看出,大多数学校对学生实际设计能力的训练与国外知名大学和国内精品课程相比较,还是存在一些差距的。为此,机械工业出版社华章分社和一批高等院校的教师,针对当前高等院校计算机硬件、软件和电子类相关课程教学中存在的问题,参考国内外知名大学相关课程成功的教学经验,设计编写了这套“高等院校计算机课程设计指导丛书”,其目的就是通过课程设计的一系列训练,把知识获取和项目实践两个方面有机地结合起来。
在这套“高等院校计算机课程设计指导丛书”中的每一门课程设计里,都安排了由多个子项目组成的一个课程设计项目。学生们可以在教师的指导下,逐步设计实现这些子项目,并最终完成一个功能相对完整,可以运行的系统,其代码可以是数千行,甚至上万行。通过这种设计课程,学生一方面可以结合课程的教学内容循序渐进地进行设计方面的实践训练,另一方面,在参与一系列子项目的实践过程中,还能提高如何综合运用所学知识解决实际问题的能力,以及获得有关项目管理和团队合作等等众多方面的具体经验,增强对相关课程具体内容的理解和掌握能力,培养对整体课程知识综合运用和融会贯通能力。
参加丛书编写的各高等院校的教师都有着丰富的教学、科研,以及与企业合作开发项目等多方面的经验。每个课程设计中的子项目和整体项目,都来自教师们具体的科研和设计开发实践,所选设计项目与教学内容配合紧密,项目的难度与规模适宜。
最后,感谢机械工业出版社华章分社编辑们的大力支持,使出版有关这套丛书的计划,从单纯的构想演化成带有油墨芳香的真实。
丛书写作组
2004年7月