微信扫码下载

内容简介

操作系统作为核心的系统软件,负责控制和管理整个系统的资源并组织用户高效协调地使用这些资源。《操作系统基础(第4版)》是在《操作系统基础(第3版)》的基础上修订而成的。与第3版相比,第4版在结构、内容上都做了调整、修改和增删。
操作系统基础(第4版)》阐述了操作系统的基本工作原理以及设计方法,力求将现代操作系统的典型特征,即多线程、微内核、分布式系统、客户/服务器模型与经典的操作系统原理紧密结合。
操作系统基础(第4版)》共13章,主要介绍了操作系统的基本概念和运行环境、进程和线程、处理器调度与死锁、存储管理、设备管理、文件管理、分布式系统,最后介绍了Windows和Linux操作系统的结构和实现。每章后面都有本章小结及难度适宜的习题,便于读者自学或巩固所学的知识。
操作系统基础(第4版)》内容丰富,结构清晰,突出基础,注重应用,强调理论与实践的结合,适合作为高等院校计算机专业或相关专业操作系统课程的教材,也可以作为从事操作系统设计与系统内核开发的技术人员的参考书籍。

目录

第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.4操作系统的功能和特性

1.4.1操作系统的功能

1.4.2操作系统的特性

1.5操作系统的类型

1.5.1多道批处理操作系统

1.5.2分时操作系统

1.5.3实时系统

1.5.4网络操作系统

1.5.5多处理操作系统

1.5.6分布式操作系统

1.5.7嵌入式操作系统

1.5.8多核系统

1.6操作系统的设计

1.6.1设计的目标和原则

1.6.2操作系统设计

1.7操作系统的结构

1.7.1模块接口法

1.7.2层次结构设计法

1.7.3微内核结构

1.7.4微内核的实现

本章小结

习题

第2章操作系统的运行环境

2.1硬件环境

2.1.1中央处理器

2.1.2主存储器

2.1.3缓冲技术

2.1.4中断技术

2.1.5时钟、时钟队列

2.2操作系统与其他系统软件的关系

2.2.1作业、作业步、进程的关系

2.2.2重定位的概念

2.2.3绝对装入程序与相对装入程序

2.3操作系统与用户的接口

2.3.1作业控制语言

2.3.2联机作业控制

2.4固件——微程序设计概念*

2.4.1微程序设计的概念

2.4.2微程序设计与操作系统

本章小结

习题

第3章进程管理

3.1进程的概念

3.1.1进程的引入

3.1.2进程的定义

3.2进程的状态

3.2.1进程的状态及其变化

3.2.2进程的挂起和解除挂起的状态

3.3进程的描述和管理

3.3.1进程的描述

3.3.2进程管理

3.4进程控制

3.4.1进程的控制原语

3.4.2操作系统与进程控制的执行

3.5UNIXSVR4的进程管理*

本章小结

习题

第4章多线程

4.1线程的概念

4.1.1线程的引入

4.1.2线程的概念

4.2线程的状态和线程管理

4.2.1线程的状态

4.2.2线程的描述

4.2.3线程的管理

4.3多线程的实现

4.3.1概述

4.3.2用户级线程

4.3.3内核级线程

4.3.4KLT和ULT结合的方法

4.3.5线程库

4.4Solaris操作系统的线程机制*

4.4.1Solaris的多线程结构

4.4.2轻质进程

4.4.3内核线程

4.4.4用户线程

4.4.5线程的执行

4.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信号量及同步原语

5.4.3同步原语的不可分割性

5.4.4用信号量实现进程间互斥

5.4.5生产者和消费者问题

5.4.6读者和写者问题

5.5管程

5.5.1管程的定义

5.5.2用管程实现同步

5.6进程间的通信

5.6.1消息通信

5.6.2间接通信模式

5.6.3其他消息通信模式

5.7UNIX的进程同步和通信

5.7.1管道

5.7.2消息

5.7.3共享主存

5.7.4信号量

5.7.5信号或软中断

本章小结

习题

第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多资源的银行家算法

6.5死锁检测与恢复

6.5.1死锁的检测

6.5.2死锁的恢复

6.6资源分配图

6.6.1资源分配图

6.6.2利用资源分配图进行死锁分析

6.6.3资源分配图化简法

本章小结

习题

第7章实存储器管理技术

