有没有好的操作系统的书
2015-10-01 · 知道合伙人数码行家
关注
展开全部
全名Operating Systems: Three Easy Pieces
威斯康星的研究生教材,把os分成虚拟化、并发性、持久化,三方面来讲,其实写的很入门,完全就能当本科教材或者自学。每一个主题都是从历史沿革来讲,最初什么方法,如何实现的(真的是实际实现),解决了什么问题,有什么缺点,针对这些缺点人们提出了哪些方法来改进。还给了各种metric。每章末尾还给了相关领域应该看那些著名论文或者教材。
Modern Operating Systems 4th,这本书是教材,Tanenbaum 是谁不用多说了吧,估计 Linus 见了他也得叫一声老师。这本书理论性较强,讲的是普遍原理,但是不够深入,如调度算法等等,有时就是一句话,但是不会跟你说明具体实现。不过是一本操作系统入门的好教材。
2. Operating System Concepts 9th,这本书也叫“恐龙书”,名气与第一本齐名,也是教材,第九版对比前书第三版 (第四版我没看) 来说更好,对于算法的解释更详细,但是对于一些特别基础的东西,比如 MMU 工作起来大概是什么样子的等描述不如第一本详细。
3. Operating Systems Design and Implementation 3rd,还是 Tanenbaum 的书,主要基于 Minix 讲操作系统实现,这本书比前两本书,要落地一些,理论性不是那么强。但是建议你看完前两本任意一本再看这本。
4. 下面就是一些特定平台的书了,基于以上理论,这些书对于特定平台的实现讲的非常深入,比如都是内核,OS X,Windows 实现有何不同,你就要看这些了
比如 Windows,你要看 Windows Internals 6th
比如 OS X,你要看 Mac OS X Internals: A Systems Approach
或 Mac OS X and iOS Internals: To the Apple's Core
移动操作系统,iOS 没有什么特别好的书,因为是闭源的,但是由于其和 OS X 同源,很多东西你可以参考 OS X 以及 XNU 源代码。Android 我不关心也没兴趣,也不知道,Windows 要问做 WP 开发的朋友。
另外,看这些书,你要有一些 C 语言的功底,不然一些例子什么的你搞不定,还要有点汇编语言的知识,不然源代码很多你也看不太懂。
另外,如果觉得这些书很贵,可以到诸如 MIT 等大学网站找操作系统课程的讲义看,都非常不错。免费。
威斯康星的研究生教材,把os分成虚拟化、并发性、持久化,三方面来讲,其实写的很入门,完全就能当本科教材或者自学。每一个主题都是从历史沿革来讲,最初什么方法,如何实现的(真的是实际实现),解决了什么问题,有什么缺点,针对这些缺点人们提出了哪些方法来改进。还给了各种metric。每章末尾还给了相关领域应该看那些著名论文或者教材。
Modern Operating Systems 4th,这本书是教材,Tanenbaum 是谁不用多说了吧,估计 Linus 见了他也得叫一声老师。这本书理论性较强,讲的是普遍原理,但是不够深入,如调度算法等等,有时就是一句话,但是不会跟你说明具体实现。不过是一本操作系统入门的好教材。
2. Operating System Concepts 9th,这本书也叫“恐龙书”,名气与第一本齐名,也是教材,第九版对比前书第三版 (第四版我没看) 来说更好,对于算法的解释更详细,但是对于一些特别基础的东西,比如 MMU 工作起来大概是什么样子的等描述不如第一本详细。
3. Operating Systems Design and Implementation 3rd,还是 Tanenbaum 的书,主要基于 Minix 讲操作系统实现,这本书比前两本书,要落地一些,理论性不是那么强。但是建议你看完前两本任意一本再看这本。
4. 下面就是一些特定平台的书了,基于以上理论,这些书对于特定平台的实现讲的非常深入,比如都是内核,OS X,Windows 实现有何不同,你就要看这些了
比如 Windows,你要看 Windows Internals 6th
比如 OS X,你要看 Mac OS X Internals: A Systems Approach
或 Mac OS X and iOS Internals: To the Apple's Core
移动操作系统,iOS 没有什么特别好的书,因为是闭源的,但是由于其和 OS X 同源,很多东西你可以参考 OS X 以及 XNU 源代码。Android 我不关心也没兴趣,也不知道,Windows 要问做 WP 开发的朋友。
另外,看这些书,你要有一些 C 语言的功底,不然一些例子什么的你搞不定,还要有点汇编语言的知识,不然源代码很多你也看不太懂。
另外,如果觉得这些书很贵,可以到诸如 MIT 等大学网站找操作系统课程的讲义看,都非常不错。免费。
法本信息技术
2024-10-28 广告
2024-10-28 广告
开发软件需要明确的需求定义、专业的开发团队、适用的开发工具与环境、高效的项目管理与沟通机制、以及持续的测试与优化。团队需精通编程语言、数据库设计及前端技术,确保软件功能完善、界面友好且稳定可靠。同时,关注安全性、兼容性及用户体验,确保软件符...
点击进入详情页
本回答由法本信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询