linux發展簡史

前言

為什么要寫這么一篇文章呢?我發現我雖然知道linux的一些知識,卻不知道linux方面的歷史,所以今天寫一篇關于linux方面歷史的文章,用來總結這段時間自己所學習到的關于linux的歷史與linux的知識。關于說起linux的歷史,就不得不介紹計算機的歷史,與其他相關操作系統的一些歷史,所以本文中的會簡單介紹Linux與其他操作系統的關系。主要講linux的發展和歷程。

一、硬件與軟件

1.硬件

說道操作系統,就不得不說說計算機,計算機的歷史也不短了,其中第一臺計算機在

1946年誕生于賓夕法尼亞州,占地170平米,重量達到30噸,名字叫做ENIAC(electronic numerical integrator and calculator),是個大胖子,當然主要作用是為美國國防部做軍事計算。也是第一代計算機,說道計算機的年代,在這里就要做一個劃分了

第一代計算機(1946-1957)電子管時代

第二代計算機(1958-1964)晶體管時代

第三代計算機(1965-1970) 集成電路時代

第四代計算機(1971以后) 大規模集成電路時代

當然不管幾待計算機都追尋以一個體系,即馮諾依曼體系。

3.png

當然計算機系統是由兩大基本部件構成的,即軟件和硬件,剛剛我們說完了硬件,現在我們該說說軟件了

blob.png

2.軟件

軟件是一系列按照特定順序組織的計算機數據和指令的集合。一般來講軟件被劃分為系統軟件、應用軟件和介于這兩者之間的中間件。

如上圖計算機軟件分為系統軟件和應用軟件,系統軟件便是運行在硬件基礎上,而應用軟件則是運行在系統軟件上的

圖片1.png

二、linux操作系統

操作系統,英語Operating System簡稱為OS。說道操作系統就需要先講一講Unix,UNIX操作系統(尤尼斯),是一個強大的多用戶、多任務操作系統,支持多種處理器架構,按照操作系統的分類,屬于分時操作系統,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的貝爾實驗室開發。而linux就是一款類Unix系統。至于發展史就不講太多了,畢竟這是講述linux發展簡史的文章,若是有興趣的話可以自行找一找關于這方面的文章。

1.認知

其實普遍的人對于linux都有一個錯誤的認知,就是如我標題一樣linux操作系統,其實linux不是操作系統,linux是一款內核,實際我們要將其分開:、Linux 內核、GNU 項目及其他項目的軟件、發行版制作者進行集成后發布的工作。當然,但人們已經習慣了用Linux來形容整個基于Linux內核,并且使用GNU 工程各種工具和數據庫的操作系統。

2.linux的創始人

林納斯·本納第克特·托瓦茲(Linus Benedict Torvalds, 1969年~ ),著名的電腦程序員、黑客。Linux內核的發明人及該計劃的合作者。托瓦茲利用個人時間及器材創造出了這套當今全球最流行的操作系統(作業系統)內核之一?,F受聘于開放源代碼開發實驗室(OSDL:Open Source Development Labs, Inc),全力開發Linux內核。

4.png

3.linux的發展歷史(此內容源于百度百科)

Linux操作系統的誕生、發展和成長過程始終依賴著五個重要支柱:UNIX 操作系統、MINIX 操作系統、GNU計劃、POSIX 標準和Internet 網絡。。

1981 年IBM公司推出微型計算機IBM PC。

1991年,GNU計劃已經開發出了許多工具軟件,最受期盼的GNU C編譯器已經出現,GNU的操作系統核心HURD一直處于實驗階段,沒有任何可用性,實質上也沒能開發出完整的GNU操作系統,但是GNU奠定了Linux用戶基礎和開發環境。

1991年初,林納斯·托瓦茲開始在一臺386sx兼容微機上學習minix操作系統。1991年4月,林納斯·托瓦茲開始醞釀并著手編制自己的操作系統。

1991 年4 月13 日在comp.os.minix 上發布說自己已經成功地將bash 移植到了minix 上,而且已經愛不釋手、不能離開這個shell軟件了。

1991年7月3日,第一個與Linux有關的消息是在comp.os.minix上發布的(當然此時還不存在Linux這個名稱,當時林納斯·托瓦茲的腦子里想的可能是FREAX,FREAX的英文含義是怪誕的、怪物、異想天開等)。

1991年的10月5日,林納斯·托瓦茲在comp.os.minix新聞組上發布消息,正式向外宣布Linux內核的誕生(Freeminix-like kernel sources for 386-AT)。

1993年,大約有100余名程序員參與了Linux內核代碼編寫/修改工作,其中核心組由5人組成,此時Linux 0.99的代碼大約有十萬行,用戶大約有10萬左右。

1994年3月,Linux1.0發布,代碼量17萬行,當時是按照完全自由免費的協議發布,隨后正式采用GPL協議。

1995年1月,Bob Young創辦了RedHat(小紅帽),以GNU/Linux為核心,集成了400多個源代碼開放的程序模塊,搞出了一種冠以品牌的Linux,即RedHat Linux,稱為Linux"發行版",在市場上出售。這在經營模式上是一種創舉。

1996年6月,Linux 2.0內核發布,此內核有大約40萬行代碼,并可以支持多個處理器。此時的Linux 已經進入了實用階段,全球大約有350萬人使用。

1998年2月,以Eric Raymond為首的一批年輕的"老牛羚骨干分子"終于認識到GNU/Linux體系的產業化道路的本質,并非是什么自由哲學,而是市場競爭的驅動,創辦了"Open Source Intiative"(開放源代碼促進會)"復興"的大旗,在互聯網世界里展開了一場歷史性的Linux產業化運動。

2001年1月,Linux 2.4發布,它進一步地提升了SMP系統的擴展性,同時它也集成了很多用于支持桌面系統的特性:USB,PC卡(PCMCIA)的支持,內置的即插即用,等等功能。

2003年12月,Linux 2.6版內核發布,相對于2.4版內核2.6在對系統的支持都有很大的變化。

2004年的第1月,SuSE嫁到了Novell,SCO繼續頂著罵名四處強行“化緣”, Asianux, MandrakeSoft也在五年中首次宣布季度贏利。3月,SGI宣布成功實現了Linux操作系統支持256個Itanium 2處理器

4.Linux哲學思想

4.1.一切都是一個文件(包括硬件)

4.2.小型,單一用途的程序

4.3.鏈接程序,共同完成復雜的任務

4.4.避免令人困惑的用戶界面

4.5.配置數據存儲在文本中

5.Linux的特點

Linux支持多用戶,各個用戶對于自己的文件設備有自己特殊的權利,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時并獨立地運行。

Linux可以運行在多種硬件平臺上,如具有x86、680×0、SPARC、Alpha等處理器的平臺。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel 64位芯片架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。

6.Linux的發行版本

slackware:SUSE Linux Enterprise Server (SLES)

opensuse桌面

debian:ubuntu,mint

redhat:rhel: redhatenterprise linux

每18個月發行一個新版本

CentOS:兼容rhel的格式

中標麒麟:中標軟件

Fedora:每6個月發行一個新版本

ArchLinux:輕量簡潔

Gentoo:極致性能,不提供傳統意義的安裝程序

LFS: Linux From scratch 自制Linux

Android: kernel+busybox(工具集)+java虛擬機

當然如果想要看到跟詳細的Linux發展版本及發展分支點擊下面的鏈接就好啦

http://futurist.se/gldt/

7.文件系統(此內容源于百度百科)

7.1.文件類型

普通文件(regular file):就是一般存取的文件,由ls -al顯示出來的屬性中,第一個屬性為 [-],例如 [-rwxrwxrwx]。另外,依照文件的內容,又大致可以分為:

1、純文本文件(ASCII):這是Unix系統中最多的一種文件類型,之所以稱為純文本文件,是因為內容可以直接讀到的數據,例如數字、字母等等。設 置文件幾乎都屬于這種文件類型。舉例來說,使用命令“cat ~/.bashrc”就可以看到該文件的內容(cat是將文件內容讀出來)。

2、二進制文件(binary):系統其實僅認識且可以執行二進制文件(binary file)。Linux中的可執行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來說,命令cat就是一個二進制文件。

3、數據格式的文件(data):有些程序在運行過程中,會讀取某些特定格式的文件,那些特定格式的文件可以稱為數據文件(data file)。舉例來說,Linux在用戶登入時,都會將登錄數據記錄在 /var/log/wtmp文件內,該文件是一個數據文件,它能通過last命令讀出來。但使用cat時,會讀出亂碼。因為它是屬于一種特殊格式的文件。

目錄文件(directory):就是目錄,第一個屬性為 [d],例如 [drwxrwxrwx]。

連接文件(link):類似Windows下面的快捷方式。第一個屬性為 [l],例如 [lrwxrwxrwx]。

設備與設備文件(device):與系統外設及存儲等相關的一些文件,通常都集中在 /dev目錄。通常又分為兩種:

塊設備文件:就是存儲數據以供系統存取的接口設備,簡單而言就是硬盤。例如一號硬盤的代碼是 /dev/hda1等文件。第一個屬性為 [b]。

字符設備文件:即串行端口的接口設備,例如鍵盤、鼠標等等。第一個屬性為 [c]。

套接字(sockets):這類文件通常用在網絡數據連接??梢詥右粋€程序來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。第一個屬性為 [s],最常在 /var/run目錄中看到這種文件類型。

管道(FIFO,pipe):FIFO也是一種特殊的文件類型,它主要的目的是,解決多個程序同時存取一個文件所造成的錯誤。FIFO是first-in-first-out(先進先出)的縮寫。第一個屬性為 [p]。

7.2.文件結構

/:根目錄,所有的目錄、文件、設備都在/之下,/就是Linux文件系統的組織者,也是最上級的領導者。

/bin:bin 就是二進制(binary)英文縮寫。在一般的系統當中,都可以在這個目錄下找到linux常用的命令。系統所需要的那些命令位于此目錄。

/boot:Linux的內核及引導系統程序所需要的文件目錄,比如 vmlinuz initrd.img 文件都位于這個目錄中。在一般情況下,GRUB或LILO系統引導管理器也位于這個目錄。

/cdrom:這個目錄在剛剛安裝系統的時候是空的。可以將光驅文件系統掛在這個目錄下。例如:mount /dev/cdrom /cdrom

/dev:dev 是設備(device)的英文縮寫。這個目錄對所有的用戶都十分重要。因為在這個目錄中包含了所有linux系統中使用的外部設備。但是這里并不是放的外部設備的驅動程序。這一點和常用的windows,dos操作系統不一樣。它實際上是一個訪問這些外部設備的端口??梢苑浅7奖愕厝ピL問這些外部設備,和訪問一個文件,一個目錄沒有任何區別。

/etc:etc這個目錄是linux系統中最重要的目錄之一。在這個目錄下存放了系統管理時要用到的各種配置文件和子目錄。要用到的網絡配置文件,文件系統,x系統配置文件,設備配置信息,設置用戶信息等都在這個目錄下。

/home:如果建立一個用戶,用戶名是"xx",那么在/home目錄下就有一個對應的/home/xx路徑,用來存放用戶的主目錄。

/lib:lib是庫(library)英文縮寫。這個目錄是用來存放系統動態連接共享庫的。幾乎所有的應用程序都會用到這個目錄下的共享庫。因此,千萬不要輕易對這個目錄進行什么操作,一旦發生問題,系統就不能工作了。

/lost+found:在ext2或ext3文件系統中,當系統意外崩潰或機器意外關機,而產生一些文件碎片放在這里。當系統啟動的過程中fsck工具會檢查這里,并修復已經損壞的文件系統。有時系統發生問題,有很多的文件被移到這個目錄中,可能會用手工的方式來修復,或移到文件到原來的位置上。

/mnt:這個目錄一般是用于存放掛載儲存設備的掛載目錄的,比如有cdrom等目錄??梢詤⒖?etc/fstab的定義。

/media:有些linux的發行版使用這個目錄來掛載那些usb接口的移動硬盤(包括U盤)、CD/DVD驅動器等等。

/opt:這里主要存放那些可選的程序。

/proc:可以在這個目錄下獲取系統信息。這些信息是在內存中,由系統自己產生的。

/root:Linux超級權限用戶root的家目錄。