7.1引言

7.1.1主存储器的物理组织

7.1.2主存储器的管理功能

7.2固定分区

7.3可变分区多道管理技术

7.3.1可变分区存储管理的概念

7.3.2存储分配算法

7.3.3存储器的压缩和程序浮动

7.3.4可变分区多道管理的地址变换

7.4简单分页

7.5简单分段

7.6内核主存管理

7.6.1内核主存管理概述

7.6.2二次幂空闲表分配器

7.6.3伙伴系统

本章小结

习题

第8章虚拟存储管理

8.1虚拟存储系统的基本概念

8.2请求页式存储管理

8.2.1地址转换

8.2.2硬件支持

8.3请求分段存储管理

8.3.1请求分段概述

8.3.2分段的实现

8.4段页式存储管理

8.4.1请求段页式存储管理的基本概念

8.4.2请求段页式存储管理的地址转换

8.4.3段页式存储管理算法

8.4.4请求段页式存储管理的优缺点

8.5页面置换算法

8.5.1页面访问失效及处理

8.5.2页面置换算法

8.5.3交换区

8.6页框分配策略

8.6.1物理主存

8.6.2空闲页面链表

8.6.3页架分配中的有关策略

8.6.4分页环境中程序的行为特性

8.7UNIXSVR4的存储管理

本章小结

习题

第9章设备管理

9.1概述

9.2I/O子系统的层次模型

9.2.1I/O子系统的设计目标

9.2.2I/O子系统的层次模型

9.3I/O硬件组成

9.3.1设备和设备控制器

9.3.2直接存储器访问

9.3.3通道方式与输入输出处理器

9.4设备驱动程序

9.4.1设备和驱动程序分类

9.4.2设备开关表

9.4.3设备驱动程序框架

9.5I/O子系统

9.5.1设备命名

9.5.2输入输出缓冲区

9.5.3I/O子系统独立于设备的工作

9.6流*

9.6.1流的概念

9.6.2消息和队列

9.6.3流I/O

9.7磁盘调度

9.7.1磁盘的硬件特性

9.7.2磁盘调度算法

9.8虚拟设备和SPOOLing系统

9.9RAID技术*

本章小结

习题

第10章文件系统

10.1文件

10.1.1文件的命名

10.1.2文件的结构

10.1.3文件的类型

10.1.4文件的属性

10.1.5文件的操作

10.2目录

10.2.1目录内容

10.2.2文件目录的结构

10.2.3路径名

10.2.4符号链接

10.2.5目录操作

10.3文件系统的实现

10.3.1文件空间的分配和管理

10.3.2UNIX系统的目录实现

10.3.3磁盘空间管理

10.3.4文件系统在主存的数据结构和打开操作

10.3.5文件系统挂载

10.4安全性和保护

10.4.1用户确认技术

10.4.2保护机制——数据安全性

10.4.3其他

10.4.4文件的转储和恢复

本章小结

习题

第11章分布式系统*

11.1概述

11.1.1什么是分布式系统

11.1.2分布式系统的优点

11.2进程通信

11.2.1进程通信的概念

11.2.2TCP/IP通信协议

11.2.3分布式环境的客户/服务器模式

11.2.4分布式进程通信

11.3分布式文件系统

11.3.1分布式文件系统概述

11.3.2分布式文件系统的组成

11.3.3分布式文件系统的体系结构

11.3.4客户机高速缓存和一致性

11.4分布式系统中的互斥与死锁

11.4.1逻辑钟和逻辑时

11.4.2时间戳算法(Lamport算法)

11.4.3令牌传送算法

11.5进程迁移

11.5.1进程迁移的原因

11.5.2进程迁移机制

本章小结

习题

第12章WindowsNT操作系统*

12.1WindowsNT操作系统概述

12.2WindowsNT的系统模型

12.3WindowsNT的基元成分

12.3.1对象

12.3.2进程

12.3.3线程

12.3.4进程管理程序

12.4WindowsNT的线程状态及调度

12.4.1线程状态转换

12.4.2内核调度程序

12.4.3进程和线程的优先级

12.5WindowsNT的同步对象

12.5.1线程同步概述

12.5.2用WindowsNT对象同步

12.6虚拟存储管理

12.6.1进程的虚拟地址空间

12.6.2虚拟分页

12.6.3页面调度策略和工作集

