资源大小: 27.46MB
发布时间: 2013-01-21
文件格式: pdf
下载次数: 4
分享到:

下载地址:

下载地址1
(本站为飞网专业下载站,域名:down.cfei.net)

资源简介:

中文名: 现代操作系统(原书第3版)原名: Modern Operating Systems (3rd Edition) 作者: (荷)Andrew S.Tanenbaum译者: 陈向群马洪兵资源格式: PDF版本: 扫描版出版社: 机械工业出版社书号: 9787111255444发行时间: 2009年7月地区: 大陆语言: 简体中文简介: 内容介绍:本书是操作系统领域的经典之作,与第2版相比,增加了关于Linux、Windows Vista和Symbian操作系统的详细介绍。书中集中讨论了操作系统的基本原理,包括进程、线程、存储管理、文件系统、输入/输出、死锁等,同时还包含了有关计算机安全、多媒体操作系统、掌上计算机操作系统、微内核、多核处理机上的虚拟机以及操作系统设计等方面的内容。此外,还在第2版的基础上对部分习题进行了增删,更有助于读者学习和对知识的理解及掌握。tanenbaum教授作为三个操作系统的设计师或联合设计师,具有长期设计开发操作系统的经验,从而把其对理论的深入理解和具体实践融入书中,使本书成为操作系统领域的经典之作。在本书第3版中,作者深入讨论了许多主题,包括:进程、线程、存储管理、文件系统、i/o、死锁、接口设计、多媒体、性能权衡,以及有关操作系统设计的最新趋势。书中不仅涵盖了现代操作系统的原理和实践,而且特别关注了linux操作系统、windows vista操作系统、嵌入式操作系统、实时操作系统以及多媒体操作系统。作者介绍:Andrew S.Tanenbaum获得过美国麻省理工学院的理学学士学位和加利福尼亚大学伯克利分校的哲学博士学位,目前是荷兰阿姆斯特丹Vrije大学的计算机科学系的教授,并领导着一个计算机系统的研究小组。同时,他还是一家计算与图象处理学院的院长,这是由几家大学合作成立的研究生院。尽管社会工作很多,但他并没有中断学术研究。多年来,他在编译技术、操作系统、网络及局域分布式系统方面进行了大量的研究工作。目前的主要研究方向是设计规模达数百万用户的广域分布式系统。在进行这些研究项目的基础上,他在各种学术杂志及会议上发表了70多篇论文。他同时还是5本计算机专著的作者。  Tanenbaum教授还开发了大量的软件。他是Amsterdan编译器的原理设计师,这是一个被广泛使用的;用来编写可移植编译器的工具箱。他领导编写的MINIX,是一个用于操作系统教学的类UNIX(的小型操作系统。他和他的博士研究生及其他编程人员一道设计的Amoeba分布式操作系统,是一个高性能的微内核分布式操作系统。目前,可在因特网上免费得到MLNIX及Amoeba,用于教学和研究。  他的一些博士研究生,在获得学位后继续进行研究,并取得了更大的成就,赢得了社会的赞誉,对此他深感自豪。人们称他为桃李满天下的教育家。  Tanenbaum是ACM的会员,IEEE的资深会员,荷兰皇家艺术和科学学院院士,获得过1994年度ACM KarlV.Karlstrom杰出教育家奖。他还人选了《世界名人录》。 目录: 出版者的话.译者序前言第1章 引论11.1 什么是操作系统21.1.1 作为扩展机器的操作系统21.1.2 作为资源管理者的操作系统31.2 操作系统的历史41.2.1 第一代(1945~1955):真空管和穿孔卡片41.2.2 第二代(1955~1965):晶体管和批处理系统41.2.3 第三代(1965~1980):集成电路芯片和多道程序设计61.2.4 第四代(1980年至今):个人计算机81.3 计算机硬件介绍101.3.1 处理器111.3.2 存储器121.3.3 磁盘141.3.4 磁带151.3.5 i/o设备151.3.6 总线171.3.7 启动计算机18.1.4 操作系统大观园191.4.1 大型机操作系统191.4.2 服务器操作系统191.4.3 多处理器操作系统191.4.4 个人计算机操作系统191.4.5 掌上计算机操作系统191.4.6 嵌入式操作系统201.4.7 传感器节点操作系统201.4.8 实时操作系统201.4.9 智能卡操作系统201.5 操作系统概念211.5.1 进程211.5.2 地址空间221.5.3 文件221.5.4 输入/输出241.5.5 保护241.5.6 shell 241.5.7 个体重复系统发育251.6 系统调用271.6.1 用于进程管理的系统调用301.6.2 用于文件管理的系统调用311.6.3 用于目录管理的系统调用311.6.4 各种系统调用331.6.5 windows win32 api 331.7 操作系统结构341.7.1 单体系统341.7.2 层次式系统351.7.3 微内核361.7.4 客户机-服务器模式371.7.5 虚拟机381.7.6 外核401.8 依靠c的世界401.8.1 c语言401.8.2 头文件411.8.3 大型编程项目411.8.4 运行模型421.9 有关操作系统的研究421.10 本书其他部分概要431.11 公制单位431.12 小结44习题44第2章 进程与线程472.1 进程472.1.1 进程模型472.1.2 创建进程482.1.3 进程的终止492.1.4 进程的层次结构502.1.5 进程的状态502.1.6 进程的实现512.1.7 多道程序设计模型522.2 线程532.2.1 线程的使用532.2.2 经典的线程模型562.2.3 posix线程592.2.4 在用户空间中实现线程592.2.5 在内核中实现线程622.2.6 混合实现622.2.7 调度程序激活机制632.2.8 弹出式线程632.2.9 使单线程代码多线程化642.3 进程间通信662.3.1 竞争条件662.3.2 临界区672.3.3 忙等待的互斥672.3.4 睡眠与唤醒702.3.5 信号量722.3.6 互斥量742.3.7 管程762.3.8 消息传递802.3.9 屏障812.4 调度822.4.1 调度介绍822.4.2 批处理系统中的调度852.4.3 交互式系统中的调度872.4.4 实时系统中的调度902.4.5 策略和机制902.4.6 线程调度912.5 经典的ipc问题922.5.1 哲学家就餐问题922.5.2 读者-写者问题942.6 有关进程和线程的研究952.7 小结95习题95第3章 存储管理993.1 无存储器抽象993.2 一种存储器抽象:地址空间1013.2.1 地址空间的概念1013.2.2 交换技术1033.2.3 空闲内存管理1043.3 虚拟内存1063.3.1 分页1073.3.2 页表1083.3.3 加速分页过程1093.3.4 针对大内存的页表1113.4 页面置换算法1133.4.1 最优页面置换算法1143.4.2 最近未使用页面置换算法1143.4.3 先进先出页面置换算法1153.4.4 第二次机会页面置换算法1153.4.5 时钟页面置换算法1163.4.6 最近最少使用页面置换算法1163.4.7 用软件模拟lru 1173.4.8 工作集页面置换算法1183.4.9 工作集时钟页面置换算法1203.4.10 页面置换算法小结1213.5 分页系统中的设计问题1213.5.1 局部分配策略与全局分配策略1213.5.2 负载控制1233.5.3 页面大小1233.5.4 分离的指令空间和数据空间1243.5.5 共享页面1243.5.6 共享库1253.5.7 内存映射文件1263.5.8 清除策略1273.5.9 虚拟内存接口1273.6 有关实现的问题1283.6.1 与分页有关的工作1283.6.2 缺页中断处理1283.6.3 指令备份1293.6.4 锁定内存中的页面1293.6.5 后备存储1293.6.6 策略和机制的分离1303.7 分段1313.7.1 纯分段的实现1333.7.2 分段和分页结合:multics 1343.7.3 分段和分页结合:intel pentium 1353.8 有关存储管理的研究1383.9 小结138习题139第4章 文件系统1434.1 文件1444.1.1 文件命名1444.1.2 文件结构1454.1.3 文件类型1454.1.4 文件存取1474.1.5 文件属性1474.1.6 文件操作1484.1.7 使用文件系统调用的一个示例程序1484.2 目录1504.2.1 一级目录系统1504.2.2 层次目录系统1504.2.3 路径名1504.2.4 目录操作1524.3 文件系统的实现1534.3.1 文件系统布局1534.3.2 文件的实现1534.3.3 目录的实现1564.3.4 共享文件1584.3.5 日志结构文件系统1594.3.6 日志文件系统1604.3.7 虚拟文件系统1614.4 文件系统管理和优化1634.4.1 磁盘空间管理1634.4.2 文件系统备份1674.4.3 文件系统的一致性1704.4.4 文件系统性能1724.4.5 磁盘碎片整理1744.5 文件系统实例1754.5.1 cd-rom文件系统1754.5.2 ms-dos文件系统1784.5.3 unix v7文件系统1794.6 有关文件系统的研究1814.7 小结181习题182第5章 输入/输出1845.1 i/o硬件原理1845.1.1 i/o设备1845.1.2 设备控制器1855.1.3 内存映射i/o 1855.1.4 直接存储器存取1875.1.5 重温中断1895.2 i/o软件原理1915.2.1 i/o软件的目标1915.2.2 程序控制i/o 1925.2.3 中断驱动i/o 1935.2.4 使用dma的i/o1945.3 i/o软件层次1945.3.1 中断处理程序1945.3.2 设备驱动程序1955.3.3 与设备无关的i/o软件1975.3.4 用户空间的i/o软件2005.4 盘2015.4.1 盘的硬件2015.4.2 磁盘格式化2115.4.3 磁盘臂调度算法2125.4.4 错误处理2145.4.5 稳定存储器2165.5 时钟2185.5.1 时钟硬件2185.5.2 时钟软件2195.5.3 软定时器2205.6 用户界面:键盘、鼠标和监视器2215.6.1 输入软件2215.6.2 输出软件2245.7 瘦客户机2335.8 电源管理2355.8.1 硬件问题2355.8.2 操作系统问题2365.8.3 应用程序问题2395.9 有关输入/输出的研究2395.10 小结240习题241第6章 死锁2446.1 资源2446.1.1 可抢占资源和不可抢占资源2446.1.2 资源获取2456.2 死锁概述2466.2.1 资源死锁的条件2466.2.2 死锁建模2466.3 鸵鸟算法2486.4 死锁检测和死锁恢复2486.4.1 每种类型一个资源的死锁检测2496.4.2 每种类型多个资源的死锁检测2506.4.3 从死锁中恢复2516.5 死锁避免2526.5.1 资源轨迹图2526.5.2 安全状态和不安全状态2536.5.3 单个资源的银行家算法2546.5.4 多个资源的银行家算法2546.6 死锁预防2556.6.1 破坏互斥条件2556.6.2 破坏占有和等待条件2566.6.3 破坏不可抢占条件2566.6.4 破坏环路等待条件2566.7 其他问题2576.7.1 两阶段加锁2576.7.2 通信死锁2576.7.3 活锁2586.7.4 饥饿2596.8 有关死锁的研究2596.9 小结259习题260第7章 多媒体操作系统2637.1 多媒体简介2637.2 多媒体文件..2667.2.1 视频编码2667.2.2 音频编码2687.3 视频压缩2697.3.1 jpeg标准2697.3.2 mpeg标准2717.4 音频压缩2727.5 多媒体进程调度2747.5.1 调度同质进程2757.5.2 一般实时调度2757.5.3 速率单调调度2767.5.4 最早最终时限优先调度2777.6 多媒体文件系统范型2787.6.1 vcr控制功能2797.6.2 近似视频点播2797.6.3 具有vcr功能的近似视频点播2817.7 文件存放2827.7.1 在单个磁盘上存放文件2827.7.2 两个替代的文件组织策略2827.7.3 近似视频点播的文件存放2847.7.4 在单个磁盘上存放多个文件2857.7.5 在多个磁盘上存放文件2877.8 高速缓存2887.8.1 块高速缓存2887.8.2 文件高速缓存2897.9 多媒体磁盘调度2907.9.1 静态磁盘调度2907.9.2 动态磁盘调度2917.10 有关多媒体的研究2927.11 小结292习题293第8章 多处理机系统2958.1 多处理机2968.1.1 多处理机硬件2968.1.2 多处理机操作系统类型3018.1.3 多处理机同步3038.1.4 多处理机调度3068.2 多计算机3098.2.1 多计算机硬件3098.2.2 低层通信软件3128.2.3 用户层通信软件3138.2.4 远程过程调用3148.2.5 分布式共享存储器3168.2.6 多计算机调度3198.2.7 负载平衡3198.3 虚拟化3218.3.1 虚拟化的条件3228.3.2 i型管理程序3228.3.3 ii型管理程序3238.3.4 准虚拟化3248.3.5 内存的虚拟化3258.3.6 i/o设备的虚拟化3268.3.7 虚拟工具3278.3.8 多核处理机上的虚拟机3278.3.9 授权问题3278.4 分布式系统3278.4.1 网络硬件3298.4.2 网络服务和协议3318.4.3 基于文档的中间件3338.4.4 基于文件系统的中间件3348.4.5 基于对象的中间件3378.4.6 基于协作的中间件3388.4.7 网格3418.5 有关多处理机系统的研究3418.6 小结342习题343第9章 安全3469.1 环境安全3479.1.1 威胁3479.1.2 入侵者3479.1.3 数据意外遗失3489.2 密码学原理3489.2.1 私钥加密技术3499.2.2 公钥加密技术3499.2.3 单向函数3509.2.4 数字签名3509.2.5 可信平台模块3519.3 保护机制3529.3.1 保护域3529.3.2 访问控制列表3539.3.3 权能3549.3.4 可信系统3569.3.5 可信计算基3579.3.6 安全系统的形式化模型3589.3.7 多级安全3589.3.8 隐蔽信道3609.4 认证3629.4.1 使用口令认证3639.4.2 使用实际物体的认证方式3679.4.3 使用生物识别的验证方式3699.5 内部攻击3709.5.1 逻辑炸弹3709.5.2 后门陷阱3709.5.3 登录欺骗3719.6 利用代码漏洞3719.6.1 缓冲区溢出攻击3729.6.2 格式化字符串攻击3739.6.3 返回libc攻击3749.6.4 整数溢出攻击3759.6.5 代码注入攻击3769.6.6 权限提升攻击3769.7 恶意软件3779.7.1 特洛伊木马3789.7.2 病毒3799.7.3 蠕虫3859.7.4 间谍软件3869.7.5 rootkit 3889.8 防御3909.8.1 防火墙3919.8.2 反病毒和抑制反病毒技术3929.8.3 代码签名3959.8.4 囚禁3969.8.5 基于模型的入侵检测3979.8.6 封装移动代码3989.8.7 java安全性4009.9 有关安全性研究4019.10 小结401习题402第10章 实例研究1:linux 40510.1 unix与linux的历史40510.1.1 unics 40510.1.2 pdp-11 unix 40610.1.3 可移植的unix 40610.1.4 berkeley unix 40710.1.5 标准unix 40710.1.6 minix 40810.1.7 linux 40910.2 linux概述41010.2.1 linux的设计目标41010.2.2 到linux的接口41110.2.3 shell 41210.2.4 linux应用程序41310.2.5 内核结构41410.3 linux中的进程41610.3.1 基本概念41610.3.2 linux中进程管理相关的系统调用41810.3.3 linux中进程与线程的实现42010.3.4 linux中的调度42410.3.5 启动linux系统42610.4 linux中的内存管理42710.4.1 基本概念42710.4.2 linux中的内存管理系统调用42910.4.3 linux中内存管理的实现43010.4.4 linux中的分页43410.5 linux中的i/o系统43510.5.1 基本概念43510.5.2 网络43610.5.3 linux的输入/输出系统调用43710.5.4 输入/输出在linux中的实现43710.5.5 linux中的模块43910.6 linux文件系统44010.6.1 基本概念44010.6.2 linux的文件系统调用44210.6.3 linux文件系统的实现44410.6.4 nfs:网络文件系统44910.7 linux的安全性45310.7.1 基本概念45310.7.2 linux中安全相关的系统调用45410.7.3 linux中的安全实现45510.8 小结455习题456第11章 实例研究2:windows vista 45911.1 windows vista的历史45911.1.1 20世纪80年代:ms-dos 45911.1.2 20世纪90年代:基于ms-dos的windows 46011.1.3 21世纪:基于nt的windows 46011.1.4 windows vista 46211.2 windows vista编程46211.2.1 内部nt应用编程接口46311.2.2 win32应用编程接口46511.2.3 windows注册表46711.3 系统结构46811.3.1 操作系统结构46911.3.2 启动windows vista 47611.3.3 对象管理器的实现47711.3.4 子系统、dll和用户态服务48311.4 windows vista中的进程和线程48411.4.1 基本概念48411.4.2 作业、进程、线程和纤程管理api调用48711.4.3 进程和线程的实现49011.5 内存管理49411.5.1 基本概念49411.5.2 内存管理系统调用49611.5.3 存储管理的实现49711.6 windows vista的高速缓存50211.7 windows vista的输入/输出50411.7.1 基本概念50411.7.2 输入/输出api调用50411.7.3 i/o实现50611.8 windows nt文件系统50911.8.1 基本概念51011.8.2 ntfs文件系统的实现51011.9 windows vista中的安全51611.9.1 基本概念51611.9.2 安全相关的api调用51811.9.3 安全性的实现51811.10 小结519习题520第12章 实例研究3:symbian操作系统52212.1 symbian操作系统的历史52212.1.1 symbian操作系统的起源:psion和epoc 52212.1.2 symbian操作系统版本6 52312.1.3 symbian操作系统版本7 52312.1.4 今天的symbian操作系统52312.2 symbian操作系统概述52312.2.1 面向对象52412.2.2 微内核设计52412.2.3 symbian操作系统纳核52512.2.4 客户机/服务器资源访问52512.2.5 较大型操作系统的特点52512.2.6 通信与多媒体52612.3 symbian操作系统中的进程和线程52612.3.1 线程和纳线程52612.3.2 进程52712.3.3 活动对象52712.3.4 进程间通信52712.4 内存管理52812.4.1 没有虚拟内存的系统52812.4.2 symbian操作系统的寻址方式52912.5 输入和输出53012.5.1 设备驱动53012.5.2 内核扩展53012.5.3 直接存储器访问53112.5.4 特殊情况:存储介质53112.5.5 阻塞i/o 53112.5.6 可移动存储器53112.6 存储系统53212.6.1 移动设备文件系统53212.6.2 symbian操作系统文件系统53212.6.3 文件系统安全和保护53212.7 symbian操作系统的安全53312.8 symbian操作系统中的通信53412.8.1 基本基础结构53412.8.2 更仔细地观察基础结构53512.9 小结536习题536第13章 操作系统设计53713.1 设计问题的本质53713.1.1 目标53713.1.2 设计操作系统为什么困难53813.2 接口设计53913.2.1 指导原则53913.2.2 范型54013.2.3 系统调用接口54213.3 实现54313.3.1 系统结构54313.3.2 机制与策略54513.3.3 正交性54613.3.4 命名54613.3.5 绑定的时机54713.3.6 静态与动态结构54713.3.7 自顶向下与自底向上的实现54813.3.8 实用技术54913.4 性能55213.4.1 操作系统为什么运行缓慢55213.4.2 什么应该优化55213.4.3 空间-时间的权衡55313.4.4 高速缓存55413.4.5 线索55513.4.6 利用局部性55513.4.7 优化常见的情况55513.5 项目管理55613.5.1 人月神话55613.5.2 团队结构55613.5.3 经验的作用55813.5.4 没有银弹55813.6 操作系统设计的趋势55813.6.1 虚拟化55913.6.2 多核芯片55913.6.3 大型地址空间操作系统55913.6.4 联网55913.6.5 并行系统与分布式系统56013.6.6 多媒体56013.6.7 电池供电的计算机56013.6.8 嵌入式系统56013.6.9 传感节点56113.7 小结561习题561第14章 阅读材料及参考文献56314.1 进行深入阅读的建议56314.1.1 简介及概要56314.1.2 进程和线程56314.1.3 存储管理56414.1.4 输入/输出56414.1.5 文件系统56414.1.6 死锁56414.1.7 多媒体操作系统56414.1.8 多处理机系统56514.1.9 安全56514.1.10 linux 56614.1.11 windows vista 56714.1.12 symbian操作系统56714.1.13 设计原则56714.2 按字母顺序排序的参考文献...568


飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。