内核线程的创建(2)
来源:互联网 发布:电视盒子看电影软件 编辑:程序博客网 时间:2024/05/29 16:52
* 进程A执行执行kthread_create()函数中的wait_for_completion(create->done)后进入睡眠, 一直持续到创建的内核线程的第一次执行才被唤醒。
* 补充: 或者是create_kernel()执行kernel_thread()创建进程描述符时失败,也一样会complete(create->done).触发进程A的唤醒(内核线程创建失败).
现在新的内核线程已经创建好了,唯一要等待的是新内核线程获得cpu开始执行.前面提到他第一个要执行的函数便是ip寄存器中的kthread_thread_helper()函数.这个函数最终会[CALL %si], 也就是调用了kthread().
内核线程kt获得人生第一次的cpu执行权的实际任务就是执行complete(create->done)来通知创建它的进程A, “他已经创建好了”,然后就进入了睡眠。 所以创建内核线程的进程A必须要唤醒kt,才能开始内核线程的工作。
kt = kthread_create(...,...,...);
wake_up_process(kt); //唤醒kt内核线程.
至此内核线程kt和进程A便各走各的人生路.
- 内核线程的创建(2)
- uclinux内核线程的创建
- linux内核线程的创建
- 内核笔记:内核线程的创建
- 进程.线程,内核线程创建的区别
- Linux 内核线程 的 创建 和 终止
- 内核线程的创建并运行
- 砖6 内核线程的创建 kthread_create
- linux内核线程的创建与销毁
- linux内核线程的创建与销毁
- linux内核线程的创建与销毁
- kthread_run创建内核线程的原理
- 内核中线程的创建与销毁
- kthread_run创建内核线程的原理
- 创建内核线程
- kthread_run 创建内核线程
- linux 内核线程创建
- linux内核线程 [创建]
- Web压力测试工具Siege介绍
- Oracle常用数据字典
- iOS app支付宝接口调用的一点总结(补充支付宝SDK&Demo下载地址)
- FTP客户端如何判断FTP服务端的编码(解决中文乱码)
- 直接拿来用!最火的Android开源项目(一)
- 内核线程的创建(2)
- bat set命令详解
- 现学现用之windbg的高级玩法外篇一:获取某软件的聊天记录
- 【转】论这两年不断突破心理底线的互联网薪水
- android:scrollbar的一些属性
- C语言基础 实参与形参的类型一致
- 资料收集
- python 学习笔记12-----正则表达式
- title_test