<p>【编辑推荐】</p> <p>数据库领域的殿堂级作品</p> <p>夯实数据库理论基础,增强数据库技术内功的必备之选</p> <p>对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!</p> <p>【内容简介】</p> <p>本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。</p> <p>第6版保持了前5版的总体风格
操作系统概念(原书第9版)
✍ Scribed by Abraham Silberschatz; Peter B. Galvin; Greg Gagne
- Publisher
- 机械工业出版社
- Year
- 2018
- Tongue
- Chinese
- Leaves
- 627
- Series
- 计算机科学丛书
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共六部分,不仅详细讲解了进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版新增了多核系统和移动计算的内容,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
✦ Table of Contents
封面
书名
版权
前言
目录
第一部分 概论
第1章 导论
1.1 操作系统的功能
1.1.1 用户视角
1.1.2 系统视角
1.1.3 操作系统的定义
1.2 计算机系统的组成
1.2.1 计算机系统的运行
1.2.2 存储结构
1.2.3 I/O结构
1.3 计算机系统的体系结构
1.3.1 单处理器系统
1.3.2 多处理器系统
1.3.3 集群系统
1.4 操作系统的结构
1.5 操作系统的执行
1.5.1 双重模式与多重模式的执行
1.5.2 定时器
1.6 进程管理
1.7 内存管理
1.8 存储管理
1.8.1 文件系统管理
1.8.2 大容量存储器管理
1.8.3 高速缓存
1.8.4 I/O系统
1.9 保护与安全
1.10 内核数据结构
1.10.1 列表、堆栈及队列
1.10.2 树
1.10.3 哈希函数与哈希表
1.10.4 位图
1.11 计算环境
1.11.1 传统计算
1.11.2 移动计算
1.11.3 分布计算
1.11.4 客户机-服务器计算
1.11.5 对等计算
1.11.6 虚拟化
1.11.7 云计算
1.11.8 实时嵌入式系统
1.12 开源操作系统
1.12.1 历史
1.12.2 Linux
1.12.3 BSD UNIX
1.12.4 Solaris
1.12.5 用作学习的开源操作系统
1.13 小结
习题
推荐读物
参考文献
第2章 操作系统结构
2.1 操作系统的服务
2.2 用户与操作系统的界面
2.2.1 命令解释程序
2.2.2 图形用户界面
2.2.3 界面的选择
2.3 系统调用
2.4 系统调用的类型
2.4.1 进程控制
2.4.2 文件管理
2.4.3 设备管理
2.4.4 信息维护
2.4.5 通信
2.4.6 保护
2.5 系统程序
2.6 操作系统的设计与实现
2.6.1 设计目标
2.6.2 机制与策略
2.6.3 实现
2.7 操作系统的结构
2.7.1 简单结构
2.7.2 分层方法
2.7.3 微内核
2.7.4 模块
2.7.5 混合系统
2.8 操作系统的调试
2.8.1 故障分析
2.8.2 性能优化
2.8.3 DTrace
2.9 操作系统的生成
2.10 系统引导
2.11 小结
习题
编程题
编程项目
推荐读物
参考文献
第二部分 进程管理
第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.3 进程运行
3.3.1 进程创建
3.3.2 进程终止
3.4 进程间通信
3.4.1 共享内存系统
3.4.2 消息传递系统
3.5 IPC系统例子
3.5.1 例子:POSIX共享内存
3.5.2 例子:Mach
3.5.3 例子:Windows
3.6 客户机/服务器通信
3.6.1 套接字
3.6.2 远程过程调用
3.6.3 管道
3.7 小结
习题
编程题
编程项目
推荐读物
参考文献
第4章 多线程编程
4.1 概述
4.1.1 动机
4.1.2 优点
4.2 多核编程
4.2.1 编程挑战
4.2.2 并行类型
4.3 多线程模型
4.3.1 多对一模型
4.3.2 一对一模型
4.3.3 多对多模型
4.4 线程库
4.4.1 Pthreads
4.4.2 Windows线程
4.4.3 Java线程
4.5 隐式多线程
4.5.1 线程池
4.5.2 OpenMP
4.5.3 大中央调度
4.5.4 其他方法
4.6 多线程问题
4.6.1 系统调用fork()和exec()
4.6.2 信号处理
4.6.3 线程撤销
4.6.4 线程本地存储
4.6.5 调度程序激活
4.7 操作系统例子
4.7.1 Windows线程
4.7.2 Linux线程
4.8 小结
习题
编程题
编程项目
推荐读物
参考文献
第5章 进程调度
5.1 基本概念
5.1.1 CPU-I/O执行周期
5.1.2 CPU调度程序
5.1.3 抢占调度
5.1.4 调度程序
5.2 调度准则
5.3 调度算法
5.3.1 先到先服务调度
5.3.2 最短作业优先调度
5.3.3 优先级调度
5.3.4 轮转调度
5.3.5 多级队列调度
5.3.6 多级反馈队列调度
5.4 线程调度
5.4.1 竞争范围
5.4.2 Pthreads调度
5.5 多处理器调度
5.5.1 多处理器调度的方法
5.5.2 处理器亲和性
5.5.3 负载平衡
5.5.4 多核处理器
5.6 实时CPU调度
5.6.1 最小化延迟
5.6.2 优先权调度
5.6.3 单调速率调度
5.6.4 最早截止期限优先调度
5.6.5 比例分享调度
5.6.6 POSIX实时调度
5.7 操作系统例子
5.7.1 例子:Linux调度
5.7.2 例子:Windows调度
5.7.3 例子:Solaris调度
5.8 算法评估
5.8.1 确定性模型
5.8.2 排队模型
5.8.3 仿真
5.8.4 实现
5.9 小结
习题
推荐读物
参考文献
第6章 同步
6.1 背景
6.2 临界区问题
6.3 Peterson解决方案
6.4 硬件同步
6.5 互斥锁
6.6 信号量
6.6.1 信号量的使用
6.6.2 信号量的实现
6.6.3 死锁与饥饿
6.6.4 优先级的反转
6.7 经典同步问题
6.7.1 有界缓冲问题
6.7.2 读者-作者问题
6.7.3 哲学家就餐问题
6.8 管程
6.8.1 使用方法
6.8.2 哲学家就餐问题的管程解决方案
6.8.3 采用信号量的管程实现
6.8.4 管程内的进程重启
6.9 同步例子
6.9.1 Windows同步
6.9.2 Linux同步
6.9.3 Solaris同步
6.9.4 Pthreads同步
6.10 替代方法
6.10.1 事务内存
6.10.2 OpenMP
6.10.3 函数式编程语言
6.11 小结
习题
编程题
编程项目
推荐读物
参考文献
第7章 死锁
7.1 系统模型
7.2 死锁特征
7.2.1 必要条件
7.2.2 资源分配图
7.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.6 死锁检测
7.6.1 每种资源类型只有单个实例
7.6.2 每种资源类型可有多个实例
7.6.3 应用检测算法
7.7 死锁恢复
7.7.1 进程终止
7.7.2 资源抢占
7.8 小结
习题
编程题
编程项目
推荐读物
参考文献
第三部分 内存管理
第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.3 连续内存分配
8.3.1 内存保护
8.3.2 内存分配
8.3.3 碎片
8.4 分段
8.4.1 基本方法
8.4.2 分段硬件
8.5 分页
8.5.1 基本方法
8.5.2 硬件支持
8.5.3 保护
8.5.4 共享页
8.6 页表结构
8.6.1 分层分页
8.6.2 哈希页表
8.6.3 倒置页表
8.6.4 Oracle SPARC Solaris
8.7 例子:Intel 32位与64位体系结构
8.7.1 IA-32架构
8.7.2 x86-64
8.8 例子:ARM架构
8.9 小结
习题
编程题
推荐读物
参考文献
第9章 虚拟内存管理
9.1 背景
9.2 请求调页
9.2.1 基本概念
9.2.2 请求调页的性能
9.3 写时复制
9.4 页面置换
9.4.1 基本页面置换
9.4.2 FIFO 页面置换
9.4.3 最优页面置换
9.4.4 LRU页面置换
9.4.5 近似LRU页面置换
9.4.6 基于计数的页面置换
9.4.7 页面缓冲算法
9.4.8 应用程序与页面置换
9.5 帧分配
9.5.1 帧的最小数
9.5.2 分配算法
9.5.3 全局分配与局部分配
9.5.4 非均匀内存访问
9.6 系统抖动
9.6.1 系统抖动的原因
9.6.2 工作集模型
9.6.3 缺页错误频率
9.6.4 结束语
9.7 内存映射文件
9.7.1 基本机制
9.7.2 共享内存Windows API
9.7.3 内存映射I/O
9.8 分配内核内存
9.8.1 伙伴系统
9.8.2 slab分配
9.9 其他注意事项
9.9.1 预调页面
9.9.2 页面大小
9.9.3 TLB范围
9.9.4 倒置页表
9.9.5 程序结构
9.9.6 I/O联锁与页面锁定
9.10 操作系统例子
9.10.1 Windows
9.10.2 Solaris
9.11 小结
习题
编程题
编程项目
推荐读物
参考文献
第四部分 存储管理
第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.3 目录与磁盘的结构
10.3.1 存储结构
10.3.2 目录概述
10.3.3 单级目录
10.3.4 两级目录
10.3.5 树形目录
10.3.6 无环图目录
10.3.7 通用图目录
10.4 文件系统安装
10.5 文件共享
10.5.1 多用户
10.5.2 远程文件系统
10.5.3 一致性语义
10.6 保护
10.6.1 访问类型
10.6.2 访问控制
10.6.3 其他保护方式
10.7 小结
习题
推荐读物
参考文献
第11章 文件系统实现
11.1 文件系统结构
11.2 文件系统实现
11.2.1 概述
11.2.2 分区与安装
11.2.3 虚拟文件系统
11.3 目录实现
11.3.1 线性列表
11.3.2 哈希表
11.4 分配方法
11.4.1 连续分配
11.4.2 链接分配
11.4.3 索引分配
11.4.4 性能
11.5 空闲空间管理
11.5.1 位向量
11.5.2 链表
11.5.3 组
11.5.4 计数
11.5.5 空间图
11.6 效率与性能
11.6.1 效率
11.6.2 性能
11.7 恢复
11.7.1 一致性检查
11.7.2 基于日志的文件系统
11.7.3 其他解决方法
11.7.4 备份和恢复
11.8 NFS
11.8.1 概述
11.8.2 安装协议
11.8.3 NFS协议
11.8.4 路径名称转换
11.8.5 远程操作
11.9 例子:WAFL文件系统
11.10 小结
习题
编程题
推荐读物
参考文献
第12章 大容量存储结构
12.1 大容量存储结构概述
12.1.1 磁盘
12.1.2 固态磁盘
12.1.3 磁带
12.2 磁盘结构
12.3 磁盘连接
12.3.1 主机连接存储
12.3.2 网络连接存储
12.3.3 存储区域网络
12.4 磁盘调度
12.4.1 FCFS调度
12.4.2 SSTF调度
12.4.3 SCAN调度
12.4.4 C-SCAN调度
12.4.5 LOOK调度
12.4.6 磁盘调度算法的选择
12.5 磁盘管理
12.5.1 磁盘格式化
12.5.2 引导块
12.5.3 坏块
12.6 交换空间管理
12.6.1 交换空间的使用
12.6.2 交换空间位置
12.6.3 交换空间管理:例子
12.7 RAID结构
12.7.1 通过冗余提高可靠性
12.7.2 通过并行处理提高性能
12.7.3 RAID级别
12.7.4 RAID级别的选择
12.7.5 扩展
12.7.6 RAID的问题
12.8 稳定存储实现
12.9 小结
习题
编程题
推荐读物
参考文献
第13章 I/O系统
13.1 概述
13.2 I/O硬件
13.2.1 轮询
13.2.2 中断
13.2.3 直接内存访问
13.2.4 I/O硬件小结
13.3 应用程序I/O接口
13.3.1 块与字符设备
13.3.2 网络设备
13.3.3 时钟与定时器
13.3.4 非阻塞与异步I/O
13.3.5 向量I/O
13.4 内核I/O子系统
13.4.1 I/O调度
13.4.2 缓冲
13.4.3 缓存
13.4.4 假脱机与设备预留
13.4.5 错误处理
13.4.6 I/O保护
13.4.7 内核数据结构
13.4.8 内核I/O子系统小结
13.5 I/O请求转成硬件操作
13.6 流
13.7 性能
13.8 小结
习题
推荐读物
参考文献
第五部分 保护与安全
第14章 系统保护
14.1 保护目标
14.2 保护原则
14.3 保护域
14.3.1 域结构
14.3.2 例子:UNIX
14.3.3 例子:MULTICS
14.4 访问矩阵
14.5 访问矩阵的实现
14.5.1 全局表
14.5.2 对象的访问列表
14.5.3 域的能力列表
14.5.4 锁-钥匙机制
14.5.5 比较
14.6 访问控制
14.7 访问权限的撤回
14.8 基于能力的系统
14.8.1 例子:Hydra
14.8.2 例子:剑桥CAP系统
14.9 基于语言的保护
14.9.1 基于编译程序的实现
14.9.2 Java的保护
14.10 小结
习题
推荐读物
参考文献
第15章 系统安全
15.1 安全问题
15.2 程序威胁
15.2.1 特洛伊木马
15.2.2 后门
15.2.3 逻辑炸弹
15.2.4 堆栈和缓冲区溢出
15.2.5 病毒
15.3 系统和网络的威胁
15.3.1 蠕虫
15.3.2 端口扫描
15.3.3 拒绝服务
15.4 作为安全工具的密码术
15.4.1 加密
15.4.2 密码术的实现
15.4.3 例子:SSL
15.5 用户认证
15.5.1 密码
15.5.2 密码漏洞
15.5.3 密码安全
15.5.4 一次性密码
15.5.5 生物识别技术
15.6 实现安全防御
15.6.1 安全策略
15.6.2 漏洞评估
15.6.3 入侵检测
15.6.4 病毒防护
15.6.5 审计、记账和日志
15.7 保护系统和网络的防火墙
15.8 计算机安全等级
15.9 例子:Windows 7
15.10 小结
习题
推荐读物
参考文献
第六部分 案例研究
第16章 Linux系统
16.1 Linux历史
16.1.1 Linux内核
16.1.2 Linux系统
16.1.3 Linux发行
16.1.4 Linux许可
16.2 设计原则
16.3 内核模块
16.3.1 模块管理
16.3.2 驱动程序注册
16.3.3 冲突解决
16.4 进程管理
16.4.1 fork()/exec()进程模型
16.4.2 进程与线程
16.5 调度
16.5.1 进程调度
16.5.2 实时调度
16.5.3 内核同步
16.5.4 对称多处理
16.6 内存管理
16.6.1 物理内存管理
16.6.2 虚拟内存
16.6.3 执行与加载用户程序
16.7 文件系统
16.7.1 虚拟文件系统
16.7.2 Linux ext3文件系统
16.7.3 日志
16.7.4 Linux进程文件系统
16.8 输入与输出
16.8.1 块设备
16.8.2 字符设备
16.9 进程间通信
16.9.1 同步与信号
16.9.2 进程间的数据传递
16.10 网络结构
16.11 安全
16.11.1 认证
16.11.2 访问控制
16.12 小结
习题
推荐读物
参考文献
第17章 Windows 7
17.1 历史
17.2 设计原则
17.2.1 安全性
17.2.2 可靠性
17.2.3 Windows和POSIX应用程序兼容性
17.2.4 高性能
17.2.5 可扩展性
17.2.6 可移植性
17.2.7 国际化支持
17.2.8 电源效率
17.2.9 动态设备支持
17.3 系统组件
17.3.1 硬件抽象层
17.3.2 内核
17.3.3 执行体
17.4 终端服务与快速用户切换
17.5 文件系统
17.5.1 NTFS内部布局
17.5.2 恢复
17.5.3 安全
17.5.4 卷管理和容错
17.5.5 压缩
17.5.6 安装点、符号链接和硬链接
17.5.7 变更日志
17.5.8 卷的影子副本
17.6 网络
17.6.1 网络接口
17.6.2 协议
17.6.3 重定向器与服务器
17.6.4 域
17.6.5 活动目录
17.7 程序员接口
17.7.1 访问内核对象
17.7.2 进程间共享对象
17.7.3 进程管理
17.7.4 使用Windows消息传递的进程间通信
17.7.5 内存管理
17.8 小结
习题
推荐读物
参考文献
第18章 有影响的操作系统
18.1 特征迁移
18.2 早期系统
18.2.1 专用计算机系统
18.2.2 共享计算机系统
18.2.3 重叠I/O
18.3 Atlas
18.4 XDS-940
18.5 THE
18.6 RC 4000
18.7 CTSS
18.8 MULTICS
18.9 IBM OS/360
18.10 TOPS-20
18.11 CP/M与MS/DOS
18.12 Macintosh OS与Windows
18.13 Mach
18.14 其他系统
习题
推荐读物
参考文献
索引
📜 SIMILAR VOLUMES
书签已装载, 书签制作方法请找 [email protected] 完全免费 【编辑推荐】 数据库领域的殿堂级作品 夯实数据库理论基础,增强数据库技术内功的必备之选 对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用! 【内容简介】 本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。 第6版保持了前5版的总体风格,同
<p>【编辑推荐】</p> <p>数据库领域的殿堂级作品</p> <p>夯实数据库理论基础,增强数据库技术内功的必备之选</p> <p>对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!</p> <p>【内容简介】</p> <p>本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。</p> <p>第6版保持了前5版的总体风格,同时对内容
<p>本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含了数据库系统基本概念,又反映了数据库技术的新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。</p> <p>第7版保持了前6版的总体风格,同时对内容进行了扩充,对结构进行了调整,以更好地符合数据库教学的需求,反映数据库设计、管理与使用方式的发展和变化。</p> <p>具体更新内容如下:</p> <p>广泛涵盖了大数据系统的内容,与第6版相比有大量的内容扩充和改进。</p> <
<p>【编辑推荐】</p> <p>数据库领域的殿堂级作品</p> <p>夯实数据库理论基础,增强数据库技术内功的必备之选</p> <p>对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!</p> <p>【内容简介】</p> <p>本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。</p> <p>第6版保持了前5版的总体风格
<p>本书是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。本书基于该书第7版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生数据库课程教材。</p>