操作系統的結構及發展歷史


 

操作系統的結構

硬件設備 -- kernel --- 應用程序

                           --- 庫文件(system call)—— 普通文件(比較特殊:shell「管理人員與系統的交互」)

 

大部分普通進程都不能直接通過system call調用硬件資源,它們需要借助庫文件

Windows下的庫文件為 .dll文件

Linux下的庫文件為 .os文件

 

交互:管理人員與系統間的交互(shell是Linux操作系統下最常見的交互方式)

圖形交互程序在Linux系統上,也是一款普通的應用程序(可以不安裝)

常見的圖形程序:

KDE、GNOME、XWindows...

 

操作系統的發展歷史

--為了實現工作的批量化處理:貝爾實驗室 、GE通用 、麻省理工大學合作完成了Mutices

  --該項目結束后,貝爾實驗室和麻省理工退出該項目

    --貝爾實驗室中的一個年輕的科學家肯-湯姆森為了運行space travel的游戲,向公司購買Mutices,實驗室拒絕了他的請求

      --他在一台電腦中找到了 DPD-7 (DEC公司?)。基於DPD-7的操作系統,肯開發了自己的第一個操作系統Unix「匯編語言編寫」。

        --1973年肯和他的同事開發了C語言「來自於B語言的改進」,用C語言重寫了Unix。

          --獲得了大筆獎金和一年的帶薪假期后,肯來到了加州大學伯克利分校任教,在這里他開發了另一款系統BSD。

              此時,在美國市場同時銷售着BSD和Unix操作系統,兩者為了版權問題打的不可開交「這場戰爭持續了十年之久」。

              這之間,蘋果和微軟在悄悄的發展着...

              因為美國的反壟斷法 -- AT&T公司被拆分,Unix源代碼被無償提供

              此時,三家公司「IBM、SUN、HP」發展了起來,分別開發了AIX、SUNos、HP-Unix系統「小型機市場上最常見的小型機操作系統」

                --1983年9月27日,美國的Richard Stallman發起了GNU計划「開源伊始」。

                  --1989年左右,荷蘭一個大學中,一位老教授為了給學生上課,不想購買Unix操作系統,自己寫了一個minix操作系統「Linux的前身」。--1991年左右,Linus「老教授的學生」在minix系統的基礎之上,開發了第一款Linux操作系統「僅僅只有內核kernel」。Linus Torvalds編寫出了與UNIX兼容的Linux操作系統內核並  在GPL條款下發布。Linux之后在網上廣泛流傳,許多程序員參與了開發與修改。1992年Linux與其他GNU軟件結合,完全自由的操作系統正式誕生。該操作系統往往被稱為“GNU/Linux”或簡稱Linux。(盡管如此GNU計划自己的內核Hurd依然在開發中,已經發布Beta版本。) 

 

內核與GNU/Linux系統的版本問題

內核版本:

        kernel

GNU/Linux版本:

        發行商版本 -- 紅帽

                        -- debian --- ubuntu

常見的發行商版本:

                       -- Redhat --- 收取服務費

                       -- centos

                       -- fedora

                       -- openSUSE(歐洲)

                       -- debian(安全)

                       -- 麒麟、紅旗

 

開源體系:

1、GNU:

      GNU is Not Unix GNU計划(將商業版本的軟件程序進行開源的計划) GPL協定(如果你使用了GNU計划中定義的開源軟件代碼,就必須將對應的所有代碼進行開源)

GNU計划

     又稱革奴計划,是由Richard Stallman在1983年9月27日公開發起的。它的目標是創建一套完全自由的操作系統。Richard Stallman最早是在net.unix-wizards新聞組上公布該消息,並附帶《GNU宣言》等解釋為何發起該計划的文章,其中一個理由就是要“重現當年軟件界合作互助的團結精神”。為保證GNU軟件可以自由地“使用、復制、修改和發布”,所有GNU軟件都有一份在禁止其他人添加任何限制的情況下授權所有權利給任何人的協議條款,GNU通用公共許可證(GNU General Public License,GPL)。即“反版權”(或稱Copyleft)概念。

----摘自《百度百科》

GNU的名字的由來:

      GNU是“GNU is Not Unix”的遞歸縮寫。Stallman宣布GNU應當發音為Guh-NOO以避免與new這個單詞混淆(注:Gnu在英文中原意為非洲牛羚,發音與new相同)。UNIX是一種廣泛使用的商業操作系統的名稱。由於GNU將要實現UNIX系統的接口標准,因此GNU計划可以分別開發不同的操作系統部件。GNU計划采用了部分當時已經可自由使用的軟件,例如TeX排版系統和X Window視窗系統等。不過GNU計划也開發了大批其他的自由軟件。

----摘自《百度百科》

GNU的歷史:

      1985年Richard Stallman又創立了自由軟件基金會(Free Software Foundation)來為GNU計划提供技術、法律以及財政支持。盡管GNU計划大部分時候是由個人自願無償貢獻,但FSF有時還是會聘請程序員幫助編寫。當GNU計划開始逐漸獲得成功時,一些商業公司開始介入開發和技術支持。當中最著名的就是之后被Red Hat兼並的 Cygnus Solutions。
到了1990年,GNU計划已經開發出的軟件包括了一個功能強大的文字編輯器Emacs[1]  。GCC(GNU Compiler Collection,GNU編譯器集合),是一套由 GNU 開發的編程語言編譯器。以及大部分UNIX系統的程序庫和工具。唯一依然沒有完成的重要組件就是操作系統的內核(稱為HURD)。

----摘自《百度百科》

