操作系統的結構
硬件設備 -- 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計划
又稱革奴計划,是由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簡介:

開源項
BSD分區概述:
3、Apache:
本身是做網站起家的社區;Hadoop項目在2000年后,稱為Apache項目的頂級項目。