会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Just run
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
59
60
61
62
63
64
65
66
67
···
138
下一页
2015年7月10日
linux内核cdev_init系列函数(字符设备的注册)
摘要: 内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义: linux-2.6.22/include/linux/cdev.h struct cdev { struct kobject kobj; // 每个 cdev 都是一个 kobject struct module *owner; // 指向实现驱动的模块 c...
阅读全文
posted @ 2015-07-10 17:24 katago
阅读(575)
评论(0)
推荐(0)
2015年7月9日
file结构中的private_data
摘要: private_data是Linux下连接VFS文件系统框架和不同文件/文件系统底层实现之间的一个核心数据结构,虽然它只是一个指针,但是一个指针可以解决所有问题。 因 为file是VFS框架的一个基本概念,它要支持文件操作结构,例如open/read/write/release之类的接口,甚至还有poll等,只 有有了这些结构,它们才能被纳入VFS这个大家庭。但是对于不同的设备文件来说,它们只是...
阅读全文
posted @ 2015-07-09 16:34 katago
阅读(1088)
评论(0)
推荐(0)
浅析pc机上如何将vmlinuz-2.6.31-14-generic解压出vmlinux
摘要: 浅析pc机上如何将vmlinuz-2.6.31-14-generic解压出vmlinux luther@gliethttp:~$ vim /boot/grub/grub.cfg 可以看到我们进入的系统的内核为 linux /boot/vmlinuz-2.6.31-14-generic 查找1F 8B 08这是gzip的标志头 我找到的内容为 0000 366...
阅读全文
posted @ 2015-07-09 16:28 katago
阅读(784)
评论(0)
推荐(0)
/proc/iomem和/proc/ioports对应的fops
摘要: /proc/iomem和/proc/ioports对应的fops static int __init ioresources_init(void) { struct proc_dir_entry *entry; entry = create_proc_entry("ioports", 0, NULL); if (entry) ...
阅读全文
posted @ 2015-07-09 16:25 katago
阅读(829)
评论(0)
推荐(0)
通过/dev/mem只能访问高端内存以下的内核线性地址空间
摘要: http://blog.chinaunix.net/uid-20564848-id-74706.html 《/proc/iomem和/proc /ioports对应的fops》 《浅析pc机上如何将vmlinuz- 2.6.31-14-generic解压出vmlinux》 fs_initcall(chr_dev_init); chr_dev_init ==> reg...
阅读全文
posted @ 2015-07-09 16:24 katago
阅读(849)
评论(0)
推荐(0)
2015年7月7日
设备
摘要: http://docs.linuxtone.org/ebooks/C&CPP/c/ch17s03.html 访问设备还有一点和访问内存不同。内存只是保存数据而不会产生新的数据,如果CPU不去读它,它也不需要主动提供数据给CPU,所以内存总是被动地等待被读或被写。而设备往往会自己产生数据,并且需要主动通知CPU来读这些数据,例如敲键盘产生一个输入字符,用户希望计算机马上响应自己的输入,这就要...
阅读全文
posted @ 2015-07-07 17:50 katago
阅读(204)
评论(0)
推荐(0)
进程调度
摘要: 现在明确一下阻塞(Block)这个概念。当进程调用一个阻塞的系统函数时,该进程被置于睡眠(Sleep)状态,这时内核调度其它进程运行,直到该进程等待的事件发生了(比如网络上接收到数据包,或者调用sleep指定的睡眠时间到了)它才有可能继续运行。与睡眠状态相对的是运行(Running)状态,在Linux内核中,处于运行状态的进程分为两种情况: 正在被调度执行。CPU处于该进程的上下...
阅读全文
posted @ 2015-07-07 17:31 katago
阅读(210)
评论(0)
推荐(0)
inode file 结构
摘要: inode位图(inode Bitmap) 和块位图类似,本身占一个块,其中每个bit表示一个inode是否空闲可用。 inode表(inode Table) 我们知道,一个文件除了数据需要存储之外,一些描述信息也需要存储,例如文件类型(常规、目录、符号链接等),权限,文件大小,创建/修改/访问时间等,也就是ls -l命令看到的那些信息,这些信息存在inode中而不是数据块中。每...
阅读全文
posted @ 2015-07-07 17:19 katago
阅读(3797)
评论(0)
推荐(2)
2015年4月24日
qt model view 编程总结
摘要: 看不见的root的 QModelIndex() 是 无效的 list 和table 的index 函数中的parent参数就只要 root QModelIndex 就可以,因为没有层级概念 Model indexes give views and delegates information about the location of items provided by models in a...
阅读全文
posted @ 2015-04-24 12:31 katago
阅读(385)
评论(0)
推荐(0)
2015年4月2日
统计数字问题
摘要: 在王晓东编著的《算法设计与实验题解》中看到的这个问题,问题描述如下: 一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页用6表示而不是06或006。数字统计问题要求对给定书的总页码,计算出书的全部页码中分别用到多少次数字0,1,2,3,.....9。 这个题目有个最容易想到的n*log10(n)的算法。这是自己...
阅读全文
posted @ 2015-04-02 11:15 katago
阅读(2407)
评论(0)
推荐(0)
上一页
1
···
59
60
61
62
63
64
65
66
67
···
138
下一页
公告