1樓:小天學長
一個完整的linux核心一般由5部分組成,它們分別是記憶體管理、程序管理、程序間通訊、虛擬檔案系統和網路介面。
1、記憶體管理
記憶體管理主要完成的是如何合理有效地管理整個系統的實體記憶體,同時快速響應核心各個子系統對記憶體分配的請求。
linux記憶體管理支援虛擬記憶體,而多餘出的這部分記憶體就是通過磁碟申請得到的,平時系統只把當前執行的程式塊保留在記憶體中,其他程式塊則保留在磁碟中。在記憶體緊缺時,記憶體管理負責在磁碟和記憶體間交換程式塊。
2、程序管理
程序管理主要控制系統程序對cpu的訪問。當需要某個程序執行時,由程序排程器根據基於優先順序的排程演算法啟動新的程序。:linux支援多工執行,那麼如何在一個單cpu上支援多工呢?
這個工作就是由程序排程管理來實現的。
在系統執行時,每個程序都會分得一定的時間片,然後程序排程器根據時間片的不同,選擇每個程序依次執行,例如當某個程序的時間片用完後,排程器會選擇一個新的程序繼續執行。
由於切換的時間和頻率都非常的快,由此使用者感覺是多個程式在同時執行,而實際上,cpu在同一時間內只有一個程序在執行,這一切都是程序排程管理的結果。
3、程序間通訊
程序間通訊主要用於控制不同程序之間在使用者空間的同步、資料共享和交換。由於不用的使用者程序擁有不同的程序空間,因此程序間的通訊要藉助於核心的中轉來實現。
一般情況下,當一個程序等待硬體操作完成時,會被掛起。當硬體操作完成,程序被恢復執行,而協調這個過程的就是程序間的通訊機制。
4、虛擬檔案系統
linux核心中的虛擬檔案系統用一個通用的檔案模型表示了各種不同的檔案系統,這個檔案模型遮蔽了很多具體檔案系統的差異,使linux核心支援很多不同的檔案系統。
這個檔案系統可以分為邏輯檔案系統和裝置驅動程式:邏輯檔案系統指linux所支援的檔案系統,例如ext2、ext3和fat等;裝置驅動程式指為每一種硬體控制器所編寫的裝置驅動程式模組。
5、網路介面
網路介面提供了對各種網路標準的實現和各種網路硬體的支援。網路介面一般分為網路協議和網路驅動程式。網路協議部分負責實現每一種可能的網路傳輸協議。
網路裝置驅動程式則主要負責與硬體裝置進行通訊,每一種可能的網路硬體裝置都有相應的裝置驅動程式。
擴充套件資料:
linux 作業系統的誕生、發展和成長過程始終依賴著五個重要支柱:unix 作業系統、minix 作業系統、gnu計劃、posix 標準和internet 網路。
1981 年ibm公司推出微型計算機ibm pc。
2023年,gnu計劃已經開發出了許多工具軟體,最受期盼的gnu c編譯器已經出現,gnu的作業系統核心hurd一直處於實驗階段,沒有任何可用性,實質上也沒能開發出完整的gnu作業系統,但是gnu奠定了linux使用者基礎和開發環境。
2023年初,林納斯·託瓦茲開始在一臺386sx相容微機上學習minix作業系統。2023年4月,林納斯·託瓦茲開始醞釀並著手編制自己的作業系統。
1991 年4 月13 日在comp.os.minix 上釋出說自己已經成功地將bash 移植到了minix 上,而且已經愛不釋手、不能離開這個shell軟體了。
2023年,大約有100餘名程式設計師參與了linux核心**編寫/修改工作,其中核心組由5人組成,此時linux 0.99的**大約有十萬行,使用者大約有10萬左右。
2023年3月,linux1.0釋出,**量17萬行,當時是按照完全自由免費的協議釋出,隨後正式採用gpl協議。
2023年1月,bob young創辦了redhat(小紅帽),以gnu/linux為核心,整合了400多個源**開放的程式模組,搞出了一種冠以品牌的linux,即redhat linux,稱為linux"發行版",在市場上**。這在經營模式上是一種創舉。
2023年1月,linux 2.4釋出,它進一步地提升了smp系統的擴充套件性,同時它也整合了很多用於支援桌面系統的特性:usb,pc卡(pcmcia)的支援,內建的即插即用,等等功能。
2023年12月,linux 2.6版核心釋出,相對於2.4版核心2.6在對系統的支援都有很大的變化。
2023年的第1月,suse嫁到了novell,sco繼續頂著罵名四處強行「化緣」, asianux, mandrakesoft也在五年中首次宣佈季度贏利。3月,sgi宣佈成功實現了linux作業系統支援256個itanium 2處理器。
2樓:
linux是一個一體化核心(monolithic kernel)系統。「核心」指的是一個提供硬體抽象層、磁碟及檔案系統控制、多工等功能的系統軟體。一個核心不是一套完整的作業系統。
一套基於linux核心的完整作業系統叫作linux作業系統,或是gnu/linux。裝置驅動程式可以完全訪問硬體。linux內的裝置驅動程式可以方便地以模組化(modularize)的形式設定,並在系統執行期間可直接裝載或解除安裝。
linux核心的主要模組(或元件)分以下幾個部分:儲存管理、cpu和程序管理、檔案系統、裝置管理和驅動、網路通訊,以及系統的初始化(引導)、系統呼叫等。
版本號linux核心使用三種不同的版本編號方式。
第一種方式用於1.0版本之前(包括1.0)。
第一個版本是0.01,緊接著是0.02、0.
03、0.10、0.11、0.
12、0.95、0.96、0.
97、0.98、0.99和之後的1.
0。第二種方式用於1.0之後到2.6,數字由三部分「a.
b.c」,a代表主版本號,b代表次主版本號,c代表較小的末版本號。只有在核心發生很大變化時(歷史上只發生過兩次,2023年的1.
0,2023年的2.0),a才變化。可以通過數字b來判斷linux是否穩定,偶數的b代表穩定版,奇數的b代表開發版。
c代表一些bug修復,安全更新,新特性和驅動的次數。以版本2.4.
0為例,2代表主版本號,4代表次版本號,0代表改動較小的末版本號。在版本號中,序號的第二位為偶數的版本表明這是一個可以使用的穩定版本,如2.2.
5,而序號的第二位為奇數的版本一般有一些新的東西加入,是個不一定很穩定的測試版本,如2.3.1。
這樣穩定版本**於上一個測試版升級版本號,而一個穩定版本發展到完全成熟後就不再發展。
第三種方式從2023年2.6.0版本開始,使用一種「time-based」的方式。
3.0版本之前,是一種「a.b.
c.d」的格式。七年裡,前兩個數字a.
b即「2.6」保持不變,c隨著新版本的釋出而增加,d代表一些bug修復,安全更新,新增新特性和驅動的次數。3.
0版本之後是「a.b.c」格式,b隨著新版本的釋出而增加,c代表一些bug修復,安全更新,新特性和驅動的次數。
第三種方式中不再使用偶數代表穩定版,奇數代表開發版這樣的命名方式。舉個例子:3.
7.0代表的不是開發版,而是穩定版!
3樓:匿名使用者
記憶體管理
程序排程
程序間通訊
虛擬檔案系統
網路介面
linux作業系統有哪五個基本的組成部分
linux的基本系統由哪3個主要部分組成,各部分的功能是?
4樓:匿名使用者
linux系統本身是個軟體的概念(當然,其無法脫離硬體系統而存在)。
其三個基本組成部分:
【啟動載入程式】
即bootloader,常見的如grub。用於引導系統啟動,載入核心到系統記憶體並啟動核心。
【核心】
即作業系統核心。包含硬體驅動模組,為上層應用提供統一易用的硬體操作介面;負責系統任務排程與分配,保證系統資源被合理有效地利用。核心通過shell接收使用者指令並執行。
【檔案系統】
如現在的日誌檔案系統ext2/ext3。linux的應用程式按照一定的分類,以檔案系統的形式組織存放在磁碟或分割槽上。核心啟動後掛載檔案系統(第一個掛載的是根檔案系統)。
5樓:匿名使用者
硬體,核心、shell。硬體就不用說了吧,主機板,cpu,記憶體等等。核心是shell與硬體之間的翻譯,以便使用者和硬體通訊。
shell你應該知道吧,就是一條條的命令:ls,echo,date等。核心裡有許多的函式,它解析shell命令,然後轉換成機器能夠識別的**二進位制**,從而來操作計算機。
linux核心和作業系統問題,Linux核心和作業系統問題
從本質上來說作業系統應該就是指核心,因為作業系統的主要任務就是隱藏處理硬體的細節,而這均是由核心去實現的。那為啥說不是完整的呢?核心加上什麼才是完整的呢?這個要先從計算機結構分析自底向上依次是 硬體 驅動程式 核心 使用者介面程式 應用程式。主要是介面程式,它是啥?為什麼需要?如果讓使用者直接和作業...
智慧家居主要由哪幾部分組成,長城主要由哪幾部分組成的?
重慶智慧生活圈 瞭解智慧家居系統的組成,輕鬆搭建智慧生活。 安防警報 安防警報功能能夠通過家裡的攝像頭 感測器及門鎖,實時監控家裡的安全狀況,當遇到小偷非法進入時攝像頭會抓拍入侵者,遇到有害氣體邂逅及火宅等突發情況,安防警報能夠第一時間將訊息推送到使用者手機,併傳送緊急警報。燈光照明 燈光照明功能能...
linux核心有沒有hook機制
有啊,一切順序邏輯,都有被hook的可能。下面是一個linux上的hook的例項 截獲write系統呼叫 ifndef module define module endif ifndef kernel define kernel endif include include include inclu...