操作系统原理LINUX篇

操作系统原理LINUX篇
作 者: 徐德民
出版社: 国防工业出版社
丛编项: 面向21世纪高等学校教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Linux
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《操作系统原理LINUX篇》作者简介

内容简介

操作系统原理是计算机专业人员必须掌握的基础知识,也是高等院校计算机专业学生的必修课程。通过对操作系统原理的学习,不仅能够从系统内部了解操作系统的工作原理,而且可以学到软件设计的思想方法和技术方法。为了能够深入理解操作系统的复杂结构及其大量的概念,在学习中应该做到操作系统理论和其实现技术相结合。当前操作系统原理的书籍和教材通常是结合UINX介绍操作系统的实现技术。但是,由于UNIX系统的运行条件要求严格,并且其源代码的价格十分昂贵,读者无法从源代码级对操作系统的具体实现技术进行分析。20世纪90年代Linux操作系统的问世给操作系统的学习带来了新的机遇。Linux是一个与UNIX兼容的多用户多任务操作系统,它是一个源代码公开的操作系统,并且可以在简单廉价的条件下运行。随着Linux源代码的不断完善和健全,用Linux取代UINX学习操作系统原理已经成为可能。结合Linux学习操作系统原理,不但可以通过剖析其源代码了解操作系统的实现技术,使操作系统的理论概念具体化,而且为自主深入的学习开拓了广泛的空间。在掌握操作系统理论和Linux实现技术的基础上,读者经过进一步深入地学习就可以在几乎没有经济投入的情况下自己来分析、改制、裁减Linux内核,这对全面掌握操作系统的知识和提高实践能力来说,无疑是一种十分理想的途径。

图书目录

第1章 操作系统概论

1. 1 操作系统的地位及作用

1. 1. 1 操作系统的地位

1. 1. 2 操作系统的作用

1. 2 操作系统的功能

1. 2. 1 单道系统与多道系统

1. 2. 2 操作系统的功能

1. 3 操作系统的分类

1. 3. 1 批处理操作系统

1. 3. 2 分时操作系统

1. 3. 3 实时操作系统

习题一

第2章 Linux概述

2. 1 Linux的发展及背景

2. 1. 1 Linux的发展历史

2. 1. 2 Linux与GNU

2. 2 Linux的性能和特点

2. 2. 1 Linux的优越性能

2. 2. 2 Linux的技术特点

2. 3 Linux内核

2. 3. 1 Linux内核的版本

2. 3. 2 Linux内核的组成及功能

习题二

第3章 进程管理

3. 1 进程的基本概念

3. 1. 1 程序的顺序执行

3. 1. 2 程序的并发执行

3. 1. 3 进程的定义和特性

3. 2 进程状态和进程控制

3. 2. 1 进程的状态及转换

3. 2. 2 进程的实体

3. 2. 3 进程控制

3. 3 进程调度

3. 3. 1 进程调度的功能

3. 3. 2 进程调度性能准则

3. 3. 3 进程调度方式

3. 3. 4 进程调度算法

3. 4 进程的互斥与同步

3. 4. 1 进程的互斥

3. 4. 2 进程的同步

3. 5 P. V操作

3. 5. 1 P. V操作原语

3. 5. 2 用P. V操作实现进程互斥

3. 5. 3 用P. V操作实现进程同步

3. 5. 4 生产者-消费者问题

3. 6 进程通信

3. 6. 1 进程通信机制

3. 6. 2 消息通信

3. 6. 3 信箱通信

3. 7 死锁

3. 7. 1 死锁的产生

3. 7. 2 发生死锁的必要条件

3. 7. 3 死锁的预防

3. 7. 4 死锁的避免

3. 7. 5 死锁的检测和恢复

习题三

第4章 Linux进程管理

4. 1 Linux进程概述

4. 1. 1 Linux进程的组成

4. 1. 2 进程在处理机上的执行状态

4. 1. 3 进程空间和系统空间

4. 1. 4 进程上下文和系统上下文

4. 2 Linux进程的状态和标识

4. 2. 1 Linux进程的状态及转换

4. 2. 2 Linux进程的标识

4. 2. 3 进程标识哈希表

4. 3 Linux的进程调度

4. 3. 1 Linux进程调度策略

4. 3. 2 Linux进程调度依据

4. 3. 3 Linux进程调度的加权处理

4. 3. 4 Linux进程调度方法