GNU 包含3個協議條款:


GPL:GNU通用公共許可證(GNU General Public License)
LGPL:GNU較寬松公共許可證 (GNU Lesser General Public License), ) ,舊稱 GNU Library General Public License (GNU 庫通用公共許可證);
GFDL : GNU自由文檔許可證(GNU Free Documentation License )的縮寫形式。

2、BSD:

       BSD (Berkeley Software Distribution,伯克利軟件套件)是Unix的衍生系統,在1977至1995年間由加州大學伯克利分校開發和發布的。歷史上, BSD曾經被認為是UNIX的一支——"BSD UNIX", 因為它和AT&T UNIX操作系統共享基礎代碼和設計。在20世紀80年代,衍生出了許多變形的UNIX授權軟件。比較著名的如DEC的Ultrix及Sun公司的SunOS。1990年代,BSD很大程度上被System V4.x版以及OSF/1系統所取代,晚期BSD版本為幾個開源軟件開發提供了平台並且一直沿用至今。今天,“BSD”並不特指任何一個BSD衍生版本,而是類UNIX操作系統中的一個分支的總稱。

----摘自《百度百科》

BSD簡介:

       Berkeley Software Distribution (BSD,也稱Berkeley Unix)。威廉·納爾遜·喬伊(Bill Joy)於1979年在加州大學伯克利分校獲得電氣工程與計算機科學碩士學位   。1986年,喬伊因他在BSD操作系統中所做的工作獲得了Grace Murray Hopper獎。1986年6月,BSD 4.3發布。該版本主要是將BSD 4.2的許多新貢獻作性能上的提高,原來的BSD 4.1沒有很好地協調。在該版本之前,BSD的TCP/IP實現已經跟BBN的官方實現有較大差異。經過數月測試后,DARPA認為BSD 4.2更合適,所以在BSD 4.3中作了保留。
UNIX簡史圖 UNIX簡史圖
        從UNIX簡史圖(上)可以看出BSD UNIX最終版本即BSD 4.3,它是混合開源的,即有開源部分也有閉源部分。由BSD UNIX衍生出最初的SCO Xenix(Microsoft及SCO共同開發)、Sun OS( SunMicroSystems開發,即Solaris前身)、NEXTSTEP(NeXT開發)等UNIX版本,這些UNIX版本均閉源且受專利保護。
BSD UNIX對現代操作系統的產生與發展產生了巨大的影響,並將開源閉源的爭議擺在了人們面前。擁護閉源專利的代表Bill Gates領導創建了Windows等軟件獲得了巨大成功,並壟斷了桌面以及服務器市場,從而極大豐富了軟件產業。而捍衛開源共享的代表Richard Stallman開展自由軟件運動,創建GNU工程,使自由軟件精神深入人心,並促使了GNU/Linux等開源操作系統的普及。
 
----摘自《百度百科》
 
關於BSD 4.3 Tahoe:
       BSD 4.3混合了專屬的AT&T Unix代碼,繼續使用就要求從AT&T獲得許可證,源碼許可證當時非常地昂貴,幾個其他組織對單獨的網絡代碼版感興趣,該部分完全獨立於AT&T,這樣就可不受許可證的支配。
       Computer Consoles公司開發的Power 6/32平台的BSD 4.3 Tahoe,當時看來大有作為,但不久即被他們的開發員所遺棄。1990年初,出現BSD 4.3 Reno,該版本是4.4BSD早期開發的過渡版,使用該版本被戲稱為是一種賭博,因為Reno就是內華達州的賭城雷諾。4.4BSD通過一場官司留下了以BSD許可證分發源碼的4.4BSD lite。
 
----摘自《百度百科》
 
許可協議:
BSD許可證是隨着加州大學伯克利分校發布BSD UNIX發展起來的,修改版本被Apple、Apache所采用。
BSD協議是“寬容自由軟件許可證”中的一員,在軟件復用上給予了最小限度的限制。BSD協議允許作者使用該協議下的資源,將其並入私人版本的軟件,該軟件可使用閉源軟件協議發布。
 

開源項

Darwin
吉祥物:Hexley
NeXT電腦公司開發的用於NEXTSTEP的XNU內核是兼有Mach3微內核和大量來自BSD宏內核的元素(進程、網絡、虛擬文件系統)以及I/O Kit的混合內核,在Apple Public Source License 2.0許可協議下發布。
1989,NEXTSTEP(即OPENSTEP的前身)首次發布,最終版本3.3在1995年發布。
1997年OPENSTEP(即Darwin的前身)發布,2000年Mac OS X以及iOS的基礎Darwin發布,並以Apple Public Source License2.0發布源代碼。
 

BSD分區概述:

      大多數的BSD系統使用基於32位間接尋址(IA32)的硬件平台(x86/i386)可以與Microsoft產品共存於一個磁盤上。這時會在磁盤上為其建立一個BSD類型的DOS分區,並在主分區表中對其進行描述,然后在這個BSD類型的DOS分區再按照BSD的分區機制建立相應的區域。
BSD分區體系比 DOS分區體系簡單但相對於Apple的分區復雜些。BSD分區被包含在一個由DOS創建的分區中,且只用一個扇區記錄必要的分區信息。這樣在同一個磁盤上就可以同時安裝windows和BSD操作系統,並且當操作系統啟動時,啟動一個選擇系統窗口,以供用戶選擇要啟動的操作系統。
 
----摘自《百度百科》

3、Apache:

     本身是做網站起家的社區;Hadoop項目在2000年后,稱為Apache項目的頂級項目。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM