- 博客(7)
- 收藏
- 关注
转载 sysfs文件系统相关资料
1) Greg Kroah-Hartman How to create a sysfs file correctly http://kroah.com/log/blog/2013/06/26/how-to-create-a-sysfs-file-correctly/2) IBM 文档 https://www.ibm.com/developerworks/cn/linux/l-
2014-02-20 22:55:26
466
原创 内核线程的实例与摧毁
创建内核线程常见用于两种用途: 1)内核线程创建后便陷入睡眠, 直到有任务要执行。内核线程才会被唤醒, 执行完任务被再次睡眠.(比如说内核线程kevent) 2)内核线程创建后, 进入周期式唤醒/睡眠。 通常来说, 内核线程执行的是无尽循环(死循环)的工作。下面举例用于处理workqueue的内核线程Kevent。 914 static int create
2014-02-20 21:16:51
901
原创 sysfs文件系统对象sysfs_dirent的基本关系图
1)父sysfs_dirent必须是SYSFS_DIR类型。通常它的sysfs_dirent.s_dir.kobj会链接一个描述设备模型的kobject. sysfs_dirent.s_dir.children链接子sysfs_dirent 2)SYSFS_KOBJ_ATTR类型的sysfs_diren用于描述一个属性文件.通过它和SYSFS_DIR类型sysfs_d
2014-02-20 20:17:31
1097
原创 内核对象kobject架构图和系统设备架构图实例
如果需要遍历top_kset低两级的kset, 仅需 list_for_each_entry(...){ list_for_each_entry(....) }
2014-02-14 18:24:19
762
原创 内核笔记:完成变量completion.
一结构体变量定义: 25 struct completion { 26 unsigned int done; //决定进程是否需要睡眠/唤醒 27 wait_queue_head_t wait; //进程在此等待队列睡眠 28 }; 29 二相关函数: 睡
2014-02-14 16:45:54
1527
原创 内核线程的创建(2)
* 进程A执行执行kthread_create()函数中的wait_for_completion(create->done)后进入睡眠, 一直持续到创建的内核线程的第一次执行才被唤醒。 * 补充: 或者是create_kernel()执行kernel_thread()创建进程描述符时失败,也一样会complete(create->done).触发进程A的唤醒(内核线程创建失败
2014-02-14 14:30:55
800
原创 内核笔记:内核线程的创建
一 创建内核线程的内核线程 kthreadd. 在内核初始化时,为了后期的内核线程的创建, 内核特地创建了一个新的特殊的内核线程来为后期的内核线程创建服务。 init/main.c rest_init(){ kthreadd_task = find_task_by_pid_ns(pid, &init_pid_ns);
2014-02-14 13:33:34
838
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人