《4.4BSD操作系统设计与实现》
《4.4 BSD 操作系统设计与实现》
如果说有⼀本原⽂著作能够让我以读侦探⼩说的⼼情去阅读的话,那⼀定是这本了。由"Gods of BSD"执笔,与等经典著作齐名的此书,是当之⽆愧的BSD bible。
以前也看过⼏本分析操作系统原理和实现的著作,但要么过于学术⽓(如机⼯出的⼏本操作系统原理书籍),要么过于拘泥于细节实现代码之上(现在如过江之鲫的XXX源码分析)。⽽此书则能够做到在设计理论上⾼屋建瓴却不脱离实际;在实现⽅法上娓娓道來但不拘泥于实现;时⽽给出⼀幅结构关系图,让⼈对设计思路⼀⽬了然。能做到如此举重若轻者,⼤师也。:D
⾮常感谢引进了此书的英⽂影印版,价格公道量⼜⾜。虽是原⽂,但⽂字并不深奥难读,⼀段时间来每天早上读⼏节已成为我的⼀点爱好,呵呵。则浙⼤的学⽣翻译出版了中⽂版。不过⼗⼏个学⽣译者齐头并进,估计翻译质量够呛,如果不是实在没时间的话,强烈建议还是购买影印版阅读原⽂。阅读时可以配合源代码相互应证,作为BSD的重要发展的FreeBSD虽然改进不少,但底层实现思路还是沿⽤
4.4BSD的,基本上没有什么障碍。
希望以后还能有机会仔细重新研读此书。:P
——评《4.4BSD操作系统的设计与实现》
以下为引⽤:
经典著作的新版  BSD精神的延继
——评《4.4BSD操作系统的设计与实现》
清华⼤学⽹络中⼼张辉
《The Design and Implementation of 4.4BSD Operating System》是介绍BSD最为知名和权威的经典著作的最新
⼀版。该书的⼏位作者在BSD开发圈中被推崇为“Gods of BSD”,他们以曾在4.3/4.4BSD的开发过程中起到的重要
推动作⽤⽽闻名于世,⽽他们在1989年撰写的该书上⼀版——
《The Design and Implementation of 4.3BSD Operating System》⼏乎是全美各所⼤学计算机科学系操作系统课程
的指定参考书,同时该书也是所有BSD爱好者案头必备的Bible。
由于BSD长期以来⼀直在美国的⼤学和研究所中流⾏,没有像UNIX的另⼀风格System V那样为商业公司所把持。
在国内除学术界之外的其他领域,长期以来对于BSD的了解都远不及System V⼴泛。因此,我们有必要回顾⼀下
BSD的过去。
⾃从1969年UNIX由Ken Thompson和同在贝尔实验室计算机研究⼩组
(AT&T Bell Laboratories, Computer Research Group)的同事们⼀起公开发表以来,UNIX系统发展出诸多各具特
⾊、后来⼜再度会聚的流派,其中占主导地位的有两⼤流派。⼀是AT&T所开发的UNIX System V,另⼀是加州⼤
学伯克利分校(University of California at Berkeley,UC Berkeley)的计算机系统研究组
(Computer System Research Group,CSRG)开发的伯克利软件发⾏版本
(Berkeley Software Distribution,BSD)。
同富有商业背景和⽓息的AT&T UNIX相⽐,源于美国国防部(DoD)⾼级研究规划署
(Advanced Research Plan Agency,ARPA。ARPA也⽀持Internet前⾝ARPAnet的开发和建⽴)设⽴的科研项
⽬,诞⽣于世界顶级学府(UC Berkeley)的BSD UNIX在操作系统概念和实现技术上更体现出了锐意进取和敢于创
新的精神。Berkeley 是所有BSD UNIX的发源地。从1977年起,它免费发布了数千份1BSD和2BSD(PDP-11使
⽤),以及4BSD(VAX使⽤)。BSD吸引并激发了Berkeley的研究机构内众多师⽣的极⼤创造热情,即使是在
Berkeley以外的地⽅,BSD仍然牢牢地占据了UNIX在研究领域的应⽤。在UNIX蓬勃发展和不断进步的整个20世纪
七⼋⼗年代,UNIX界内的⼈⼠⽆⼀不对BSD UNIX报以崇敬的⽬光,因为BSD就是创新、突破的代名词。与此同
时,众多的商业公司也纷纷采⽤或者吸收BSD的思想和实现,以增强各⾃的产品。为国内早期UNIX⽤户熟悉的
SunOS(Solaris的前⼀版本)就是其中的代表,⽽在美国,Sun的⽤户则主要是理论、⼯程学术界。今天Linux的
SunOS(Solaris的前⼀版本)就是其中的代表,⽽在美国,Sun的⽤户则主要是理论、⼯程学术界。今天Linux的情况与之是如此相似。
然⽽,时光进⼊20世纪90年代,⼀⽅⾯AT&T起诉BSD造成了法律纠纷,商业公司Sun、HP等纷纷转向AT&T的Unix System V。直到1994年,不含任何AT&T Unix代码的4.4BSD-Lite发布,法律问题才完全结束,然⽽长达数年的法律纠纷已经给BSD带来了巨⼤的影响;另⼀⽅⾯BSD的研究背景使得BSD的发布⼀直是由学术机构来完成的,这赋予了BSD在技术上太多的变化,但它们却往往不兼容。虽然这是程序员们所热衷和推崇的情况,可是商业公司却并不喜欢,BSD的产业化受到了限制。结果,BSD的开发⼈员相继离开,⽽DoD也在1993年最终结束了这⼀研究项⽬。
伴随最近⼏年GNU和Linux的兴起,很多Linux/Unix的使⽤者,都知道了⼀个名为FreeBSD的操作系统,但⼤部分⼈对BSD的了解却愈来愈少,甚⾄把它同FreeBSD等混为⼀谈。其实,FreeBSD只是CSRG在1992年终⽌开发之前发⾏的最后⼀个BSD版本——4.4BSD的⼀个著名分⽀。BSD的著名后继
有OpenBSD、NetBSD、FreeBSD和BSDI等,这些BSD版本⽀持包括StrongARM、M68k、MIPS、x86、Alpha、SPARC、VAX、PA-RISC、PowerPC,直⾄嵌⼊式系统在内的⼏乎所有⽬前使⽤的体系结构。⽽众多商业版本的UNIX变体以及免费的Linux发布版本,都⽆⼀例外地吸收了BSD中丰富的新思想和新技术。
学院⽓息浓厚的BSD为UNIX乃⾄Internet起到了巨⼤的⽀持和推动作⽤。从1977年的1BSD开始,到1992年的
4.4BSD,历史上的每⼀个BSD版本都引⼊了重⼤的创新。让我们看看BSD的辉煌历史吧。
1978年:2.xBSD⾸次引⼊了csh;
1978年:3BSD,引⼊虚拟存储(virtual memory)的概念;
1980年:4BSD,引⼊termcap、curses、vi;
1981年:4.1BSD,引⼊作业控制(job control)、vfork()、⾃动内核配置;
1983年:4.2BSD,率先实现TCP/IP协议栈、提供⽹络编程接⼝socket,引⼊UFS⽂件系统,⽀持长⽂件名和符号链接,改进了System V差强⼈意的信号处理机制(signal handling),引⼊进程间通信机制(Inter-
process communication,IPC);
1986-1988年:4.3BSD,引⼊⽂件系统Fat FFS,重新编写了TCP算法;
1989年:4.3BSD,实现⼤部分P1003.1标准,实现了⽹络⽂件系统(NFS)、内存⽂件系统
(memory file system ,MFS)、Kerberos。
1992年6⽉:4.4BSD,引⼊虚拟存储系统(virtual memory system,VMS)、虚拟⽂件接⼝
(virtual filesystem interface)、在UDP或者TCP上的NFS系统以及其他多种改进。
BSD最杰出的贡献就是其发布了世界上第⼀个TCP/IP协议栈的实现,如今在各种操作系统上从事⽹络编程的⼈员所熟悉的socket接⼝,都来⾃于BSD。⽬前FreeBSD的⽤户⼤多是⽹络服务提供商ISP和⽹络内容提供商ICP。著名的yahoo就是由多台运⾏FreeBSD的PC组成的机。⽽Internet上最繁忙的ftp服务器ftp.cdrom(⽬前为
ftp.freesoftware),单台服务器⽀持的每天传输量都在700GB以上,也是由FreeBSD构成的。具有讽刺意味的是,属于微软的hotmail,其⼤部分的服务器原本也是运⾏FreeBSD的,微软收购hotmail后曾多次想将它们迁移到NT平台上,但均告失败。这正好折射出BSD在⽹络应⽤上功能的强⼤。
BSD的各个后继版本稳定性好、安全性⾼、⽹络功能强的突出特⾊使之更成为计算机⽹络、安全⽅⾯应⽤的⾸选平台。⽽包括Linux在内的所有UNIX系统变体,也都或多或少地吸收和融⼊了BSD思想和技术。因此,掌握BSD内核的精髓、了解其作为操作系统具备的独到之处,以及被其他OS⼴泛借鉴、移植的各种设计原理和思路,都极具研究和实⽤价值。
linux内核设计与实现 pdf《The Design and Implementation of 4.4BSD Operating System》由于作者是4.3/4.4BSD开发过程中的重要组织者和开发⼈员,所以对BSD的理解和介绍极为深⼊全⾯,本书也继承了前⼀版本的特⾊,继续成为介绍BSD操作系统的经典。其内容丰富,覆盖了BSD内核的核⼼设计思想和技术亮点。这包括:系统调⽤、存储管理、进程管理、⽂件系统、I/O、进程通信、⽹络通信等操作系统涉及到的所有⽅⾯。书中还介绍了4.4BSD的内部结构和实现
4.4BSD系统功能中所采⽤到的概念、数据结构和算法。同时也指出了BSD与AT&T UNIX的不同之处,并对其设计思想和背景作了精准的阐述。该书对于采⽤UNIX,特别是BSD中的新技术、新特点来进⾏的研究、开发⼯作极具参考价值。
此外,本书的每⼀章都提供了若⼲参考⽂献,给读者指出了各章相关内容的更多资料,⽽且还附带了习题,这种教
此外,本书的每⼀章都提供了若⼲参考⽂献,给读者指出了各章相关内容的更多资料,⽽且还附带了
习题,这种教科书式的体例更适合读者学习巩固。
我们完全可以相信,《The Design and Implementation of 4.4BSD Operating System》会让UNIX内核研发⼈员、UNIX应⽤研发⼈员、UNIX系统管理员以及UNIX的众多爱好者们受益匪浅。
需要指出的是,在阅读本书以前应该具备操作系统的基础知识,⽐如学过操作系统课程,否则难度较⼤。另外,如果能够和《The Design and Implementation of UNIX Operating System》(介绍AT&T UNIX的经典)、《Advanced Programming UNIX Environment》(引⽤了BSD例⼦的UNIX编程经典)、
《UNIX Network Programming》(UNIX BSD socket编程经典)配合⽐照起来⼀起阅读本书,并在阅读同时动⼿进⾏⼀些编程和验证⼯作,则效果更好。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。