4. 3. 5 进程调度时机

4. 4 Linux进程的创建和撤消

4. 4. 1 Linux进程的族亲关系

4. 4. 2 Linux进程的创建

4. 4. 3 进程创建的过程

4. 4. 4 进程程序的执行

4. 4. 5 进程的终止和撤消

4. 5 Linux信号

4. 5. 1 信号的作用和种类

4. 5. 2 信号的处理

4. 5. 3 信号处理函数

4. 6 Linux管道

4. 6. 1 管道的概念

4. 6. 2 无名管道

4. 6. 3 命名管道

4. 7 IPC信号量机制

4. 7. 1 信号量与信号量集合

4. 7. 2 信号量集合的创建和检索

4. 7. 3 信号量PV操作

4. 7. 4 信号量操作等待队列

4. 7. 5 信号量控制操作

4. 7. 6 信号量的程序例

4. 8 IPC消息队列

4. 8. 1 消息队列的结构

4. 8. 2 消息队列的生成与控制

4. 8. 3 消息的发送与接收

4. 8. 4 消息队列的程序例

4. 9 IPC共享内存

4. 9. 1 共享内存

4. 9. 2 共享内存的生成与控制

4. 9. 3 共享内存的结合与分离

4. 9. 4 共享内存的程序例

4. 9. 5 IPC对象

习题四

第5章 存储管理

5. 1 存储管理的目的与功能

5. 2 地址重定位

5. 2. 1 作业的地址空间

5. 2. 2 静态地址重定位

5. 2. 3 动态地址重定位

5. 3 分区存储管理

5. 3. 1 固定分区管理

5. 3. 2 可变分区管理

5. 3. 3 分区管理的存储保护

5. 4 分页存储管理

5. 4. 1 简单分页存储管理

5. 4. 2 逻辑地址和物理地址

5. 4. 3 页表

5. 4. 4 快表

5. 4. 5 主存空间管理

5. 4. 6 存储保护和存储共享

5. 5 存储扩充技术

5. 5. 1 覆盖技术

5. 5. 2 交换技术

5. 5. 3 虚拟存储技术

5. 5. 4 请求式分页存储管理

5. 6 分段存储管理

5. 6. 1 分段存储管理原理

5. 6. 2 段表

5. 6. 3 地址转换

5. 6. 4 存储共事

5. 6. 5 存储保护

5. 7 段页式存储管理

5. 7. 1 段页式存储管理原理

5. 7. 2 段页式存储管理的地址转换

习题五

第6章 Linux存储管理

6. 1 80x86的分段机制

6. 1. 1 80x86的虚拟存储空间

6. 1. 2 段描述符表

6. 1. 3 逻辑地址向线性地址的转换

6. 2 选段符与段描述符

6. 2. 1 选段符

6. 2. 2 段描述符

6. 2. 3 分段机制的存储保护

6. 3 80x86的分页机制

6. 3. 1 80x86的分页机制

6. 3. 2 分页机制的地址转换

6. 3. 3 页表目录与页表的表项

6. 3. 4 分页机制的存储保护

6. 3. 5 快表TLB

6. 4 Linux的分段和分页结构

6. 4. 1 Linux的分段结构

6. 4. 2 Linux的三级分页结构

6. 4. 3 内核页表和进程页表

6. 5 Linux进程地址空间管理

6. 5. 1 进程地址空间用户区的管理

6. 5. 2 虚存区域

6. 5. 3 虚存区域的建立和映射

6. 6 Linux物理内存管理

6. 6. 1 Linux的物理内存空间

6. 6. 2 物理页面的管理

6. 6. 3 空闲页面管理--Buddy算法

6. 7 内存的分配与释放

6. 7. 1 物理内存分配的数据结构

6. 7. 2 物理内存分配函数

6. 7. 3 虚拟内存分配函数

习题六

第7章 文件管理

7. 1 文件与文件系统

7. 1. 1 文件

7. 1. 2 文件的种类

7. 1. 3 文件系统及其功能

7. 2 文件的组织结构

7. 2. 1 文件的逻辑结构

7. 2. 2 文件的物理结构

7. 3 文件目录结构

7. 3. 1 文件说明

7. 3. 2 文件目录的结构

7. 3. 3 当前目录和目录文件

7. 4 文件存取与操作

7. 4. 1 文件的存取方法

7. 4. 2 文件存储设备

7. 4. 3 活动文件

7. 4. 4 文件操作

7. 5 文件存储空间的管理

7. 5. 1 空闲块表

7. 5. 2 空闲区表

7. 5. 3 空闲块链

7. 5. 4 位示图

7. 6 文件的共享和保护

7. 6. 1 文件存取控制

7. 6. 2 文件共享的实现方法

7. 6. 3 文件的备份转储

习题七

第8章 Linux文件管理

8. 1 Linux文件系统概论

8. 1. 1 Linux文件系统的树型结构

8. 1. 2 Linux文件的类型

8. 1. 3 文件的访问权限

8. 2 EXT2文件系统

8. 2. 1 EXT2文件系统的构造

8. 2. 2 EXT2超级块

8. 2. 3 组描述符

8. 2. 4 块位图

8. 3 EXT2的inode和文件结构

8. 3. 1 EXT2文件系统inode结构

8. 3. 2 inode表和inode位图

8. 3. 3 EXT2文件的物理结构

8. 3. 4 EXT2的目录结构

8. 4 虚拟文件系统VFS

8. 4. 1 VFS的工作原理

8. 4. 2 VFS超级块

8. 4. 3 VFS的inode

8. 5 文件系统的安装与注册

8. 5. 1 文件系统的安装

8. 5. 2 文件系统的注册

8. 6 文件管理和操作

8. 6. 1 系统对文件的管理

8. 6. 2 进程对文件的管理

8. 6. 3 文件操作函数

习题八

第9章 设备管理

9. 1 设备与设备管理

9. 1. 1 设备的分类

9. 1. 2 设备管理的设计目标

9. 1. 3 设备管理的功能

9. 2 I/O控制方式

9. 2. 1 CPU控制方式

9. 2. 2 通道方式

9. 3 缓冲技术

9. 3. 1 缓冲技术的引进

9. 3. 2 缓冲器的种类

9. 4 设备分配

9. 4. 1 设备管理的数据结构

9. 4. 2 设备分配策略

9. 4. 3 设备分配算法

9. 5. 设备处理程序与I/O进程

9. 5. 1 设备处理程序

9. 5. 2 I/O进程

习题九

第10章 Linux设备管理

10. 1 Linux设备分类与识别

10. 1. 1 Linux设备的分类

10. 1. 2 设备文件

10. 1. 3 Linux设备的识别

10. 2 设备驱动程序与设备注册

10. 2. 1 设备驱动程序

10. 2. 2 设备注册

10. 3 Linux的I/O控制方式

10. 3. 1 查询等待方式

10. 3. 2 中断方式

10. 3. 3 DMA方式

10. 4 Linux设备I/O操作

10. 4. 1 设备I/O操作

10. 4. 2 字符设备的操作

10. 4. 3 块设备的操作

习题十

第11章 作业管理

11. 1 作业的组织

11. 1. 1 作业与作业步

11. 1. 2 作业的分类

11. 1. 3 作业的状态

11. 1. 4 作业控制块

11. 2 操作系统的用户接口

11. 2. 1 程序级接口

11. 2. 2 作业控制级接口

11. 3 作业调度

11. 3. 1 作业调度程序的功能

11. 3. 2 作业调度策略

11. 3. 3 作业调度算法

11. 4 作业控制

11. 4. 1 脱机控制方式

11. 4. 2 联机控制方式

习题十一

第12章 Linux网络管理

12. 1 网络通信基础知识 12. 1. 1 计算机网络通信

12. 1. 2 网络体系的层次结构

12. 1. 3 TCP/IP协议的结构

12. 1. 4 TCP协议

12. 1. 5 IP协议

12. 1. 6 端口

12. 2 Linux套接字

12. 2. 1 套接字的概念

12. 2. 2 套接字的种类和套接字域

12. 2. 3 套接字结构体

12. 2. 4 套接字地址结构

12. 3 协议注册与套接字的建立

12. 3. 1 通信协议的注册

12. 3. 2 套接字的建立

12. 4 Linux网络缓冲区

12. 4. 1 数据的封装和拆封

12. 4. 2 套接字缓冲区

12. 4. 3 套接字缓冲区操作

12. 5 套接字网络通信

12. 5. 1 套接字操作函数

12. 5. 2 客户/服务器通信

12. 5. 3 客户/服务器程序实例

习题十二

参考文献