linux發展史

通過本篇文章,讀者可以了解Linux的基本概念、歷史、發展情況;

首先,我們通過簡單的介紹Linux,了解什么是linux以及它的發展背景;


前言操作系統介紹

內核負責控制硬件資源分配,而如果只有內核,則只能讓計算機硬件運行,而不能有任何功能,因此需要系統調用提供給開發者使用,從而開發應用程序;

內核能夠控制硬件,比如:讓CPU可以運算、讓硬盤可以讀寫數據等;只有內核的話,只能讓計算機運行,但是我們不能控制計算機;

而系統調用是操作系統提供給開發者的調用接口;

任何硬件都不會默認就被操作系統控制,而需要開發商根據操作系統提供的接口開發驅動程序,只有安裝了驅動程序才能夠控制硬件設備;

一、Linux介紹


1.Linux簡單介紹


Linux核心理念:一切皆文件;

Linux:是一個內核,而不是一個操作系統;因此我們平常說的“操作系統用的是Windows、Mac還是Linux?。俊笔清e誤的,Ubuntu、Fedora等才是操作系統的名字,他們都使用Linux內核;

1991年最初由Linus Torvalds針對386(個人計算機)開發;Linus Torvalds那時是芬蘭的一名研究生;

Unix Like:很像Unix的操作系統;

蘋果電腦為什么現在能裝Windows操作系統?因為蘋果使用了Intel的X86架構,而windows也是針對此架構的,因此按理論來說一般的PC上也可以安裝mac操作系統;

Linux的吉祥物是企鵝(英文名:Tux),因為Torvalds在小時候被企鵝咬過,因此印象非常深刻;

linux發展史

Unix和Linux的代碼是由90%的C語言和10%的匯編組成,因此只需要稍加修改,就能移植到其他硬件上;

2.Linux的優缺點


Linux的優點


1.開放的學習環境;

2.漏洞快速修補;

3.因為內核只有幾百k,因此適合嵌入式系統;

Linux的缺點


1.有些專業軟件沒有Linux版本;

3.Linux發展史

 

Unix是用90%的C語言和10%匯編語言混合編寫的,因此對于硬件平臺的移植時還是需要更改代碼,因此各個公司都推出了針對自家機型的Unix系統;

到了AT&T System V第七版時,終于推出了針對X86的Unix,因此終于能夠在個人計算機上安裝Unix,但是有一條規定:“不能向學生公開源碼”,因此Tanebaum教授就不看Unix源碼,編寫了兼容Unix的針對X86的Minix操作系統;

因為Minix只是教學使用,因此功能并不
強,因此Torvalds利用GNU的bash當做開發環境,gcc當做編譯工具,編寫了Linux內核-v0.02,但是一開始Linux并不能兼容
Unix,即Unix上跑的應用程序不能在Linux上跑,即應用程序與內核之間的接口不一致,因為Unix是遵循POSIX規范的,因此
Torvalds修改了Linux,并遵循POSIX(Portable Operating System
Interface,他規范了應用程序與內核的接口規范);

一開始Linux只適用于386,后來經過全世界的網友的幫助,最終能夠兼容多種硬件;

linux發展史

4.Linux內核版本號介紹


命令:uname -r 

3.2.0-23

主版本.次版本.釋放版本-修改版本

Linux的內核版本分為穩定版本和開發版本;

此版本如果是偶數,則為穩定版本,如果是奇數,則為開發版本,內核開發人員使用;

釋放版本為對次版本的改動,即加入一些功能;

修改版本為編譯的次數,每次加一;

二、Linux歷史

20世紀60年代,MIT開發分時操作系統(Compatible TIme-Sharing System),支持30臺終端訪問主機;

    ~主機負責運算,而終端負責輸入輸出;

linux發展史

1965年,Bell實驗室、MIT、GE(通用電氣公司)準備開發Multics系統,為了同時支持300個終端訪問主機,但是1969年失敗了;

    ~剛開始并沒有鼠標、鍵盤,輸入設備只有卡片機,因此如果要測試某個程序,則需要將讀卡紙插入卡片機,如果有錯誤,還需要重新來過;

    ~Multics:Multiplexed Information and Computing Service

1969年,Ken Thompson(C語言之父)利用匯編語言開發了FIle Server System(Unics,即Unix的原型)

    ~因為匯編語言對于硬件的依賴性,因此只能針對特定硬件;

    ~只是為了移植一款“太空旅游”的游戲;

1973年,Dennis Ritchie和Ken Thompson發明了C語言,而后寫出了Unix的內核

    ~將B語言改成C語言,由此產生了C語言之父;

    ~90%的代碼是C語言寫的,10%的代碼用匯編寫的,因此移植時只要修改那10%的代碼即可;

1977年,Berkeley大學的Bill Joy針對他的機器修改Unix源碼,稱為BSD(Berkeley Software Distribution)

      Bill Joy是Sun公司的創始人;

1979年,Unix發布System V,用于個人計算機;

1984年,因為Unix規定:“不能對學生提供源碼”,Tanenbaum老師自己編寫兼容于Unix的Minix,用于教學;

1984年,Stallman開始GNU(GNU's Not Unix)項目,創辦FSF(Free Software Foundation)基金會;

      產品:GCC、Emacs、Bash Shell、GLIBC;

      倡導“自由軟件”;

      GNU的軟件缺乏一個開放的平臺運行,只能在Unix上運行;

      自由軟件指用戶可以對軟件做任何修改,甚至再發行,但是始終要掛著GPL的版權;

      自由軟件是可以賣的,但是不能只賣軟件,而是賣服務、手冊等;

1985年,為了避免GNU開發的自由軟件被其他人用作專利軟件,因此創建GPL(General Public License)版權聲明;

1988年,MIT為了開發GUI,成立了XFree86的組織; 

1991年,芬蘭赫爾辛基大學的研究生Linus Torvalds基于gcc、bash開發了針對386機器的Lniux內核; 

1994年,Torvalds發布Linux-v1.0;

1996年,Torvalds發布Linux-v2.0,確定了Linux的吉祥物:企鵝; 

三、Linux重要人物


1.Ken Thompson:C語言之父和Unix之父

linux發展史

2.Dennis Ritchie:C語言之父和Unix之父;

linux發展史

3.Stallman:著名黑客,GNU創始人,開發了Emacs、gcc、bash shell;

linux發展史

4.Bill Joy:BSD開發者;

linux發展史

5.Tanenbaum:Minix開發者;

linux發展史

6.Linus Torvalds:Linux之父,芬蘭赫爾辛基大學;

linux發展史

以上,是個人對Linux發展史的資料整合;

歡迎補充!




原創文章,作者:Zero,如若轉載,請注明出處:http://www.www58058.com/51008

(0)
ZeroZero
上一篇 2016-10-14
下一篇 2016-10-14

相關推薦

  • net25-第17周作業

    1、結合圖形描述LVS的工作原理; lvs-nat模型,相當于多目標的dnat,通過將請求報文中的目標地址和目標端口修改為調度出的rs的rip和port來實現轉發,整個請求如下: cip -> vip -> vs(nat轉換) -> rip  請求 rip -> dip(默認網關) -> vs(nat轉換) ->…

    Linux干貨 2017-05-15
  • Linux 啟動流程

    Linux啟動流程 POST–>Boot Sequence–>MBR–>Grub–>Kernel(initramfs)–>rootfs–chroot(根切換)–>/sbin/init–>RunLevel–&gt…

    Linux干貨 2016-06-09
  • 文件查找命令之locate、find簡析

    文件查找命令之locate、find簡析    在工作中經常會在文件系統上查找符合條件的文件,今天學習了文件查找命令,在此簡析locate和find兩個文件查找工具。 一、雜項知識整理 1、find的選項-user的實質是通過UID查找,如果兩個用戶的UID相同,其會顯示兩個用戶的所有符合條件的文件。 2、查找時-name "*…

    Linux干貨 2016-08-15
  • Linux文件類型

    Linux文件類型常見的有:普通文件、目錄文件、字符設備文件和塊設備文件、符號鏈接文件等。 1、普通文件,顏色為白色 純文本檔 二進制文件 數據格式文件 2、目錄文件,顏色為藍色 當我們在某個目錄下執行,看到有類似 drwxr-xr-x ,這樣的文件就是目錄,目錄在Linux是一個比較特殊的文件。首字符是【d】字母。 3、字符設備和塊設備…

    Linux干貨 2016-10-16
  • Jerry的學習計劃/目標/宣言

    學習計劃 按照班主任給的計劃進度來,多動手做實驗。 目標 勇敢做自己,做更好的自己 宣言 能不能成為高富帥,日后是否能愉快地裝逼,就看這半年!

    Linux干貨 2016-10-24
  • N26-第十三周

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程)  1)共享名為shared,工作組為magedu;  2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名;  3)添加samb…

    Linux干貨 2017-06-01
欧美性久久久久