官术网_书友最值得收藏!

1.1.1 UNIX操作系統的發展歷史

UNIX是一款強大的、支持多用戶/多任務的操作系統,它支持多種處理器架構,屬于分時操作系統。操作系統(Operating System,OS)的概念始于20世紀50年代。當時的操作系統主要是批處理操作系統,沒有配備鼠標、鍵盤等設備,典型的輸入設備是卡片機。系統運行批處理程序,通過卡片機讀取讀卡紙上的數據,然后將處理結果輸出。20世紀60年代初,分時操作系統出現。與批處理操作系統不同,它支持用戶交互,還允許多個用戶從不同的終端同時操作主機。

1965年,美國貝爾實驗室(Bell Laboratory)、麻省理工學院(Massachusetts Institute of Technology,MIT)、通用電氣公司(General Electric Company)共同參與研發MULTICS(MULTiplexed Information and Computing System,MULTiplexed信息與計算系統)。這是一個安裝在大型主機上的分時操作系統,研發的目的是讓大型主機同時支持300個以上的終端訪問。MULTICS技術在當時非常新穎,然而項目進展并不順利。因進度緩慢、資金短缺,貝爾實驗室選擇退出該項目。MULTICS并沒有取得很好的市場反響。MULTICS項目最重要的成就是培養了很多優秀的人才,如肯·湯普森(Ken Thompson)、丹尼斯·里奇(Dennis Ritchie)、道格拉斯·麥克羅伊(Douglas Mcllroy)等。

1969年8月,肯·湯普森為了移植一款名為“太空旅游”的游戲,想要開發一個小的操作系統。他在一臺閑置的PDP-7上用匯編語言寫出了一組內核程序、一些內核工具程序及一個小的文件系統。他的同事稱之為Unics(該系統就是UNIX的原型)。因為匯編語言對硬件具有依賴性,Unics只能應用于特定硬件上。如果想將其安裝到不同的機器上,就需要重新編寫匯編語言代碼。為了提高其可移植性,肯·湯普森與丹尼斯·里奇合作,試圖改用高級程序設計語言來編寫Unics。他們先后嘗試過BCPL(Basic Combined Programming Language,基本的組合編程語言)、Pascal等語言,但是編譯出來的內核性能都不是很好。

1973年,丹尼斯·里奇在B語言的基礎上,發明了C語言,因此他被人們稱為C語言之父。肯·湯普森與丹尼斯·里奇合作,用C語言重新改寫UNIX的內核,并在改寫過程中增加了許多新特征。例如,道格拉斯·麥克羅伊提出的“管道”的概念被引入UNIX。經C語言改寫后的UNIX,可移植性非常好。理論上,只要獲得UNIX的源碼,針對特定主機的特性加以修改,就可以將其移植到對應的主機上。

由于UNIX的高度可移植性與強大的性能,加上當時并沒有版權的糾紛,因此很多商業公司開始了UNIX操作系統的開發,研發了許多重要的UNIX分支。

1977年,美國加利福尼亞大學伯克利分校的比爾·喬伊(Bill Joy)通過移植UNIX,開發了BSD(Berkeley Software Distribution,伯克利軟件套件)。比爾·喬伊是美國Sun公司的創始人。Sun公司基于BSD內核進行了商業版本UNIX的開發。BSD是UNIX中非常重要的一個分支,FreeBSD就是由BSD改版而來的,蘋果的Mac OS X也是從BSD發展而來的。

1979年,AT&T推出了System V第7版UNIX,開始支持x86架構的PC(Personal Computer,個人計算機)平臺。貝爾實驗室當時還屬于AT&T。AT&T出于商業考慮,在第7版System V中特別提到了“不能對學生提供源碼”的嚴格限制。

1984年,因為UNIX規定“不能對學生提供源碼”,安德魯·坦尼鮑姆(Andrew Tanenbaum)老師以教學為目的,編寫了與UNIX兼容的MINIX。1989年,安德魯·坦尼鮑姆將MINIX系統移植到x86架構的PC平臺。1990年,Linux的創始人林納斯首次接觸MINIX系統,并立志開發一個比MINIX性能更好的操作系統。

主站蜘蛛池模板: 万州区| 黄山市| 于都县| 孟津县| 曲周县| 措美县| 静乐县| 梓潼县| 耿马| 宜章县| 阜平县| 奉节县| 南开区| 安陆市| 徐水县| 宁波市| 赫章县| 古交市| 孟州市| 友谊县| 隆林| 松滋市| 思南县| 沙坪坝区| 都匀市| 巩义市| 巧家县| 隆德县| 两当县| 拉萨市| 北碚区| 乌兰浩特市| 济宁市| 连州市| 台山市| 南部县| 图们市| 和龙市| 湘西| 高陵县| 临高县|