内容简介
第1章 Linux概述
1.1 Linux操作系统简介
1.1.1 Linux操作系统的发展
1.1.2 Linux操作系统的特点
1.1.3 目前流行的Linux版本
1.2 基于Linux内核的操作系统实验体系
1.2.1 操作系统实验的现状
1.2.2 选择Linux的原因
1.2.3 实验设计思想
1.2.4 实验体系的构成
第2章 Linux内核分析
2.1 Linux内核结构概述
2.2 Linux进程管理
2.2.1 描述进程的数据结构
2.2.2 进程调度
2.2.3 创建进程
2.2.4 进程通信机制
2.3 Linux存储管理
2.3.1 物理内存管理器
2.3.2 内核内存管理器
2.3.3 虚拟内存管理器
2.3.4 Linux的高速缓存机制
2.4 Linux设备管理
2.4.1 Linux设备管理结构
2.4.2 I/O控制方式
2.4.3 Linux设备驱动程序
2.4.4 字符设备驱动程序
2.4.5 块设备驱动程序
2.5 Linux文件系统
2.5.1 Linux文件系统概述
2.5.2 虚拟文件系统
2.5.3 EXT2文件系统
2.5.4 Linux的几个重要文件系统
第3章 Linux的使用
3.1 安装Red Hat Linux
3.2 Linux文件系统结构
3.2.1 Linux目录结构
3.2.2 目录功能简介
3.2.3 Linux文件系统的装载和卸载
3.3 Linux系统的基本操作
3.3.1 Linux系统的启动与退出
3.3.2 Linux系统对文件和目录的操作命令
3.3.3 文档备份与压缩命令
3.3.4 权限改变命令
3.3.5 Linux与用户有关的命令
3.3.6 Linux系统管理命令
3.3.7 Linux磁盘管理命令
3.3.8 进程管理命令
3.3.9 Linux其他命令
3.4 vi的使用
3.4.1 vi的操作模式
3.4.2 vi的进入与退出
3.4.3 vi的常用命令
3.5 Linux的编译器gcc
3.6 shell程序设计
3.6.1 shell程序的编写和执行
3.6.2 shell基础
3.6.3 shell程序设计
3.6.4 shell程序的调试
第4章 进程管理实验
4.1 实验目的
4.2 准备知识
4.2.1 基本概念
4.2.2 系统调用
4.2.3 相关函数
4.3 实验内容
4.3.1 编制程序实现进程的软中断通信
4.3.2 编制程序实现进程的管道通信
4.4 实验指导
4.4.1 进程的软中断通信
4.4.2 进程的管道通信
第5章 存储器管理实验
5.1 实验目的
5.2 准备知识
5.3 实验内容
5.4 实验指导
5.4.1 FIFO页面置换算法
5.4.2 LRU页面置换算法
5.4.3 NUR页面置换算法
5.4.4 OPT页面置换算法
5.5 参考源程序代码
5.6 程序运行
第6章 用户接口实验
6.1 实验目的
6.2 准备知识
6.2.1 控制台命令接口
6.2.2 添加系统调用
6.3 实验内容
6.3.1 控制台命令接口实验
6.3.2 系统调用实验
6.4 实验指导
6.4.1 控制台命令接口实验
6.4.2 系统调用实验
第7章 模块编程实验
7.1 实验目的
7.2 准备知识
7.2.1 模块的组织结构
7.2.2 模块的编译
7.2.3 模块的加载
7.2.4 模块的卸载
7.2.5 模块链接到内核的示意图
7.2.6 模块管理程序中的文件操作
7.2.7 i386的寄存器
7.3 实验内容
7.3.1 编写一个简单的内核模块
7.3.2 用户空间和内核空间的比较
7.3.3 向模块中添加新函数
7.3.4 系统核心寄存器数值的获取
7.4 实验指导
7.4.1 一个简单的内核模块
7.4.2 用户空间和内核空间的比较
7.4.3 向模块中添加新函数
7.4.4 系统核心寄存器数值的获取实验
第8章 设备管理实验
8.1 实验目的
8.2 准备知识
8.2.1 设备驱动程序简介
8.2.2 设备驱动程序与外界的接口
8.2.3 设备驱动程序的组织结构
8.2.4 设备驱动程序的代码
8.3 实验内容
8.3.1 字符类型设备的驱动程序
8.3.2 块类型设备的驱动程序
8.4 实验指导
8.4.1 字符类型设备的驱动程序
8.4.2 块类型设备的驱动程序
8.5 参考源程序代码
8.5.1 字符设备驱动程序
8.5.2 块设备驱动程序
第9章 文件系统实验
9.1 实验目的
9.2 准备知识
9.2.1 外存管理
9.2.2 目录管理
9.2.3 文件系统的接口
9.2.4 Linux的EXT2文件系统
9.2.5 可能用到的编程技术
9.2.6 用内存来模拟外存
9.3 实验内容
9.4 实验指导
9.4.1 二级文件系统的设计与实现
9.4.2 EXT2文件系统跟踪程序的设计与实现
第10章 时钟管理实验
10.1 实验目的
10.2 准备知识
10.2.1 GTK图形库简介
10.2.2 Linux的时钟函数
10.3 实验内容
10.4 实验指导
10.4.1 软件结构设计
10.4.2 数据结构设计
10.4.3 时间显示
10.4.4 时间设置
10.4.5 设置定时任务
10.4.6 闹钟功能实现
第11章 系统信息显示实验
11.1 实验目的
11.2 准备知识
11.2.1 proc文件系统简介
11.2.2 proc中的硬件信息
11.2.3 proc中的软件信息
11.2.4 实验中使用的库函数
11.2.5 实验中使用的编程技术
11.3 实验内容
11.4 实验指导
11.4.1 系统信息显示实验
11.4.2 内存信息监测实验
第12章 操作系统构成实验
12.1 实验目的
12.2 准备知识
12.2.1 Linux操作系统的启动流程
12.2.2 开机载入程序——引导软件LILO
12.2.3 Linux根文件系统简介
12.3 实验内容
12.4 实验指导
12.4.1 实验设计思想
12.4.2 配置新内核bzImage
12.4.3 制作引导盘
12.4.4 制作根文件系统盘
12.4.5 系统整合
12.4.6 系统测试
参考文献