1.1 Linux是什麼
- 是操做系統(內核(硬件驅動+資源管理) + 接口)部分(但正真老說Linux distribution纔算是一個完整的操做系統)。
一、Linux能夠在X86架構的計算機上運行。緣由是:開源,可修改爲各類機器上運行的版本,具備可移植性;Windows不開源。
二、Linux的內核是由Torvalds實現的
1.2 Linux以前Unix歷史
- Multics系統
一、成員:Bell、MIT(麻省理工學院)、GE(通用電氣公司)
二、任務:30臺終端的分時操做系統擴展到300臺
三、結果:失敗了。
- Ken Thompson——UNIX的原型
一、使用的是彙編語言
二、組成部分:內核程序 + 內核工具 + 小型的文件系統
- UNIX的正式誕生——Ritchie
一、將B語言改進成C語言、實現了一個正式的Unix內核
二、因爲各類緣由。UNIX受版權保護,內核的源碼不公開了,可是UNIX的架構仍是能夠共享的
- x86架構的Minix內核誕生
- GNU項目與FSF基金會成立
一、發起人:Stallman史託曼
二、提倡軟件自由、分享,而不是專利,但一我的力量薄弱,須要團隊;(自由軟件:將源碼與軟件一塊兒分享)
三、當時GNU目的:建立一個自由、開放的UNIX操做系統(以前有的只能算是內核吧),可是很難,Stallman是這樣作的:在Unix的基礎上寫一些小軟件,並開源——C語言編輯器Emacs——GCC編譯器(GNU C Compiler)——GNU C函數庫 + 操做操做系統的接口bash shell
四、自由軟件版權(GPL:general public license):一個軟件授予GPL版權申明以後,就是自由軟件了;
五、自由軟件:複製、修改、發行
1.2 Torvalds的Linux開發
2.1 Minix
託瓦茲,對Minix進行研究學到了不少關於內核程序涉及的相關知識;linux
2.2 對386硬件的多任務測試 https://blog.csdn.net/robot__cat/article/details/51155250
- 早期的我的計算機不具備「多任務處理」能力(併發)
(多任務處理:理論上一個CPU在一個時間點只能運行一個程序,如何讓兩個以上的程序同時執行呢?例如,電腦上同時打開多個軟件,就表示CPU要同時處理這兩個任務。實現方法:程序切換,每一個程序執行固定的時間後切換。)
2.5 Linux的內核版本
硬件是x38六、參照Minix(也能夠在x386機器上運行,可是怎麼說呢,功能不強大,n內核功能不完善),實現了Linux,吉祥物是企鵝shell
- Linux的內核版本與distribution版本不同,通常說Linux的版本指的是Linux內核版本(Linux自己只是個內核,而不是操做系統),而distribution版本纔是一個完整的操做系統。
2.6 Linux distribution
- Linux其實就是一個操做系統最底層的內核以及提供的內核工具(因爲開源,實現的內核功能很完善,可以在)。
- 可徹底安裝的Linux發佈套件Linux distrubution:Kernel + Softwares + Tools
- 各個廠商實現的Linux distribution都有一個統一的標準:Red Hat、SUSE、Ubuntu、CentOS
1.3 Linux的特點
3.2 Linux的優缺點
- 優勢
·一、穩定的系統:Unix很穩定,Linux是基於Unix的理念實現的,Linux也穩定;
二、多任務、多用戶:Windows是單用戶、多任務
三、Linux適合嵌入式開發:小,只有幾百KB
3.3 關於受權
- 開源
- 閉源:僅僅推出可執行的二進制程序