linux是自由的、開(kāi)放源代碼的Unix-like操作系統(tǒng)屡穗,于1991年由芬蘭的大學(xué)生linus torvalds設(shè)計(jì),后來(lái)和全世界各地的志愿者一起實(shí)現(xiàn)和設(shè)計(jì)這款操作系統(tǒng)。
linux是一個(gè)基于posix的類(lèi)unix操作系統(tǒng)咆瘟,它是多用戶(hù)、多任務(wù)的操作系統(tǒng)诽里,可以安裝在各種計(jì)算機(jī)硬件設(shè)備中袒餐,比如:手機(jī)、PDA谤狡、路由器灸眼、平板電腦、各種計(jì)算機(jī)上墓懂;
(以下出自baidu)
1
1965 年焰宣,Bell 實(shí)驗(yàn)室、MIT捕仔、GE(通用電氣公司)準(zhǔn)備開(kāi)發(fā) Multics 系統(tǒng)匕积,為了同時(shí)支持 300 個(gè)終端訪(fǎng)問(wèn)主機(jī),但是 1969 年失敗了逻澳;
(剛開(kāi)始并沒(méi)有鼠標(biāo)闸天、鍵盤(pán),輸入設(shè)備只有卡片機(jī)斜做,因此如果要測(cè)試某個(gè)程序苞氮,則需要將讀卡紙插入卡片機(jī),如果有錯(cuò)誤瓤逼,還需要重新來(lái)過(guò)笼吟; Multics:Multiplexed Information and Computing Service)
2
1969 年,Ken Thompson(C語(yǔ)言之父)利用匯編語(yǔ)言開(kāi)發(fā)了 FIle Server System(Unics霸旗,即 UNIX 的原型)
(因?yàn)閰R編語(yǔ)言對(duì)于硬件的依賴(lài)性贷帮,因此只能針對(duì)特定硬件; 只是為了移植一款“太空旅游”的游戲诱告;)
3
1973 年撵枢,Dennis Ritchie 和 Ken Thompson 發(fā)明了 C 語(yǔ)言,而后寫(xiě)出了 UNIX 的內(nèi)核
(將 B 語(yǔ)言改成 C 語(yǔ)言精居,由此產(chǎn)生了 C 語(yǔ)言之父锄禽; 90% 的代碼是 C 語(yǔ)言寫(xiě)的,10% 的代碼用匯編寫(xiě)的靴姿,因此移植時(shí)只要修改那 10% 的代碼即可沃但;)
4
1977 年,Berkeley 大學(xué)的 Bill Joy 針對(duì)他的機(jī)器修改 UNIX 源碼佛吓,稱(chēng)為BSD(Berkeley Software Distribution)
(Bill Joy 是 Sun 公司的創(chuàng)始人宵晚;)
5
1979 年垂攘,UNIX 發(fā)布 System V,用于個(gè)人計(jì)算機(jī)淤刃;
1984 年晒他,因?yàn)?UNIX 規(guī)定:“不能對(duì)學(xué)生提供源碼”,Tanenbaum 老師自己編寫(xiě)兼容于 UNIX 的Minix钝凶,用于教學(xué)仪芒;
6
1984 年唁影,Stallman 開(kāi)始 GNU(GNU's Not Unix)項(xiàng)目耕陷,創(chuàng)辦 FSF(Free Software Foundation)基金會(huì);
(產(chǎn)品:GCC据沈、Emacs哟沫、Bash Shell、GLIBC锌介; 倡導(dǎo)“自由軟件”嗜诀; GNU 的軟件缺乏一個(gè)開(kāi)放的平臺(tái)運(yùn)行,只能在 UNIX 上運(yùn)行孔祸; 自由軟件指用戶(hù)可以對(duì)軟件做任何修改隆敢,甚至再發(fā)行,但是始終要掛著 GPL 的版權(quán)崔慧; 自由軟件是可以賣(mài)的拂蝎,但是不能只賣(mài)軟件,而是賣(mài)服務(wù)惶室、手冊(cè)等温自;)
7
1985 年,為了避免 GNU 開(kāi)發(fā)的自由軟件被其他人用作專(zhuān)利軟件皇钞,因此創(chuàng)建 GPL(General Public License)版權(quán)聲明悼泌;
1988 年,MIT 為了開(kāi)發(fā) GUI夹界,成立了 XFree86 的組織馆里;
1991 年,芬蘭赫爾辛基大學(xué)的研究生 Linus Torvalds 基于 gcc可柿、bash 開(kāi)發(fā)了針對(duì) 386 機(jī)器的 Linux 內(nèi)核鸠踪;
8
1994 年,Torvalds 發(fā)布 Linux-v1.0趾痘;
1996 年慢哈,Torvalds 發(fā)布 Linux-v2.0,確定了 Linux 的吉祥物:企鵝永票;
完整的操作系統(tǒng)包括內(nèi)核和應(yīng)用程序卵贱;
OS的接口有兩類(lèi):
????GUI:Graphic User Interface
????????GNome:c, gtk(開(kāi)發(fā)環(huán)境滥沫,開(kāi)發(fā)庫(kù),圖形庫(kù))
????????KDE: c++, qt
????CLI:Command Line Interface
????????bash
????????zsh
????????sh
????????csh
????????tcsh
????????ksh
操作系統(tǒng)的功能:
????驅(qū)動(dòng)程序
????進(jìn)程管理
????安全機(jī)制
????網(wǎng)絡(luò)功能
????內(nèi)存管理
????文件系統(tǒng)
????.......
API: Application Program Interface
????程序員面對(duì)的編程接口
????????POSIX: Portable Operating System
????????可移植操作系統(tǒng)
ABI: Application Binary Interface
????程序應(yīng)用者面對(duì)運(yùn)行程序的接口
GNU:
源碼:編譯成為 二進(jìn)制格式
gcc, glibc, vi, linux
發(fā)行版:數(shù)百種之多键俱;
Debian
????ubuntu
????????mint
????knopix
Slackware
????S.u.S.E
????????SLES
????????OpenSUSE
RedHat:
????Redhat 9.0:
????RedHat Enterprise Linux: RHEL
????????CentOS: Community ENTerprise OS
????Fedora Core:6個(gè)月兰绣,
Gentoo
ArchLinux
軟件程序:版本號(hào);
major.minor.release
Linux:0.99, 2.2, 2.4, 2.6, 3.0, 4.0
www.kernel.org
GNU:
vi
gcc
發(fā)行版本也有自己的版本號(hào):
RHEL: 5.x, 6.x, 7.x
Fedora 23
Debian:8.x
OpenSuSE: 13.x