note:根据个人理解写的,有不当之处,欢迎指出
1.软中断:软中断和正常的中断类似,也需要注册中断服务程序,内核用一些bit来组织(或者其他组织方式),每个注册的软中断对应一位,CPU会采取某种策略(比如定期)查看这些bit,如果bit置1说明该软中断被发出了,然后CPU再决定要不要转到软中断的中断服务程序
2.字节序:小端(little-endian)就是低地址放低位,大端(big-endian)是低地址放高位,x86是小端,网络传输用的大端,powerPC也是大端
3.multicast: todo
4.C/C++类型 1.const char *p 2.char const *p 3.char * const p 4.const * char p1和2都是char常量 3是指针常量,4不存在。Bjarne推介的助记方法:声明从右向左读( * 读作 pointer to) 如1.p is a point to (char const) 2.p is a pointer to const char 3. p is a const pointer to char
5. DMA建立映射:主要是讲虚拟内存地址转换成总线地址(一般就是物理地址),然后将缓冲区分配给设备使用,另一个需要注意的问题:The main issue that arrises with DMA buffers is that, when they are bigger than one page, they must occupy contiguous pages in physical memory because the device transfers data using the ISA or PCI system bus, both of which carry physical addresses