当前位置:  技术问答>linux和unix

内核进程线程问题,大家指教

    来源: 互联网  发布时间:2016-07-17

    本文导语:  1.kthread_create kernel_thread产生的是进程还是线程,如果是线程那么进程如何产生,如果说内核线程和进程是一个东西,那么到底是进程还是线程,我在一个.C里声明个全局变量,其它的线程可以共享吗? 2.产生内核进...

1.kthread_create kernel_thread产生的是进程还是线程,如果是线程那么进程如何产生,如果说内核线程和进程是一个东西,那么到底是进程还是线程,我在一个.C里声明个全局变量,其它的线程可以共享吗?


2.产生内核进程用哪个函数?





|
没有“内核进程”。“内核线程”本身就是一种特殊的进程,它只在内核空间中运行,因此没有与之相关联的“虚拟地址空间”,也就永远不会被切换到用户空间中执行。但跟一般的进程一样,它们也是可调度的、可抢占的。这一点跟中断处理程序不一样。
Linux一般用内核线程来执行一些特殊的操作。比如负责page cache回写的pdflush内核线程。
另外,在Linux内核中,可调度的东西都对应一个thread_info以及一个task_struct,同一个进程中的线程,跟进程的区别仅仅是它们共享了一些资源,比如地址空间(mm_struct成员指向同一位置)。所以,如果非要觉得内核线程应该被称为“内核进程”,那也没啥不可以,只是这样说的话,就成了文字游戏了。毕竟官方的叫法就是“内核线程”。

|


去研究 do_fork 的实现就知道了,http://lxr.linux.no/linux+v2.6.31/kernel/fork.c#L1333。 sys_clone / sys_fork 最后都是走到这里。

|
100啊。深更半夜,来看看!

    
 
 

您可能感兴趣的文章:

  • 内核栈~ 内核线程 ~用户线程 之间关系 问题
  • Linux中内核线程不访问内核态地址空间?
  • (菜鸟基础问题)关于内核线程
  • linux内核是如何支持多线程的?
  • 内核线程问题
  • 请教linux 2.6内核移植到arm上最大线程数量的问题。
  • 如何利用Linux内核线程来保存用户进程
  • 内核中的timer是不是可以理解为多线程,我想对一段代码加锁,如何实现,有没有可用的内核函数?
  • 超线程的内核无法启动?
  • 用户进程有自己独立的地址空间,内核线程没有自己的地址空间 该怎样理解: ?
  • 内核线程没有用户空间具体指的是哪个结构体?
  • 高分噢!内核线程绑定问题!急!!!
  • 寻linux内核线程补丁或相关资料
  • linux内核多线程使用那个函数啊?
  • 2.4内核下面最大线程数的问题
  • Linux内核线程睡眠问题
  • 哪位老大详细地讲解一下内核线程和轻量级进程、分别如何创建?多谢了。
  • (100分求助)用内核线程对用户进程操作(大侠/虾们出手了)
  • linux内核源代码中,在哪个文件的哪个地方可以看到定义线程切换时间片大小?
  • 在内核模块中通过kernel_thread创建的线程,用kill_proc结束会死机呢?
  • 请问重新编译LINUX内核是否能将没有用的外设的驱动程序删除并减少内核占有内存的资源?请好心人仕指教!
  • linux 内核进程堆问题,大家指教
  • Web服务器/前端 iis7站长之家
  • 升级内核到(2.6.6)后,鼠标(p/s2口)不能动了,请指教?
  • linux编译的内核不能启动,是怎么回事,请高手指教!
  • #####编译内核使支持 video for linux 的问题!!!!!!!!!!!!!!! 请高手指教
  • 各位前辈,请指教,我按照网上的教程编译不了内核
  • redhat 9.0 下驱动程序开发是否需要重新编译内核?求高手指教!
  • 内核编译成功,但是用Loadlin从DOS引导出错!请高手指教!
  • 内核编译初期问题,大家指教
  • Linux2.6内核mmap的问题! 请高手指教!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 进程内核栈和操作系统内核栈的关系
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • 2.6内核下编译2.4内核
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 谁能提供kgdb内核补丁内核模块的下载
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 编译新内核后怎么进入原来内核
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 请问linux中如何判断内核是否已经启动。(在内核中写程序)
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 内核模块跟内核版本不匹配????????
  • docker使用的技术之Container内核原理介绍
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 不重新编译内核能修改内核函数吗?
  • 如何学好内核?学了内核能应用于哪方面?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3