发布时间:2015-03-06 01:40:48
注:转载请注明出处 作者:lvyilong3165.1 进程间描述符传递首先,我们先来讨论一个问题——进程间传递文件描述符究竟传递的是什么?我们从传递描述符函数的参数来看是个fd,我们知道fd是打开文件指针的在数组中的下标,是一个整数,那么我们仅仅是把一个整数传递给另一个进程吗?答案肯定是否定.........【阅读全文】
发布时间:2015-03-06 01:38:22
linux将创建内核线程的工作交给了一个专门的内核线程kthreadd来完成,该线程会检查全局链表kthread_create_list,如果为NULL,就会调schedule()放弃cpu进入睡眠状态,否则就取下该链表中的一项创建对应的线程。本文就从khtreadd内核线程的创建开始来展示一下内核线程的创建过程。......【阅读全文】
发布时间:2015-03-05 23:24:57
先介绍一下创建线程的大致流程:在模块的初始化函数中,调用netlink_kernel_create来注册自己的netlink协议,然后返回,接收netlink消息的函数为fcluster_netlink_recv,真正的初始化操作是在接收到netlink报文后才做,创建线程的操作也是在fcluster_netlink_recv中,如下图所示:调用kernel_thread的语句为:kernel_thread(fcluster_rcv_handoff, NULL, 0);按照这样的处理流程,在卸载模块时会提示 "module is in use".通过lsmod命令查看自......【阅读全文】