内容简介
第一部分 Linux的基本机制和使用方法
第1章 Linux概述
1.1 Linux操作系统简介
Linux操作系统的发展
Linux操作系统的特点
目前流行的Linux版本
1.2基于Linux内核的操作系统实验体系
操作系统实验的现状
选择Linux的原因
实验设计思想
实验体系的构成
第2章 Linux内核分析
2.1 Linux内核结构概述
2.2 Linux进程管理
描述进程的数据结构
进程调度
创建进程
进程通信机制
2.3 Linux存储管理
物理内存管理器
内核内存管理器
虚拟内存管理器
Linux的高速缓冲机制
2.4 Linux设备管理
Linux设备管理结构
I/O控制方式
Linux设备驱动程序
字符设备驱动程序
块设备驱动程序
2.5 Linux文件系统
Linux文件系统概述
虚拟文件系统VFS
EXT2文件系统
Linux的几个重要文件系统
第3章 Linux的使用
3.1安装Red Hat Linux
3.2 Linux文件系统结构
Linux目录结构
目录功能简介
Linux文件系统的装载和卸载
3.3 Linux系统的基本操作
Linux系统的启动与退出
Linux系统对文件和目录的操作命令
文档备份与压缩命令
权限改变命令
Linux与用户有关的命令
Linux系统管理命令
Linux磁盘管理命令
进程管理命令
Linux其他命令
3.4 vi的使用
vi的操作模式
vi的进入与退出
vi的常用命令
3.5 Linux的编译器gcc
3.6 Shell程序设计
Shell程序的编写和执行
Shell基础
Shell程序设计
Shell程序的调试
第二部分 基础实验指导
第4章 进程管理实验
4.1实验目的
4.2准备知识
基本概念
系统调用
相关函数
4.3实验内容
编制一段程序,实现软中断通信
编制一段程序,实现进程的管道通信
4.4实验指导
进程的软中断通信
进程的管道通信
第5章 存储器管理实验
5.1实验目的
5.2准备知识
5.3实验内容
5.4实验指导
FIFO页面置换算法
LRU页面置换算法
NUR页面置换算法
OPT页面置换算法
5.5参考源程序代码
5.6程序运行
第6章 用户接口实验
6.1实验目的
控制台命令接口
系统调用
6.2准备知识
控制台命令接口
添加系统调用
6.3实验内容
控制台命令接口实验
系统调用实验
6.4实验指导
控制台命令接口实验
系统调用实验
第7章 模块编程实验
7.1实验目的
7.2准备知识
模块的组织结构
模块的编译
模块的加载
模块的卸载
模块链接到内核的示意图
模块管理程序中的文件操作
i386的寄存器
7.3实验内容
编写一个简单的内核模块
模块加载前后的比较
向模块中再添加一些新函数
系统核心寄存器数值的获取
7.4实验指导
一个简单的内核模块
模块加载前后的比较
向模块中添加新函数
模块的测试
系统核心寄存器数值的获取实验
第8章 设备管理实验
8.1实验目的
8.2准备知识
设备驱动程序简介
设备驱动程序与外界的接口
设备驱动程序的组织结构
设备驱动程序的代码
8.3实验内容
字符类型设备的驱动程序
块类型设备的驱动程序
8.4实验指导
字符类型设备的驱动程序
块类型设备的驱动程序
8.5参考源程序代码
字符设备驱动程序
块设备驱动程序
第9章 文件系统实验
9.1实验目的
9.2准备知识
外存管理
目录管理
文件系统的接口
Linux的EXT2文件系统
可能用到的编程技术
用内存来模拟外存
9.3实验内容
9.4实验指导
二级文件系统的设计与实现
EXT2文件系统跟踪程序的设计与实现
第三部分 综合实验指导
第10章 操作系统构成实验
10.1实验目的
10.2准备知识
Linux操作系统的启动流程
开机载入程序——引导软件LILO
Linux根文件系统简介
10.3实验内容
10.4实验指导
实验设计思想
配置新内核bzImage
制作启动盘
制作根文件系统盘
系统整合
系统测试
第11章 系统信息显示实验
11.1实验目的
11.2准备知识
proc文件系统简介
proc中的硬件信息
proc中的软件信息
实验中使用的库函数
实验中使用的编程技术
11.3实验内容
11.4实验指导
系统信息显示实验
内存信息监测实验
参考文献