深入理解linux內(nèi)核 Linux的內(nèi)核及其作用?
linux內(nèi)核深度解析?理解Linux內(nèi)核的最佳知識點:理解c語言對操作系統(tǒng)略知一二。熟悉一些相關(guān)算法了解計算機架構(gòu)Linux內(nèi)核的特性:結(jié)合unix操作系統(tǒng)的一些基本概念Linux內(nèi)核的任務(wù):1.從

linux內(nèi)核深度解析?
理解Linux內(nèi)核的最佳知識點:
理解c語言
對操作系統(tǒng)略知一二。
熟悉一些相關(guān)算法
了解計算機架構(gòu)
Linux內(nèi)核的特性:
結(jié)合unix操作系統(tǒng)的一些基本概念
Linux內(nèi)核的任務(wù):
1.從技術(shù)上講,內(nèi)核是硬件和軟件之間的中間層。其功能是將應(yīng)用程序序列的請求傳遞給硬件,并作為底層驅(qū)動程序,對系統(tǒng)中的各種設(shè)備和組件進行尋址。
2.從應(yīng)用層來說,應(yīng)用與硬件無關(guān),只與內(nèi)核有關(guān),內(nèi)核是應(yīng)用所知道的層次結(jié)構(gòu)中最低的一層。實際上,內(nèi)核抽象了相關(guān)的細(xì)節(jié)。
3.內(nèi)核是一個資源管理器。負(fù)責(zé)分配可用的共享資源(CPU時間、磁盤空間、網(wǎng)絡(luò)連接等。)到每個系統(tǒng)進程。
4.內(nèi)核就像一個庫,提供一組面向系統(tǒng)的命令。系統(tǒng)調(diào)用就像為應(yīng)用程序調(diào)用普通函數(shù)一樣。
Linux的內(nèi)核及其作用?
進程管理:內(nèi)核負(fù)責(zé)創(chuàng)建和銷毀進程,并處理它們與外界的聯(lián)系(輸入和輸出)。不同進程之間的通信(通過信號、管道或進程之間的通信原語)是整個系統(tǒng)功能的基礎(chǔ),也由內(nèi)核處理。此外,控制進程如何共享CPU的調(diào)度程序是進程管理的一部分。更一般地說,內(nèi)核的進程管理活動實現(xiàn)了單個CPU或幾個CPU上多個進程的抽象。
管理內(nèi)存:內(nèi)存是計算機的主要資源,處理內(nèi)存的策略對系統(tǒng)的性能至關(guān)重要。內(nèi)核在有限的可用資源上為每個進程建立一個虛擬地址空間。內(nèi)核的不同部分通過一組函數(shù)調(diào)用與內(nèi)存管理子系統(tǒng)進行交互,從簡單的malloc/free對到越來越復(fù)雜的函數(shù)。
文件系統(tǒng):Unix很大程度上是基于文件系統(tǒng)的概念。Unix中的幾乎任何東西都可以看作是一個文件。結(jié)構(gòu)化文件系統(tǒng)建立在內(nèi)核的非結(jié)構(gòu)化硬件上。因此,文件的抽象在整個系統(tǒng)中被廣泛使用。此外,Linux支持多種文件系統(tǒng)類型,即物理介質(zhì)上不同的數(shù)據(jù)組織方式。例如,可以將磁盤格式化為標(biāo)準(zhǔn)Linux的ext3文件系統(tǒng)、廣泛使用的FAT文件系統(tǒng)或其他幾種文件系統(tǒng)。
設(shè)備控制:幾乎每個系統(tǒng)操作都映射到一個物理設(shè)備。除了處理器、存儲器和一些其他實體之外,所有的設(shè)備控制操作都由特定于要尋址的設(shè)備的代碼來執(zhí)行。這些代碼被稱為設(shè)備驅(qū)動程序。內(nèi)核必須為系統(tǒng)中出現(xiàn)的每個外圍設(shè)備嵌入驅(qū)動程序,從硬盤驅(qū)動器到鍵盤和磁帶驅(qū)動器。這方面的內(nèi)核函數(shù)是我們在這本書的主要興趣。
網(wǎng)絡(luò)管理:網(wǎng)絡(luò)必須由操作系統(tǒng)管理,因為大部分網(wǎng)絡(luò)操作并不針對某個進程:進入系統(tǒng)的消息是異步事件。在某個流程接管之前,必須收集、識別和分發(fā)消息。系統(tǒng)負(fù)責(zé)在程序和網(wǎng)絡(luò)接口之間傳遞數(shù)據(jù)消息,它必須根據(jù)程序的網(wǎng)絡(luò)活動來控制程序的執(zhí)行。此外,所有路由和地址解析問題都在內(nèi)核中實現(xiàn)。