近十年来,Linux在促进信息产业发展的同时,也为设计各种新型操作系统提供了难得的案例。应该说Linux为操作系统研究者提供了新理论、新方法、新技术的实践和验证平台,同时反过来促进了操作系统的不断发展。Linux由于源代码公开,特别适合于高等学校计算机专业本科生操作系统课程的教学。
本书注重学生对Linux操作系统分析和设计能力的培养,系统地介绍了操作系统的定义、功能等基本知识,并以Intel X86为例介绍了计算机硬件子系统对操作系统的支持与要求,进程管理以及在Linux内核里的实现方法,内存管理的基本原理、技术;以Ext2,Proc为例详细介绍了Linux文件系统,设备管理的基本原理以及Linux设备管理的特点,Linux字符设备和块设备驱动程序设计的方法及实例等等。
本书简要介绍操作系统的定义、功能、特性,以及发展历史、分类、内核结构,阐述计算机硬件系统对操作系统的支持与要求,以Linux 2.6版本为例详细分析Linux操作系统的进程管理、内存管理、文件管理和设备管理的工作原理和设计。然后详细介绍字符设备、块设备和网络设备的Linux驱动程序设计与实现方法。除此以外,还给出了Linux系统管理、内核同步机制、进程间通信、内存管理、Proc文件创建、设备驱动程序、内核裁减等实验内容及有关参考代码。
本书通过详细的例子引导渎者系统地学习Linux操作系统的工作原理与设计,并通过Linux设备驱动程序设计实践强化对Linux操作系统的理解和应用。本书适于作为计算机相关专业方向的高年级学生或研究生的教材,也适合有志于从事Linux操作系统研究和开发的工程师阅读。
第1章 操作系统概述
1.1 操作系统在计算机系统中的地位
1.2 操作系统的定义、功能和特性
1.2.1 操作系统的定义
1.2.2 操作系统的特征
1.2.3 操作系统的功能
1.3 操作系统的发展历史及分类
1.3.1 操作系统的发展过程
1.3.2 操作系统分类
1.4 操作系统的内核体系结构模型
1.5 Linux的特点及发展简史
1.5.1 什么是Linux
1.5.2 Linux的发展历程
1.5.3 Linux的特性
1.5.4 Linux内核的版本演化介绍
1.6 Linux内核的结构及主要组成部分
1.6.1 Linux内核系统体系结构
1.6.2 Linux内核的源码组织结构
1.7 本章小结
思考题
进一步阅读
第2章 计算机系统硬件基础
第3章 进程管理
第4章 内存管理
第5章 文件系统
第6章 设备管理
第7章 Linux驱动程度编写基础
第8章 字符设备和块设备驱动程度
第9章 网络设备驱动程度
实验1 Linux系统管理
实验2 剪裁内核
实验3 内核同步机制
实验4 进程间通信(内存映射、共享内存、信号量、管道和信号等)
实验5 proc文件系统
实验6 虚拟内存的管理
实验7 字符、块设备和网卡驱动
参考文献