Linux 內核

Linux 內核是一個龐大而復雜的操作系統的核心,不過盡管龐大,但是卻采用子系統和分層的概念很好地進行了組織。通過本專題,我們可以學習 Linux 的分層架構、內核配置和編譯、內核性能調試和 Linux 2.6 中的許多提升功能。

Linux 內核組成

Linux 內核的主要組件有:系統調用接口、進程管理、內存管理、虛擬文件系統、網絡堆棧、設備驅動程序、硬件架構的相關代碼。


圖 1. Linux 內核的體系結構圖
Linux 內核的體系結構圖


回頁首

Linux 剖析系列

M. Tim Jones 推出了一系列文章來剖析 Linux 內核各個方面,相信會為讀者展現一個非常清晰的 Linux 輪廓。

  • Linux 文件系統剖析
  • Linux 網絡棧剖析
  • Linux 內核剖析
  • Linux slab 分配器剖析
  • Linux 同步方法剖析


回頁首



內核配置及編譯

隨 著 Linux 操作系統的廣泛應用,特別是 Linux 在嵌入式領域的發展,越來越多的人開始投身到 Linux 內核級的開發中。面對日益龐大的 Linux 內核源代碼,開發者在完成自己的內核代碼后,都將面臨著同樣的問題,即如何將源代碼融入到 Linux 內核中,增加相應的 Linux 配置選項,并最終被編譯進 Linux 內核。

  • 教程:編譯 Linux 內核
  • Linux 內核配置系統淺析
  • 教程:LPI 證書 102 考試準備,第 2 部分:配置及編譯內核


回頁首



性能調試

作為最流行的開源操作系統,如果 Linux 要進入企業環境,以及能夠作為商業性應用進入 SMP 市場,與商業 UNIX 系統相比,它的 SMP 可伸縮性、磁盤和網絡 I/O 性能、調度程序和虛擬內存管理器必須得到改善。

  • 改善 Linux 內核性能和可伸縮性 -- 為 Linux 在企業環境中的應用尋找出路
  • 超線程加快了 Linux 的速度 -- 單處理器上的多處理器性能
  • 改善 Linux 內核性能和可伸縮性 -- 為 Linux 在企業環境中的應用尋找出路
  • 掌握 Linux 調試技術 -- 在 Linux 上找出并解決程序錯誤的主要方法
  • 實時管理 Linux -- 使用 /proc 文件系統來控制系統
  • LINUX 系統性能調諧
  • Linux 內核調試器內幕 -- KDB 入門指南
  • 利用異常表處理 Linux 內核態缺頁異常 -- 一種提高系統穩定性的方法
  • 測試 Linux 的可靠性 -- Linux Technology Center 評估 Linux 的長期可靠性
  • 用 DSF 模擬設備 -- Linux 內核 Device Simulator Framework 入門


回頁首



Linux 內核開發與測試
  • 內核比較:從 2.4 到 2.6 內核開發中的改進 -- 改變越多,就越步入正軌
  • 用 DSF 模擬設備 -- Linux 內核 Device Simulator Framework 入門


回頁首



內核 2.4 與 2.6 比較

相 對 Linux 2.4,無論是對于企業服務器還是對于嵌入式系統,Linux 2.6 都是一個巨大的進步。對高端的機器來說,新特性針對的是性能改進、可擴展性、吞吐率,以及對 SMP 機器 NUMA 的支持。對于嵌入式領域,添加了新的體系結構和處理器類型——包括對那些沒有硬件控制的內存管理方案的 MMU-less 系統的支持。并且,和往常一樣,為了滿足桌面用戶群的需要,添加了一整套新的音頻和多媒體驅動程序。

  • 內核比較:2.4 和 2.6 上的 Web 服務 -- 新特性使 Web 性能更快,更可靠
  • 內核比較:從 2.4 到 2.6 內核開發中的改進 -- 改變越多,就越步入正軌
  • 內核比較:2.6 內核中網絡的改進 -- 提供更好的安全性、電話支持和隱私保護
  • 內核比較:2.6 內核中改進了內存管理 -- 從大內存頁到反向映射:更高的穩定性和更快的速度


回頁首



內核其他文章

更多 Linux 內核相關文章/教程...

  • 走向 Linux 2.6
  • Linux 2.6 內核的精彩世界
  • 采訪:安騰傳道者 -- David Mosberger 仔細考慮 Linux 在 IA-64 上的未來
  • IA-64 Linux存儲管理 -- 重點描述了IA-64 Linux存儲管理,包括IA-64 Linux靈活的地址空間劃分、頁表、TLB等機制。
  • Linux 2.4 調度系統分析
  • Linux 2.6 調度系統分析 -- 詳細分析了 Linux 2.6 調度系統的原理和實現細節。
  • Linux 2.6 對新型 CPU 快速系統調用的支持 -- 分析了在 Linux 2.6 中引入的對 Intel CPU 快速系統調用指令 SYSENTER/SYSEXIT 支持的實現。

轉載于:https://www.cnblogs.com/licheng/archive/2008/07/05/1236744.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/274878.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/274878.shtml
英文地址,請注明出處:http://en.pswp.cn/news/274878.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

給asterisk寫app供CLI調用

環境:CentOS6.2 Asterisk 1.8.7.1 一、添加源文件 復制app_verbose.c為app_testApp.c 復制app_verbose.exports為app_testApp.exports 主要是修改一些標識,編譯不會出錯就行,這里列出我進行的主要修改。 1、添加頭文件 #include "aster…

前端,校招,面淘寶,指南

大家好,我是若川。持續組織了6個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12 參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列雖然是…

qq空間網頁設計_網頁設計中負空間的有效利用

qq空間網頁設計Written by Alan Smith由艾倫史密斯 ( Alan Smith)撰寫 Negative space is a key design element that you may come across in the fields of art, architecture, interior design, landscaping and web design. Rather than serving as awkward, empty areas …

自定義異常拋法

public List<LogRec> readLogs() throws ReadDataException { try { return returnLogRec(logFileName); } catch(Exception e) { throw new ReadDataException(e); } } 轉載于:https://www.cnblogs.com/zengmiaogen/archive/2012/04/15/2450438.html

SQL SERVER服務停止和啟動命令行

停止服務: net stop mssqlserver 啟動服務: net start mssqlserver 轉載于:https://www.cnblogs.com/davidgu/archive/2010/01/06/1640466.html

Git 和 GitHub 教程——版本控制入門

大家好&#xff0c;我是若川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列Learn…

matlab中的:的優先級_內容早期設計:內容優先

matlab中的:的優先級By Simone Ehrlich, Content Strategy Manager由 西蒙埃利希 &#xff0c;內容策略經理 Words are cheap. Cheaper than wires; cheaper than mocks. That doesn’t mean words aren’t important, just less expensive to produce as a design asset. So …

Nunit2.5.10快速上手

1、下載Nunit&#xff1a;http://www.nunit.org/index.php?pdownload&#xff0c;下載MSI格式的安裝包&#xff1b; 2、安裝Nunit&#xff0c;根據提示安裝即可&#xff0c;沒有什么需要配置的&#xff0c;直接下一步就可以了。 3、新建類庫項目NUnitQuickStart&#xff0c;在…

我真的哭了,哭過后呢(-)

這些是山區的孩子們&#xff01; 這是他們的教室。這個也算是&#xff01;如此的師資力量自己解決吃飯問題冬天到了&#xff0c;一起烤烤火與泥土污水一起還好&#xff0c;最大的數字只是10老師抱著孩子來給我們上課了不知道山那邊會是什么呢&#xff1f;又一雙充滿了渴望的大眼…

腦裂問題解決方案_從解決方案到問題

