UNIX操作系統簡介
UNIX操作系統(尤尼斯),是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬於分時操作系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy於1969年在AT&T的貝爾實驗室開發。目前它的商標權由國際開放標准組織所擁有,只有符合單一UNIX規范的UNIX系統才能使用UNIX這個名稱,否則只能稱為類UNIX(UNIX-like)。
基本信息
-  
          
-  
            
中文名稱
unix
 -  
            
本質
操作系統的一種
 -  
            
類型
分時操作系統
 
 -  
            
 
-  
          
-  
            
開發
1969年
 -  
            
公司
AT&T
 -  
            
特點
多用戶、多任務的特點
基本結構
UNIX系統的基本結構如圖所示。整個UNIX系統可分為五層:最底層是裸機,即硬件部分;第二層是UNIX的核心,它直接建立在裸機的上面,實現了操作系統重要的功能,如進程管理、存儲管理、設備管理、文件管理、網絡管理等,用戶不能直接執行UNIX內核中的程序,而只能通過一種稱為"系統調用"的指令,以規定的方法訪問核心,以獲得系統服務;第三層系統調用構成了第四層應用程序層和第二層核心層之間的接口界面;應用層主要是UNIX系統的核外支持程序,如文本編輯處理程序、編譯程序、系統命令程序、通信軟件包和窗口圖形軟件包、各種庫函數及用戶自編程序;UNIX系統的最外層是Shell解釋程序,它作為用戶與操作系統交互的接口,分析用戶鍵入的命令和解釋並執行命令,Shell中的一些內部命令可不經過應用層,直接通過系統調用訪問核心層。
系統組成
UNIX操作系統結構由三大部分組成:
1. (1) kernel(內核)
2. (2) shell(外殼)
3. (3) 工具及應用程序
UNIX Kernel(UNIX內核) 是UNIX操作系統的核心,指揮調度UNIX機器的運行,直接控制計算機的資源,保護用戶程序不受錯綜復雜的硬件事件細節的影響。
硬件
工具和應用程序
SHELL
KERNEL
UNIX Shell(UNIX外殼) 是一個UNIX的特殊程序,是UNIX內核和用戶的接口,是UNIX的命令解釋器。
目前常見的Shell有三種:
hell類型 簡稱 命令 主要特點
Bourne Shell B Shell sh 最老、使用最廣泛,每個UNIX都提供。
Korn Shell K Shell ksh 是對B Shell的擴充,兼容B Shell。
C-Shell csh 格式有點象C語言。功能強,命令記憶稍難,在大學和學院中較為流行。
一般系統缺省為Bourne Shell, 本文以此shell為例。
要想將當前Shell改為其它類型的Shell,只需在操作系統提示符下鍵入相應的Shell命令即可。如在B Shell下鍵輸入命令:$ ksh
就進入了K Shell。
發展歷程
unix操作系統它顯然對開發和銷售計算機及軟件操作系統不感興趣,實際上美國司法部也不允許AT&T公司銷售軟件.然而,當時AT&T由人和紙張組成的公司信息系統很快就要被60年代的浪潮所淹沒.到70年代的時候電話業務的發展已經面臨風險.AT&T公司的Ken Thompson開始為自己部門室內的信息處理尋找解決的方法,需要一個多用戶操作的,能進行多個流程處理的方法,這種東西在當時來說沒有一家計算機公司可以提供.這種東西的目的其實就是建立一個能支持多位話務員在一個復雜的環境中進行同時作業的操作系統. 這個需要的東西就是Unix萌發的源頭. 接下來的介紹開發Unix類操作系統的循序漸進過程中發生的主要事件及對應時段.折疊1965年到1969年
1965年Bell實驗室加入了MIT(麻省理工學院)和GE(通用電器公司)合作開發的一個項目,該項目要求在通用公司的GE 645大型計算機硬件上開發出一套多用戶交互操作系統軟件,名字定為Multics.然而由於Bell實驗室對系統開發中經常性的延遲和高成本消耗不滿,最后終於在1969年退出了Multics系統的開發項目.1969年Ken Thompson把Multics在Bell實驗室內進行了展示,這時候正好遇上了Dennis Ritchie,他提供了一台DEC(數字設備公司)的PDP-7迷你計算機硬件,可以繼續用來開發能支持多用戶研究環境的操作系統.這兩個人建立了一個開發原型后,Ken Thompson返回了Bell實驗室並鼓勵在專利部門使用新開發的這款操作系統來進行文檔處理工作.為區別於Multics項目,新操作系統被命名為Unix. 開發Unix的各種努力在繼續,終於在1971年Unix得以在Bell實驗室變得實際可用.第一版本的Unix操作系統完全使用匯編語言在PDP-11/20硬件上開發完成.它包含了基本文件系統,以及fork,roff和ed三個工具,當時它的用途就是為Bell實驗室專利部門的文檔准備工作提供字處理工具.
折疊1970年到1972年
70年代早期,Unix開始在Bell實驗室變得流行起來,作為新誕生的操作系統Unix也受到了大學機構的歡迎.與學院和高科技研究領域對Unix喜愛形勢不同,商業社區到處充斥着懷疑Unix的聲音.為提升Unix的流行度,AT&T公司開始將Unix源代碼以最小的價格許可給大學機構研究用,AT&T提供了關於Unix大量軟件代碼和說明手冊,但是沒有提供軟件使用的技術支持.70年代末,幾乎70%的大學機構獲得了Unix許可.許多計算機專業的畢業生在使用Unix,甚至對Unix代碼進行修改,使它更加健全.Unix是用匯編語言寫出來的主要運行在DEC公司的硬件設備平台上,開始在PDP-7設備上,然后是PDP-11/40設備和11/45設備,最后到PDP-11/70設備,使用變得更加廣泛和流行.
折疊1973年到1979年
這段時期是Unix開發最重要的時期.Ritchie和Thompson兩人在1969到1973年時間內開發出了C編程語言,並且把Unix的內核用C高級編程語言進行了重新編寫.Unix操作系統得以在不同硬件平台上編譯運行.花幾個月時間,用C編寫的Unix就可以移植到新的硬件平台上.在C語言的幫助下修改操作系統也變得容易起來.學術社區的會員已經開始在許多系統設計課程中使用Unix,利用通用C語言寫現代的命令,Unix也開始走出了字處理和編輯等局限性領域.此時Unix已經發展到了第六個版本,一個名叫Whitesmiths的商業公司基於第六版Unix發布了一個名叫Idris的商業Unix版本.1975年Thompson造訪Berkeley大學安裝在PDP-11/70設備上第六版Unix,此刻學校的兩位畢業生Bill Joy和Chuck Haley剛好與Berkeley的這版Unix打交道,他倆在Berkeley為Unix的發展扮演了重要的角色,他們在第六版Unix環境上的第一個項目是ex編輯器的開發.他倆對Unix的內部運行原理很感興趣,Joy把C語言增強殼以及vi編輯器等組合到了一起,形成了一個叫BSD(Berkeley軟件發行包)的套裝,1975第一次發布,這種模式在1978年進行了第二次發布,第二次發布的BSD中添加了虛擬內存的支持,允許程序可以在在物理內存大小不夠用的情況下,繼續模擬出虛擬內存來進行使用.這個特殊的想法對Bell實驗室發布第七版的Unix影響非常大,第七版Unix也是最后一版完全由Bell實驗室原創的Unix發行版.此后的Unix版本中的功能內容由多家商業公司和大學研究機構進行了或多或少的增添.70年代末美國國防部高級研究項目局決定將其通用計算環境構建在Berkeley版的Unix之上,在4.1版BSD的基礎上,國防部高級研究項目局為4.1BSD進行了重要的性能調優提升,提供的fast文件系統提升了系統性能阻止了文件碎片的生成,該文件系統被加進了4.2版的BSD軟件系統中.
FreeBSD1982年到1983年1982年AT&T公司正式向商業領域發布了一款測試版Unix,名叫System III(System I和System II從來沒有存在過),雖然System III基於第七版Unix但它也加入了一些來自BSD的工具,但System III發布版中沒有包含vi編輯器和C殼,但內含了程序員workbench(工作性能度量工具),在發行System III的時候,AT&T看到了Unix的未來,很快就推出了System V版本的Unix(System IV沒有在AT&T公司外出現過),其中包含了編輯器,curses(基於屏幕的軟件庫),和init(初始化程序),這些東西用來在開始運行Unix時啟動各種過程.80年代初,Joy從berkeley大學取得了電氣工程碩士學位后畢業了,變成了SUN(斯坦福大學網絡)微系統公司的合伙創始人之一.Sun公司根據BSD實現的Unix操作系統名叫SunOS.這款Unix依靠對原BSD系統中的網絡工具進行擴展,這些擴展中就有著名的后來變為工業標准的NFS(網絡文件系統協議).Sun還為早期的Unix窗口軟件開發做了一些工作,SunOS於1983年首次發布.利用Sun提供的工作站硬件產品,Unix開始在高技術領域,尤其是計算機輔助設計和工程領域(CAD/CAE)被廣泛地接受.80年代早期CAD/CAE變得流行起來,另外的PC工作站提供商象HP和Apollo等開始加入到該領域,但配備Unix的Sun工作站在性能和多用戶處理方面勝過了PC工作站.在其他的商業計算環境中,Unix始終被認為是一個需自我完善的操作系統,它沒有侵占大型機的市場,只是在多任務處理和網絡連接中發揮了顯著的特色.更重要的在於C語言的誕生使Unix可以向幾乎任何硬件平台移植.
折疊1984年到2001年
1984年AT&T發布了可以支持監視器連接到Unix的System V r2,該功能通過termcap的監視器數據庫文件實現,命名為terminfo的文件可以提供多種監視器硬件的支持.其他的還有Streams和遠程文件系統等. Solaris是1993年由SunOS改名而來,開始轉向支持AT&T公司的System V release4版本.1993年Unix商標被Novell公司購得.1994年Solaris 2.4發布. 1995年Solaris 2.5發布,1997年Solaris 2.6生效,1998年Solaris 7發布,2000年Solaris 8發布,2001年Solaris 9測試版在3季度發布.從Solaris 8開始,Solaris除了能在Sun公司自己的SPARC系列處理器上運行外,還可以運行在Intel處理器平台上
系統組成
UNIX操作系統結構由三大部分組成:
1. (1) kernel(內核)
2. (2) shell(外殼)
3. (3) 工具及應用程序
UNIX Kernel(UNIX內核) 是UNIX操作系統的核心,指揮調度UNIX機器的運行,直接控制計算機的資源,保護用戶程序不受錯綜復雜的硬件事件細節的影響。
硬件
工具和應用程序
SHELL
KERNEL
UNIX Shell(UNIX外殼) 是一個UNIX的特殊程序,是UNIX內核和用戶的接口,是UNIX的命令解釋器。
目前常見的Shell有三種:
hell類型 簡稱 命令 主要特點
Bourne Shell B Shell sh 最老、使用最廣泛,每個UNIX都提供。
Korn Shell K Shell ksh 是對B Shell的擴充,兼容B Shell。
C-Shell csh 格式有點象C語言。功能強,命令記憶稍難,在大學和學院中較為流行。
一般系統缺省為Bourne Shell, 本文以此shell為例。
要想將當前Shell改為其它類型的Shell,只需在操作系統提示符下鍵入相應的Shell命令即可。如在B Shell下鍵輸入命令:$ ksh
就進入了K Shell。
應用范圍
 
 -  
            
 
