免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 雨丝风片
打印 上一主题 下一主题

[FreeBSD] 【FreeBSD system programming 】中文翻译计划及所有异义提交处 [复制链接]

论坛徽章:
0
106 [报告]
发表于 2006-02-17 13:46 |只看该作者
原帖由 雨丝风片 于 2006-2-17 09:56 发表

use of use of ...
我倒觉得更像是作者写重了,因为在本文的其它地方已经不止一次发现类似情况了,
所以我们可以更大胆一点,狠心一点!


google 了一下 "use of use of" 还是个常见的用法
感觉没什么特别的,汉语就翻译成"使用"应该不会出错。

论坛徽章:
0
105 [报告]
发表于 2006-02-17 13:05 |只看该作者
原帖由 meilincore 于 2006-2-17 11:18 发表
[font=黑体]序言

译者 meilincore@chinaunix


I.序言

BSD是一个基于原先AT&T UNIX操作系统的一个修改增强版的操 ...


好快!辛苦辛苦!

论坛徽章:
0
104 [报告]
发表于 2006-02-17 11:18 |只看该作者
[font=黑体]序言

译者 meilincore@chinaunix


I.序言

BSD是一个基于原先AT&T UNIX操作系统的一个修改增强版的操作系统家族.BSD自己复杂的历史已经被核心内核开发成员Marshall Kirk McKusick在其"Open Source:Voice from the Open Source Revolution" (O'Reilly,1999)一书中的短文集中叙述过.它是围绕这个最流行的开源工程之一的历史和技术细节上全面的纵览.完整的章节可以在线获取:http://www.oreilly.com/catalog/opensources/book/kirkmck.html

概括来说,BSD操作系统要追述到20世纪70年代末,当时AT&T拥有Unix.虽然Unix是私有的,却可以得到源代码,这鼓舞了用户修改他们自己的系统.其中一个这样的用户就是加洲伯克利大学的计算机系统研究组.他们的Unix版本被称为伯克利系统发行版(berkeley System Distribution BSD).任何拥有Unix源代码授权的人都可以通过象征性的费用得到BSD磁带.BSD受到了美国国防部的大力推动,他们选择BSD作为基础来实现TCP/IP,这后来演变为Internet.TCP/IP的源代码通过1989年的网络发行第一版(Net/1)自由传播

以前,BSD需要一份AT&T Unix系统和源代码授权来编译和运行;但是现在,BSD代码几乎完全替代了所有的Unix OS子系统,演变为一个独立的操作系统.一个几乎完整的,没有AT&T代码的系统被发行为网络发行版2.Net/2,发行于1991年,只差6个文件就是一个完整的系统并且是自由传播的.一个叫386/BSD的发行很快就出现了,它补全了那六个文件.386/BSD的后续开发非常有限;其他几个分支很快出现,包括NetBSD,FreeBSD,都是自由软件,还有商业的BSDI.

1992年,AT&T的Unix系统实验室(USL)起诉BSDI和加洲大学,宣告BSDI和Net/2使用了它的私有代码和知识产权.1994年的判决结果导致一个叫4.4BSD-Lite的Net/2修改发行版.所有基于这个版本的工程都免于被USL起诉,那时候USL属于Novell.结果,NetBSD,FreeBSD和BSDI都以4.4BSD-Lite为基础来开发他们的系统.在1995年又发行一个版本,4.4BSD-Lite release 2,然后CSRG(计算机科学研究组)永久性的关闭了.BSD开发及后期的CSRG后来分化为几个不同的种类.虽然开发模式(一个核心,许多环绕)类似Linux,各种BSD家族分支和各种Linux发行是很不相同的.其中最广为所知的是FreeBSD,OpenBSD,NetBSD和Darwin.他们都在积极的开发中,附加源代码并且所有人都可以自由获取.FreeBSD开发最初集中在X86平台并致力于最佳性能.NetBSD致力于可移植性(几乎运行在现有所有平台上)和优雅.还盯着嵌入式系统.OpenBSD,最近的一个NetBSD分支,通过源代码审查和加密系统集成强调安全性.苹果公司OS X的核心Darwin,基本上是一个BSD系统加一个Mach微内核在上面.始于NeXTStep(译注:苹果老板steven jobs开的一个公司,后来被苹果收购).

FreeBSD是为DEC Alpha,PC-98和x86兼容系统构架设计的一个久经考验的操作系统.针对互连网和内部网络服务进行优化,有很强的网络和安全特性.其他平台如PowerPC和Sparc64的移植工作正在进行.在所有自由BSD当中,FreeBSD部署最为广泛,拥有象Yahoo这样有目共睹的商业用户.软件包也是非常多的-写这本书的时候,7883种程序已经被移植到FreeBSD.而且,如果有Linux的程序,FreeBSD的Linux兼容支持让你可以几乎本地的运行Linux程序.

FreeBSD经常为其技术性的简便而倍受赞扬.比如,他的安装程序被广泛的认为是所有Unix安装程序中最简单的.并且Ports集合是一个结合原始代码和FreeBSD相关补丁来构建和安装附加软件的一个非常优雅的系统.写这本书的时候,大约8000个软件包存在于Ports集合.NetBSD和OpenBSD都采用Ports集合来管理附加软件包.但是都没有完全包含存在的软件.FreeBSD的开发模式是BSD的一个范例.它是高度集中的,并且有一个清晰的层次.有一个拥有超过200多个叫做committer的开发人员的组.这些人员可以在任何时候修改FreeBSD的源代码.这些committer由核心组挑选,一个选出来的commiter组,由他们自己挑选,选举每年都会举行

当FreeBSD集中至力于386平台开发的时候,其余的开始移植BSD到其他平台.值得注意的是Virginia Tech的Macintosh,这些努力很快蔓延到Atari St,Amiga和PC平台.在FreeBSD继续至力于i386平台操作系统的深度优化的时候,NetBSD开始致力于移植到其他平台的开发.写这本书的时候,NetBSD是BSD分支当中支持平台最为广泛的.在奇异的硬件支持上也值得注意,比如短命的Sega Dreamcast游戏终端.NetBSD还拥有Wasabi Systems的商业支援,一个NetBSD开发人员成立的公司,致力于移植NetBSD到新的微处理器和系统.

OpenBSD由NetBSD的SPARC移植领导人Theo de raadt在他与核心组就未来的发展方向产生分歧以后成立.OpenBSD第一版本发行于1996年10月,关注于安全性.因为OpenBSD的基地在加拿大(de Raadt 居住在卡尔加里),不受美国出口法规限制.结果,加密软件被集成到基本系统中.OpenBSD开发人员还创造了OpenSSH,一个流行的SSH加密协议的免费实现.OpenSSH很快替代了商业性的非商业免费使用的SSH软件.当你第一次安装OpenBSD的时候,感觉和FreeBSD没什么可比;许多网络特性默认都被关闭以避免潜在的安全漏洞.

Darwin,不象上面提到的那三个,以苹果公司开源授权方式授权,它强迫你放弃利用这些代码的任何发明的专利权.只有苹果可以用它来构建商业软件.它在提供了大量基于BSD的用户方面是值得注意的,但更多的是它华丽的Aqua GUI,在可用性和自定义方面都领先X Windows好几年,并且是纯粹的图形结构

虽然本书集中在FreeBSD,许多所讨论的概念都适用于其他BSD(如果有例外,将会有提示)作者选择FreeBSD不仅仅因为它技术的优越性,还因为它杰出的文档.在普通的手册之外,FreeBSD Handbook是一个由开发人员和用户编写的详细的,广泛的指引手册

II.为什么选择BSD?

很多开发人员都只集中在他们自己某个特定BSD分支的小圈子里.但是艺者多才,同样,你可以选取一个感兴趣的方面,然后开发工作会以从其他BSD发行的代码移植和测试中得到多层次的复习而结束.比如,拿安全问题来说,错误修正经常都通行于整个BSD家族,甚至是Linux世界,借鉴是很常见的,特别是驱动代码.从技术观点来看.BSD拥有大量久经考验的设计策略而让它成为管理和程序编写一类的尖端系统.在其他很多资源方面也脱颖而出,非常显著的是一本内容广泛的书,Absolute BSD,由Michael Lucas撰写.BSD最为显著的非技术性的事实是它的授权方式:BSD通过一个真正的自由方式授权.因此你可以对代码做任何事情,从新授权并用来赢利,或者取其部分作为大工作的一份子.存在的限制仅仅作限于开发人员领域的责任,比如,前任开发人员没有义务来跟踪错误.同样,BSD代码存在于我们周围,推进了互连网,这非常依赖产生于BSD的TCP/IP网络代码.如果管理员不得不自己发明轮子的话,互连网将不会这么快就普遍进入我们的生活.

III.谁需要这本书

本书有意成为BSD系统编程资料,读者需要熟悉基本的c或c++程序编写.不必拥有系统管理知识,当然,系统管理技巧对于创建一个好的开发环境也是有用的.进一步阅读:

FreeBSD:http://www.freebsd.org/
OpenBSD:http://www.openbsd.org/
NetBSD :http://www.netbsd.org/
FreeBSD的简要历史:http://www.freebsd.org/handbook/history.html
The FreeBSD Handbook:http://www.freebsd.org/handbook

IV.关于作者

作为c,c++和java开发人员及高级系统管理员,Nathan boeger从1.X版本就开始使用FreeBSD.Nathan在许多公司从事过系统管理和开发工作,包括GetRelevant,Redline Networks和Penguin Computing.他目前正准备上研究生,居住在纽约.

Mana Tominaga是一个技术性编辑和作家,从1998年末开始涉及互连网工业.她曾在Fawcette Technical Publication为VBPJ及DevX.com撰写和编辑产品评论.在CMP Media负责网页技术杂志.后来以一个新建筑师的身份为人所知.Mana拥有加洲伯克利大学英语文学学位.居住在加里福利亚的圣何塞市

论坛徽章:
0
103 [报告]
发表于 2006-02-17 09:56 |只看该作者
原帖由 孙轩 于 2006-2-17 09:52 发表


make use of use of threads : make use of + use of threads
pointer functions:指针函数 返回指针值的函数。
我觉得是: 如果你的程序使用了线程运用,或指针函数,可以通过捕捉该信号来帮助调试。


use of use of ...
我倒觉得更像是作者写重了,因为在本文的其它地方已经不止一次发现类似情况了,
所以我们可以更大胆一点,狠心一点!

论坛徽章:
0
102 [报告]
发表于 2006-02-17 09:52 |只看该作者
原帖由 gvim 于 2006-2-14 14:44 发表
第四章 高级进程控制和信号

翻译: gvim@chinaunix/bsd


If your program makes use of use of threads, or pointer functions, try to catch this signal if possible for aid in debugging.”。
4.1 高级进程控制和信号
信号:4 a:一种对象,用于 ...


make use of use of threads : make use of + use of threads
pointer functions:指针函数 返回指针值的函数。
我觉得是: 如果你的程序使用了线程运用,或指针函数,可以通过捕捉该信号来帮助调试。

论坛徽章:
0
101 [报告]
发表于 2006-02-17 09:47 |只看该作者
原帖由 孙轩 于 2006-2-17 09:42 发表


为什么要说类似于用户层进程,本来他们就是内核进程啊?读起来总觉得不顺。


结合上下文,作者此处的意思应该是说这些内核进程并不像用户层进程那样有独立的二进制程序,
比如你的一个a.out,运行它之后就会生成相应的用户进程。所以,从这个意义上说,那些内核
进程并不是“完整”的通常意义上的“用户进程”,只是“类似”而已。

我觉得是这样的,意思说清楚了就行了,这里没有原则性的问题,可以不用纠缠于作者表述的细节,

论坛徽章:
0
100 [报告]
发表于 2006-02-17 09:42 |只看该作者
原帖由 雨丝风片 于 2006-2-17 09:27 发表


前面几句,我觉得意思应该是这样的:

上面列出的所有进程,除了init之外,都是在内核中实现的。也就是说,并不存在对应于这些进程的常规的二进制程序。这些进程仅仅是类似于用户层进程而已,而且由于它们是 ...


为什么要说类似于用户层进程,本来他们就是内核进程啊?读起来总觉得不顺。

论坛徽章:
0
99 [报告]
发表于 2006-02-17 09:29 |只看该作者
原帖由 孙轩 于 2006-2-17 09:13 发表


这么说比较对。
后面文章中有 If 1, the close-on-exec flag is set, and the file descriptor will be closed on a successful call to one of the exec functions.
建议全部改成close-on-exec


嗯,这是一个特定的标志名称,不译为好,

论坛徽章:
0
98 [报告]
发表于 2006-02-17 09:27 |只看该作者
原帖由 孙轩 于 2006-2-17 09:16 发表
第三章中有一段
All the processes listed above, with the exception of init, are all implemented within the kernel. That means there is no regular binary program for these processes. Thes ...


前面几句,我觉得意思应该是这样的:

上面列出的所有进程,除了init之外,都是在内核中实现的。也就是说,并不存在对应于这些进程的常规的二进制程序。这些进程仅仅是类似于用户层进程而已,而且由于它们是在内核中实现的,所以它们都将运行在内核的特权模式中。

论坛徽章:
0
97 [报告]
发表于 2006-02-17 09:16 |只看该作者
第三章中有一段
All the processes listed above, with the exception of init, are all implemented within the kernel. That means there is no regular binary program for these processes. These processes only resemble userland processes and because they are implemented within the kernel, they operate within the kernel's privileged mode. Such architecture results from various design considerations. For example, the pagedaemon process, which prevents thrashing, is only awakened when the system is low on memory. So if the system has lots of free memory then it never needs to be awakened. Thus, the advantage for running the pagedaemon in userland is that it can avoid using the CPU unless its really necessary. However it does add another process to the system and thus will need to be scheduled. But the scheduler calculations are very small and thus almost insignificant.

红字的如何说?
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP