『壹』 linux Kernel是什麼
Linux kernel 譯為 內核,其基礎為linux平台,linux為C語言編寫的內核,基於此內核又衍生出了具體的Red hat linux 、open suse linux等具體的操作系統,一套基於Linux內核的完整操作系統叫作Linux操作系統,或是GNU/Linux。
對於linux kernel,先看它的目錄結構,這里只挑幾個重要的說明。
arch 包括所有和體系結構相關的核心代碼。從裡面我們能看到arm、alpha、i386、mips、ia64這些文件夾,每種處理器架構都有不一樣的硬體模塊,這里就是要針對不同的架構進行不同的初始化。
init包含內核的初始化代碼(不是系統的引導代碼),其中有一個main.c文件,用於執行內核所有的初始化工作(包括初始化內存、初始化所有硬體、創建第一個任務task0,設置中斷允許標志位),然後移到用戶模式調用fork()函數創建新進程,並在控制台運行shell。
kernel 包含內核管理的核心代碼,瞅這名就知道,這貨是個重量級目錄,所有的處理任務的程序,包括fork、exit、調度程序(sched.c)以及一些系統調用(sys.c)、信號處理(signal.c)、時間函數(time.c),還有中斷異常處理、電源管理等等一系列調用關系錯綜復雜的函數。
mm 包含所有的內存管理代碼。其中包括實現進程的邏輯地址到實際物理地址的映射,實現分頁、分段機制,實現內存頁面異常中斷處理程序等。
drivers包含系統中所有的設備驅動程序,比如什麼cdrom啊bluetooth啊pci、i2c這些。
ipc 包含核心進程間的通信代碼。
fs 存放Linux支持的文件系統代碼,裡面有ext2、ext3、ext4、fat、ntfs等等一堆目錄。
net 內核的網路部分代碼,其每個子目錄對應於網路的一個方面,比如ieee80211、ipv4、ipv6這些目錄。
lib 包含核心的庫代碼,什麼strcpy、sprintf、sort這些函數都在裡面。更多Linux知識可參考《Linux就該這么學》。
『貳』 linux 的rpm包有 glibc和linux 兩種,有什麼區別呀!
linux的rpm發行包,一般會在rpm文件名中說明編譯這個rpm的環境,安裝rpm的時候也要找到對應自己操作系統環境的包來安裝。
1:如果rpm包名裡面有linux並且指定了linux版本,說明這個rpm包就是在這個linux版本下編譯的,如果你的linux版本匹配,就可以安裝。
2:如果rpm包名裡面有glibc並且指定了glibc版本,說明這個rpm包需要在指定的glibc版本環境中安裝,glibc是linux下的基礎庫。
3:這2種包不一定是互斥的,只要符合環境要求,都可以安裝。
『叄』 linux kernel的四庫全書是哪四個
Linux Kernel 四庫全書
1. Linux內核設計與實現 Edition 2
2. Linux設備驅動 Edition 3
3. Linux內核源代碼情景分析
4. 深入理解Linux內核(第三版)
5. LINUX KERNEL技術手冊;LINUX KERNEL in a nutshell;
Linux內核驅動和應用程序開發QQ群:4640675,歡迎交流討論;
Linux內核設計與實現
原書名: Linux Kernel Development (2nd Edition)
原出版社:Novell Press
作者: (美)Robert Love
譯者: 陳莉君 康華 張波
出版社:機械工業出版社
ISBN:7111178653
出版日期:2006 年1月
頁碼:289
Linux Device Drivers, 3rd Edition
By Jonathan Corbet, Greg Kroah-Hartman, Alessandro Rubini
Publisher:O'Reilly
Pub Date:February 2005
Pages: 636
LINUX設備驅動程序(第3版)
譯者:魏永明,耿岳,鍾書毅
出版社: 中國電力出版社;
出版日期:2006年1月1日
平裝: 569頁
LINUX內核源代碼情景分析
作者:毛德操,胡希明
出版社: 浙江大學出版社;
出版日期:2001年9月1日
平裝: 841頁
ISBN: 9787308027038
深入理解Linux內核
Understanding the Linux Kernel, 3rd Edition
By Daniel P. Bovet, Marco Cesati
Publisher: O'Reilly
Pub Date: November 2005
ISBN: 0-596-00565-2
Pages: 942
作者美)博韋,西斯特著,陳莉君,張瓊聲,張宏偉 譯
出版社:中國電力出版社
出版時間:
出版時間:2007-9-1
ISBN: 9787508353944
LINUX KERNEL技術手冊;
LINUX KERNEL in a nutshell;
作者:(美)哈特曼著
出 版 社:東南大學出版社
出版時間:2007-6-1
頁數:182
I S B N:9787564107420
『肆』 什麼是linux內核
Linux是由Linus Torvalds開發的類UNIX的操作系統,Linux主要特點是開源的,因此我們可以免費使用來當做伺服器。
Linux嚴格分為兩個含義。
1.廣泛的Linux是指Linux發行版
2.狹義的Linux是指Linux內核
Linux內核是操作系統的基礎,介於硬體和軟體之間,並且內核位於操作系統中,操作系統將在硬體和軟體之間進行調解,Linux內核是操作系統核心部分的功能。
二:內核的基本性能
1.流程管理
在Linux內核中,程序的執行狀態以進程為單位進行管理。此外,內核為每個進程准備一個名為task_stract結構的數據結構。
2.進程調度程序
可執行狀態等待哪個進程以哪個順序執行,由於基本上不可能運行比CPU數量更多的進程,因此運行過程的效率非常重要。
3.內存管理
在Linux內核中,使用物理內存和虛擬內存管理數據。通過分配對應於物理存儲器的虛擬地址,而不是實際為每個進程分配物理存儲器地址,可以使用容量遠大於實際物理存儲器容量的存儲器。它使它成為可能。此外,由於每個進程都分配了自己的虛擬地址,因此每個進程的內存空間是獨立的,並且不會違反其他進程的內存。
3.文件系統
它以文件的形式提供存儲數據的訪問方法。所有數據都以文件的形式進行管理。/ Directory(根目錄)作為頂點,內核本身作為文件和目錄的集合存在。
『伍』 什麼是linux kernel有什麼作用
Linux內核(英語:Linux kernel)是一種開源的類Unix操作系統宏內核。
工作於平板電腦、智能手機及智能手錶的Android操作系統同樣通過Linux內核提供的服務完成自身功能。
一個計算機系統是一個硬體和軟體的共生體,它們互相依賴,不可分割。計算機的硬體,含有外圍設備、處理器、內存、硬碟和其他的電子設備組成計算機的發動機。但是沒有軟體來操作和控制它,自身是不能工作的。
完成這個控制工作的軟體就稱為操作系統,在Linux的術語中被稱為「內核」,也可以稱為「核心」。Linux內核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進程管理、文件系統、設備管理和驅動、網路通信,以及系統的初始化(引導)、系統調用等。
整個Linux操作系統家族基於該內核部署在傳統計算機平台(如個人計算機和伺服器,以Linux發行版的形式)和各種嵌入式平台,如路由器、無線接入點、專用小交換機、機頂盒、FTA接收器、智能電視、數字視頻錄像機、網路附加存儲(NAS)等。
工作於平板電腦、智能手機及智能手錶的Android操作系統同樣通過Linux內核提供的服務完成自身功能。盡管於桌面電腦的佔用率較低,基於Linux的操作系統統治了幾乎從移動設備到主機的其他全部領域。截至2017年11月,世界前500台最強的超級計算機全部使用Linux。
(5)linux內核基礎庫擴展閱讀:
編程語言
Linux是用C語言中的GCC版(這種C語言有對標准C進行擴展)寫的,還有幾個用匯編語言(用的是GCC的"AT&T風格")寫的目標架構短段。因為要支持擴展的C語言,GCC在很長的時間里是唯一一個能正確編譯Linux的編譯器。
有許多其他的語言用在一些方面上,主要集中在內核構建過程中(這里指從源代碼創建可引導鏡像)。包括Perl、Python和多種腳本語言。有一些驅動可能是用C++、Fortran或其他語言寫的,但是這樣是強烈不建議的。
編譯器兼容性
GCC是Linux內核源代碼的預設編譯器。在2004年,Intel主張通過修改內核,以便Intel C++編譯器能正確編譯內核。在2009年,有通過修改內核2.6.22版而成功編譯的報告(並帶來平均8-9%性能增長)。
自從2010年,已經開始進行使用Clang建造Linux內核的努力,Clang是一個可作為替代的C語言編譯器;截止2014年4月12日,官方內核幾乎可以完全用Clang編譯。致力於這個目標的計劃叫做「LLVMLinux」,得名於Clang所基於的LLVM編譯器下部構造。
LLVMLinux不意圖復制Linux內核或LLVM,因此它是由最終提交給上游計劃的補丁構成的一個元計劃。使Linux內核可以用Clang編譯最大的好處是比GCC有更快的編譯速度,內核開發者可以得益於由此而來的更快的工作流程
『陸』 linux內核,驅動,應用程三者的概念和之間的關系
首先,要理解操作系統的概念,操作系統是用戶和硬體之間的一層媒介程序。不管是Linux還是回Windows或者安卓答、IOS,它的主要功能有兩點:
1、有效管理硬體。
2、方便用戶操作。
其次,Linux內核是Linux系統的核心程序,主要完成任務調度、內存管理、IO設備管理等等功能,主要目的是為了應用程序提供一個穩定良好的運行環境,這是一個基礎。
再次,驅動程序是操作系統有效管理硬體的一個途徑。應用程序是方便用戶操作提供的程序,比如Shell,Linux中的bash shell以及KDE、gnome等圖形Shell都是應用程序。 你可以簡單的理解為驅動程序實現了操作系統對硬體的有效管理,應用程序實現了操作系統方便用戶操作的目的。
最後,從編程角度來看,Linux內核就是一個調用庫,應用程序通過調用Linux提供的API函數來實現操作,Linux內核通過與驅動通信實現對硬體的有效管理。具體的編程細節,需要自己在實踐編程中體會。這是一個整體的描述。