1、linux內核參數注釋 以下表格中紅色字體為常用優化參數 根據參數文件所處目錄不同而進行分表整理 下列文件所在目錄:/proc/sys/net/ipv4/ 名稱 默認值 建議值 描述 tc
平台:虛擬機Ubuntu10.04內核版本:3.0.80 --------------------------------------------------------------------
一.Linux內核簡介 Linux系統架構分為內核空間和用戶空間。它們之間切換條件:1.系統調用 2.硬件中斷。 內核架構:1.系統調用接口 2.進程管理塊 3.內存管理 4.體系結構相關代碼 4.虛擬文件系統 5.網絡棧 6
概覽LSF(Linux socket filter)起源於BPF(Berkeley Packet Filter),基礎從架構一致,但使用更簡單。LSF內部的BPF最早是cBPF(classic),後來x86平台首先切換到eBPF(extended
簡介最早的內核包過濾機制是ipfwadm,後來是ipchains,再後來就是iptables/netfilter了。再往後,也就是現在是nftables。不過nftables與iptables還處於爭雄階段,誰能勝出目前還沒有定論。但是他們都屬於
與網絡數據包的發送不同,網絡收包是異步的的,因為你不確定誰會在什麼時候突然發一個網絡包給你,因此這個網絡收包邏輯其實包含兩件事:1.數據包到來後的通知2.收到通知並從數據包中獲取數據這兩件事發生在協議棧的兩端,即網卡/協議棧邊界以及協議棧/應用邊
和前面文章的第一部分一樣,這些文字是為了幫別人或者自己理清思路的,而不是所謂的源碼分析,想分析源碼的,還是直接debug源碼最好,看任何文檔以及書都是下策。因此這類幫人理清思路的文章盡可能的記成流水的方式,盡可能的簡單明了。Linux 2.6+內
本文題目有點大,但其實我只想描述一些我個人一直比較關注的特性,並且不會太詳細,跟往常一樣,主要是幫忙理清思路的,不會分析源碼。這主要是為了哪一天突然忘了的時候,一目十行掃一眼就能記憶當時的理解,不然寫的太細節了,自己都看不懂了。Lockless
總覽路由表IP層通過路由將數據包送達該送達的目的地址,這就要求在整個網絡中建立正確的路由表。路由表的內容是記錄要到達哪裡下一跳需要發到哪裡(可以是端口可以是ip),如此整個網絡在單個節點只知道自己局部轉發信息的情況下就能正確的轉發。路由協議路由表
要開啟hugepages文件系統,這個文件系統要使用mmap來映射頁,可以顯著的減少缺頁中斷。UIO介紹UIO是一個在用戶端實現內核驅動的機制。其在內核中有一個模塊支持uio模塊。現在這個模塊只支持字符設備。用戶可以添加多個uio設備(用戶端的設
??如何開發Linux內核? 下面是在Ubuntu下的輸出:root@myhostname # makemake: Warning: File `Makefile' has modification time 11 s in the
linux內核中的sort函數,其實跟我們所說的qsort函數很像,我們來看看qsort:qsort 的函數原型是 void qsort(void*base,size_t num,size_t width,int(__cdecl*com
1、 進程的執行我們都知道一個現象,windows下的進程在linux下無法雙擊打開,反之也一樣。但是同樣是是用C或者golang寫的程序分別在linux下編譯和在windows下編譯都可以執行。當然,如果你調用了操作系統特有的系統調用也是不可以
本文介紹了系統調用的一些實現細節。首先分析了系統調用的意義,它們與庫函數和應用程序接口(API)有怎樣的關系。然後,我們考察了Linux內核如何實現系統調用,以及執行系統調用的連鎖反應:陷入內核,傳遞系統調用號和參數,執行正確的系統調用函數,並把返
本文參考了如下文章深入理解linux啟動過程mbr (主引導記錄(Master Boot Record))電腦從開機加電到操作系統main函數之前執行的過程詳解linux系統的啟動過程及系統初始化linux系統的啟動流程關於linux系統的啟動流
管道管道是一種兩個進程間進行單向通信的機制。因為管道傳遞數據的單向性,管道又稱為半雙工管道。管道的這一特點決定了器使用的局限性。管道是Linux支持的最初Unix IPC形式之一,具有以下特點:數據只能由一個進程流向另一個進程(其中一個讀管道,一個寫
進程間通信概述進程通信的目的數據傳輸一個進程需要將它的數據發送給另一個進程,發送的數據量在一個字節到幾M字節之間共享數據多個進程想要操作共享數據,一個進程對共享數據通知事一個進程需要向另一個或一組進程發送消息,通知它(它們)發生了某種事件(如進程
內核概覽linux內核並不是唯一的內核,也並不是唯一的一種內核。實際上linux內核屬於Monolithic kernel的一個實現,這種內核還包括Unix系列(BSD、SunOS等),dos和windows 9x系列,還有OpenVMS
概覽http://m.oschina.net/blog/351007有一個示例程序,但是它用的v1的接口。http://kristrev.github.io/2013/07/26/passive-monitoring-of-sockets-on-