> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/4.3-bsd-unix-cao-zuo-xi-tong-she-ji-yu-shi-xian/di-yi-bu-fen-gai-lan/1.2.-bsd-yu-qi-ta-xi-tong.md).

# 1.2 BSD 与其他系统

计算机系统研究组（CSRG）吸收的特性不仅来自各个 UNIX 系统，也来自其他操作系统。4BSD 终端驱动的许多特性取自 TENEX/TOPS-20。作业控制（就概念而言，不就实现而言）源自 TOPS-20 和麻省理工学院的不兼容分时系统（ITS）。最初为 4.2BSD 提出后来由多家商业厂商实现的虚拟存储接口，基于最早出现在 TENEX/TOPS-20 中的文件映射与页级接口。在设计新设施时，Multics 常被当作参照点。

对效率的追求是 CSRG 大量工作的主要动因。一些效率改进来自与 VAX 专有操作系统 VMS 的对比 \[Kashtan, 1980]。

其他 UNIX 变种采纳了若干 4BSD 特性。AT\&T UNIX System V \[AT\&T, 1987] 与 IEEE 1003.1 POSIX 标准 \[P1003.1, 1988] 都采纳了这些文件系统系统调用（见第 6 章）：

* `rename`，用于重命名文件和目录
* `mkdir` 和 `rmdir`，用于创建和删除目录

两者还都采纳了目录访问例程。

此外，POSIX 与相关的美国国家标准局（NBS）联邦信息处理标准（FIPS）还采纳了：

* 可靠信号（第 4 章）
* 作业控制（第 2 章）
* 多重文件访问权限组（第 6 章）

X/OPEN 集团最初纯粹是欧洲厂商的组织，如今也吸纳了几家美国公司。它发布了《X/OPEN 可移植性指南》\[X/OPEN, 1987]，这份文件既规定内核接口，也规定 UNIX 系统用户可用的许多实用程序。X/OPEN 采纳了许多 POSIX 设施，其他类似的标准和指南料将跟进。IEEE 1003.1 标准同时也是 ISO 国际标准草案，名为 SC22 WG15。因此，POSIX 设施多半会被世界各地的大多数类 UNIX 系统接受。

4BSD 的 `socket` 进程间通信机制（见第 10 章）以可移植性为设计目标，并且随即被移植到了 AT\&T System III，尽管从未随该系统发行。4BSD 的 TCP/IP 网络协议套件实现（见第 12 章）被广泛用作进一步实现的基础，覆盖范围从运行 System V 的 AT\&T 3B 机器到 VMS 再到 IBM PC。

CSRG 还继续与以 4.2BSD 和 4.3BSD 为基础的系统厂商密切合作。这种同步开发既让 4.3BSD 更易于进一步移植，也让系统的开发得以持续。

**用户社区的影响**

伯克利 UNIX 的许多开发工作是对用户社区的回应。想法和期望不仅来自最主要的直接资助方 DARPA，也来自世界各地使用该系统的公司与大学中的许多用户。

伯克利的研究者接受的不仅是用户社区的想法，还有实际的软件。4BSD 收到的贡献来自澳大利亚、加拿大、欧洲和美国的众多大学及其他机构，其中包括一些重要特性，例如自动配置和磁盘配额。少数想法取自 System V，例如 `fcntl` 系统调用；不过出于许可与价格上的考虑，4BSD 未使用任何来自 System III 或 System V 的实际代码。除了正式发行版所含的贡献之外，CSRG 还发行一组用户贡献的软件。

社区开发设施的一个例子，是随 4.3BSD Tahoe 发行版采纳的公有领域时区处理包。它由一个国际小组设计和实现，成员包括 Arthur Olson、Robert Elz 和 Guy Harris，起因部分来自 USENET 新闻组 `comp.std.unix` 上的讨论。这个包把时区换算规则从 C 库中整个拿出来，放进一些文件里；修改时区规则无需改动系统代码。对只有二进制码的 UNIX 发行版来说，这一改动尤其有用。这种方法还允许各个进程自行选择规则，而不是全系统共用一套规则。发行版带有一个大型的规则数据库，覆盖从中国到澳大利亚再到欧洲的世界许多地区。这样一来，UNIX 系统的发行得以简化：只要带上整个数据库，就不必为不同的目的地安装不同的软件。

伯克利通过一个著名的电子邮件地址 **<4bsd-bugs@berkeley.edu>** 接收有关错误及其修复的邮件；UNIX 软件商 MT XINU 分发一份据此汇编的错误清单。其中许多修复会被纳入将来的发行版。在 DARPA Internet 邮件列表 UNIX-WIZARDS 上（它以新闻组 `comp.unix.wizards` 的面目出现在 USENET 网络上），人们持续讨论 UNIX 的方方面面（包括 4.3BSD）；Internet 和 USENET 都是国际性的。还有一个专门讨论 4BSD 错误的 USENET 新闻组 `comp.bugs.4bsd`。由于来稿太多、筛检困难，伯克利直接从这些列表和新闻组采纳的想法寥寥。但现在有一个专门发布经 CSRG 认可的错误修复的仲裁新闻组，名为 `comp.bugs.4bsd.bug-fixes`；这些新闻组中的讨论有时催生新的设施，随后被伯克利接受。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://book.bsdcn.org/4.3-bsd-unix-cao-zuo-xi-tong-she-ji-yu-shi-xian/di-yi-bu-fen-gai-lan/1.2.-bsd-yu-qi-ta-xi-tong.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
