Operating systems:internals and design principles

副标题:无

作   者:(美) William Stallings 著;陈渝译

分类号:

ISBN:9787121021961

微信扫一扫,移动浏览光盘

简介

操作系统是计算机系统的核心系统软件,负责控制和管理整个系统,使之协调工作。本书不仅全面系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的操作系统——Windows、UNIX和Linux为例,全面清楚地展现了当代操作系统的本质和特点,使本书的内容具有先进性和适应性。 本书既注重对操作系统的经典内容的论述,又紧密联系当代流行的设计问题以及当前操作系统的发展方向,可作为大学计算机专业或计算机应用相关专业的本科生教材和参考书,也可供从事计算机方向研究的专业技术人员使用。 [前言]  本书是一本关于操作系统的概念、结构和机制的教材,其目的是尽可能清楚和全面地展现当代操作系统的本质和特点。这是一项具有挑战性的任务。首先,需要为各种各样的计算机系统设计操作系统,包括单用户工作站和个人计算机、中等规模的共享系统、大型计算机和超级计算机以及诸如实时系统之类的专门机器。多样性不仅表现在机器的容量和速度上,而且表现在具体应用和系统支持的需求上;第二,计算机系统正以日新月异的速度发展变化,操作系统设计中的许多重要领域都是新近开始研究的,而关于这些领域以及其他新领域的研究工作仍然在继续着。尽管存在着多样性和变化快等问题,一些基本概念仍然贯穿始终,当然,这些概念的应用依赖于当前的技术状况和特定的应用需求。本书的目的是对操作系统设计的基本原理提供全面的讨论,并且与当代流行的设计问题以及当前操作系统的发展方向联系起来。

目录

目录
第0章 读者指南
0.1 本书概述
0.2 主题顺序
0.3 因特网和Web资源
第一部分 背景
第1章 计算机系统概述
1.1 基本构成
1.2 处理器寄存器
1.2.1 用户可见寄存器
1.2.2 控制和状态寄存器
1.3 指令的执行
1.3.1 取指令和执行指令
1.3.2 I/O函数
1.4 中断
1.4.1 中断和指令周期
1.4.2 中断处理
1.4.3 多个中断
1.4.4 多道程序设计
1.5 存储器的层次结构
1.6 高速缓冲存储器
1.6.1 动机
1.6.2 高速缓冲存储器原理
1.6.3 高速缓冲存储器设计
1.7 I/O通信技术
1.7.1 可编程I/O
1.7.2 中断驱动I/O
1.7.3 直接存储器访问
1.8 推荐读物和网站
1.9 关键术语、复习题和习题
附录1A 两级存储器的性能特征
附录1B 过程控制
第2章 操作系统概述
2.1 操作系统的目标和功能
2.1.1 作为用户/计算机接口的操作系统
2.1.2 作为资源管理器的操作系统
2.1.3 操作系统的易扩展性
2.2 操作系统的发展
2.2.1 串行处理
2.2.2 简单批处理系统
2.2.3 多道程序批处理系统
2.2.4 分时系统
2.3 主要的成就
2.3.1 进程
2.3.2 内存管理
2.3.3 信息保护和安全
2.3.4 调度和资源管理
2.3.5 系统结构
2.4 现代操作系统的特征
2.5 Microsoft Windows概述
2.5.1 历史
2.5.2 单用户多任务
2,5.3 体系结构
2.5.4 客户/服务器模型
2.5.5 线程和SMP
2.5.6 Windows对象
2.6 传统的UNIX系统
2.6.1 历史
2.6.2 描述
2.7 现代UNIX系统
2.7.1 系统V版本4(简称SVR4)
2.7.2 Solaris 9
2.7.3 4.4BSD
2.8 Linux操作系统
2.8.1 历史
2.8.2 模块结构
2.8.3 内核组件
2.9 推荐读物和网站
2.10 关键术语、复习题和习题
第二部分 进程
第3章 进程描述和控制
3.1 什么是进程
3.1.1 背景
3.2 进程和进程控制块
3.3 进程状态
3.3.1 两状态进程模型
3.3.2 进程的创建和终止
3.3.3 五状态模型
3.3.4 被挂起的进程
3.4 进程描述
3.4.1 操作系统的控制结构
3.4.2 进程控制结构
3.5 进程控制
3.5.1 执行模式
3.5.2 进程创建
3.5.3 进程切换
3.5.4 操作系统的执行
3.6 UNIX SVR4进程管理
3.6.1 进程状态
3.6.2 进程描述
3.6.3 进程控制
3.7 小结
3.8 推荐读物
3.9 关键术语、复习题和习题
编程项目1: 开发一个shell程序
第4章 线程、对称多处理和微内核
4.1 进程和线程
4.1.1 多线程
4.1.2 线程功能特性
4.1.3 例子——Adobe PageMaker
4.1.4 用户级和内核级线程
4.1.5 其他方案
4.2 对称多处理
4.2.1 SMP系统的体系结构
4.2.2 SMP系统的组织结构
4.2.3 多处理器操作系统的设计思考
4.3 微内核
4.3.1 微内核体系结构
4.3.2 微内核组织结构的优点
4.3.3 微内核性能
4.3.4 微内核设计
4.4 Windows线程和SMP管理
4.4.1 进程对象和线程对象
4.4.2 多线程
4.4.3 线程状态
4.4.4 对OS子系统的支持
4.4.5 对称多处理的支持
4.5 Solaris线程和SMP管理
4.5.1 多线程体系结构
4.5.2 动机
4.5.3 进程结构
4.5.4 线程的执行
4.5.5 把中断当做线程
4.6 Linux的进程和线程管理
4.6.1 Linux任务
4.6.2 Linux线程
4.7 小结
4.8 推荐读物
4.9 关键术语、复习题和习题
第5章 并发性:互斥和同步
5.1 并发的原理
5.1.1 一个简单的例子
5.1.2 竞争条件
5.1.3 操作系统关注的问题
5.1.4 进程的交互
5.1.5 互斥的要求
5.2 互斥:硬件的支持
5.2.1 中断禁用
5.2.2 专用机器指令
5.3 信号量
5.3.1 互斥
5.3.2 生产者/消费者问题
5.3.3 信号量的实现
5.4 管程
5.4.1 使用信号的管程
5.4.2 使用通知和广播的管程
5.5 消息传递
5.5.1 同步
5.5.2 寻址
5.5.3 消息格式
5.5.4 排队原则
5.5.5 互斥
5.6 读者-写者问题
5.6.1 读进程具有优先权
5.6.2 写进程具有优先权
5.7 小结
5.8 推荐读物
5.9 关键术语、复习题和习题
第6章 并发性:死锁和饥饿
6.1 死锁原理
6.1.1 可重用资源
6.1.2 可消费资源
6.1.3 资源分配图
6.1.4 死锁的条件
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.5 一种综合的死锁策略
6.6 哲学家就餐问题
6.6.1 使用信号量解决方案
6.6.2 使用管程解决方案
6.7 UNIX的并发机制
6.7.1 管道
6.7.2 消息
6.7.3 共享存储区
6.7.4 信号量
6.7.5 信号
6.8 Linux内核并发机制
6.8.1 原子操作
6.8.2 自旋锁
6.8.3 信号量
6.8.4 屏障
6.9 Solaris线程同步原语
6.9.1 互斥锁
6.9.2 信号量
6.9.3 多读者单写者锁
6.9.4 条件变量
6.10 Windows并发机制
6.10.1 等待函数
6.10.2 同步对象
6.10.3 临界区对象
6.11 小结
6.12 推荐读物
6.13 关键术语、复习题和习题
第三部分 内存
第7章 内存管理
7.1 内存管理的需求
7.1.1 重定位
7.1.2 保护
7.1.3 共享
7.1.4 逻辑组织
7.1.5 物理组织
7.2 内存分区
7.2.1 固定分区
7.2.2 动态分区
7.2.3 伙伴系统
7.2.4 重定位
7.3 分页
7.4 分段
7.5 小结
7.6 推荐读物
7.7 关键术语、复习题和习题
附录7A 加载和链接
第8章 虚拟内存
8.1 硬件和控制结构
8.1.1 局部性和虚拟内存
8.1.2 分页
8.1.3 分段
8.1.4 分段和分页的结合
8.1.5 保护和共享
8.2 操作系统软件
8.2.1 读取策略
8.2.2 放置策略
8.2.3 替换策略
8.2.4 驻留集管理
8.2.5 清除策略
8.2.6 加载控制
8.3 UNIX和Solaris内存管理
8.3.1 分页系统
8.3.2 内核内存分配器
8.4 Linux内存管理
8.4.1 Linux虚拟内存
8.4.2 内核内存分配
8.5 Windows内存管理
8.5.1 Windows虚拟地址映射
8.5.2 Windows分页
8.6 小结
8.7 推荐读物和网站
8.8 关键术语、复习题和习题
附录8A 哈希表
第四部分 调度
第9章 单处理器调度
9.1 处理器调度的类型
9.1.1 长程调度
9.1.2 中程调度
9.1.3 短程调度
9.2 调度算法
9.2.1 短程调度准则
9.2.2 优先级的使用
9.2.3 选择调度策略
9.2.4 性能比较
9.2.5 公平共享调度
9.3 传统的UNIX调度
9.4 小结
9.5 推荐读物
9.6 关键术语、复习题和习题
附录9A 响应时间
附录9B 排队系统
编程项目2: 主机调度shell程序
第10章 多处理器和实时调度
10.1 多处理器调度
10.1.1 粒度
10.1.2 设计问题
10.1.3 进程调度
10.1.4 线程调度
10.2 实时调度
10.2.1 背景
10.2.2 实时操作系统的特点
10.2.3 实时调度
10.2.4 时限调度
10.2.5 速率单调调度
10.2.6 优先级逆转
10.3 Linux调度
10.3.1 实时调度
10.3.2 非实时调度
10.4 UNIX SVR4调度
10.5 Windows调度
10.5.1 进程和线程优先级
10.5.2 多处理器调度
10.6 小结
10.7 推荐读物
10.8 关键术语、复习题和习题
第五部分 输入/输出和文件
第11章 I/O管理和磁盘调度
11.1 I/O设备
11.2 I/O功能的组织
11.2.1 I/O功能的发展
11.2.2 直接存储器访问
11.3 操作系统设计问题
11.3.1 设计目标
11.3.2 I/O功能的逻辑结构
11.4 I/O缓冲
11.4.1 单缓冲区
11.4.2 双缓冲
11.4.3 循环缓冲
11.4.4 缓冲的用途
11.5 磁盘调度
11.5.1 磁盘性能参数
11.5.2 磁盘调度策略
11.6 RAID
11.6.1 RAID第0层
11.6.2 RAID第1层
11.6.3 RAID第2层
11.6.4 RAID第3层
11.6.5 RAID第4层
11.6.6 RAID第5层
11.6.7 RAID第6层
11.7 磁盘高速缓冲
11.7.1 设计考虑
11.7.2 性能考虑
11.8 UNIX SVR4 I/O
11.8.1 缓冲区高速缓存
11.8.2 字符队列
11.8.2 无缓冲I/O
11.8.3 UNIX设备
11.9 LINUX I/O
11.9.1 磁盘调度
11.9.2 Linux页面缓存
11.10 Windows I/O
11.10.1 基本I/O模块
11.10.2 异步I/O和同步I/O
11.10.3 软件RAID
11.11 小结
11.12 推荐读物和网站
11.13 关键术语、复习题和习题
附录11A 磁盘存储设备
第12章 文件管理
12.1 概述
12.1.1 文件和文件系统
12.1.2 文件结构
12.1.3 文件管理系统
12.2 文件组织和访问
12.2.1 堆
12.2.2 顺序文件
12.2.3 索引顺序文件
12.2.4 索引文件
12.2.5 直接文件或散列文件
12.3 文件目录
12.3.1 内容
12.3.2 结构
12.3.3 命名
12.4 文件共享
12.4.1 访问权限
12.4.2 同时访问
12.5 记录组块
12.6 二级存储管理
12.6.1 文件分配
12.6.2 空闲空间的管理
12.6.3 可靠性
12.7 UNIX文件管理
12.7.1 索引节点
12.7.2 文件分配
12.7.3 目录
12.7.4 卷结构
12.8 Linux虚拟文件系统
12.8.1 超级块对象
12.8.2 索引节点对象
12.8.3 目录项对象
12.8.4 文件对象
12.9 Windows文件系统
12.9.1 NTFS的重要特征
12.9.2 NTFS卷和文件结构
12.9.3 可恢复性
12.10 小结
12.11 推荐读物
12.12 关键术语、复习题和习题
第六部分 分布式系统和安全
第13章 网络
13.1 为什么需要网络体系结构
13.2 TCP/IP协议体系结构
13.2.1 TCP/IP层
13.2.2 TCP与UDP
13.2.3 IP和IPv6
13.2.3 TCP/IP操作过程
13.2.4 TCP/IP应用程序
13.3 套接字
13.3.1 套接字
13.3.2 套接字接口调用
13.4 Linux网络
13.4.1 发送数据
13.4.2 接收数据
13.5 小结
13.6 推荐读物和网站
13.7 关键术语、复习题和习题
附录13A 简单文件传输协议
第14章 分布式处理、客户/服务器和集群
14.1 客户/服务器计算模型
14.1.1 什么是客户/服务器计算模型
14.1.2 客户/服务模型的应用
14.1.3 中间件
14.2 分布式消息传递
14.2.1 可靠性与不可靠性
14.2.2 阻塞与无阻塞
14.3 远程过程调用
14.3.1 参数传递
14.3.2 参数表示
14.3.3 客户/服务器绑定
14.3.4 同步和异步
14.3.5 面向对象机制
14.4 集群
14.4.1 集群的配置
14.4.2 操作系统的设计问题
14.4.3 集群计算机的体系结构
14.4.4 集群与SMP
14.5 Windows集群服务器
14.6 Sun集群
14.6.1 对象和通信支持
14.6.2 进程管理
14.6.3 网络连接
14.6.4 全局文件系统
14.7 Beowulf和Linux集群
14.7.1 Beowulf特征
14.7.2 Beowulf软件
14.8 小结
14.9 推荐读物和网站
14.10 关键术语、复习题和习题
第15章分 布式进程管理
15.1 进程迁移
15.1.1 动机
15.1.2 进程迁移机制
15.1.3 迁移协商
15.1.4 移出
15.1.5 抢占式转移和非抢占式转移
15.2 分布式全局状态
15.2.1 全局状态和分布式快照
15.2.2 分布式快照算法
15.3 分布式互斥
15.3.1 分布式互斥概念
15.3.2 分布式系统中的事件排序
15.3.3 分布式队列
15.3.4 令牌传递方法
15.4 分布式死锁
15.4.1 资源分配中的死锁
15.4.2 消息通信中的死锁
15.5 小结
15.6 推荐读物
15.7 关键术语、复习题和习题
第16章 安全
16.1 安全威胁
16.1.1 威胁的类型
16.1.2 计算机系统资产
16.2 保护
16.2.1 内存的保护
16.2.2 面向用户的访问控制
16.2.3 面向数据的访问控制
16.3 入侵者
16.3.1 入侵技术
16.3.2 口令保护
16.3.3 口令选择策略
16.3.4 入侵检测
16.4 恶意软件
16.4.1 恶意程序
16.4.2 病毒的本质
16.4.3 病毒的类型
16.4.4 宏病毒
16.4.5 反病毒方法
16.4.6 电子邮件病毒
16.5 可信系统
16.5.1 特洛伊木马的防范
16.6 Windows安全
16.6.1 访问控制方案
16.6.2 访问令牌
16.6.3 安全描述符
16.7 小结
16.8 推荐读物和网站
16.9 关键术语、复习题和习题
附录16A 加密
附录A 并发主题
A.1 互斥:软件方法
A.2 竞争条件和信号量
A.3 理发店问题
A.4 习题
附录B 面向对象设计
B.1 动机
B.2 面向对象的概念
B.3 面向对象设计的优点
B.4 CORBA
B.5 推荐读物和网站
附录C 程序设计和操作系统项目
C.1 用于教学的操作系统项目
C.2 Nachos
C.3 研究项目
C.4 程序设计项目
C.5 阅读/报告作业
附录D OSP:一个操作系统项目环境
D.1 概述
D.2 OSP的创新
D.3 和其他操作系统课件的比较
附录E BACI:BEN-ARJ并发程序设计系统
E.1 引言
E.2 BACI
E.3 BACI程序例子
E.4 BACI项目
E.5 BACI系统的增强
术语表
参考文献
索引

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Operating systems:internals and design principles
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon