原创 Linux內核之文件系統

文件系統 本章主要描敘Linux核心對文件系統的支持, 虛擬文件系統(VFS)以及Linux核心對實際文件系統的支持。 Linux的最重要特徵之一就是支持多種文件系統。這樣它更加靈活並可以和許多其它種操作系統共存。在本文寫作時Linux

原创 如何編寫Linux設備驅動程序

如何編寫Linux設備驅動程序 Linux是Unix操作系統的一種變種,在Linux下編寫驅動程序的原理和思想完全類似於其他的Unix系統,但它dos或window環境下的驅動程序有很大的區別。在Linux環境下設計驅動程序,思想簡潔,操

原创 Linux內核之網絡系統

網絡系統     網絡和Linux是密切相關的。從某種意義來說Linux是一個針對Internet和WWW的產品。它的開發者和用戶用Web來交換信息思想、程序代碼,而Linux自身常常被用來支持各種組織機構的網絡需求。這一章講的是Lin

原创 linux內核輕量級虛擬化之Namespace

一.什麼是namespace Namespace,命名空間,顧名思義,就是不同的名字空間,打個簡單的比方,進程在a空間是叫a進程,在b空間也就可能叫b進程。爲什麼要有命名空間呢?主要是滿足虛擬化的一些需求。試想,如果有一臺機器,不管它是

原创 Perf -- Linux下的系統性能調優工具(一)

Perf -- Linux下的系統性能調優工具(一) 簡介: Perf Event是一款隨 Linux 內核代碼一同發佈和維護的性能診斷工具,由內核社區維護和發展。Perf不僅可以用於應用程序的性能統計分析,也可以應用於內核代碼的性能統計

原创 3.8.X Linux內核調用新架構

        與2.6.X內核版本相比,3.8.x內核的系統調用表有着很大的區別。從結構上來說:2.6.X內核版本調用號與調用表的分離定義(調用號定義文件: /arch/x86/include/asm/

原创 Linux核心數據結構

Linux核心數據結構 本章列出了Linux實用的主要數據結構。 block_dev_struct 此結構用於向核心登記塊設備,它還被buffer cache實用。所有此類結構都位於blk_dev數組中。 struct blk_d

原创 Linux內核之模塊

模塊 本章主要描敘Linux核心動態加載功能模塊(如文件系統)的工作原理。 Linux核心是一種monolithic類型的內核,即單一的大程序,核心中所有的功能部件都可以對其全部內部數據結構和例程進行訪問。核心的另外一種形式是微內核結構

原创 C/C++高質量編程之內存管理

歡迎進入內存這片雷區。偉大的Bill Gates 曾經失言: 640K ought to be enough for everybody — Bill Gates 1981 程序員們經常編寫內存管理程序,往往提心吊膽。如果不想觸雷,唯一