/sbin:這個目錄是用來存放系統管理員的系統管理程序。大多是涉及系統管理的命令的存放,是超級權限用戶root的可執行命令存放地,普通用戶無權限執行這個目錄下的命令,這個目錄和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目錄是相似的,凡是目錄sbin中包含的都是root權限才能執行的。

/selinux :對SElinux的一些配置文件目錄,SElinux可以讓linux更加安全。

/srv 服務啟動后,所需訪問的數據目錄,舉個例子來說,www服務啟動讀取的網頁數據就可以放在/srv/www中

/tmp:臨時文件目錄,用來存放不同程序執行時產生的臨時文件。有時用戶運行程序的時候,會產生臨時文件。/tmp就用來存放臨時文件的。/var/tmp目錄和這個目錄相似。

/usr

這是linux系統中占用硬盤空間最大的目錄。用戶的很多應用程序和文件都存放在這個目錄下。在這個目錄下,可以找到那些不適合放在/bin或/etc目錄下的額外的工具

/usr/local:這里主要存放那些手動安裝的軟件,即不是通過“新立得”或apt-get安裝的軟件。它和/usr目錄具有相類似的目錄結構。讓軟件包管理器來管理/usr目錄,而把自定義的腳本(scripts)放到/usr/local目錄下面、。

/usr/share :系統共用的東西存放地,比如 /usr/share/fonts 是字體目錄,/usr/share/doc和/usr/share/man幫助文件。

/var:這個目錄的內容是經常變動的,看名字就知道,可以理解為vary的縮寫,/var下有/var/log 這是用來存放系統日志的目錄。/var/ www目錄是定義Apache服務器站點存放目錄;/var/lib 用來存放一些庫文件,比如MySQL的,以及MySQL數據庫的的存放地。

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

(0)
TianRandaiTianRandai
上一篇 2017-02-16 10:20
下一篇 2017-02-16 10:51

相關推薦

  • Shell腳本編程

    shell腳本編程 Bash為用戶提供了編程環境 相對于計算機而言,只能識別二進制文件,因此其所運行的其實是二進制指令,而這些二進制指令我們稱之為機器語言,屬于低級語言;程序員編程所使用的語言為高級語言,是人們比較容易理解的語言;因此,程序的執行過程:先把源碼程序翻譯成機器語言(生成可執行的文件),然后解釋執行。程序( 程序=指令+數據 )的編程風格有兩種:…

    2017-04-14
  • 絕對路徑和相對路徑及cd、pwd、mkdir、rmdir、tree命令

    絕對路徑和相對路徑及cd、pwd、mkdir、rmdir、tree命令詳解 一、絕對路徑和相對路徑(由下圖進行講解) 絕對路徑:由根目錄開始(/)開始的文件名或者目錄名稱,我們通過絕對路徑切換到/man1文件處,所經過的路徑。 cat /root/usr/share/man/man1 如下圖 相對路徑:相對于當前路徑,以當前所在位置的相對路徑。例如…

    Linux干貨 2016-08-02
  • N25-第三周博客作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@node1 ~]# who | cut -d" " -f1 | uniq (unknown) root 2、取出最后登錄到當前系統的用戶的相關信息…

    Linux干貨 2016-12-17
  • linux系統用戶管理和grep正則表達式練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@suywien ~]# cp -rpv /etc/skel/ /home/tuser1/ ‘/etc/skel/’ -> ‘/home/tuser1/’ ‘/etc/skel/.mozilla’ ->…

    Linux干貨 2018-03-25
  • Liunx 磁盤管理

    我們先來了解一下在Linux中磁盤的命名方式 命名:/dev/DEV_FILE    Sd :表示SCSI硬盤    Sda:表示SCSI硬盤中第一塊硬盤,b表示第二塊,以此類推 在Linux上次磁盤主要有兩種分區方式MBR和GPT MBR分區格式最多有4個分區,可以是4個主分區,或者3個主分區和1個擴展分區,第一個邏…

    2017-08-21
  • Linux網絡屬性配置—iproute命令家族

    ip命令: show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | route | netns  } ip  OBJECT: ip li…

    Linux干貨 2016-12-04
欧美性久久久久