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

进程运行时,内核的哪部分来维护task_struct结构?

    来源: 互联网  发布时间:2017-01-19

    本文导语:  我们知道,fork()创建进程的时候,会为子进程创建一个task_struct结构,并将父进程的task-struct结构中的信息复制到新创建的task-struct结构中。然后通过exec()加载子进程进程映像到内存中,并设定exec()返回时的IP...

我们知道,fork()创建进程的时候,会为子进程创建一个task_struct结构,并将父进程的task-struct结构中的信息复制到新创建的task-struct结构中。然后通过exec()加载子进程进程映像到内存中,并设定exec()返回时的IP,SP ,这样当exec返回后,就会从子进程自己的指令的第一条开始执行。
问题:1.此时子进程的task-struct结构中的 大部分 信息是不是仍然是先前所复制的父进程的?
          2.进程开始执行自己的指令的时候,内核哪些地方需要使用task-struct结构里面的信息?比如进程调度
          3.子进程开始执行自己的指令的时候,内核的哪部分(哪些函数)来维护(修改)进程的task-struct结构?
初学linux内核,不知道我的问题问得对不对。。。
期待大家的答复。

|
1 task_struct中的大部分内容仍然是跟父进程相同的,但是也有不同的地方,比如进程ID,不然怎么来区分是父进程还是子进程?
2 task_struct是一个非常庞大的结构体,几乎涉及到进程的东西都会用到结构体里面的东西。像进程调度、进程切换、分配内存等等。既然你是刚刚入门,你没必要把整个结构体都搞清楚,以后用到哪个字段研究哪个字段就行。
3 进程执行的时候肯定是内核来修改和维护task_struct结构。

    
 
 

您可能感兴趣的文章:

  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 进程内核栈和操作系统内核栈的关系
  • 内核进程与用户进程间的通信
  • 请问linux进程的哪些信息保存在内核里?哪些信息又保存在进程空间里?谢谢
  • 内核进程间发送信号用哪个函数,如果没有这东西,那内核里异步通知用哪个东西
  • Linux内核进程与应用进程的通信方式有哪些?
  • linux 内核进程堆问题,大家指教
  • 关于内核进程和用户层命令不是很理解?
  • 如何利用Linux内核线程来保存用户进程
  • 【求助】多进程中 内核信号量无效?
  • 进程系统调用陷入内核的不解
  • 请教一个linux进程内核栈的问题
  • linux内核高手进!关于调用__fork()时0号进程的子进程才能与父进程共享PID的困惑
  • 内核进程线程问题,大家指教
  • 用户进程有自己独立的地址空间,内核线程没有自己的地址空间 该怎样理解: ?
  • “模块”在内核中运行与作为单独进程运行在机制上有什么区别与联系?
  • linux 可不可以编译成一个单进程的内核
  • linux内核缓冲区与进程缓冲区。
  • 请教一下,进程调度时在导入新进程的cr3之后,CPU是怎么区分当前正处于内核而不去使用新的页目录呢?
  • 中断上下文,进程上下文 ,内核抢占,用户抢占,中断
  • 求助: 进程调度内核分析
  • 如何用pid获取该进程对应的task_struct
  • 如何在用户进程中获取当前进程的task_struct结构地址?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何通过进程号获得进程的一些信息,例如:进程运行的目录
  • 在suse上运行某个进程,运行一段时间后进程自动消失了,是什么原因呢?
  • 已知进程名,检测进程是否在运行并调用
  • 已知一个进程的PID,但不知道这个进程是否停止,如何能知道系统中是否有相应的进程在运行。
  • 在程序中启动一个进程(不是线程),如何知道该进程已运行结束
  • shell如何判断当前进程是否是当天运行的进程?
  • 急!子进程在运行,结束父进程会出错,怎么解决?
  • 请问:进程创建的线程是怎样运行的啊,线程的处理函数运行完了,线程就退出了吗?
  • 中断恢复现场时怎样判断进程运行到那一步,如何无缝连续运行的呢?
  • linux进程(线程)运行过程中如何获取本进程当前的内存使用状况,统计信息?
  • 急急 solaris 系统被自己的进程调用太多堵死了,其它系统进程也运行不了,有没有什么好的办法啊?在线等!!!!
  • 怎么查看Linux中所运行的进程,并且知道哪些是停止响应的,用什么命令可以杀掉停止响应的进程?
  • 某daemon进程运行一段时间后接受到不知何地的终止信号导致进程退出,何解?
  • linux shell关掉后java程序(进程名abc)仍能运行,用ps -ef|grep abc能查到进程名
  • 如何使一个前台运行中得进程变成后台运行的? nohup
  • 如何用函数判断某个守护进程处入运行中
  • 请教:在进程运行中将其转换成守护进程会怎么样?
  • 守护进程里如何运行另一程序?
  • 关于进程不能正常后台运行的问题
  • 使用信号量如何让父子进程交替运行?
  • linux僵尸(zombie)进程介绍及清除
  • 进程Afork进程B,进程Bfor进程C,如果进程C退出发出SIGCHLD,A进程是否可以收到
  • Ubuntu查看内存,进程相关命令介绍
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • linux下进程占用内存空间详解
  • 在多进程中父进程frok子进程,怎样让子进程自举,脱离父进程,而且父进程不退出
  • android 4.0 托管进程介绍及优先级和回收机制
  • fock()开出的子进程的进程ID是否进程ID都大于父进程的?
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • 多进程问题 子进程读取内容 读完挂起,父进程写 写入后唤醒子进程


  • 站内导航:


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

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

    浙ICP备11055608号-3