注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络操作系统LinuxLinux操作系统内核实习

Linux操作系统内核实习

Linux操作系统内核实习

定 价:¥29.00

作 者: (美)Gary Nutt著;潘登[等]译
出版社: 机械工业出版社
丛编项: 计算机科学丛书
标 签: Linux

ISBN: 9787111091813 出版时间: 2005-02-01 包装: 胶版纸
开本: 26cm+光盘1片 页数: 162 字数:  

内容简介

  本书是一本传统操作系统教材的配套实验室教材。本书共分两部分:第一部分展示了Linux设计的概况,对Linux设计的概况,对Linux环境的运行时组织和进程、文件及设备管理等主题提供了分析;第二部分通过12个练习探讨了操作系统内部结构的各个方面,内容涉及Shell编程、内核模块、系统调用、虚拟存储、文件系统、文件I/O等,从而帮助读者开发自己的Linuxmw内核函数和数据结构,使读者在实验室中真正了解理论概念是如何在Linux中得到实现的。本书可供计算机专业本科生使用,也是教师的辅导用书。附带光盘中的Linux源代码为读者的学习和使用提供了便利。

作者简介

  GaryNutt是科罗拉大学计算机科学系教授。他于1972年获得华励顿大学博士学位。曾在施乐公司PARC实验室和贝尔实验室工作过。他的在研究领域主要包括:操作系统、分布式程序设计、分布式虚拟机、存储系统、小型无线局域网络等。他另一部著作《操作系统:现代观点》是国际上主流的操作系统教材之一,与本书配套,已由机械工业出版社出版。

图书目录

第一部分 Linux概况
1 Linux的演变 
2 通用内核职责 
2.1 资源抽象 
2.2 共享资源 
2.2.1 管理对资源的竞争 
2.2.2 资源的独占使用 
2.2.3 有控制的共享 
2.3 操作系统的功能划分 
3 内核的组织结构 
3.1 中断 
3.2 使用内核服务 
3.3 串行执行 
3.4 守护进程 
3.5 引导过程 
3.5.1 引导扇区 
3.5.2 启动内核 
3.6 登录到机器 
3.7 机器中的控制流 
4 进程与资源管理 
4.1 运行进程管理程序 
4.1.1 系统调用 
4.1.2 中断 
4.2 创建新任务 
4.3 调度程序 
4.4 进程间通信与同步机制 
4.5 保护机制 
5 存储管理 
5.1 管理虚拟地址空间 
5.2 辅助存储 
5.3 缺页处理 
5.4 地址变换 
6 设备管理 
6.1 设备驱动程序 
6.2 处理中断 
7 文件管理 
7.1 装载文件系统 
7.2 打开文件 
7.3 读写文件 
7.4 Ext2文件系统 
8 了解Linux的更多信息 
第二部分 练 习
练习一 观察Linux行为 
1.1 介绍 
1.2 问题陈述 
1.2.1 部分A 
1.2.2 部分B 
1.2.3 部分C 
1.2.4 部分D 
1.3 解决问题 
1.3.1 /proc文件系统 
1.3.2 使用argc和argv 
1.3.3 组织方案 
1.3.4 将工作保存在共享实验室 
练习二 Shell编程 
2.1 介绍 
2.1.1 基本UNIX风格的shell操作 
2.1.2 将进程放在后台 
2.1.3 I/O重定向 
2.1.4 shell管道 
2.1.5 读取多个输入流 
2.2 问题陈述 
2.2.1 部分A 
2.2.2 部分B 
2.2.3 部分C 
2.3 解决问题 
2.3.1 组织方案 
2.3.2 部分A 
2.3.3 部分B和C 
练习三 内核定时器 
3.1 介绍 
3.1.1 内核如何维护时间 
3.1.2 每进程定时器 
3.2 问题陈述 
3.2.1 部分A 
3.2.2 部分B 
3.2.3 部分C 
3.3 解决问题 
3.3.1 Linux源代码组织结构 
3.3.2 信号 
3.3.3 组织方案 
练习四 内核模块 
4.1 介绍 
4.1.1 模块组织结构 
4.1.2 模块的装载与卸载 
4.2 问题陈述 
4.3 解决问题 
4.3.1 read()过程 
4.3.2 文件结束(EOF)条件 
4.3.3 编译模块 
4.3.4 装载和卸载模块 
4.3.5 时钟精度问题 
4.3.6 更多帮助 
练习五 系统调用 
5.1 介绍 
5.1.1 系统调用链 
5.1.2 定义系统调用编号 
5.1.3 生成系统调用stub 
5.1.4 内核函数组织结构 
5.1.5 引用用户空间内存地址 
5.2 问题陈述 
5.2.1 部分A 
5.2.2 部分B 
5.3 解决问题 
5.3.1 内核printk()函数 
5.3.2 组织方案 
5.3.3 重建内核 
5.3.4 留下一个干净的环境 
练习六 共享内存 
6.1 介绍 
6.1.1 共享内存API 
6.1.2 实现 
6.2 问题陈述 
6.3 解决问题 
练习七 虚拟存储 
7.1 介绍 
7.1.1 虚拟地址空间 
7.1.2 虚拟存储区 
7.1.3 地址变换 
7.1.4 缺页处理程序 
7.1.5 主存分配 
7.2 问题陈述 
7.2.1 部分A 
7.2.2 部分B 
7.3 解决问题 
练习八 同步机制 
8.1 介绍 
8.1.1 阻塞任务 
8.1.2 等待队列 
8.1.3 使用等待队列 
8.2 问题陈述 
8.2.1 部分A 
8.2.2 部分B 
8.3 解决问题
练习九 调度程序 
9.1 介绍 
9.1.1 进程管理 
9.1.2 进程状态 
9.1.3 调度程序实现 
9.1.4 公平共享调度 
9.2 问题陈述 
9.2.1 部分A 
9.2.2 部分B 
9.3 解决问题 
9.3.1 设计解决方案 
9.3.2 比较调度程序的性能 
练习十 设备驱动程序 
10.1 介绍 
10.1.1 驱动程序组织结构 
10.1.2 可装载内核模块驱动程序 
10.1.3 示例:磁盘驱动程序 
10.2 问题陈述 
10.2.1 部分A 
10.2.2 部分B 
10.3 解决问题 
练习十一 文件系统 
11.1 介绍 
11.1.1 虚拟文件系统 
11.1.2 目录 
11.1.3 示例:MS-DOS文件系统 
11.2 问题陈述 
11.2.1 部分A 
11.2.2 部分B 
11.2.3 部分C 
11.3 解决问题 
11.3.1 MS-DOS磁盘格式 
11.3.2 MS-DOS FAT 
11.3.3 使用软盘API 
11.3.4 设计解决方案 
练习十二 文件I/O 
12.1 介绍 
12.1.1 打开与关闭操作 
12.1.2 读写操作 
12.1.3 块分配 
12.1.4 缓冲区管理 
12.2 问题陈述 
12.2.1 部分A 
12.2.2 部分B 
12.2.3 部分C 
12.2.4 部分D 
12.3 解决问题 
12.3.1 open()函数 
12.3.2 缓冲FAT 
12.3.3 解决方案 
进一步学习 
附录A Linux Mandrake 7.0快速安装指南 
附录B GNU通用公共许可证(版本2,1991.6) 
参考文献

本目录推荐