| 前言 | 第1-10页 |
| 第1章 概述 | 第10-13页 |
| ·问题提出 | 第10页 |
| ·研究现状、目的和意义 | 第10-11页 |
| ·开始的选择 | 第11-13页 |
| 第2章 基本概念和体系结构 | 第13-24页 |
| ·Linux操作系统的基本概念 | 第13-21页 |
| ·操作系统 | 第13页 |
| ·什么是Linux操作系统 | 第13-14页 |
| ·LILO简介 | 第14-15页 |
| ·内核裁减 | 第15页 |
| ·进程 | 第15-16页 |
| ·进程调度(SCHED) | 第16-18页 |
| ·进程通信(IPC) | 第18-19页 |
| ·内核模块(Kernel Module) | 第19-20页 |
| ·内核模块加载与卸载 | 第20页 |
| ·设备驱动程序 | 第20-21页 |
| ·Linux的体系结构 | 第21-24页 |
| ·Linux的基本组成 | 第21-23页 |
| ·Boot盘 | 第23页 |
| ·Root Filesystem盘 | 第23-24页 |
| 第3章 实验系统设计 | 第24-95页 |
| ·实验一 操作系统构成实验 | 第24-43页 |
| ·概述 | 第24页 |
| ·原理简述 | 第24-26页 |
| ·Linux OS启动流程简介 | 第24-25页 |
| ·开机载入程序-引导软件LILO | 第25页 |
| ·Linux根文件系统简介 | 第25-26页 |
| ·实验内容 | 第26-27页 |
| ·实验设计实现 | 第27-43页 |
| ·开发平台的选择 | 第27页 |
| ·Boot Loader程序的选择 | 第27-28页 |
| ·配置新内核bzlmage | 第28-29页 |
| ·制作启动盘(Boot盘) | 第29-33页 |
| ·制作根文件系统盘(Root Filesystem盘) | 第33-39页 |
| ·整合 | 第39页 |
| ·系统测试 | 第39-43页 |
| ·实验二 进程管理实验 | 第43-59页 |
| ·进程创建 | 第43-45页 |
| ·进程调度 | 第45-49页 |
| ·基本原理 | 第46页 |
| ·进程调度的依据 | 第46-48页 |
| ·可运行队列(Runnable Queue) | 第48页 |
| ·进程调度的工作流程 | 第48-49页 |
| ·调度程序的工作流程 | 第49页 |
| ·进程通信 | 第49-51页 |
| ·管道的引入 | 第50页 |
| ·无名管道(pipe)的实现机制 | 第50-51页 |
| ·实验相关函数 | 第51-54页 |
| ·实验内容 | 第54页 |
| ·实验设计实现 | 第54-59页 |
| ·实验三 内核模块编程实验 | 第59-69页 |
| ·内核模块的编程 | 第59-63页 |
| ·几个函数 | 第59-62页 |
| ·简单内核模块的编程 | 第62-63页 |
| ·内核模块的编译、加载与卸载 | 第63-65页 |
| ·内核模块的编译 | 第63-64页 |
| ·内核模块的加载 | 第64页 |
| ·内核模块的卸载 | 第64-65页 |
| ·实验内容 | 第65页 |
| ·实验设计实现 | 第65-69页 |
| ·实验四设备管理实验 | 第69-92页 |
| ·设备驱动程序的简单介绍 | 第70-71页 |
| ·设备驱动程序与外界的接口 | 第71-72页 |
| ·设备驱动程序的组织结构 | 第72-73页 |
| ·设备驱动程序的代码 | 第73-82页 |
| ·字符设备驱动程序的代码 | 第74-77页 |
| ·块设备驱动程序的代码 | 第77-82页 |
| ·实验内容 | 第82页 |
| ·实验设计实现 | 第82-92页 |
| ·其它实验的简要说明(薛筱宇硕士设计) | 第92-95页 |
| ·存储管理实验(实验五)的简要说明 | 第92页 |
| ·用户接口实验(实验六)的简要说明 | 第92-93页 |
| ·文件系统实验(实验七)的简要说明 | 第93-95页 |
| 结论 | 第95-97页 |
| 致谢 | 第97-98页 |
| 参考文献 | 第98-101页 |
| 攻攻读硕士学位期间发表的论文及科研成果 | 第101页 |