腦裂問題解決方案Once upon a time a couple of years ago, one of my mentors (and favourite people in the world) repeatedly drilled the idea above into my brain. Her advice for Product people was to “fall in love with the problem, not the solution”. At the …

Vue.js 官方團隊成員霍春陽新作,深入解析 Vue.js 設計細節【文末送書】

霍春陽&#xff08;Hcy&#xff09;&#xff0c;Vue.js 官方團隊成員。專注于 Web 研發領域&#xff0c;是 Vue.js 3 的核心貢獻者之一&#xff0c;Vue.js 文檔生成工具 Vuese 的作者&#xff0c;技術社區活躍者&#xff0c;曾撰寫大量頗受好評的技術博客。經過一年的準備&…

分享memcache和memcached安裝過程(轉)

Memcache是什么&#xff1f;源代碼地址&#xff1a;http://code.google.com/p/memcached/downloads/list Memcache是一個自由和開放源代碼、高性能、分配的內存對象緩存系統。用于加速動態web應用程序&#xff0c;減輕數據庫負載。 它可以應對任意多個連接&#xff0c;使用非阻…

LINQ之路 5:LINQ查詢表達式

書寫LINQ查詢時又兩種語法可供選擇&#xff1a;方法語法&#xff08;Fluent Syntax&#xff09;和查詢表達式&#xff08;Query Expression&#xff09;。 LINQ方法語法的本質是通過擴展方法和Lambda表達式來創建查詢。C# 3.0對于LINQ表達式還引入了聲明式的查詢表達式&#xf…

調查謀殺案以換取Obra Dinn

回顧性 (RETROSPECTIVE) I am not sure if this is intentional, but Lucas Pope has a knack for turning the mundane into something special. This was evident in his release of Papers Please. In that game, you’re a border patrolman trying to provide for your fa…

9年前的大一,我們這樣為女生過37女生節【祝節日快樂】

這是一篇水文~沒啥目的&#xff0c;若說要有&#xff0c;就是希望大家參加源碼共讀學起來。公眾號后臺顯示所有讀者朋友中大約有23%的女生。前端工程師中女生應該占比相對多些。祝關注我公眾號的女生3.7女生節快樂&#xff0c;大部分公司明天應該都有半天假期。可以留言大學時你…

Jquery ajax 訪問調用帶參數的服務方法!

頁面腳本中的寫法: $.ajax({url: "http://localhost:3510/WebSite/WebService/ExceptionRecoder.asmx/SetExceptionInfo",contentType: "application/json; charsetutf-8", type: "POST", dataType: "js…

requests模塊發送帶headers的Get請求和帶參數的請求

1.在PyCharm開發工具中新建try_params.py文件&#xff1b; 2.try_params.py文件中編寫代碼&#xff1a; import requests#設置請求Headers頭部header {"User-Agent" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;"}#請求輸入參數p…

面試官問:跨域請求如何攜帶cookie?

大家好&#xff0c;我是若?川。持續組織了6個月源碼共讀活動&#xff0c;感興趣的可以點此加我微信 ruochuan12 參與&#xff0c;每周大家一起學習200行左右的源碼&#xff0c;共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》 包含20余篇源碼文章。歷史面試系列本文…

Method not found: '!!0[] System.Array.Empty()'.

一開始不知道啥情況&#xff0c;原來是自己把.net 框架改成4.6.1了&#xff0c;客戶機是4.0 so.... 把項目改低點&#xff0c;就ok了。轉載于:https://www.cnblogs.com/ZaraNet/p/11100207.html

記錄點滴8

第8~9周 4月7日~4月22日 第八周的時候實在太多東西要做了&#xff0c;我把寫周記這件事給忘了&#xff0c;其實也沒太大關系&#xff0c;寫跟不寫之間也沒有太大的鴻溝&#xff0c;只是寫了之后&#xff0c;會讓我的記憶更加清晰&#xff0c;讓自己明白&#xff0c;最近自己做了…