全部博文(48)
发布时间:2013-08-05 10:49:56
== Structure ==class== Understand ==class====系统支持使用 class_create, device_create。 ......【阅读全文】
发布时间:2013-08-05 10:37:32
结构:Linus大神曾说过,系统好坏的评价标准就在数据结构的设计!dev_t: 如果把设备抽象一个点,剩下来的就是设备号了,一个数字。struct kobj_map cdev_map: 先把cdev签到 struct probe结构中,在根据cdev的major%255值把这个probe 放到cdev_map的probes数组中,为什么要这么做,根源就在与字符设备的minor好数量众多,方便管理,probe结构包含了cdev涉及的重要信息,minor范围、probe函数、cdev本身。 这个cdev_map简单的记录了字符设备和他的probe函数。struct char_device_stru......【阅读全文】
发布时间:2013-08-01 22:39:23
== Structure ==进程页表内核页表==Understand ==进程页表=====每个进程都有自己的进程页表,来自创建进程时复制自父进程。保存在mm->pgd中,进程页表,是内核页表的超集,正在执行的进程的pgd保存在cr3中。当进程访问内核空间时,出发vmalloc fail 缺页中断。拷贝init_mm的pgd,即swapper pgd, 到进程mm pgd中.........【阅读全文】
发布时间:2013-07-29 01:51:38
== Structure ==块设备的驱动包括几部分,如下:0 首先,内核要支持,块子系统。genhd_device_init()1 想想设备,你最先可能想到什么呢?没错,设备号!major_names管理整个系统的块设备号和设备名字的单一关系,除了名字之外找不到和实际设备的任何关系,固步自封的感觉。register_blkdev()用来向major_names一个设.........【阅读全文】
发布时间:2013-07-13 18:34:20
== Structure ==如果你用free -m 这个命令,输出:点击(此处)折叠或打开[firo@fedora ws]$ free -mtotal used free shared buffers cachedMem: 5639 3457 2182 0 238 1680-/+ b.........【阅读全文】