
kernel
chaehom
这个作者很懒,什么都没留下…
展开
-
kzalloc()
kzalloc()是kmalloc()和memset()函数的整合kzalloc()直接替代了kmalloc()申请空间,然后用memset()初始化空间,貌似效率更高一些/** * kzalloc - allocate memory. The memory is set to zero. * @size: how many bytes of memory are requir原创 2012-10-31 12:13:13 · 1509 阅读 · 0 评论 -
Linux I/O调度算法的选择
转自:http://my.oschina.net/sharelinux/blog/144347在网上找到这个资料,挺详细的 !一) I/O调度程序的总结 1) 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 2) 每个块设备都有它自己的队列. 3) I/O调度程序负责维护这些队列的顺序转载 2013-10-26 16:39:53 · 991 阅读 · 0 评论 -
Linux内存:内存管理的实质
转自CU: http://bbs.chinaunix.net/thread-2055231-1-1.html1. 内核初始化:* 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系;* 内核建立一个page数组,page数组和物理页面系列完全是线性对应,pag转载 2013-09-29 14:54:28 · 465 阅读 · 0 评论 -
内核空间和用户空间IPC的几种方法
可以有这么几种一、setsockopt / getsockopt二、mmap三、proc / seq_file File System四、netlink五、copy_from_user / copy_to_user (其实大部分实质就是这个)六、文件参考这篇: http://bbs.chinaunix.net/thread-1940094-1-1.html原创 2013-09-29 16:41:31 · 815 阅读 · 0 评论 -
mmap详解
转自:http://kenby.iteye.com/blog/1164700共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式, 因为进程可以直接读写内存,而不需要任何数据的拷贝。对于像管道和消息队列等通信方式,则需要在内核和用户空间进行四次的数据拷贝,而共享内存则只拷贝两次数据: 一次从输入文件到共享内存区,另一次从共享内存区到输出文件。实际上,进程转载 2013-09-08 13:36:57 · 580 阅读 · 0 评论 -
简单的epoll讲解
作者:蓝形参 Geek 伪技术宅 首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。 不管是文件,还是套接字,还是管道,我们都可以把他们看作流。 之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数转载 2013-09-07 21:52:50 · 638 阅读 · 0 评论 -
mdev实现U盘和SD卡的自动挂载
1)确保内核支持热插拔# cd linux-2.6.30.4# vi .configCONFIG_KALLSYMS=y# CONFIG_KALLSYMS_ALL is not set# CONFIG_KALLSYMS_EXTRA_PASS is not set# CONFIG_STRIP_ASM_SYMS is not setCONFIG_HOTPLUG=y //确保这项为转载 2013-04-15 19:49:52 · 792 阅读 · 0 评论 -
关于usb_modeswitch编译时错误的问题
SDK里有两个usb库,一个0.1.12,另一个1.0.0如果编译出现某某某函数为定义。那可能是因为你用的-lusb是1.0.0的,而你的usbmodeswitch是0.9.5的我的usb_modeswitch版本是较低的0.9.5,调用的是libusb-0.1.12的库方法有2:一个是usb_modeswitch用高一点的版本;另一个是,编译0.1.12这原创 2013-03-25 21:39:29 · 1018 阅读 · 0 评论 -
USB主机控制器(Host Controller)--深入理解
转载自:http://blog.youkuaiyun.com/myarrow/article/details/85001551. 主机控制器(Host Controller) • UHCI: Universal Host Controller Interface (通用主机控制接口, USB1.0/1.1) • OHCI: Open Host Control转载 2013-03-25 21:33:26 · 695 阅读 · 0 评论 -
Unable to handle kernel paging request at virtual address 的解决办法
转自:http://blog.youkuaiyun.com/warmshepherd/article/details/3245247今天想正式开始编写各底层硬件的驱动程序,首先是双口RAM的,结果吓一一大跳,居然出现如下这么多的问题,这就是传说中的oops消息:root@WK:mknod -m 600 /dev/dram_driver c 221 1root@WK:./dram转载 2013-01-02 20:12:51 · 1964 阅读 · 0 评论 -
编译rt61apd遇到的问题
用RALINK的SDK编译rt61apd的时候,出现了一大堆错误,比如说RT288x_SDK/source/lib/include/linux/wireless.h 第XXX行,parse error before ‘__s32’之类的。。。原因出在RT288x_SDK/source/lib/include/linux/wireless.h这个文件的开头这一段#ifdef __原创 2012-11-16 18:21:19 · 1511 阅读 · 0 评论 -
proc一个很好的例子
出处:http://blog.youkuaiyun.com/iczyh/article/details/3206249#include #include #include static struct proc_dir_entry *mydir;static struct proc_dir_entry *pfile;static char msg[255];static in转载 2012-11-12 16:29:38 · 921 阅读 · 0 评论 -
块设备I/O调度程序
转自:http://blog.youkuaiyun.com/yunsongice/article/details/6171279块设备I/O调度程序我们建立请求队列建的目录是,当向请求队列增加一条新的请求,即产生一个request数据结构时,通用块层会调用I/O调度程序来确定该新request将在请求队列中的确切位置。I/O调度程序试图通过扇区将请求队列排序。如果顺序地从链表中提取要处理的请求转载 2013-10-27 13:48:09 · 1177 阅读 · 0 评论