由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
诺森操作系统概念
¥ ×1
目录<br />Oraig System Concepts,Tenth Edition<br /><br /><br /><br />译者序<br />前言<br />部概论<br />章导论2<br />1.1操作系统的功能2<br />1.1.1用户视角2<br />1.1.2系统视角3<br />1.1.3操作系统的定义3<br />1.2计算机系统的组成4<br />1.2.1中断5<br />1.2.2存储结构7<br />1..I/O结构9<br />1.3计算机系统的体系结构9<br />1.3.1单处理器系统9<br />1.3.2多处理器系统10<br />1.3.3集群系统11<br />1.4操作系统的执行13<br />1.4.1多道程序与多任务14<br />1.4.2双模式与多模式操作15<br />1.4.3定时器16<br />1.5资源管理16<br />1.5.1进程管理16<br />1.5.2内存管理17<br />1.5.3文件系统管理17<br />1.5.4大容量存储管理18<br />1.5.5高速缓存管理18<br />1.5.6I/O系统管理20<br />1.6安全与保护20<br />1.7虚拟化21<br />1.8分布式系统22<br />1.9内核数据结构22<br />1.9.1列表、堆栈与队列22<br />1.9.2树<br />1.9.3哈希函数与哈希表24<br />1.9.4位图24<br />1.10计算环境25<br />1.10.1传统计算25<br />1.10.2移动计算25<br />1.10.3客户机-服务器计算26<br />1.10.4对等计算26<br />1.10.5云计算27<br />1.10.6实时嵌入式系统27<br />1.11免费与开源操作系统28<br />1.11.1开源操作系统的历史29<br />1.11.2自由操作系统29<br />1.11.3GNU/Linux29<br />1.11.4BSD UNIX30<br />1.11.5Solaris30<br />1.11.6用作学习的开源操作<br />系统31<br />1.12本章小结31<br />1.13读物32<br />1.14参考文献32<br />1.15练习33<br />1.16习题33<br />第2章操作系统结构35<br />2.1操作系统的服务35<br />2.2用户与操作系统的界面36<br />2.2.1命令解释器37<br />2.2.2图形用户界面37<br />2..触摸屏界面38<br />2.2.4界面的选择38<br />.系统调用39<br />..1系统调用示例39<br />..2应用编程接口39<br />..系统调用的类型41<br />2.4系统服务46<br />2.5链接器与加载器46<br />2.6应用程序特定于操作系统的<br />原因48<br />2.7操作系统的设计与实现49<br />2.7.1设计目标49<br />2.7.2机制与策略49<br />2.7.3实现50<br />2.8操作系统的结构50<br />2.8.1简单结构51<br />2.8.2分层法51<br />2.8.3微内核52<br />2.8.4模块53<br />2.8.5混合系统53<br />2.9操作系统的构建与引导56<br />2.9.1操作系统的生成56<br />2.9.2操作系统的引导57<br />2.10操作系统的调试58<br />2.10.1故障分析59<br />2.10.2能优化59<br />2.10.3跟踪60<br />2.10.4BCC60<br />2.11本章小结61<br />2.12读物62<br />2.13参考文献62<br />2.14练习63<br />2.15习题63<br />2.16编程题63<br />2.17编程项目64<br />第二部分进程管理<br />第3章进程70<br />3.1进程的概念70<br />3.1.1进程概述70<br />3.1.2进程状态71<br />3.1.3进程控制块72<br />3.1.4线程73<br />3.2进程调度73<br />3.2.1调度队列74<br />3.2.2CPU调度74<br />3..上下文切换75<br />3.3进程操作76<br />3.3.1进程创建76<br />3.3.2进程终止79<br />3.4进程间通信81<br />3.5共享内存系统的IPC82<br />3.6消息传递系统的IPC83<br />3.6.1命名84<br />3.6.2同步85<br />3.6.3缓冲85<br />3.7IPC系统示例86<br />3.7.1POSIX共享内存86<br />3.7.2Mach消息传递88<br />3.7.3Windows90<br />3.7.4管道91<br />3.8客户机-服务器系统中的通信<br />95<br />3.8.1套接字95<br />3.8.2远程过程调用97<br />3.9本章小结99<br />3.10读物100<br />3.11参考文献100<br />3.12练习100<br />3.13习题101<br />3.14编程题104<br />3.15编程项目106<br />第4章线程与并发113<br />4.1概述113<br />4.1.1动机113<br />4.1.2优点114<br />4.2多核编程115<br />4.2.1编程挑战115<br />4.2.2并行的类型116<br />4.3多线程模型117<br />4.3.1多对一模型117<br />4.3.2一对一模型117<br />4.3.3多对多模型117<br />4.4线程库118<br />4.4.1Pthreads119<br />4.4.2Windows线程120<br />4.4.3Java线程121<br />4.5隐式线程124<br />4.5.1线程池124<br />4.5.2复刻加入126<br />4.5.3OpenMP128<br />4.5.4大中央调度129<br />4.5.5Intel线程构建模块130<br />4.6多线程问题131<br />4.6.1系统调用fork()和<br />exec()131<br />4.6.2信号处理131<br />4.6.3线程撤销132<br />4.6.4线程本地存储133<br />4.6.5调度程序激活134<br />4.7操作系统示例135<br />4.7.1Windows线程135<br />4.7.2Linux线程135<br />4.8本章小结136<br />4.9读物137<br />4.10参考文献137<br />4.11练习137<br />4.12习题137<br />4.13编程题139<br />4.14编程项目141<br />第5章CPU调度143<br />5.1基本概念143<br />5.1.1CPU-I/O突发周期143<br />5.1.2CPU调度程序144<br />5.1.3抢占式和非抢占式调度144<br />5.1.4分派程序145<br />5.2调度准则146<br />5.3调度算法146<br />5.3.1先到先服务调度146<br />5.3.2短作业优先调度147<br />5.3.3轮转调度149<br />5.3.4优先级调度150<br />5.3.5多级队列调度151<br />5.3.6多级反馈队列调度152<br />5.4线程调度153<br />5.4.1竞争范围153<br />5.4.2Pthreads调度153<br />5.5多处理器调度155<br />5.5.1多处理器调度的方法155<br />5.5.2多核处理器156<br />5.5.3负载平衡158<br />5.5.4处理器亲和15<br />5.5.5异构多处理159<br />5.6实时CPU调度159<br />5.6.1化延迟159<br />5.6.2基于优先级的调度160<br />5.6.3单调速率调度161<br />5.6.4早截止期限优先调度162<br />5.6.5比例分享调度163<br />5.6.6POSIX实时调度163<br />5.7操作系统示例165<br />5.7.1示例:Linux调度165<br />5.7.2示例:Windows调度167<br />5.7.3示例:Solaris调度169<br />5.8算法评估170<br />5.8.1确定模型171<br />5.8.2排队模型171<br />5.8.312<br />5.8.4实现172<br />5.9本章小结173<br />5.10读物174<br />5.11参考文献174<br />5.12练习175<br />5.13习题176<br />5.14编程项目178<br />第三部分进程同步<br />第6章同步工具182<br />6.1背景182<br />6.2临界区问题183<br />6.3Peterson解决方案185<br />6.4硬件同步支持186<br />6.4.1内存屏障186<br />6.4.2硬件指令187<br />6.4.3原子变量189<br />6.5互斥锁189<br />6.6信号量191<br />6.6.1信号量的使用191<br />6.6.2信号量的实现191<br />6.7管程193<br />6.7.1管程的使用194<br />6.7.2采用信号量的管程实现195<br />6.7.3管程内的进程重启196<br />6.8活196<br />6.8.1死锁197<br />6.8.2优先级反转197<br />6.估198<br />6.10本章小结199<br />6.11读物199<br />6.12参考文献200<br />6.13练习200<br />6.14习题200<br />6.15编程题205<br />第7章同步案例207<br />7.1经典同步问题207<br />7.1.1有界缓冲区问题207<br />7.1.2读者-作者问题207<br />7.1.3哲学家就餐问题209<br />7.2内核的同步211<br />7.2.1Windows的同步211<br />7.2.2Linux的同步212<br />7.3POSIX的同步213<br />7.3.1POSIX 互斥锁213<br />7.3.2POSIX信号量213<br />7.3.3POSIX条件变量214<br />7.4Java的同步215<br />7.4.1Java管程215<br />7.4.2重入锁218<br />7.4.3信号量218<br />7.4.4条件变量219<br />7.5方法220<br />7.5.1事务内存220<br />7.5.2OpenMP221<br />7.5.3函数式编程语言222<br />7.6本章小结222<br />7.7读物222<br />7.8参考文献222<br />7.9练习2<br />7.10习题2<br />7.11编程题2<br />7.12编程项目224<br />第8章死锁0<br />8.1系统模型0<br />8.2多线程应用程序的死锁1<br />8.3死锁特点<br />8.3.1必要条件<br />8.3.2资源分配图<br />8.4死锁处理方法5<br />8.5死锁预防5<br />8.5.1互斥5<br />8.5.2占有并等待<br />8.5.3非抢占<br />8.5.4 循环等待<br />8.6死锁避免<br />8.6.1 安全状态<br />8.6.2资源分配图算法<br />8.6.3银行家算法<br />8.7死锁检测241<br />8.7.1每种资源类型只有单个<br />实例241<br />8.7.2每种资源类型可有多个<br />实例242<br />8.7.3检测算法的使用243<br />8.8死锁恢复244<br />8.8.1进程与线程的中止244<br />8.8.2资源抢占244<br />8.9本章小结245<br />8.10读物245<br />8.11参考文献245<br />8.12练习245<br />8.13习题247<br />8.14编程题249<br />8.15编程项目249<br />第四部分内存管理<br />第9章内存252<br />9.1背景252<br />9.1.1基本硬件252<br />9.1.2地址绑定253<br />9.1.3逻辑地址空间与物理地址<br />空间254<br />9.1.4动态加载255<br />9.1.5动态链接与共享库255<br />9.2连续内存分配256<br />9.2.1内存保护256<br />9.2.2内存分配257<br />9..碎片257<br />9.3分页258<br />9.3.1基本方法258<br />9.3.2硬件支持261<br />9.3.3保护263<br />9.3.4共享页263<br />9.4页表结构264<br />9.4.1分层分页264<br />9.4.2哈希页表265<br />9.4.3倒置页表266<br />9.4.4Oracle SPARC Solaris267<br />9.5交换267<br />9.5.1标准交换267<br />9.5.2采用分页的交换267<br />9.5.3移动系统的交换268<br />9.6示例:Intel 32位与64位体系<br />结构268<br />9.6.1IA-32架构269<br />9.6.2x86-64270<br />9.7示例:ARMv8架构271<br />9.8本章小结272<br />9.9读物272<br />9.10参考文献273<br />9.11练习273<br />9.12习题274<br />9.13编程题275<br />9.14编程项目275<br />0章虚拟内存277<br />10.1背景277<br />10.2请求调页279<br />10.2.1基本概念279<br />10.2.2空闲帧列表281<br />10..请求调页的能22<br />10.3写时复制283<br />10.4页面置换284<br />10.4.1基本页面置换285<br />10.4.2FIFO页面置换287<br />10.4.3很优页面置换288<br />10.4.4LRU页面置换288<br />10.4.5近似LRU页面置换290<br />10.4.6基于的页面置换291<br />10.4.7页面缓
本书是面向操作系统导论课程的经典书籍,从版至今被国内外众多高校选作教材。全书共九个部分,相较于上一版增加了三个部分,并且优化了各章的编排顺序。本书不仅详细讲解进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的读物。这一版在移动操作系统、多核系统、虚拟化和NVM外存等方面做了大幅更新,每一章都融入了新的技术进展,并且更新了习题和编程项目。本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
本书是操作系统领域的经典书籍,从版至今全程记录了操作系统的发展历史,被国内外众多高校选作教材。0版延续了之前版本的优点并进行了全面更新:理论讲解采用简洁的方式来呈现重要的研究结果,不展开复杂的形式化明;案例分析涵盖Linux、Windows、macOS、Android、iOS等主流系统;代码部分要求读者对C或Java语言有一定的了解;教辅资源同步升级,包括习题及参考、编程项目、读物、学习指南、教学PPT等。
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格