上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 138 下一页
摘要: 内核中每个字符设备都对应一个 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)
摘要: 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 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 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)
摘要: 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)
摘要: 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位图(inode Bitmap) 和块位图类似,本身占一个块,其中每个bit表示一个inode是否空闲可用。 inode表(inode Table) 我们知道,一个文件除了数据需要存储之外,一些描述信息也需要存储,例如文件类型(常规、目录、符号链接等),权限,文件大小,创建/修改/访问时间等,也就是ls -l命令看到的那些信息,这些信息存在inode中而不是数据块中。每... 阅读全文
posted @ 2015-07-07 17:19 katago 阅读(3797) 评论(0) 推荐(2)
摘要: 看不见的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)
摘要: 在王晓东编著的《算法设计与实验题解》中看到的这个问题,问题描述如下: 一本书的页码从自然数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 下一页