具体描述
《国外计算机科学教材系列·操作系统:精髓与设计原理(第7版)(英文版)》是一本关于操作系统的概念、结构和机制的教材,其目的是尽可能清楚和全面地展示现代操作系统的本质和特点;同时,《国外计算机科学教材系列·操作系统:精髓与设计原理(第7版)(英文版)》也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代最流行的操作系统——Windows7、UNIX和Linux为例,全面清楚地展现了当代操作系统的本质和特点。与《国外计算机科学教材系列·操作系统:精髓与设计原理(第7版)(英文版)》配套的专用网站,为帮助教师和学生理解书中内容,提供了及时、生动的材料。
作者简介
William Stallings,拥有美国麻省理工学院计算机科学博士学位和圣母大学电子工程学士学位,现任教于澳大利亚新南威尔士大学国防学院(堪培拉)信息技术与电子工程系。他是世界知名计算机学者和畅销教材作者,已经撰写了17部著作,出版了42本书籍,内容涉及计算机安全、计算机网络和计算机体系结构等方面,曾11次荣获美国“教材和学术专著作者协会”颁发的“年度最佳计算机科学教材”奖。
目录信息
1.1 Operating System Objectives and Functions
1.2 The Evolution of Operating Systems
1.3 MajorAchievements
1.4 Developments Leading to Modern Operating Systems
1.5 Virtual Machines
1.6 OS Design Considerations for Multiprocessor and Multicore
1.7 Microsoft Windows Overview
1.8 TraditionaIUNIX Systems
1.9 Modern UNIX Systems
1.10 Linux
1.11 Linux VServer Virtual Machine Architecture
1.12 Recommended Reading and Web Sites
1.13 Key Terms, Review Questions, and Ptoblems
Chapter 2 ProcessDescription and Control
2.1 What Is a Process?
2.2 Process States
2.3 Process Description
2.4 Process Control
2.5 Execution ofthe Operating System
2.6 Security Issues
2.7 UNIX SVR4 Process Management
2.8 Summary
2.9 RecommendedReading
2.10 Key Terms, Review Questions, and Problems
Chapter 3 Threads
3.1 Ptocesses and Threads
3.2 Types ofThreads
3.3 Multicore and Multithreading
3.4 Windows 7 Thread and SMP Management
3.5 Solaris Thread and SMP Management
3.6 Linux Process and Thread Management
3.7 Mac OS X Grand CentralDispatc
3.8 Summary
3.9 RecommendedReading
3.10 Key Terms, Review Questions, and Problems
Chapter 4 Concurrency: Mutual Exclu- sion and Synchronization
4.1 Principles ofConcurrency
4.2 Mutual Exclusion: Hardware Support
4.3 Semaphores
4.4 Monitors
4.5 Message Passing
4.6 Readers/Writers Problem
4.7 Summary
4.8 RecommendedReading
4.9 Key Terms, Review Questions, and Problems
Chapter 5 Concurrency:Deadlock and Starvatio
5.1 Principles ofDeadlock
5.2 Deadlock Prevention
5.3 Deadlock Avoidance
5.4 Deadlock Detection
5.5 Anlntegrated Deadlock Strategy
5.6 Dining Philosophers Problem
5.7 UNIX Concurrency Mechanisms
5.8 Linux Kernel Concurrency Mechanisms
5.9 Solaris Thread Synchronization Primitives
5.10 Windows 7 Concurrency Mechanisms
5.11 Summary
5.12 RecommendedReading
5.13 Key Terms, Review Questions, and Problems
Chapter 6 Memory Management
6.1 Memory Management Requirements
6.2 Memory Partitioning
6.3 Paging
6.4 Segmentation
6.5 Security Issues
6.6 Summary
6.7 RecommendedReading
6.8 Key Terms, Review Questions, and Problems
Chapter 7 VirtuaIMemory
7.1 Hardware and Control Structures
……
Chapter 8 Uniprocessor Scheduling
Chapter 9 Multiprocessor and Real-Time Scheduling
Chapter 10 1/0 Management and Disk Scheduling
Chapter 11 File Management
References
· · · · · · (收起)
读后感
用户评价
总体而言,我感受到的信息密度是极高,但信息质量却参差不齐。书中有一部分内容,比如关于死锁检测算法的经典描述,无疑是教科书级别的,清晰、精确,值得反复研读。然而,紧接着的部分,可能就是对某个特定硬件中断处理流程的流水账式描述,枯燥且高度依赖于特定的、早已被淘汰的芯片架构。这种“钻石与沙砾混杂”的写作模式,迫使读者必须投入巨大的精力进行信息筛选,以辨别哪些是需要铭记的基石知识,哪些只是历史的尘埃。我甚至怀疑作者是否真的进行过有效的自我编辑。如果你想从中找到一个稳定、一致的学习路径,这本书恐怕会让你失望。它更像是一个知识的宝库,里面有着无数珍贵的金银珠宝,但同时也混杂着大量的普通石头和废弃的金属碎片,你需要带着一把铁锹和极大的耐心,才能挖掘出真正有价值的部分。它没有提供“快速通道”,它提供的是“全景地图”,而地图的比例尺还不统一。
这本书的排版和装帧,简直是上个世纪的产物,厚重得像一块砖头,纸张泛着一种略微发黄的旧感,拿在手里沉甸甸的,充满了一种历史的厚重感,但阅读体验却不尽人意。字体大小和行距的处理似乎没有经过现代排版学的优化,大段的文字堆砌在一起,让人望而生畏。更要命的是,书中的图示部分,那些本该用来说明复杂数据结构和流程的插图,简直是一场灾难。它们大多是黑白、低分辨率的线条图,很多箭头指向不明,方框混乱,我甚至需要借助放大镜才能分辨出某些细小的标记。这使得原本就难以理解的上下文,又增加了一层视觉上的障碍。我不得不承认,对于我这种依赖视觉辅助来理解复杂系统的学习者来说,这样的设计无疑是雪上加霜。我经常需要对照着网上的现代图示,才能勉强理解作者在这里想表达的那个I/O模型的精髓。说实话,如果不是我对“操作系统”这个主题有近乎偏执的兴趣,我可能早就因为这糟糕的阅读体验而弃置了。它更像是一份学术会议的论文集被强行装订成册,内容或许价值连城,但外衣却让人提不起精神去探究。
这本《操作系统》的书,实在让我有些摸不着头脑,与其说是教科书,不如说是一本深奥的哲学著作。我本以为能学到点扎实的内存管理、进程调度那些硬核技术,结果更多的是对“抽象”和“本质”的探讨。它花了大量的篇幅去阐述为什么需要操作系统,而不是如何具体实现它。比如,书中对“并发”的理解,简直是让我感觉自己像是在听一位资深教授在讲解形而上学。他似乎更关注的是,在计算机这个微观世界里,如何构建一个公平、高效的秩序体系,而不是教你写出一段能跑起来的内核代码。初次阅读时,我感觉自己像个迷路的孩子,四周都是密集的理论名词,像是未经打磨的原石,散发着晦涩的光芒。我试图在其中寻找具体的例子来印证那些高深的理论,但书中的案例往往是高度简化的模型,缺乏现实世界中那种泥泞和复杂性。这导致我合上书本时,脑海里留下的是一团团的云雾,而不是清晰的架构图。对于想快速入门或者找工作面试准备的读者来说,这本书可能更像是一个思想的陷阱,它会让你觉得自己懂了很多,但当你面对实际问题时,却发现那些理论的拐杖似乎并不好使。我更期待的是那种能手把手带着你编译第一个引导扇区,让你亲身感受硬件脉搏的书籍,但这本,它似乎更关心的是宇宙的规律,而非齿轮的咬合。
从叙事的角度来看,这本书的结构混乱,缺乏清晰的主线索,更像是作者把他多年来积累的零散笔记和思考片段不加筛选地倾泻了出来。你会发现,前一章还在煞有介事地讨论缓存一致性协议的数学证明,下一章突然跳跃到对操作系统发展历史中某个不重要人物的生平回顾,然后下一小节又回到了对虚拟内存分页机制的底层汇编描述。这种跳跃性使得读者的心绪难以沉淀。我总是在尝试构建一个完整的知识体系的框架时,被作者突然抛出的一个不相干的“小知识点”打断,不得不停下来反复翻阅前文,试图找出这两者之间的逻辑联系,但往往徒劳无功。这让我怀疑作者是否真正梳理过现代操作系统的核心脉络,或者他认为读者已经具备了极高的知识储备,可以自行完成所有逻辑上的连接工作。对于一个希望循序渐进学习的初学者而言,这种“自由发挥”式的写作风格,简直是学习路上的绊脚石。它更适合那些已经身居高位,只需要快速翻阅特定技术细节的专家,而不是需要系统学习的后来者。
这本书最让我感到困惑的是其对工具链和编程语言选择的固执与偏狭。作者似乎对某些特定的、或许已经略显陈旧的编程范式抱有近乎宗教般的信仰,并花费了大量的篇幅去论证为什么必须使用那种特定的语言特性或编译器优化选项。当你阅读到具体代码示例时,你会发现它们充斥着大量晦涩的宏定义和非常规的指针操作,这些代码段在现代主流的操作系统开发社区中,早已被更安全、更清晰的结构所取代。这使得我很难将书中学到的理论与当前实际的项目开发环境对接起来。它教授的知识,像是一件精美的古董,虽然制作工艺高超,但放在今天的日常生活中,实用性大打折扣。我尝试将书中的某些调度算法用现代C++去重构,结果发现仅仅是为了复现书中的某个初始化步骤,就需要花费我数倍的时间去理解那些被作者认为是“理所当然”的底层依赖。这本书仿佛带着一种居高临下的姿态,告诉你:“看,这就是当年最优雅的做法”,但却没有告诉你:“现在,你应该这样做”。这种时间错位感,极大地削弱了它的指导价值。