Linux分爲四部分:Linux內核 , GNU工具 , 圖形化桌面環境 , 應用軟件
一、 Linux的核心是內核,控制着計算機的硬件與軟件,分配硬件,執行軟件。
內核包括:內存管理、文件管理、硬件設備管理、軟件管理四部分
1.內核使用硬盤的存儲空間完成虛擬內存,該控件稱爲交換空間
內存單元按組分爲很多塊,被稱爲頁面,頁面放在物理內存或交換空間,cpu需要執行交換空間的指令或數據時,會將該頁面與內存中的頁面進行置換
2.進程就是運行在特定數據集合上的程序,相同程序和不同數據會構成不同的進程,所有進程由內核管理,內核創建0號進程(init進程),init進程負責創建其他進程,
創建進程需要先給該進程分配內存。每個進程都有自己的數據區,程序執行在用戶數據區時稱爲用戶態,執行內核代碼所在空間稱爲內核態,用戶態代碼不能運行內核態代碼,必須通過內核的系統調用來執行內核態代碼。
開機啓動進程放在/etc/init.d文件中,由腳本控制開機啓動哪些應用
/etc.rcX.d目錄下入口來啓動腳本,X代表運行級。
不同的運行級啓動不同類型的應用,單用戶運行級爲1,標準啓動爲3,圖形化界面啓動爲5
3.內核代碼中加入了驅動程序代碼,驅動程序爲硬件和OS的中間件,進行交換數據
將驅動程序代碼加入內核可通過編譯進入或插入模塊的方式,前一種方式每次添加都會重新編譯,後者是動態鏈接式,更常用。
Linux有一種特殊的文件類型,是設備文件,將一個設備視爲一個文件。
設備文件分爲:字符型、塊型、網絡
Linux爲每個設備創建名爲節點的文件,與設備的通信通過節點完成。類似的設備用一個主設備號表示,每個設備都一個次設備號。
4.Linux支持多種文件類型,但是內核編譯時必須加入所需的文件系統
Linux內核採用虛擬文件系統作爲和每個文件系統交互的接口,便於用任何類型文件通信
二、GNU組織開發了移植了完整的UNIX工具到Linux。
1.GNU核心軟件(core utilities)分爲:處理文件工具、操作文本工具、管理進程工具。
2.shell是一種交互式工具,幫助用戶啓動程序、管理文件、管理進程。
用戶根據命令行提示符來輸入文本命令,從而解釋命令,在內核中執行命令。
shell包含一組命令,用戶輸入來進行操作。
多個shell命令依次執行時,可編寫shell腳本(1種可執行的文本文件),例如經常編譯上百個文件,可將編譯命令寫入一個文件,避免輸入大量的命令。
Linux默認爲bash shell
三、圖形環境
兩個要素決定了顯示效果,分別爲顯卡和顯示器,X window軟件時顯示圖形的核心部分,它直接與顯卡和顯示器通信、
絢麗的顯示建立在X Window上的桌面環境軟件,
1.有KDE桌面、GNIOME桌面、Unity桌面
四、Linux發行版
1.包含內核、圖形化界面、預編譯好的應用
2.例如Ubuntu、Fedoral、Debian,國產的有Deepin