- Python網(wǎng)絡(luò)編程(Linux)
- 趙宏
- 1113字
- 2019-12-06 14:07:06
1.1 Linux的誕生
Linux是一個(gè)完整的多用戶、多任務(wù)的類UNIX操作系統(tǒng),可以運(yùn)行在如Intel、Alpha、Power PC、Sun Sparc、ARM等多種硬件平臺(tái)上。
Linux操作系統(tǒng)的誕生、發(fā)展和成長(zhǎng)過程始終依賴著五個(gè)重要因素:UNIX操作系統(tǒng)、Minix操作系統(tǒng)、GNU(GNU is Not Unix)計(jì)劃、POSIX(Portable Operating System Interface of UNIX)標(biāo)準(zhǔn)和Internet網(wǎng)絡(luò)。
UNIX操作系統(tǒng)是美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson和Dennis Ritchie于1969年夏在PDP7小型計(jì)算機(jī)上開發(fā)的一個(gè)分時(shí)操作系統(tǒng)。當(dāng)時(shí)使用的是BCPL(Basic Combined Programming Language)語(yǔ)言,后經(jīng)Dennis Ritchie于1973年用移植性很強(qiáng)的C語(yǔ)言進(jìn)行了改寫,使得UNIX系統(tǒng)在大專院校得到了推廣。但從版本7后,起源于貝爾實(shí)驗(yàn)室的AT&T公司為了商業(yè)利益,禁止在課程中研究UNIX源代碼,使得UNIX的應(yīng)用范圍和用戶群體大為縮減。
1987年,荷蘭Amsterdam的Vrije大學(xué)教授Andrew Tanenbaum為了方便教學(xué),自己設(shè)計(jì)編寫了一個(gè)在用戶看來與UNIX完全兼容,但有全新內(nèi)核的操作系統(tǒng)Minix。Minix主要是為教師進(jìn)行教學(xué)研究和學(xué)生學(xué)習(xí)操作系統(tǒng)原理的目的而設(shè)計(jì)。為了能讓學(xué)生在一個(gè)學(xué)期內(nèi)就能學(xué)完并易于理解,Andrew Tanenbaum教授沒有接納全世界許多人士對(duì)Minix進(jìn)行擴(kuò)展的要求,而堅(jiān)定保持了Minix小型化的特點(diǎn)。
GNU和FSF(Free Software Foundation)由Richard Stallman于1984年創(chuàng)辦,旨在開發(fā)一個(gè)類似UNIX,并且是開放源代碼,完全免費(fèi)的完整操作系統(tǒng),其中,GNU是GNU is Not Unix的遞歸縮寫。到20世紀(jì)90年代初,GNU已經(jīng)開發(fā)出許多高質(zhì)量的自由軟件,其中包括著名的Emacs編輯系統(tǒng)、BASH Shell程序、GCC系列編譯程序、GDB調(diào)試程序等。這些軟件為L(zhǎng)inux操作系統(tǒng)的開發(fā)創(chuàng)造了一個(gè)合適的環(huán)境,是Linux能夠誕生的基礎(chǔ)之一。以至于目前許多人將Linux操作系統(tǒng)稱為GNU/Linux操作系統(tǒng)。
1991年初,芬蘭University of Helsinki的學(xué)生Linus Torvalds開始在一臺(tái)386SX兼容微機(jī)上學(xué)習(xí)Minix操作系統(tǒng)。通過學(xué)習(xí),他不再滿意Minix系統(tǒng)的現(xiàn)有性能,并開始醞釀開發(fā)一個(gè)新的免費(fèi)操作系統(tǒng)。從1991年的4月開始,Linus幾乎花了全部時(shí)間研究386-Minix系統(tǒng),并且嘗試著移植GNU的軟件(GCC、BASH、GDB等)到該系統(tǒng)上。到了1991年的10月5日,Linus在comp.os.minix新聞組上發(fā)布消息,正式向外宣布Linux內(nèi)核系統(tǒng)的誕生(Free minix-like kernel sources for 386-AT)。這段消息可以稱為L(zhǎng)inux的誕生宣言,并且一直廣為流傳。因此,10月5日對(duì)Linux社區(qū)來說是一個(gè)特殊的日子,許多后來的Linux新版本的發(fā)布時(shí)間都選擇了這個(gè)日子。
POSIX(Portable Operating System Interface for Computing Systems)是由IEEE(Institute of Electrical and Electronics Engineers)和ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)開發(fā)的一簇標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)基于現(xiàn)有的UNIX實(shí)踐和經(jīng)驗(yàn),描述了操作系統(tǒng)的調(diào)用服務(wù)接口,用于保證編寫的應(yīng)用程序源代碼可以在多種操作系統(tǒng)上移植運(yùn)行。20世紀(jì)90年代初,POSIX標(biāo)準(zhǔn)的制定處在最后投票階段的時(shí)間也是Linux剛剛起步的時(shí)間,使得POSIX這個(gè)為UNIX制定的標(biāo)準(zhǔn),成了指導(dǎo)Linux開發(fā)的規(guī)范,導(dǎo)致Linux系統(tǒng)與UNIX系統(tǒng)的高度兼容。
伴隨著Internet的發(fā)展,在Linus本人和許多自由軟件開發(fā)者努力下,Linux不斷完善,使越來越多的人認(rèn)識(shí)Linux,越來越多的人使用Linux。直到現(xiàn)在,Linus仍然在從事Linux內(nèi)核開發(fā)與維護(hù)工作。2014年,Linus獲得IEEE-CS(Computer Society)計(jì)算機(jī)先驅(qū)獎(jiǎng)(For pioneering development of the Linux kernel using the open-source approach)。
- pcDuino開發(fā)實(shí)戰(zhàn)
- Linux網(wǎng)絡(luò)操作系統(tǒng)與實(shí)訓(xùn)(第三版)
- SharePoint 2013 WCM Advanced Cookbook
- Windows Server 2012 Hyper-V Cookbook
- Linux操作系統(tǒng)應(yīng)用編程
- Moodle 3.x Teaching Techniques(Third Edition)
- Instant Optimizing Embedded Systems using Busybox
- 移動(dòng)應(yīng)用UI設(shè)計(jì)模式(第2版)
- Kali Linux 2018:Windows Penetration Testing
- 分布式高可用架構(gòu)之道
- OpenHarmony開發(fā)與實(shí)踐:基于紅莓RK2206開發(fā)板
- 電腦辦公(Windows10+Office2016)從新手到高手
- Windows Azure實(shí)戰(zhàn)
- UNIX傳奇:歷史與回憶
- Docker for Developers