Modern Operating Systems (现代操作系统) 读书总结

本文分享了阅读《现代操作系统》的个人体验,对比了它与《深入理解计算机系统》的区别,着重强调了抽象在操作系统实现中的重要性,并推荐了一个在线练习网站。此外,文章还提到了操作系统的核心内容、作者的经验分享,以及书中关于 Linux 和 Windows 的章节,最后还提及了实现操作系统的挑战和管理大型软件项目的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

读这本书之前强烈建议先读一读《深入理解计算机系统》,在《深入理解计算机系统》一书其实涉及到了不少操作系统的核心概念,包括进程、线程、存储器结构、虚拟内存。我感觉《现代操作系统》中的内容特别多,但讲的没有《深入理解计算机系统》那样清晰易懂,如果之前没有看《深入》的话,我感觉关于虚拟内存和cache这样的内容比较不好理解。《现代操作系统》的优点就是内容特别丰富,看书的块头就知道了,英文版的有1000多页,而且文字密集,看得我略感吃力啊,作者用的句子有些真不好理解,捉急啊,有些东西偏西方化,相比之下《深入》就简单多了,用语通俗易懂,中西通杀。


我看的是第三版,貌似作者说这一版相比之前两版调整比较大,把关键章节都提前讲了,操作系统的核心内容就是:Processes and Threads, Memory Management, File Systems, Input/Output.这些内容都放在前面的章节讲了,我感觉整本书也就这几章还有DeadLocks那章要好好看一下,后面的几章感觉讲的太泛了,总感觉没有个重点,感觉属于介绍性质,浅尝辄止,我也没有看的很仔细,最后面的三个案例研究关于 Linux要好好看一下,感觉Linux的实现跟这本书前面讲的内容联系更紧密一些,windows那一章看的捉急,就扫一扫就看过去了,讲Symbian OS 的那章基本没怎么看。最后一章是作者结合自己的经验介绍了实现一个操作系统需要考虑的问题,作者也是大牛,Linus (linux之父)就是受到作者写的Minix操作系统的启发而实现最开始的Linux内核的。我觉得给我帮助比较大的时作者关于管理操作系统这样的大型软件项目的讨论,原来人多也不是那么好办事的,Coding只是软件开发中最容易的环节,每个软件项目还必须有一个chief man, 以后有机会还要看一看《The Mythical Man Month》(人月神话)这本书。


如果要我说操作系统最重要的一个思想是什么的话,我觉得应该是——Abstraction(抽象),抽象的概念的操作系统的实现中体现的淋漓尽致,进程,文件系统,虚拟内存都是一种抽象,作者也反复强调抽象的重要性,作者在谈到实现操作系统时首先要求的就是要定义抽象。好的抽象可以使之后的工作更加简单,如虚拟内存这样的抽象实在是太伟大了,没有它真是难以想象要在内存中管理如此之多的进程而彼此之间又不能互相影响是件多么复杂的事情。

在线操作系统练习网站:http://www.pearsonhighered.com/tanenbaum/


感觉写东西还是行啊,总觉得思路不清晰,还要好好努力了,接下来看Weiss的《Data Structure and Algorithm Analysis In C》,加油!

MODERN OPERATING SYSTEMS THIRD EDITION The third edition of this book differs from the second edition in numerous ways. To start with, the chapters have been reordered to place the central material at the beginning. There is also now more of a focus on the operating system as the creator of abstractions. Chapter 1, which has been heavily updated, introduces all the concepts. Chapter 2 is about the abstraction of the CPU into multiple processes. Chapter 3 is about the abstraction of physical memory into address spaces (virtual memory). Chapter 4 is about the abstraction of the disk into files. Together, processes, virtual address spaces, and files are the key concepts that operating systems provide, so these chapters are now placed earlier than they previously had been. Chapter 1 has been heavily modified and updated in many places. For example, an introduction to the C programming language and the C run-time model is given for readers familiar only with Java. In Chapter 2, the discussion of threads has been revised and expanded reflecting their new importance. Among other things, there is now a section on IEEE standard Pthreads. Chapter 3, on memory management, has been reorganized to emphasize the idea that one of the key functions of an operating system is to provide the abstraction of a virtual address space for each process. Older material on memory management in batch systems has been removed, and the material on the implementation of paging has been updated to focus on the need to make it handle the larger address spaces now common and also the need for speed. Chapters 4-7 have been updated, with older material removed and some new material added. The sections on current research in these chapters have been rewritten from scratch. Many new problems and programming exercises have been added. Chapter 8 has been updated, including some material on multicore systems. A whole new section on virtualization technology, hypervisors, and virtual machines, has been added with VMware used as an example. Chapter 9 has been heavily revised and reorganized, with considerable new material on exploiting code bugs, malware, and defenses against them. Chapter 10, on Linux, is a revision of the old Chapter 10 (on UNIX and Linux). The focus is clearly on Linux now, with a great deal of new material. Chapter 11, on Windows Vista, is a major revision of the old Chap. 11 (on Windows 2000). It brings the treatment of Windows completely up to date. Chapter 12 is new. I felt that embedded operating systems, such as those found on cell phones and PDAs, are neglected in most textbooks, despite the fact that there are more of them out there than there are PCs and notebooks. This edition remedies this problem, with an extended discussion of Symbian OS, which is widely used on Smart Phones. Chapter 13, on operating system design, is largely unchanged from the second edition
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值