iOS之UNIX(iOS追根溯源)

UNIX操作系統(尤尼斯),是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T貝爾實驗室開發。目前它的商標權由國際開放標準組織所擁有,只有符合單一UNIX規範的UNIX系統才能使用UNIX這個名稱,否則只能稱爲類UNIX(UNIX-like)。

誕生

1965年時,貝爾實驗室(Bell Labs)加入一項由通用電氣(General Electric)和麻省理工學院(MIT)合作
圖1-1 PDP-7計算機圖1-1 PDP-7計算機
的計劃;該計劃要建立一套多使用者、多任務、多層次(multi-user、multi-processor、multi-level)的MULTICS操作系統。直到1969年,因MULTICS計劃的工作進度太慢,該計劃被停了下來。當時,Ken Thompson(後被稱爲UNIX之父)已經有一個稱爲"星際旅行"的程序在GE-635的機器上跑,但是反應非常慢,正巧被他發現了一部被閒置的PDP-7(Digital的主機),Ken Thompson和Dernis Ritchie就將"星際旅行"的程序移植到PDP-7上。而這部PDP-7(如圖1-1所示)就此在整個計算機歷史上留下了芳名。[1] 
MULTICS其實是"Multiplexed Information and Computing Service"的縮寫,在1970年時,那部PDP-7卻只能支持兩個使用者,當時,Brian Kernighan就開玩笑地稱他們的系統其實是:"UNiplexed Information and Computing Service",縮寫爲"UNICS",後來,大家取其諧音,就稱其爲"UNIX"了。1970年可稱爲"UNIX元年"。

流行

1971年,Ken Thompson寫了充分長篇的申請報告,申請到了一臺PDP-11/24的機器。於是Unix第一版出來了。在一臺PDP-11/24的機器上完成。這臺電腦只有24KB的物理內存和500K磁盤空間。Unix佔用了12KB的內存,剩下的一半內存可以支持兩用戶進行Space Travel的遊戲。而著名的fork()系統調用也就是在這時出現的。
到了1973年的時候,Ken Thompson 與Dennis Ritchie感到用彙編語言做移植太過於頭痛,他們想用高級語言來完成第三版,對於當時完全以彙編語言來開發程序的年代,他們的想法算是相當的瘋狂。一開始他們想嘗試用Fortran,可是失敗了。後來他們用一個叫BCPL(Basic Combined Programming Language)的語言開發,他們整合了BCPL形成B語言,後來Dennis Ritchie覺得B語言還是不能滿足要求,於是就改良了B語言,這就是今天的大名鼎鼎的C語言。於是,Ken Thompson 與Dennis Ritchie成功地用C語言重
UnixUnix
寫了Unix的第三版內核。至此,Unix這個操作系統修改、移植相當便利,爲Unix日後的普及打下了堅實的基礎。而Unix和C完美地結合成爲一個統一體,C與Unix很快成爲世界的主導。
Unix的第一篇文章 “The UNIX Time Sharing System”由Ken Thompson和Dennis Ritchie於1974年7月的 The Communications of the ACM發表。這是UNIX與外界的首次接觸。結果引起了學術界的廣泛興趣並對其源碼索取,所以,Unix第五版就以“僅用於教育目的”的協議,提供給各大學作爲教學之用,成爲當時操作系統課程中的範例教材。各大學公司開始通過Unix源碼對Unix進行了各種各樣的改進和擴展。於是,Unix開始廣泛流行。

家譜

Unix家譜Unix家譜
Unix在開發的過程中,沒有任何的獎勵制度和管理,從一開始在AT&T公司出現時,其是一種近似於好奇或興趣的東西。
然而,20世紀70年代,AT&T公司開始注意到Unix所帶來的商業價值。公司的律師開始尋找一些手段來保護Unix,並讓其成爲一種商業機密。從1979年Unix的版本V7開始,Unix的許可證開始禁止大學使用Unix的源碼,包括在授課中學習。
到了1980年,有兩個最主要的Unix的版本線,一個是Berkeley的BSD UNIX,另一個是AT&T的Unix,在這個時候,很顯然,競爭最終引發了Unix的戰爭。在這場戰爭中,好的是,軟件開發人員還是能夠得到Unix的源碼並對其按照自己的需要和興致進行裁剪。而不好的是,Unix開始一發不可收拾地開發不停地出現各種各樣的變種。
1982年,Joy創建了Sun Microsystems公司並提供了工作站–Sun-1,運行SunOS(Solaris以之後的十年出現)。而AT&T則在隨後的幾年中發佈了Unix System V的第一版,一個具有強大影響力的操作系統,最終造就了IBM的AIX和HP的HP-UX。

類UNIX

AIX
Aix logoAix logo
(Advanced Interactive eXecutive)是IBM開發的一套UNIX操作系統。它符合Open group的UNIX 98行業標準(The Open Group UNIX 98 Base Brand),通過全面集成對32-位和64-位應用的並行運行支持,爲這些應用提供了全面的可擴展性。它可以在所有的IBM ~ p系列和IBM RS/6000工作站、服務器和大型並行超級計算機上運行。AIX的一些流行特性例如chuser、mkuser、rmuser命令以及相似的東西允許如同管理文件一樣來進行用戶管理。AIX級別的邏輯卷管理正逐漸被添加進各種自由的UNIX風格操作系統中。
Solaris
是SUN公司研製的類Unix操作系統。直至2013年,Solaris的最新版爲 Solaris 11。
solaris logosolaris logo
早期的Solaris是由BSDUnix發展而來。這是因爲昇陽公司的創始人之一,比爾·喬伊(Bill Joy)來自加州大學伯克萊分校(U.C.Berkeley)。但是隨着時間的推移,Solaris在接口上正在逐漸向System V靠攏,但至今Solaris仍舊屬於私有軟件。2005年6月14日,Sun公司將正在開發中的Solaris 11的源代碼以CDDL許可開放,這一開放版本就是OpenSolaris。
Sun的操作系統最初叫做SunOS。SunOS 5.0開始,SUN的操作系統開發開始轉向System V4,並且有了新的名字叫做Solaris 2.0。Solaris 2.6以後,SUN刪除了版本號中的"2",因此,SunOS 5.10就叫做Solaris 10。Solaris的早期版本後來又被重新命名爲Solaris 1.x. 所以"SunOS"這個詞被用做專指Solaris操作系統的內核,因此Solaris被認爲是由SunOS,圖形化的桌面計算環境,以及它網絡增強部分組成。
Solaris運行在兩個平臺:Intel x86及SPARC/UltraSPARC。後者是昇陽工作站使用的處理器。因此,Solaris在SPARC上擁有強大的處理能力和硬件支援,同時Intel x86上的性能也正在得到改善。對這兩個平臺,Solaris屏蔽了底層平臺差異,爲用戶提供了儘可能一樣的使用體驗。
HP-UX
HP-UXHP-UX
取自Hewlett Packard UniX,是惠普公司(HP,Hewlett-Packard)以SystemV爲基礎所研發成的類UNIX操作系統。HP-UX可以在HP的PA-RISC處理器、Intel的Itanium處理器的電腦上運行,另外過去也能用於後期的阿波羅電腦(Apollo/Domain)系統上。較早版本的HP-UX也能用於HP 9000系列200型、300型、400型的電腦系統(使用Motorola的68000處理器)上,和HP-9000系列500型電腦(使用HP專屬的FOCUS處理器架構)。
IRIX
IRIXIRIX
是由硅谷圖形公司(Silicon GraphicsInc.,一般用簡稱:SGI)以System V與BSD延伸程序爲基礎所發展成的UNIX操作系統,IRIX可以在SGI公司的RISC型電腦上運行,即是採行32位、64位MIPS架構的SGI工作站、服務器。
Xenix
是一種UNIX操作系統,可在個人電腦及微型計算機上使用。該系統由微軟公司在1979年從美國電話電報公司獲得授權,爲Intel處理器所開發。後來,SCO公司收購了其獨家使用權,自那以後,該公司開始以SCO UNIX(亦被稱作SCO OpenServer)爲名發售。值得一提的是,它還能在DECPDP-11或是Apple Lisa電腦運行。它繼承了UNIX的特性,Xenix具備了多人多任務的工作環境,符合UNIX System V的接口規格 (SVID)。
A/UX
(取自Apple Unix)是蘋果電腦(Apple Computer)公司所開發的UNIX操作系統,此操作系統可以在該公司的一些麥金塔電腦(Macintosh)上運行,最末(或說最新)的一套A/UX是在Macintosh II、Quadra及Centris等系列的電腦上運行。A/UX於1988年首次發表,最終的版本爲3.1.1版,於1995年發表。A/UX至少需要一顆具有浮點運算單元及標籤頁式的存儲器管理單元(Paged Memory Management Unit,PMMU)的68k處理器才能運行。
A/UX是以System V 2.2版爲基礎所發展,並且也使用System V 3(簡稱:SysV 3)、System V 4、BSD 4.2、BSD 4.3等的傳統特色,它也遵循POSIX規範及SVID規範,不過遵循標準版本就難以支持最新的信息技術,因此在之後的第二版便開始加入TCP/IP網絡功能。有傳言表示有一個後續版本是以OSF/1爲主要的代碼基礎,但卻從未公開發表過,不過無從證實此版本是否真存在過。

收費情況

UNIX操作系統是商業版[4]  ,需要收費,價格比Microsoft Windows正版要貴一些。不過UNIX有免費版的,例如:NetBSD等類似UNIX版本。

UNIX標準

UNIX用戶協會最早從20世紀80年代開始標準化工作,1984年頒佈了試用標準。後來IEEE爲此制定了POSIX標準(即IEEE1003標準)國際標準名稱爲ISO/IEC9945.它通過一組最小的功能定義了在UNIX操作系統和應用程序之間兼容的語言接口。POSIX是由Richard Stallman 應IEEE的要求而提議的一個易於記憶的名稱,含義是Portable OPerating System Interface(可移植操作系統接口) ,而X表明其API的傳承。

UNIX特性

  1. UNIX系統是一個多用戶,多任務的分時操作系統。
  2. UNIX的系統結構可分爲三部分:操作系統內核(是UNIX系統核心管理和控制中心,在系統啓動或常駐內存),系統調用(供程序開發者開發應用程序時調用系統組件,包括進程管理,文件管理,設備狀態等),應用程序(包括各種開發工具,編譯器,網絡通訊處理程序等,所有應用程序都在Shell的管理和控制下爲用戶服務)。
  3. UNIX系統大部分是由C語言編寫的,這使得系統易讀,易修改,易移植。
  4. UNIX提供了豐富的,精心挑選的系統調用,整個系統的實現十分緊湊,簡潔。
  5. UNIX提供了功能強大的可編程的Shell語言(外殼語言)作爲用戶界面具有簡潔,高效的特點。
  6. UNIX系統採用樹狀目錄結構,具有良好的安全性,保密性和可維護性。
  7. UNIX系統採用進程對換(Swapping)的內存管理機制和請求調頁的存儲方式,實現了虛擬內存管理,大大提高了內存的使用效率。
  8. UNIX系統提供多種通信機制,如:管道通信,軟中斷通信,消息通信,共享存儲器通信,信號燈通信。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章