最近在代碼中使用了Linux AIO接口,其需要通過O_DIRECT方式打開文件,同時(shí)在IO時(shí)要求塊大小對(duì)齊。 對(duì)于塊大小對(duì)齊,找到了一個(gè)解釋:...
SCSI分層 Linux內(nèi)核中SCSI代碼結(jié)構(gòu)分為三層,它們和塊設(shè)備驅(qū)動(dòng)的關(guān)系如下圖所示: iscsi initiator要實(shí)現(xiàn)SCSI底層,即...
virtio Virtio是IO虛擬化中的一個(gè)優(yōu)化方案,屬于para-virtulization的一種實(shí)現(xiàn),即Guest OS中需要運(yùn)行virt...
在動(dòng)態(tài)ftrace原理中已經(jīng)介紹了內(nèi)核通過gcc -pg -fentry為函數(shù)增加5 Byte的stub,系統(tǒng)啟動(dòng)后這5 Byte被修改為NOP...
gcc的-pg選項(xiàng) ftrace 支持動(dòng)態(tài)trace,即可以跟蹤內(nèi)核和模塊中任意的全局函數(shù)。它利用了gcc的-pg編譯選項(xiàng),在每個(gè)函數(shù)的開始增加...
KVM介紹 KVM (Kernel Virtual Machine) 是Linux Kernel的一個(gè)模塊。另外還有一個(gè)用戶空間的工具QEMU來...
通過GDB和QEMU調(diào)試Linux內(nèi)核已經(jīng)有很多介紹了,但基本都是制作簡單的根文件系統(tǒng)。有時(shí)候需要調(diào)試的模塊或者場景需要用到發(fā)行版的Linux,...