4.4BSD操作系统设计与实现
基本信息
- 原书名: The Design and Implementation of the 4.4 BSD Operating System
- 原出版社: Addison-Wesley Professional
- 作者: Marshall Kirk McKusick Keith Bostic Michael J.arels John S. Quarterman
- 译者: 李善平 刘文峰 马天驰
- 丛书名: 华章专业开发者丛书
- 出版社:机械工业出版社
- ISBN:9787111366478
- 上架时间:2011-12-31
- 出版日期:2012 年1月
- 开本:16开
- 页码:399
- 版次:1-1
- 所属分类:
计算机 > 操作系统 > 综合
编辑推荐
《4.4BSD操作系统设计与实现》揭示最新版BSD内部结构最全面、新颖和权威的技术信息
《4.4BSD操作系统设计与实现》为可移植的现代操作系统的参考书
内容简介回到顶部↑
书籍
计算机书籍
《4.4BSD操作系统设计与实现》描述了4.4BSD的内部结构、概念、数据结构以及在实现4.4BSD系统功能时采用的算法,侧重于UNIX系统伯克利版本的功能、数据结构和采用的算法。《4.4BSD操作系统设计与实现》从4.4BSD的系统调用层往下讲述,从接口到内核再到硬件。内核包含系统功能,如进程管理、虚拟内存、系统I/O、文件系统、套接字IPC机制和实现网络协议。除此之外,《4.4BSD操作系统设计与实现》还详细地介绍了进程和内存管理的变化,描述了新的文件系统接口,更新了网络和进程间通信的相关信息。《4.4BSD操作系统设计与实现》适合操作系统实现者、系统程序员、UNIX应用程序开发人员、系统管理员和对操作系统感兴趣的读者阅读。
计算机书籍
《4.4BSD操作系统设计与实现》描述了4.4BSD的内部结构、概念、数据结构以及在实现4.4BSD系统功能时采用的算法,侧重于UNIX系统伯克利版本的功能、数据结构和采用的算法。《4.4BSD操作系统设计与实现》从4.4BSD的系统调用层往下讲述,从接口到内核再到硬件。内核包含系统功能,如进程管理、虚拟内存、系统I/O、文件系统、套接字IPC机制和实现网络协议。除此之外,《4.4BSD操作系统设计与实现》还详细地介绍了进程和内存管理的变化,描述了新的文件系统接口,更新了网络和进程间通信的相关信息。《4.4BSD操作系统设计与实现》适合操作系统实现者、系统程序员、UNIX应用程序开发人员、系统管理员和对操作系统感兴趣的读者阅读。
目录回到顶部↑
《4.4bsd操作系统设计与实现》
译者序
前 言
第一部分 综述
第1章 bsd系统的历史和目标1
1.1 unix系统的历史1
1.1.1 unix系统的起源1
1.1.2 unix系统的研究与发展3
1.1.3 at&t的unix系统ⅲ和系统ⅴ5
1.1.4 其他组织5
1.1.5 关于bsd系统5
1.1.6 unix世界6
1.2 bsd和其他系统7
1.3 4bsd的设计目标9
1.3.1 4.2bsd设计目标9
1.3.2 4.3bsd设计目标10
1.3.3 4.4bsd设计目标10
1.4 系统的发布11
参考资源13
第2章 4.4bsd设计综述 16
译者序
前 言
第一部分 综述
第1章 bsd系统的历史和目标1
1.1 unix系统的历史1
1.1.1 unix系统的起源1
1.1.2 unix系统的研究与发展3
1.1.3 at&t的unix系统ⅲ和系统ⅴ5
1.1.4 其他组织5
1.1.5 关于bsd系统5
1.1.6 unix世界6
1.2 bsd和其他系统7
1.3 4bsd的设计目标9
1.3.1 4.2bsd设计目标9
1.3.2 4.3bsd设计目标10
1.3.3 4.4bsd设计目标10
1.4 系统的发布11
参考资源13
第2章 4.4bsd设计综述 16
译者序回到顶部↑
我们是UNIX操作系统爱好者,在浙江大学从事操作系统及其相关领域的研究和开发,对UNIX BSD、Linux等优秀的系统软件“情有独钟”。承担《4.4BSD操作系统设计与实现》的翻译任务,不仅是对我们的考验,而且给我们提供了一次仔细、系统地了解UNIX 4.4BSD的机会。
参与《4.4BSD操作系统设计与实现》翻译和校对工作的有:刘文峰、马天驰、尹奇韡、王伟波、王焕龙、彭刚、金海荣、张玉龙、胡玉杰、谢科先、虞浩泽、单宏伟、倪昕、彭瑞、秦延涛、胡斌、雍国恩、王鹏、张继南等,我负责统稿。虽然经过我们的努力,但稿件仍会存在这样那样的问题,敬请广大读者提出宝贵意见。
李善平
参与《4.4BSD操作系统设计与实现》翻译和校对工作的有:刘文峰、马天驰、尹奇韡、王伟波、王焕龙、彭刚、金海荣、张玉龙、胡玉杰、谢科先、虞浩泽、单宏伟、倪昕、彭瑞、秦延涛、胡斌、雍国恩、王鹏、张继南等,我负责统稿。虽然经过我们的努力,但稿件仍会存在这样那样的问题,敬请广大读者提出宝贵意见。
李善平
前言回到顶部↑
《4.4BSD操作系统设计与实现》是修订版,首次权威和完整地介绍了加利福尼亚大学伯克利分校开发的UNIX系统研究版本的设计和实现。《4.4BSD操作系统设计与实现》主要介绍4.4BSD,4.4BSD融合了前几个版本改进的地方。虽然4.4BSD包含除内核之外的将近500个实用程序,但《4.4BSD操作系统设计与实现》仅集中介绍内核。
UNIX系统
UNIX系统在小到家用计算机系统,大到巨型计算机上都能运行。它可以作为多数多处理器、图形和矢量处理系统的操作系统;是互联网上提供网络服务(从FTP到WWW)的最通用的平台;是所有操作系统中可移植性最好的系统。它的可移植性部分归功于它的实现语言C [Kernighan & Ritchie,1978](使用最广泛的可移植语言之一),部分归功于系统良好的设计。它的许多功能被其他的系统所模仿[O扗ell, 1987]。
自从1969年开发出UNIX系统以来[Ritchie & Thompson, 1978],UNIX系统的开发经过了一系列的分分合合。最初的开发者不断改进,在AT&T贝尔实验室开发出第9版和第10版UNIX,以及他们试图使之作为UNIX继承者的Plan 9。同时,AT&T批准了UNIX系统Ⅴ作为一个商业产品,之后卖给了Novell。Novell把UNIX商标给了X/OPEN,并把源代码和发行权卖给了Santa Cruz Operation公司(SCO)。系统Ⅴ和第9版本的UNIX都明显地受到由加利福尼亚大学伯克利分校计算机系统研究小组(Computer Systems Research Group,CSRG)开发的BSD(Berkeley Software Distribution,伯克利软件版本)的影响。
伯克利软件版本
这些伯克利系统在UNIX社区中引入了一些有用的程序和功能。
2BSD(伯克利PDP-11系统):文本编辑器vi。
3BSD(第一个伯克利VAX系统):支持按需分页虚拟内存。
4.0BSD:性能提高。
4.1BSD:作业控制、自动配置和长C标识符。
4.2BSD和4.3BSD:可靠的信号;快速的文件系统;改进网络性能,包括TCP/IP的一个引用实现;完善的进程间通信(Inter Process Communication,IPC)原语;以及更多的性能提升。
4.4BSD:一个新的虚拟内存系统;一个可堆叠和可扩展的vnode接口;一个网络文件系统(Network FileSystem,NFS);一个日志结构的文件系统,众多的文件类型,包括回环、联合、uid/gid映射层;ISO9660文件系统(例如CD-ROM);ISO网络协议;支持68K、SPARC、MIPS和PC体系结构;支持POSIX,包括termios、会话和大多数的功能;每个接口可有多个IP地址;磁盘标签和启动效率的提高。
4.2BSD、4.3BSD和4.4BSD是许多商业UNIX系统的基础,并被许多其他供应商的开发小组内部使用。在BSD系统上的许多改进也合并到系统Ⅴ中,或者由其产品基于系统Ⅴ的供应商添加进来。
在4.2BSD和4.3BSD中,TCP/IP中网络协议套的实现和那些系统的可用性,解释了为什么TCP/IP的网络协议套在全世界广泛应用。许多供应商都采用了伯克利网络实现,不论它们的基本系统是4.2BSD、4.3BSD、4.4BSD、系统Ⅴ,或是DEC(Digital Equipment Corporation,数字设备公司)的VMS,或是微软在Windows 95和Windows/NT上的Winsock接口。
4BSD对POSIX操作系统接口标准(IEEE Std 1003.1)和相关的标准也产生了很大的影响。4.3BSD的一些特征(如可靠信号、作业控制、每个进程的多个存取组和目录操作的例程)都被POSIX所采用。
《4.4BSD操作系统设计与实现》涉及的内容
《4.4BSD操作系统设计与实现》是关于4.4BSD[Quarterman et al, 1985]的内部结构的,关于概念、数据结构和在实现4.4BSD系统功能时采用的算法。《4.4BSD操作系统设计与实现》的深度和Bach写的关于系统Ⅴ[Bach, 1986]的那《4.4BSD操作系统设计与实现》差不多;然而《4.4BSD操作系统设计与实现》侧重于UNIX操作系统的伯克利版本的功能、数据结构和采用的算法。《4.4BSD操作系统设计与实现》从系统调用层往下—从接口到内核再到硬件概述4.4BSD。内核包括系统功能,例如进程管理、虚拟内存、系统I/O、文件系统、套接字IPC机制和网络协议实现。排除了系统调用层以上的内容—例如库、shell、命令、程序语言和其他用户接口,除了和终端接口及系统启动相关的内容。像Organick写的关于Multics[Organick, 1975]的书,《4.4BSD操作系统设计与实现》深入介绍了一个当代操作系统。
当涉及特殊硬件时,《4.4BSD操作系统设计与实现》参考了Hewlett-Packard HP300(基于Motorola 68000)的体系结构。因为4.4BSD是在HP300上开发的,对HP300的体系结构完全支持,所以它提供了一个方便的参考点。
《4.4BSD操作系统设计与实现》读者对象是:操作系统实现者、系统程序员、UNIX应用程序开发人员、系统管理员和有兴趣的读者。《4.4BSD操作系统设计与实现》可以和系统源代码结合起来读,介于手册[CSRG, 1994]和详细处理的代码之间。但《4.4BSD操作系统设计与实现》既不是UNIX编程手册也不是用户教程(对于教程,见文献[Libes & Ressler, 1988])。熟悉UNIX系统的一些版本(例如,见文献[Kernighan & Pike, 1984])和C程序设计语言(例如,见文献[Kernighan & Ritchie, 1988])对阅读《4.4BSD操作系统设计与实现》会有帮助。、
对学习操作系统课程的作用
UNIX系统
UNIX系统在小到家用计算机系统,大到巨型计算机上都能运行。它可以作为多数多处理器、图形和矢量处理系统的操作系统;是互联网上提供网络服务(从FTP到WWW)的最通用的平台;是所有操作系统中可移植性最好的系统。它的可移植性部分归功于它的实现语言C [Kernighan & Ritchie,1978](使用最广泛的可移植语言之一),部分归功于系统良好的设计。它的许多功能被其他的系统所模仿[O扗ell, 1987]。
自从1969年开发出UNIX系统以来[Ritchie & Thompson, 1978],UNIX系统的开发经过了一系列的分分合合。最初的开发者不断改进,在AT&T贝尔实验室开发出第9版和第10版UNIX,以及他们试图使之作为UNIX继承者的Plan 9。同时,AT&T批准了UNIX系统Ⅴ作为一个商业产品,之后卖给了Novell。Novell把UNIX商标给了X/OPEN,并把源代码和发行权卖给了Santa Cruz Operation公司(SCO)。系统Ⅴ和第9版本的UNIX都明显地受到由加利福尼亚大学伯克利分校计算机系统研究小组(Computer Systems Research Group,CSRG)开发的BSD(Berkeley Software Distribution,伯克利软件版本)的影响。
伯克利软件版本
这些伯克利系统在UNIX社区中引入了一些有用的程序和功能。
2BSD(伯克利PDP-11系统):文本编辑器vi。
3BSD(第一个伯克利VAX系统):支持按需分页虚拟内存。
4.0BSD:性能提高。
4.1BSD:作业控制、自动配置和长C标识符。
4.2BSD和4.3BSD:可靠的信号;快速的文件系统;改进网络性能,包括TCP/IP的一个引用实现;完善的进程间通信(Inter Process Communication,IPC)原语;以及更多的性能提升。
4.4BSD:一个新的虚拟内存系统;一个可堆叠和可扩展的vnode接口;一个网络文件系统(Network FileSystem,NFS);一个日志结构的文件系统,众多的文件类型,包括回环、联合、uid/gid映射层;ISO9660文件系统(例如CD-ROM);ISO网络协议;支持68K、SPARC、MIPS和PC体系结构;支持POSIX,包括termios、会话和大多数的功能;每个接口可有多个IP地址;磁盘标签和启动效率的提高。
4.2BSD、4.3BSD和4.4BSD是许多商业UNIX系统的基础,并被许多其他供应商的开发小组内部使用。在BSD系统上的许多改进也合并到系统Ⅴ中,或者由其产品基于系统Ⅴ的供应商添加进来。
在4.2BSD和4.3BSD中,TCP/IP中网络协议套的实现和那些系统的可用性,解释了为什么TCP/IP的网络协议套在全世界广泛应用。许多供应商都采用了伯克利网络实现,不论它们的基本系统是4.2BSD、4.3BSD、4.4BSD、系统Ⅴ,或是DEC(Digital Equipment Corporation,数字设备公司)的VMS,或是微软在Windows 95和Windows/NT上的Winsock接口。
4BSD对POSIX操作系统接口标准(IEEE Std 1003.1)和相关的标准也产生了很大的影响。4.3BSD的一些特征(如可靠信号、作业控制、每个进程的多个存取组和目录操作的例程)都被POSIX所采用。
《4.4BSD操作系统设计与实现》涉及的内容
《4.4BSD操作系统设计与实现》是关于4.4BSD[Quarterman et al, 1985]的内部结构的,关于概念、数据结构和在实现4.4BSD系统功能时采用的算法。《4.4BSD操作系统设计与实现》的深度和Bach写的关于系统Ⅴ[Bach, 1986]的那《4.4BSD操作系统设计与实现》差不多;然而《4.4BSD操作系统设计与实现》侧重于UNIX操作系统的伯克利版本的功能、数据结构和采用的算法。《4.4BSD操作系统设计与实现》从系统调用层往下—从接口到内核再到硬件概述4.4BSD。内核包括系统功能,例如进程管理、虚拟内存、系统I/O、文件系统、套接字IPC机制和网络协议实现。排除了系统调用层以上的内容—例如库、shell、命令、程序语言和其他用户接口,除了和终端接口及系统启动相关的内容。像Organick写的关于Multics[Organick, 1975]的书,《4.4BSD操作系统设计与实现》深入介绍了一个当代操作系统。
当涉及特殊硬件时,《4.4BSD操作系统设计与实现》参考了Hewlett-Packard HP300(基于Motorola 68000)的体系结构。因为4.4BSD是在HP300上开发的,对HP300的体系结构完全支持,所以它提供了一个方便的参考点。
《4.4BSD操作系统设计与实现》读者对象是:操作系统实现者、系统程序员、UNIX应用程序开发人员、系统管理员和有兴趣的读者。《4.4BSD操作系统设计与实现》可以和系统源代码结合起来读,介于手册[CSRG, 1994]和详细处理的代码之间。但《4.4BSD操作系统设计与实现》既不是UNIX编程手册也不是用户教程(对于教程,见文献[Libes & Ressler, 1988])。熟悉UNIX系统的一些版本(例如,见文献[Kernighan & Pike, 1984])和C程序设计语言(例如,见文献[Kernighan & Ritchie, 1988])对阅读《4.4BSD操作系统设计与实现》会有帮助。、
对学习操作系统课程的作用
【插图】







点击看大图


加载中...

