• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Linux系统中,内核线程init是如何转变为用户态进程并进入用户态

沃尔夫斯堡的羊 2020-08-26 浏览量:501
Linux系统在启动过程中,在start_kernel()中最后调用rest_init()函数中,创建了init内核线程,执行”/init文件“,然后就请教:在内核态下执行/init文件后是如何进入用户态的?并变为用户态进程的?周知,从用户态进入内核态可以通过中断,然而,这个逆向从内核态进入用户态是怎样的一个机制?有没有大神给个图示,内核态栈和用户态栈之间的栈是如何转化的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • Linux的进程管理全部都是在内核里面实现的,内核先调用do_fork产生一个进程,然后这个用户态的进程堆栈那些是内核程序向用户程序的进程栈压入数据,这样实现内核态到用户态的转换
    • 发布于 2020-08-29
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:0

相关问题

问题达人换一批

Linux系统中,内核线程init是如何转变为用户态进程并进入用户态