UNIX操作系統(尤尼斯),是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T的貝爾實驗室開發。目前它的商標權由國際開放標準組織所擁有,只有符合單一UNIX規範的UNIX系統才能使用UNIX這個名稱,否則只能稱爲類UNIX(UNIX-like)。
誕生
1965年時,貝爾實驗室(Bell Labs)加入一項由通用電氣(General Electric)和麻省理工學院(MIT)合作
[1]
的計劃;該計劃要建立一套多使用者、多任務、多層次(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所示)就此在整個計算機歷史上留下了芳名。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語言重
寫了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開始廣泛流行。
家譜
然而,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
Solaris
是SUN公司研製的類Unix操作系統。直至2013年,Solaris的最新版爲 Solaris 11。
早期的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
IRIX
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特性
-
UNIX系統是一個多用戶,多任務的分時操作系統。
-
UNIX的系統結構可分爲三部分:操作系統內核(是UNIX系統核心管理和控制中心,在系統啓動或常駐內存),系統調用(供程序開發者開發應用程序時調用系統組件,包括進程管理,文件管理,設備狀態等),應用程序(包括各種開發工具,編譯器,網絡通訊處理程序等,所有應用程序都在Shell的管理和控制下爲用戶服務)。
-
UNIX系統大部分是由C語言編寫的,這使得系統易讀,易修改,易移植。
-
UNIX提供了豐富的,精心挑選的系統調用,整個系統的實現十分緊湊,簡潔。
-
UNIX提供了功能強大的可編程的Shell語言(外殼語言)作爲用戶界面具有簡潔,高效的特點。
-
UNIX系統採用樹狀目錄結構,具有良好的安全性,保密性和可維護性。
-
UNIX系統採用進程對換(Swapping)的內存管理機制和請求調頁的存儲方式,實現了虛擬內存管理,大大提高了內存的使用效率。
-
UNIX系統提供多種通信機制,如:管道通信,軟中斷通信,消息通信,共享存儲器通信,信號燈通信。