内核
文章平均质量分 76
Greemeet
这个作者很懒,什么都没留下…
展开
-
linux内核修改(1)
1.从已经打好补丁的机器上下载linux-2.6.28内核,与linux-3.4.35内核对照,做相应的修改。之前修改补丁之后编译内核一直未通过是因为没有修改3,原因在于我一开始source insight建立的工程只有内核下的net\,我天真的以为只需要修改net下的代码就够了。后来把整个内核代码都塞进去了后才看到还有另外一处调用的地方。修改内核最大的问题是修改之后每次编译都要20分钟左右,然后原创 2013-03-31 16:18:57 · 412 阅读 · 0 评论 -
Linux kernel基础知识
关于Linux kernel的介绍浩如烟海, 这里只介绍系统中相关的目录, 文件及命令. /boot /boot/vmlinuz- : 用于启动的压缩内核镜像, 它也就是/arch//boot中的压缩镜像. /boot/system.map- : 存储内核符号地址. /boot/initrd.img- : 初始化RAM硬盘时, 用来存储挂载根文件系统转载 2013-03-27 15:50:13 · 378 阅读 · 0 评论 -
字符设备和块设备的区别
设备文件分为Block Device Driver和Character Device Drive两类。Character Device Drive又被称为字符设备或裸设备raw devices; Block Device Driver通常成为块设备。而Block Device Driver是以固定大小长度来传送转移资料 ;Character Device Driver是以不定长度的字元传送资料原创 2013-05-05 15:34:49 · 408 阅读 · 0 评论 -
缓存那些事
在linux内核的旧版本中,主要有两种不同的磁盘高速缓存:页高速缓存和缓冲区高速缓存,前者用来存放访问磁盘文件内容时生成的磁盘数据页,后者把通过VFS(磁盘管理文件)访问的块的内容保留在内存中。 从2.4.10的稳定版本开始,缓冲区高速缓存其实就不存在了。事实上,由于效率的原因,不再单独分配块缓冲区;相反,把它们存放在叫做“缓冲区页”的专门页中,而缓冲区页保存在页高速缓存中。 缓冲区页在形式上原创 2013-05-06 10:36:37 · 117 阅读 · 0 评论 -
linux 编译内核[scripts/kconfig/dochecklxdialog] 错误
root@ubuntu:/usr/src/linux-3.4.35# make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Instal原创 2013-05-20 18:57:21 · 737 阅读 · 0 评论 -
llseek
一、用户空间的lseek函数要理解驱动中llseek函数的实现,必须先清楚对应的用户空间中lseek函数的用法,lseek函数函数原型如下:off_t lseek(int fd, off_t offset, int whence);第一个参数fd是要操作的文件描述符。第二个参数指定文件操作指针的偏移量。注意,文件的读和写使用的是同一个文件操作指针。第三个参数指定移动文件操作指针的参考点。这个参数通原创 2013-05-06 16:32:04 · 560 阅读 · 0 评论 -
内存管理之伙伴算法
内核要分配一组连续的页框,必须建立一种健壮、高效的分配策略。为此,必须解决著名的外部碎片(external fragmentation)问题。频繁地请求和释放不同大小的一组连续页框,必然导致在已分配页框的块内分散了许多小块的空闲页框。由此带来的问题是,即使有足够的空闲页框可以满足请求,但要分配一个大块的连续页框就可能无法满足。 Linux 采用伙伴系统(buddy system)算转载 2013-05-12 21:49:08 · 498 阅读 · 0 评论