跳至內容

Version 7 Unix

維基百科,自由的百科全書
Version 7 Unix
SIMH PDP-11 模擬器中運行的 PDP-11 版 Unix Version 7
開發者貝爾實驗室
程式語言C,assembly
作業系統家族Unix
運作狀態停止開發
源碼模式開放程式碼
支援平台DEC PDP-11, VAX (32v), x86
內核類別整塊性核心
默認用戶界面CLI (Bourne shell)
許可證
  • 4句版BSD許可證
編輯維基數據鏈接

UNIX第七版(英語:Version 7 Unix),又稱Version 7,V7,在1979年推出,是貝爾實驗室釋出的最後一個可自由散布的Unix操作系統版本,AT&T後續開始研發商業Unix版本,取代這個版本。它在迪吉多公司的PDP-11上運行,是第一個具備可移植性的作業系統。迪吉多公司曾經推出他們自己的版本,稱為V7M。

作為自由軟件發布

[編輯]
PDP-11 在模擬器中啟動 Unix Version 7 的截圖

2002年,Caldera International 將 V7 以自由及開放原始碼軟件的形式發布,並採用一種寬鬆的、類似 BSD許可證 的軟件許可證。[1][2][3][4]

如今仍可下載 V7 的可啟動鏡像文件,並可通過 SIMH 等 PDP-11 模擬器在現代計算機上運行。

Nordier & Associates 還開發了一個適用於 x86 架構的移植版本。[5]

Paul Allen 曾維護[何時?]多套可供公眾訪問的歷史計算機系統,其中包括一台運行 Unix Version 7 的 PDP-11/70。

Version 7的新功能

[編輯]

Version 7 引入了許多新特性。

  • 編程工具:lex、lint 和 make。
    Portable C Compiler(pcc)與此前由 里奇 編寫、專用於 PDP-11 的 C 編譯器一同提供。
    這些工具最早在 Research Unix 系列中於 Version 7 出現,不過其中一些工具的早期版本此前已經被 PWB/UNIX 採用。[6]
  • 新的庫函數:新的 stdio 例程、malloc、getenv、popen/system。
  • 通過間接尋址機制,最大文件大小提升至略高於 1 GB。[7]

多路復用文件

[編輯]

一個未能長期保留下來的特性是除管道之外的另一種進程間通信方式:多路復用文件。

進程可以通過 mpx 系統調用創建一種特殊類型的文件;其他進程隨後可以打開該文件以獲得一個「通道」,該通道由一個文件描述符表示,可用於與創建該多路復用文件的進程進行通信。[8]

Mpx 文件被視為實驗性功能,默認內核中並未啟用。[9] 它們在後續版本中被移除,取而代之的是套接字(BSD)或 CB UNIX 提供的 IPC 機制(System V)。[10]

不過,Mpx 文件在 4.1BSD 中仍然存在。[11]

相關條目

[編輯]

外部連結

[編輯]
  1. ^ Caldera releases original unices under BSD license. slashdot.org. 2002 [2026-06-19]. (原始內容存檔於2008-10-12). 
  2. ^ UNIX is free!. lemis.com. 2002-01-24 [2026-06-19]. (原始內容存檔於2022-03-05). 
  3. ^ Broderick, Bill. Dear Unix enthusiasts (PDF). Caldera International. 2002年1月23日. (原始內容 (PDF)存檔於2009年2月19日). 
  4. ^ Darwin, Ian F. Why Caldera Released Unix: A Brief History. Linuxdevcenter. O'Reilly Media. 2002-02-03 [2016-01-19]. (原始內容存檔於2016-01-26). 
  5. ^ Robert Nordier - UNIX v7/x86. [2026-06-19]. (原始內容存檔於2026-07-25). 
  6. ^ 6.0 6.1 6.2 McIlroy, M. Douglas. A Research Unix reader: annotated excerpts from the Programmer's Manual, 1971–1986 (PDF) (技術報告). Bell Labs. 1987 [2018-07-22]. CSTR 139. 
  7. ^ Thompson, Ken. UNIX Implementation. Bell System Technical Journal. 1978, 57 (6): 1931–1946. S2CID 19423060. doi:10.1002/j.1538-7305.1978.tb02137.x. 
  8. ^ mpx(2) – Version 7 Unix Programmer's Manual
  9. ^ mkconf(1) – Version 7 Unix Programmer's Manual
  10. ^ Leffler, Samuel J.; Fabry, Robert S.; Joy, William N.; Lapsley, Phil; Miller, Steve; Torek, Chris. An Advanced 4.3 BSD Interprocess Communication Tutorial (技術報告). Computer Systems Research Group, University of California, Berkeley. 1986. 
  11. ^ Ritchie, Dennis M. A Stream Input-Output System. AT&T Bell Laboratories Technical Journal (AT&T). 1984, 63 (8): 1897–1910. CiteSeerX 10.1.1.48.3730 可免費查閱. S2CID 33497669. doi:10.1002/j.1538-7305.1984.tb00071.x.