书籍详情

操作系统实验指导:基于Linux 内核

操作系统实验指导:基于Linux 内核

作者:徐虹,何嘉,张钟澍 编著

出版社:清华大学出版社

出版时间:2004-11-01

ISBN:9787302098409

定价:¥19.00

购买这本书可以去
内容简介
  内容简介"操作系统"是计算机及相关专业的必修课程,本教材所介绍的"基于Linux内核的操作系统实验体系"可引导学生与操作系统申核交互以理解其原理。整个实验体系构架在Linux内核的基础上,按系统基本构架、系统五大功能和奉统与用户的接口三方面分为7个实验;:本书共有9章;从内容上分为两大部分。第一部分包括两章,介绍了Linux的基本机制和使用方法。第二部分是对7项实验的指导:进程管理实验、存储器管理实验、用户接口实验、模块编程实验、设备管理实验、文件系统实验和操作系统构成实验。这些实验很好地解决了配合操作系统课程教学来指导学生进行实践的问题。;本书所介绍的实验涵盖了操作系统所有重要的原理和机制,既可作为大专院校计算机及电子类各专业"操作系统"的实验教学课程教材,也可供相关专业的技术人员使用。"操作系统"是计算机及相关专业的一门重要的专业课,是一门实践性很强的技术课程。掌握操作系统原理、熟悉操作系统的使用是各层次计算机软硬件开发人员必不可少的基本技能。然而,困扰"操作系统"教学的问题是讲授理论原理比较容易,而如何指导学生进行实践则相对较难。其结果导致学生不能深刻地理解操作系统的本质,因而也不能在实际中应用所学的"操作系统"理论知识及操作系统所提供的功能来解决实际问题。目前,国内大专院校讲授"操作系统"课程时,实习环境大多在DOS或UNIX下练习一些操作系统的使用技巧(若是在DOS环境下,多是让学生练习TSR多任务程序的编写:若是在UNIX环境下,也仅是让学生实习UNIX的使用及shell命令)。这样的实习环境和效果,使学生既不能深刻理解操作系统的内部机制和体系结构,也不能利用现有的内核生成一个令自己满意的操作系统,更不清楚操作系统的资源管理的主要过程,也就不用说试图自己改变系统中的部分算法及资源分配方式了。在如何解决这个问题上,美国人A.S.Tanenbaum是位先驱,由他编写的教学"操作系统"Minix在很长一段时间里较好地解决了这一问题。然而,随着计算机系统的体系结构的变化,元器件以及相应软件的飞速发展,早年开发出的Minix在很多方面已经不能适应今天的"操作系统"教学的需要了。在当今计算机科学相对发达的国度,人们也已认识到这方面的问题,他们开发出适合他们自己教学用的操作系统:OSP、BACI、NACHOS、TOYOS等,其中OSP、BACI是基于裸机的操作实验系统,而NACHOS、TOYOS是基于模拟器的操作实验系统。但是,一个全新的、支持基于Intelx86计算机的操作系统教学实验系统至今仍很少。国内这方面的研究相对滞后,就已有的几本关于操作系统实验的书籍来看,一个突出的问题便是教学专用实验系统比较少。本实验教材提出的教学实验体系的研制是"操作系统"课程教学的一场变革,它能够改变"操作系统"课堂教学因为没有实验环境只向学生讲解基本理论,从而造成理论与实践严重脱离的局面。该实验体系构架在Linux内核的基础上,按系统基本构架、系统五大功能和系统与用户的接口三方面分为7项实验:进程管理、存储器管理、用户接口、模块编程、设备管理、文件系统和操作系统构成实验。让学生通过该实验体系宋学习理解操作系统的基本原理、内部机制和体系结构,亲自动手生成一个自己满意的操作系统,这对掌握操作系统的设计思想与实现方法是大有裨益的,本书的第1章、第2章、第5章、第6章和第7章由徐虹编写,第4章和第8章由何嘉编写,第3章和第9章由张钟澍编写。全书-由徐虹统稿。同时感谢薛筱宇和李代伟为实验系统所做的贡献。本书及其实验系统可作为大专院校计算机及电子类各专业"操作系统"的实验教学课程的教材。作为操作系统实验课程的一个尝试,本教学实验系统难免有不够成熟之处,希望得到兄弟院校及同行的指正帮助,以便改进并对教材进行修订。编者
作者简介
暂缺《操作系统实验指导:基于Linux 内核》作者简介
目录
第一部分 Linux的基本机制和使用方法
第1章 Linux概述
1.1 Linux操作系统简介
1.1.1 Linux操作系统的发展
1.1.2 Linux操作系统的特点
1.1.3 目前流行的Linux版本
1.1.4 基于Linux内核的操作系统实验体系
1.2 Linux进程管理
1.2.1 描述进程的数据结构
1.2.2 进程调度
1.2.3 创建进程
1.2.4 进程通信机制
1.3 Linux存储管理
1.3.1 地址映射
1.3.2 内存空间的分配与回收
1.3.3 Linux的页面交换机制
1.3.4 Linux的高速缓冲机制
1.4 Linux设备管理
1.4.1 Linux设备管理结构
1.4.2 I/O控制方式
1.4.3 Linux设备驱动程序
1.4.4 字符设备驱动程序
1.4.5 块设备驱动程序
1.5 Linux文件系统
1.5.1 Linux文件系统概述
1.5.2 虚拟文件系统VFS
1.5.3 EXT2文件系统
1.5.4 Linux的几个重要文件系统
第2章 Linux的使用
2.1 安装Red Hat Linux
2.2 Linux文件系统结构
2.2.1 Linux目录结构
2.2.2 目录功能简介
2.2.3 Linux文件系统的装载和卸载
2.3 Linux系统的基本操作
2.3.1 Linux系统的启动与退出
2.3.2 Linux系统对文件和目录的操作命令
2.3.3 文档备份与压缩命令
2.3.4 权限改变命令
2.3.5 Linux与用户有关的命令
2.3.6 Linux系统管理命令
2.3.7 Linux磁盘管理命令
2.3.8 进程管理命令
2.3.9 Linux其他命令
2.4 vi的使用
2.4.1 vi的操作模式
2.4.2 vi的进入与退出
2.4.3 vi的常用命令
2.5 Linux的编译器gcc
2.6 shell程序设计
2.6.1 shell程序的编写和执行
2.6.2 shell基础
2.6.3 程序设计
2.6.4 shell程序的调试
第3章 进程管理实验
3.1 实验目的
3.2 准备知识
3.2.1 基本概念
3.2.2 系统调用
3.2.3 相关函数
3.3 实验内容
3.3.1 编制实现软中断通信的程序
3.3.2 编制实现进程的管道通信的程序
3.4 实验指导
3.4.1 进程的软中断通信
3.4.2 进程的管道通信
第4章 存储器管理实验
4.1 实验目的
4.2 准备知识
4.3 实验内容
4.4 实验指导
4.4.1 FIFO页面置换算法
4.4.2 LRU页面置换算法
4.4.3 NUR页面置换算法
4.4.4 OPT页面置换算法
4.5 参考源程序代码
4.6 程序运行
第5章 用户接口实验
5.1 实验目的
5.2 准备知识
5.2.1 控制台命令接口
5.2.2 添加系统调用
5.3 实验内容
5.3.1 控制台命令接口实验
5.3.2 系统调用实验
5.4 实验指导
5.4.1 控制台命令接口实验指导
5.4.2 系统调用实验指导
第6章 模块编程实验
6.1 实验目的
6.2 准备知识
6.2.1 模块的组织结构
6.2.2 模块的编译
6.2.3 模块的加载
6.2.4 模块的卸载
6.2.5 模块链接到内核的示意图
6.2.6 模块程序中管理模块的几个文件操作
6.3 实验内容
6.3.1 编写一个简单的内核模块
6.3.2 模块加载前后的比较
6.3.3 向模块中再添加一些新函数
6.4 实验指导
6.4.1 一个简单的内核模块
6.4.2 模块加载前后的比较
6.4.3 向模块中添加新函数
6.4.4 模块的测试
第二部 实验指导
第7章 设备管理实验
7.1 实验目的
7.2 准备知识
7.2.1 设备驱动程序简介
7.2.2 设备驱动程序与外界的接口
7.2.3 设备驱动程序的组织结构
7.2.4 设备驱动程序的代码
7.3 实验内容
7.3.1 字符类型设备的驱动程序
7.3.2 块类型设备的驱动程序
7.4 实验指导
7.4.1 字符类型设备驱动程序
7.4.2 块类型设备驱动程序
7.5 参考源程序代码
7.5.1 字符设备驱动程序
7.5.2 块设备驱动程序
第8章 文件系统实验
8.1 实验目的
8.2 准备知识
8.2.1 外存管理
8.2.2 目录管理
8.2.3 文件系统的接口
8.2.4 Linux的EXT2文件系统
8.2.5 可能用到的编程技术
8.2.6 用内存模拟外存
8.3 实验内容
8.4 实验指导
8.4.1 文件系统的数据结构
8.4.2 程序设计思想
8.4.3 几个重要的算法处理
8.4.4 程序说明
第9章 操作系统构成实验
9.1 实验目的
9.2 准备知识
9.2.1 Linux操作系统的启动流程
9.2.2 开机载入程序——引导软件LILO
9.2.3 Linux根文件系统简介
9.3 实验内容
9.4 实验指导
9.4.1 实验设计思想
9.4.2 配置新内核bzImage
9.4.3 制作启动盘(Boot盘)
9.4.4 制作根文件系统盘
9.4.5 系统整合
9.4.6 系统测试
参考文献
猜您喜欢

读书导航