免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1095 | 回复: 0
打印 上一主题 下一主题

第一部分:概观 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-06-25 17:00 |只看该作者 |倒序浏览

  Part I: Overview
Chapter 1.  History and Goals
Chapter 2.  Design Overview of FreeBSD
Chapter 3.  Kernel Services
第一部分:概观
第一章:历史与目标
第二章:FreeBSD的设计概观
第三章:核心服务
第一章:历史与目标
第一节:Unix系统的历史
The UNIX system has been in wide use for over 30 years and has helped to define many areas of computing. Although numerous individuals and organizations have contributed (and still contribute) to the development of the UNIX system, this book primarily concentrates on the BSD thread of development.
Unix系统已经被广泛地使用了30多年,并被用来界定计算的多个领域。虽然有数量庞大的个人和组织曾经(并且仍然正在)为Unix系统的发展做出贡献,但是这本书主要专注于Unix系统发展的BSD分支。
·         Bell Laboratories, which invented UNIX
·         The Computer Systems Research Group (CSRG) at the University of California at Berkeley, which gave UNIX virtual memory and the reference implementation of TCP/IP
·         The FreeBSD project, the NetBSD project, and the OpenBSD project, which continue the work started by the CSRG
·         The Darwin operating system at the core of Apple's OS X. Darwin is based on FreeBSD.
l         贝尔实验室,发明了Unix
l         位于加州大学伯克利分校的计算机系统研究组(CSRG),给出了Unix虚拟存储的技术和TCP/IP的参考实现
l         FreeBSD计划,NetBSD计划和OpenBSD计划,延续了CSRG的工作。
l         位于苹果的X操作系统核心的Darwin操作系统。Darwin基于FreeBSD。
Origins起源
The first version of the UNIX system was developed at Bell Laboratories in 1969 by Ken Thompson as a private research project to use an otherwise idle PDP-7. Thompson was joined shortly thereafter by Dennis Ritchie, who not only contributed to the design and implementation of the system, but also invented the C programming language. The system was completely rewritten into C, leaving almost no assembly language. The original elegant design of the system [
Ritchie, 1978
] and developments of the first 15 years [
Ritchie, 1984a
;
Compton, 1985
] have made the UNIX system an important and powerful operating system [
Ritchie, 1987
].
1969年,第一个Unix系统版本在贝尔实验室被Ken Thompson作为一个私人研究计划开发,为的是使用一台在其他状况下总是闲置的PDP-7。此后很快地,Dennis Ritchie加入了Thompson的行列,他不仅为为系统的设计和实现做出了贡献,而且发明了C语言。系统被用C完全重写了,几乎没有用到汇编语言。系统在初期极好的设计和开头15年的发展使得Unix系统称为了一个重要而且强大的操作系统。
Ritchie, Thompson, and other early UNIX developers at Bell Laboratories had worked previously on the Multics project [
Peirce, 1985
;
Organick, 1975
], which had a strong influence on the newer operating system. Even the name UNIX is merely a pun on Multics; in areas where Multics attempted to do many tasks, UNIX tried to do only one task but do it well. The basic organization of the UNIX filesystem, the idea of using a user process for the command interpreter, the general organization of the filesystem interface, and many other system characteristics come directly from Multics.
Ritchie, Thompson和其他早期的Unix开发者以前都在贝尔实验室为Multics计划工作过,该计划对这个新的操作系统产生了强烈的影响。连Unix这个名字也只是Multics的双关语,它指的是在一些范围内Multics试图做许多任务,而Unix则力图只做一个任务,同时把这项任务做好。Unix文件系统的基本组织,为命令解释器使用一个用户进程的理念,文件系统接口的总体结构以及许多其他的系统特性直接来自于Multics。
Ideas from various other operating systems, such as the Massachusetts Institute of Technology's (MIT's) CTSS, also have been incorporated. The fork operation to create new processes comes from Berkeley's GENIE (SDS-940, later XDS-940) operating system. Allowing a user to create processes inexpensively led to using one process per command rather than commands being run as procedure calls, as is done in Multics.
来自许多其他操作系统(比如麻省理工的CTSS)的理念,也被合并入了Unix系统中。创建新进程的分支操作来自于伯克利的GENIE操作系统。允许一个用户廉价地创建进程,这使得与其将命令作为进程调用来运行不如每个命令使用一个进程,这项工作是由Multics完成的。
Research UNIX研究Unix
The first major editions of UNIX were the Research systems from Bell Laboratories. In addition to the earliest versions of the system, these systems include the UNIX Time-Sharing System, Sixth Edition, commonly known as V6, which in 1976 was the first version widely available outside of Bell Laboratories. Systems are identified by the edition numbers of the UNIX Programmer's Manual that were current when the distributions were made.
最早的主流Unix版本是来自于贝尔实验室的研究系统。加上系统最早期的的一些版本,这些系统包括了Unix的分时系统,第六版,通常被称为V6。在1976年,V6是第一个在贝尔实验室以外可以到处都可获得的德第一个Unix版本。所有的Unix系统由Unix程序员手册的版本号进行标识,当制造好系统的这些发行版之时,这些手册就已经可用了。
The UNIX system was distinguished from other operating systems in three important ways.
1.    It was written in a high-level language.
2.    It was distributed in source form.
3.    It provided powerful primitives normally found in only those operating systems that ran on much more expensive hardware.
Unix在以下三个重要方面有别于其他操作系统:
1.  Unix由高级语言写成
2.  Unix以源码形式发布
3.  Unix提供了许多强大的原始特性,这些特性通常只能在那些运行在更多更贵的硬件上的操作系统中才能看见。
Most of the system source code was written in C rather than in assembly language. The prevailing belief at the time was that an operating system had to be written in assembly language to provide reasonable efficiency and to get access to the hardware. The C language itself was at a sufficiently high level to allow it to be compiled easily for a wide range of computer hardware, without its being so complex or restrictive that systems programmers had to revert to assembly language to get reasonable efficiency or functionality. Access to the hardware was provided through assembly-language stubs for the 3 percent of the operating-system functions—such as context switching—that needed them. Although the success of UNIX does not stem solely from its being written in a high-level language, the use of C was a critical first step [
Kernighan & Ritchie, 1978
;
Kernighan & Ritchie, 1989
;
Ritchie et al., 1978
]. Ritchie's C language is descended [
Rosler, 1984
] from Thompson's B language, which was itself descended from BCPL [
Richards & Whitby-Strevens, 1980
]. C continues to evolve [
Tuthill, 1985
;
ISO, 1999
].
大多数系统的源码是由C写成的而不是汇编。在那个时候,主要的观点是一个操作系统必须由汇编语言编写,以提供合理的效率和对硬件的访问。C语言本身处于一个足够高的级别,这使得它可以被一个很大范围内的计算机硬件所编译,同时C并不会因为过于复杂或是有诸多限制而使得系统程序员不得不回复到使用汇编语言来获得合理的效率或功能。对硬件的访问由短小的汇编语言片段提供,这是为了实现操作系统3%的功能,比如上下文的交换需要对硬件的访问。尽管Unix的成功并非单独源于它是由高级语言写成的,但是对于C的使用却是关键性的第一步。Ritchie的C语言同源于Thompson的B语言,而B自身与BCPL同源。C还在继续发展。
The second important distinction of UNIX was its early release from Bell Laboratories to other research environments in source form. By providing source, the system's founders ensured that other organizations would be able not only to use the system, but also to tinker with its inner workings. The ease with which new ideas could be adopted into the system always has been key to the changes that have been made to it. Whenever a new system that tried to upstage UNIX came along, somebody would dissect the newcomer and clone its central ideas into UNIX. The unique ability to use a small, comprehensible system, written in a high-level language, in an environment swimming in new ideas led to a UNIX system that evolved far beyond its humble beginnings. Though recipients of the source code had to be licensed, campuswide licenses were cheaply available to universities. Thus, many people became versed in the way that UNIX worked, setting the stage for the open-source world that would follow.
Unix的第二个重要的差别是它的早期版本是以源码的形式从贝尔实验室流向其他的研究环境的。通过提供源码,系统的创始人确信其他的组织将不仅能够使用这一系统,而且能够对它的内在工作进行胡乱地修补。对那些系统已经作出的修改而言,能够使新的想法不费事地被系统所采用是很重要的。无论什么时候出现一个新的系统想要抢过Unix的风头,总会有人将其剖析,并将它的中心思想克隆到Unix中。在一个游动于众多新思想的环境中,那种能够使用一个小的、易于理解的、由高级语言写成的系统的独特能力使得Unix系统进化,并远远超过了它粗陋的初期。虽然源码的接受者必须经过许可,但是对于大学来说,校园范围内的许可是可以廉价获得的。因此,许多人变得精通于Unix工作的方式,而这种方式也设定了开源世界将会遵循的步骤。
The third important distinction of UNIX was that it provided individual users with the ability to run multiple processes concurrently and to connect these processes into pipelines of commands. At the time, only operating systems running on large and expensive machines had the ability to run multiple processes, and the number of concurrent processes usually was controlled tightly by a system administrator.
Unix的第三个重要的差别是它提供给个人用户并行地运行多个进程的能力,并且可以将这些进程连接到命令管道中。在那个时候,只有运行在巨大的而且昂贵的机器上的操作系统才有运行多个进程的能力,并且并发进程的数量通常由一个系统管理员紧紧地控制着。
Most early UNIX systems ran on the PDP-11, which was inexpensive and powerful for its time. Nonetheless, there was at least one early port of Sixth Edition UNIX to a machine with a different architecture: the Interdata 7/32 [Miller, 1978]. The PDP-11 also had an inconveniently small address space. The introduction of machines with 32-bit address spaces, especially the VAX-11/780, provided an opportunity for UNIX to expand its services to include virtual memory and networking. Earlier experiments by the Research group in providing UNIX-like facilities on different hardware had led to the conclusion that it was as easy to move the entire operating system as it was to duplicate UNIX's services under another operating system. The first UNIX system with portability as a specific goal was UNIX Time-Sharing System, Seventh Edition (V7), which ran on the PDP-11 and the Interdata 8/32 and had a VAX variety called UNIX/32V Time-Sharing, System Version 1.0 (32V). The Research group at Bell Laboratories has also developed UNIX Time-Sharing System, Eighth Edition (V8); UNIX Time-Sharing System, Ninth Edition (V9); and UNIX Time-Sharing System, Tenth Edition (V10). Their 1996 system is Plan 9.
早期的Unix系统运行在PDP-11上,在它那个时代而言,PDP-11并不算贵而且强大。尽管如此,第6版的Unix也为不同体系结构的机器至少留有一个早期的端口:Interdata 7/32。PDP-11还有一个比较麻烦的地址空间。具有32位地址空间的机器的引入,特别是VAX-11/780,为Unix提供了将其服务扩展到包括虚拟存储和网络的大好机会。由研究小组进行得在不同的硬件上提供与Unix类似功能的早期试验已经得出的结论是,在另一个操作系统下,可以很容易地像它原来那样移动整个操作系统去复制Unix的服务。第一个将可移植性作为一个特定目标的Unix系统是Unix分时系统,第7版(V7),它可以运行在PDP-11和Interdata 8/32上,并且有一个被称之为Unix/32V分时系统1.0(32V)的VAX的变种。在贝尔实验室的研究小组同样也开发出了Unix分时系统,第8版(V8),Unix分时系统,第9版(V9)和Unix分时系统,第10版(V10)。他们的1996系统是计划9(Plan 9)。
AT&T UNIX System III and System V AT&T的Unix系统3和系统5
After the distribution of Seventh Edition in 1978, the Research group turned over external distributions to the UNIX Support Group (USG). USG had previously distributed internally such systems as the UNIX Programmer's Work Bench (PWB), and had sometimes distributed them externally as well [Mohr, 1985].
在1978年发行了第7版系统之后,研究小组将外部分发的工作交给了Unix支持组(USG)。USG之前曾经在内部发行过诸如“Unix程序员工作分支”这样的系统,而且有时候也会对外发行。
USG's first external distribution after Seventh Edition was UNIX System III (System III) in 1982, which incorporated features of Seventh Edition, of 32V, and also of several UNIX systems developed by groups other than the Research group. Features of UNIX/RT (a real-time UNIX system) were included, as were many features from PWB. USG released UNIX System V (System V) in 1983; that system is largely derived from System III. The court-ordered divestiture of the Bell Operating Companies from AT&T permitted AT&T to market System V aggressively [
Bach, 1
[/url]
[url=mk:@MSITStore:D:\emule\Incoming\%5bAddison%20Wesley%5d%20The%20Design%20And%20Implementation%20Of%20The%20FreeBSD%20Operating%20System%20(Version%205.2).chm::/ch01lev1sec5.htm#ch01biblio01entry03]986

;
Wilson, 1985
].
在第7版之后,USG的第一个外部发行是在1982的Unix系统3,它不但合并了第7版32V的特性,而且还有其他非研究小组研发的Unix系统的特性。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/21106/showart_132457.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP