内容简介
《计算机操作系统/新世纪计算机类本科规划教材》从原理、技术、设计实现三个方面讲述了计算机操作系统,即首先从操作系统设计原理出发,介绍操作系统的设计思想和实现技术,然后回到目前普及的现代操作系统卜加以实例讲解和深化,最后是实际应用。全书以UNIX和Windows 2000/XP为实例辅助原理介绍,并给出相应的编程接口和实用操作。这种集原理、技术以及设计实现于一体的特点是《计算机操作系统/新世纪计算机类本科规划教材》的独到之处。
《计算机操作系统/新世纪计算机类本科规划教材》适合作为计算机专业本科及其他相关专业的操作系统教程,对于从事计算机应用和开发的技术人员也具有很高的参考价值。
目录
第1章 操作系统概述
1.1 操作系统的地位
1.2 操作系统的定义
1.3 操作系统的特征
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.6 内核体系结构模型
1.6.1 微内核
1.6.2 单内核
1.7 UNIX操作系统
1.7.1 UNIX操作系统概述
1.7.2 UNIX系统的特点
1.7.3 UNIX操作系统的结构
1.8 Windows NT/2000/XP简介
1.8.1 Windows NT
1.8.2 Windows 2000
1.8.3 Windows XP
习题
第2章 作业管理和用户接口
2.1 作业的组织和管理
2.1.1 作业和作业处理过程
2.1.2 作业的输入/输出方式
2.1.3 作业控制块
2.1.4 作业调度
2.2 作业控制方式
2.2.1 脱机作业控制方式
2.2.2 联机作业控制方式
2.3 系统功能调用
2.3.1 系统调用及实现
2.3.2 系统调用的实现过程
2.4 图形用户接口
2.4.1 概述
2.4.2 Xwindow系统
2.4.3 Windows系统
2.5 用户管理
2.5.1 LINIX的用户管理
2.5.2 WindowsNT的用户管理
习题
第3章 进程管理
3.1 进程的引入
3.1.1 顺序程序
3.1.2 多道程序设计
3.1.3 程序并发执行的特性
3.1.4 与时间有关的错误
3.2 进程定义与控制
3.2.1 进程的概念
3.2.2 进程控制块
3.2.3 进程的基本状态及其转换
3.2.4 进程控制
3.2.5 进程的特征
3.3 进程调度
3.3.1 确定进程调度算法的原则
3.3.2 进程调度算法
3.4 进程问的相互作用
3.4.1 进程间的同步和互斥
3.4.2 进程的同步机制
3.4.3 IPC经典问题
3.4.4 进程的同步机制——管程
3.5 进程通信
3.5.1 概述
3.5.2 共享内存模式
3.5.3 消息传递方式
3.5.4 管道
3.6 线程
3.6.1 线程的引入
3.6.2 线程的实现机制
3.6.3 线程与进程的比较
3.7 UNIX进程模型
3.7.1 进程模型的基本结构和工作过程
3.7.2 进程状态及转换
3.7.3 进程调度算法
3.7.4 UNIX的进程控制与管理
3.8 Windows2000/XP的进程和线程模型
3.8.1 Windows2000/XP的进程和线程模型总述
3.8.2 Windows2000PAP的进程实现
3.8.3 Windows2000/XF,的线程实现
3.8.4 Windows2000/XP的线程调度
3.8.5 空闲线程
3.8.6 多线程编程
习题
第4章 死锁
4.1 死锁的基本概念
4.1.1 资源
4.1.2 产生死锁的四个必要条件
4.2 注生死锁的示例
4.3 解决死锁的方案
4.3.1 死锁的预防
4.3.2 死锁的避免
4.3.3 死锁的检测和解除
4.4 其他相关问题
4.4.1 两阶段加锁
4.4.2 饥饿
习题
第5章 存储管理
5.1 概述
5.1.1 存储体系
5.1.2 地址重定位
5.1.3 链接
5.1.4 存储管理的目的
5.1.5 存储管理的任务
5.1.6 各种存储管理方案
5.2 分区存储管理方案
5.2.1 单一连续分区存储管理
5.2.2 固定分区
5.2.3 可变分区
5.2.4 可再定位式分区
5.2.5 多重分区
5.3 页式存储管理
5.3.1 基本原理
5.3.2 页式存储管理的地址变换
5.3.3 硬件支持
5.3.4 优缺点
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.6 交换技术与覆盖技术
5.6.1 覆盖技术
5.6.2 交换技术
5.7 虚拟存储
5.7.1 虚拟存储管理的引入
5.7.2 虚拟页式存储管理
5.7.3 性能问题
5.7.4 虚拟段式存储管理
5.8 高速缓冲存储器
5.8.1 高速缓存的组织
5.8.2 缓存的工作过程
5.9 内存管理实例分析
5.9.1 UNIXS5的内存管理
5.9.2 Windows2000/XP的内存管理
习题
第6章 文件管理
6.1 概述
6.1.1 文件与文件系统
6.1.2 文件的分类
6.2 文件的结构及文件存取方式
6.2.1 文件的逻辑结构
6.2.2 存储介质
6.2.3 文件的物理结构
6.2.4 文件结构、文件存取方式与文件存储介质的关系
6.3 文件目录
6.3.1 文件目录的内容
6.3.2 目录结构
6.4 文件系统的实现
6.4.1 文件空间的分配和管理
6.4.2 内存中所需的表目
6.4.3 外存空间管理
6.5 文件系统的使用
6.5.1 文件操作
6.5.2 文件的系统调用
6.5.3 文件共享
6.6 文件系统的可靠性与安全性
6.6.1 文件系统的可靠性
6.6.2 文件系统的安全性
6.6.3 文件的保护机制
6.7 文件系统的性能问题
6.7.1 块高速缓存
6.7.2 磁盘调度
6.7.3 信息的优化分布
6.8 Windows2000/XP文件系统实例分析
6.8.1 Windows2000/XP文件系统概述
6.8.2 Windows2000/XP文件系统模型和FSD体系结构.
6.8.3 NTFS的文件驱动程序
6.8.4 NTFS的磁盘结构
6.8.5 NTFS的实现机制
6.8.6 NTFS的可恢复性支持
6.8.7 NTFS的安全性支持
习题
第7章 设备管理
7.1 概述
7.1.1 I/O系统的结构和控制方式
7.1.2 设备的分类
7.1.3 设备管理的目标和任务
7.2 I/O软件的组成
7.2.1 I/O软件的目标
7.2.2 中断处理程序
7.2.3 设备驱动程序
7.2.4 与设备无关的系统软件
7.2.5 用户空间的I/O软件
7.3 具有通道的设备管理
7.3.1 通道的类型
7.3.2 “瓶颈”问题
7.3.3 通道命令与通道程序
7.3.4 通道的工作原理
7.4 与设备管理有关的技术
7.4.1 DMA技术
7.4.2 缓冲技术
7.4.3 总线技术
7.4.4 即插即用技术
7.5 设备管理中的数据结构
7.5.1 设备管理中的数据结构
7.5.2 设备的分配与回收
7.5.3 设备的处理
7.6 UNIX设备管理实例分析
7.6.1 UNIX块设备管理的主要数据结构
7.6.2 UNIX的缓冲区管理
7.6.3 块设备管理
7.6.4 字符设备管理
7.7 Windows2000/XP设备管理机制实例分析
7.7.1 Windosw2000/XP输入/输出系统的体系结构
7.7.2 核心态模块
7.7.3 输入/输出系统的数据结构
7.7.4 Windows2000/XP的设备驱动程序
7.7.5 Windows2000/XP的I/O处理
习题
第8章 网络操作系统
8.1 网络操作系统的功能
8.1.1 网络操作系统简介
8.1.2 网络操作系统的功能和特性
8.1.3 网络操作系统的功能结构
8.1.4 网络操作系统的逻辑构成
8.1.5 网络操作系统与OSI-RM
8.2 WindowsNT/2000/XP
8.2.1 WindowsNT/2000/XP网络基本概念
8.2.2 WindowsNT/2000网络结构
83LINIX网络文件系统
8.4 Linux操作系统
8.4.1 Linux的特点
8.4.2 Linux系统结构及文件组织
8.4.3 Linux系统启动和初始化
8.4.4 Linux的常用软件
8.5 对等式局域网
8.5.1 对等式局域网操作系统
8.5.2 Windows98的网络技术
习题
第9章 分布式计算机系统
9.1 分布式计算机系统
9.1.1 概述
9.1.2 分布式系统的特征
9.1.3 分布式系统的结构
9.1.4 分布式系统的设计方法
9.2 分布式系统的设计
9.3 分布式系统中的通信问题
9.3.1 发送策略
9.3.2 连接策略
9.3.3 竞争处理
9.3.4 保密
9.4 消息传递
9.4.1 异步型
9.4.2 同步型
9.4.3 组通信
9.5 远程过程调用
9.5.1 概述i
9.5.2 基本RPc操作
9.5.3 两种通信方式的比较
9.6 进程迁移
9.6.1 数据和计算的迁移
9.6.2 引入进程迁移的原因
9.6.3 进程迁移机制
9.6.4 迁移的协商
9.7 分布式操作系统中的进程同步
9.8 分布式操作系统中的进程互斥
9.9 分布式系统的资源管理
9.10 死锁处理
习题
第10章 应用开发篇
10.1 UNIXShell
10.1.1 Shell基础
10.1.2 正文全屏编辑程序vi
10.2 Shell程序设计
10.2.1 Shell变量及其赋值
10.2.2 命令表与命令行
10.2.3 流程控制命令
10.2.4 命令替换与参数替换
10.2.5 Shell过程的运行
10.3 UNIX实用程序
10.3.1 目录操作与文件操作命令
10.3.2 过滤器
10.4 LINIX程序设计
10.4.1 文件系统程序设计
10.4.2 高级进程间的通信
10.5 Windows应用程序设计
10.5.1 WIN32API
10.5.2 Windows应用程序的设计模式
10.5.3 Windows应用程序的基本结构
习题
参考文献
精彩书摘
4.买时操作系统
实时操作系统主要用于过程控制、事务处理等有实时要求的领域,其主要特征是实时性和可靠性。近几年来,微机又经常以嵌入的形式配置在许多仪器和设备中,构成所谓的智能仪器和智能设备,使仪器和设备的性能显著提高。在这种应用情况下,对所配置操作系统的主要要求是能实时地响应和处理外部事件。
1)实时系统的定义
实时系统是指在限定的时问内对输入进行快速处理并作出响应的计算机处理系统,它分为硬件实时系统和软件实时系统。实时系统用于工业过程控制、军事实时控制、金融等领域。系统的主要要求是:响应时间短,系统可靠性高。
2)实时操作系统的任务类型
实时任务一般分为以下两类:
·周期性实时任务:根据用户规定的时间启动该任务的执行,并按照严格的循环时问重复执行该任务。
·非周期性实时任务:允许推迟一确定时间再执行。
实时系统要解决以下几个问题:
f11实时时钟管理。对实时任务进行实时处理是实时系统的主要目标之一。周期性实时任务和非周期性实时任务中所需要的时间,都是由实时时钟产生的脉冲来计量的。为此,系统要设置实时时钟以及相应的时钟管理程序,用来向系统提供日期、时刻以及对定时任务和延迟任务进行控制的信号。
(2)过载保护。过载是指进入系统的任务数目超出系统的处理能力。在设计实时系统时,应给予系统足够的处理能力,使之能及时处理系统中的所有任务。尽管如此,由于被处理的任务进入系统时带有很大的随机性,使得在某段时间内系统中的任务数超过了它的处理能力,从而产生了所谓“过载”问题。为此,系统必须具备某种防护机构以保证即使出现过载,系统仍能正常运行。
当系统中出现短暂的峰值负载时,可以通过缓冲区予以平滑,即将各任务收容于缓冲区中,并按一定的策略排成一个或几个队列等候处理。若系统中出现的峰值负载是持续性的,则系统必须采取相应措施。最简单的办法是在系统中设置一个防护机构,使之一旦出现过载就要启动防护机制。如不及时处理过载,就会造成不堪设想的后果。因此,在控制系统中,通常采用的办法是抛弃一些不重要的任务或降低某些周期性任务的频率。
(3)连续人机会话。人机对话是由终端把消息发送给计算机开始的,当计算机把回答信息送回终端后,会话便算结束。类似地,用户可发来第三次、第四次有关该问题的消息。
(4)高度的可靠性和安全性。在实时系统中,软/硬件的任何故障都会给系统带来严重后果。因此,在实时系统中,必须采取相应的软/硬件措施,保证系统的绝对安全和高度可靠。例如,在硬件上采用双工体制。在严格的双工系统中,有两台完全相同的计算机:一台用作主机,用于实时控制或实时处理;一台作为后备,它和主机并行工作。两台机器中任一时刻都保持相同的CPU现场,若一台主机发生故障,后备机就立即代替主机继续工作,以保证系统的不间断运行。
……
前言/序言
计算机操作系统/新世纪计算机类本科规划教材 下载 mobi epub pdf txt 电子书 格式