书籍详情

操作系统:精髓与设计原理

操作系统:精髓与设计原理

作者:(美)斯托林斯 著,陈向群 等译

出版社:机械工业出版社

出版时间:2010-09-01

ISBN:9787111304265

定价:¥69.00

购买这本书可以去
内容简介
  操作系统是计算机系统的核心系统软件,负责控制和管理整个系统,使之协调工作。本书不仅全面地讲述了操作系统的基本概念、原理和方法,还清楚地展现了当代操作系统的本质和特点。全书分为八个部分,由浅入深地介绍了计算机系统、操作系统、进程描述和控制、线程、微内核、并发性、内存管理、虚拟内存、单处理器调度、多处理器和实时调度、I/O管理和磁盘调度、文件管理、嵌入式操作系统、计算机安全技术以及分布式操作系统等内容。本书内容丰富,具有很强的实用价值,适合作为高等院校计算机及相关专业本科生的操作系统课程教材,也可供专业技术人员参考。本书是计算机界巨擘William Stallings的经典著作之一,其第4版曾获得美国计算机科学与工程类大奖,得到了全球计算机教育界和工程技术人员的好评。书中不仅全面地讲述了操作系统的基本概念、原理和方法,而且还以当代最流行的操作系统为例,全面清楚地展现了当代操作系统的本质和特点。作者针对近几年操作系统领域的最新变化,对操作系统的设计原理进行深入的阐述,同时将其对操作系统整个领域全面而深入的理解呈现给读者。本书特色•选择Windows Vista、UNIX和Linux三个操作系统作为示例,以帮助读者熟悉当代操作系统的设计原理和实现问题。•新增嵌入式操作系统一章,讨论了嵌入式操作系统的基本特点,并给出了两个实例系统:TinyOS和eCos。•在第5版的基础上扩展了计算机安全的相关内容,包括计算机安全威胁和计算机安全技术。•扩展和更新了并发的相关内容,并增加了有关游戏软件中多处理器调度设计问题的实例。•补充动画演示、模拟项目和编程项目,便于培养学生的动手实践能力。•改进了插图,增加大量新的 “现场测试”(field-tested)型家庭作业。•调整和扩充了章末的练习题,有助于读者深入理解操作系统的精髓。
作者简介
  斯托林斯(William Stallings),拥有美国麻省理工学院计算机科学博士学位,现任教于澳大利亚新南威尔士大学国防学院(堪培拉)信息技术与电子工程系。他是世界知名的计算机学者和畅销教材作者,已经撰写了17部著作,出版了40多本书籍,内容涉及计算机安全、计算机网络和计算机体系结构等方面,堪称计算机界的全才。他曾九次荣获美国“教材和学术专著作者协会”颁发的“年度最佳计算机科学教材”奖。
目录
出版者的话
  译者序
  前言
  第0章 读者指南
  0.1 本书概述
  0.2 读者和教师的学习路线图
  0.3 Internet和Web资源
  
  第一部分 背景
  第1章 计算机系统概述
  1.1 基本构成
  1.2 处理器寄存器
  1.2.1 用户可见寄存器
  1.2.2 控制和状态寄存器
  1.3 指令的执行
  1.3.1 取指令和执行指令
  1.3.2 I/0函数
  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 关键术语、复习题和习题
  附录1 A两级存储器的性能特征
  附录1 B过程控制
  
  第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 微软的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 BSD
  2.7.3 Solaris10
  2.8 Linux操作系统
  2.8.1 历史
  2.8.2 模块结构
  2.8.3 内核组件
  2.9 推荐读物和网站
  2.10 关键术语、复习题和习题
  
  第二部分 进程
  第3章 进程描述和控制
  3.1 什么是进程
  3.1.1 背景
  3.1.2 进程和进程控制块
  3.2 进程状态
  3.2.1 两状态进程模型
  3.2.2 进程的创建和终止
  3.2 -3五状态模型
  3.2.4 被挂起的进程
  3.3 进程描述
  3.3.1 操作系统的控制结构
  3.3.2 进程控制结构
  3.4.进程控制
  3.4.1 执行模式
  3.4.2 进程创建
  3.4.3 进程切换
  3.5 操作系统的执行
  3.5.1 无进程的内核
  3.5.2 在用户进程中执行
  3.5.3 基于进程的操作系统
  3.6 安全问题
  3.6.1 系统访问威胁
  3.6.2 对抗措施
  3.7 UNIXSVR4进程管理
  3.7.1 进程状态
  3.7.2 进程描述
  3.7.3 进程控制
  3.8 小结
  3.9 推荐读物
  3.10 关键术语、复习题和习题
  编程项目1:开发一个shell程序
  
  第4章 线程、对称多处理(SMP)和微内核
  4.1 进程和线程
  4.1.1 多线程
  4.1.2 线程功能特性
  4.1.3例子:Adobe Page Maker
  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 X寸操作系统子系统的支持
  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.10.4 轻量级读写锁和条件变量
  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.5.1 缓冲区溢出攻击
  7.5.2 预防缓冲区溢出
  7.6 小结
  7.7 推荐读物
  7.8 关键术语、复习题和习题
  附录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 t]I、结
  8.7 推荐读物和网站
  8.8 关键术语、复习题和习题
  附录8A散列表
  
  第四部分 调度
  第9章 单处理器调度
  9.1 处理器调度的类型
  9.1.1 长程调度
  9.1.2 p程调度
  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 速率单调调度
  ……
  第五部分 I/O和文件
  第11章 I/O管理和磁盘调度
  第12章 文件管理
  
  第六部分 嵌入式系统
  第13章 嵌入式操作系统
  
  第七部分 安全
  第14章 计算机安全威胁
  第15章 计算机安全技术
  
  第八部分 分布式系统
  第16章 分布式处理、客户/服务器和集群
猜您喜欢

读书导航