1991年8月:Linus Torvalds宣布成立Linux
遵行GPL:
Kernel:底層監控程序又叫通用程序,即我們所說的操作系統
Kernel的作用:
1、驅動底層硬件
2、把底層各硬件資源抽象成為簡單資源 3、管理各應用程序把有限的資源合理分配給各程序
一個完整的OS(操作系統):
Kernel和Application組成
狹義上的OS僅指 Kernel
GNU提供了應用程序,而Linux提供了內核,所以普通的linux指的是GNU/Linux
OS的接口有兩類(接口也是一種應用程序):
GUI:Graphic User Interface
GNome:c語言開發,開發環境為gtk
KDE:c++語言開發,圖形庫為qt
CLI:Command Line Interface
TUI:Text User Interface
bash
zsh
sh
csh
tcsh
ksh
操作系統的作用:
驅動程序
進程管理
安全
網絡安全
內存管理
文件系統
……
API:Application Program Interface,程序員面對的應用編程接口
硬件的驅動為操作系統提供API接口,而操作系統為應用提供system call(系統調用)接口;為了更方便於程序員寫應用程序,操作系統還提供了libraries call(庫調用)接口
ABI:Application Binary Interface,程序應用者運行時面對的應用二進制接口
上邊的編程接口兼容不代表應用接口兼容,一般應用接口都不兼容
POSIX:Portable Operating System
POSIX是一種規范,任何遵循POSIX規范的軟件在windows可以用,在linux上也可以用,API接口在不同的操作系統上是兼容的
GNU組織:
源碼:編譯成為 二進制格式才可以用,在GNU上發布的全是源碼,一些社區或商家通過把源碼編譯成二進制拼湊封裝成一個操作系統,並發行,所以linux的發行版本有數百種之多
Linux主要分支有:
Debian 由社區維護,供黑客使用,維護難度更高,但更輕巧
ubuntu
mint
knopix
Slackware
S.u.S.e 由Novell公司維護,歐洲人使用更多
SLES
OpenSUSE
RedHat 由RedHat公司維護
RedHat Enterprise Linux:RHEL每十八個月更新一次
CentOS:Community ENTerprise OS 美國人,國人使用較多
Fedora Core:每六個月更新一次
Gentoo
ArchLinux
軟件程序:版本號來區分
major.minor.release
主版本號.次版本號.版本號
有重大更新時會升級主版本號,有分支更新時會升級次版本號,修復BUG時會升級版本號
例:2.1.4
linux內核版本號:0.99,2.2,2.4,2.6,3.0,4.0
官方網站:www.kernel.org
發行上版本也有自己的版本號(與內核版本無關):
RHEL:5.x,6.x,7.x
Fedora:23
Debian:8.x
OpenSUSE:13.x