12.6.4页架状态和页架数据结构

12.6.5主存映射文件和视图

12.7输入输出系统

12.7.1输入输出系统的结构

12.7.2统一的驱动程序模型

12.7.3异步I/O操作和I/O请求处理过程

12.7.4映像文件I/O

12.8WindowsNT的内装网络

12.8.1WindowsNT内装网络的特色

12.8.2WindowsNT内装网络的体系结构

12.9对象管理程序

12.10本地过程调用

12.11WindowsNT的安全性

12.11.1WindowsNT的安全性

12.11.2存取令牌和安全描述体

本章小结

习题

第13章Linux操作系统*

13.1Linux操作系统概述

13.1.1Linux的诞生和发展

13.1.2Linux的版本

13.1.3Linux内核的组成

13.1.4Linux的特点

13.2Linux进程管理

13.2.1Linux进程概述

13.2.2Linux进程的状态

13.2.3Linux进程的标识

13.2.4Linux进程的调度

13.2.5Linux进程的创建和撤销

13.3Linux的存储管理

13.3.1Linux的虚拟存储空间

13.3.2Linux的地址映射

13.3.3Linux物理内存的管理

13.3.4页面分配算法

13.3.5缺页中断

13.3.6缓存和刷新机制

13.4Linux文件管理

13.4.1Linux虚拟文件系统概述

13.4.2VFS超级块

13.4.3VFS索引节点对象

13.4.4目录项对象

13.4.5文件对象

13.5EXT文件系统

13.5.1EXT2/EXT3/EXT4文件系统的特点

13.5.2EXT2文件系统的磁盘结构

13.5.3EXT2超级块

13.5.4组描述符

13.5.5块位图

13.5.6EXT2文件系统inode结构

13.5.7Linux文件系统的控制

13.6Linux设备管理

13.6.1Linux设备管理概述

13.6.2LinuxI/O子系统的设计

13.6.3Linux的字符设备管理

13.6.4Linux的块设备管理

13.6.5缓冲区与buffer结构

本章小结

习题

参考文献


前言/序言

前言
首先要衷心感谢广大读者的厚爱和支持,《操作系统基础(第4版)》出版二十几年来,已印刷二十多次,发行数十万册。广大读者把他们积累的经验和体会无私地贡献给我们,为《操作系统基础(第4版)》的改进和提高做出了贡献,在此向广大读者表示深深的敬意和感谢。
此次修订出版的第4版以经典操作系统基本原理和概念为框架和基线,以密切反映现代操作系统技术的新发展和新特征为重点。因为几十年来,操作系统经历着日新月异的变化,尽管现代操作系统以多线程、微内核、SMP多处理器系统、客户/服务器模式和分布式、网络系统为特征,但操作系统的基本原理和概念不但没有什么变化,而且更趋成熟,它依然是操作系统的基本骨架。在此基础上,多线程机制、微内核与客户/服务器模式、分布式系统等仍是当前发展的热点,《操作系统基础(第4版)》通过在专门章节中加以研讨,或者将其融合在《操作系统基础(第4版)》之中加以介绍。
操作系统基础(第4版)》目录中画有*号部分,授课教师可以根据教学计划进行变动,并鼓励读者通过自学(课内学时有限)来掌握它。《操作系统基础(第4版)》内容阐述深入浅出,适合自学。
操作系统基础(第4版)》以现代操作系统的典型系统WindowsNT、UNIX和Linux系统作为《操作系统基础(第4版)》的范例,并将近代UNIX系统(如Solaris等)的先进技术和机制分散到各章中作为该章的典型范例来使用,以收到与《操作系统基础(第4版)》内容紧密结合的效果,便于读者领会和理解该章所述的内容。WindowsNT和Linux作为一个系统范例自成一章,便于读者从系统整体角度来认识和理解一个操作系统。建议读者在阅读各章时也参考WindowsNT和Linux的相关内容。
操作系统基础(第4版)》第9章、第10章、第12章由屠立德老师编写,第5章、第7章、第8章、第11章由金雪云老师编写,其他部分由王丹老师编写。屠立德教授负责《操作系统基础(第4版)》的审阅、校核和定稿。由于时间仓促以及作者水平所限,错误和不妥之处在所难免,恳请读者批评指正。

作者2014年6月

其他推荐