(四)进程的生命周期——起源
操作系统:linux
处理器:arm
内核版本:4.x
目录:
- 0号进程
- 1号进程、2号进程
提到进程生命周期就不得不说一说进程的起源:进程是怎么来的?第一个进程是谁?
0号进程
实际上计算机中第一个进程并不是动态产生的,0号进程的信息在数据段中,预先设定好了,其对应的内核栈也在特定的位置(数据段中,由链接脚本arch/arm/kernel/vmlinux.lds.S决定)。
cpu在汇编阶段建立完页表、开启MMU,跳转到start_kernel之前,会将指针指向0号进程的栈顶偏移8 byte的位置。
#define THREAD_START_SP>> (THREAD_SIZE - 8)
可以用QEMU验证上面的结论,进入start_kernel时,sp指向了0号进程的栈,其对应的进程PCB是init_task。
1号进程、2号进程
在start_kernel最后一步,rest_init中会依据进程0的PCB为模板创建出kernel_init进程和kthreadd进程。(kernel_thread就是调用do_fork)
kernel_init进程会去解析用户配置好的脚本,是用户空间的第一个进程。
kthreadd进程是内核线程的父进程,每当有内核线程需要创建,通过调用kthread_create将自己添加到kthread_create_list时,kthreadd会被唤醒来创捷这些内核线程。
(四)进程的生命周期——起源相关推荐
- Angular 个人深究(四)【生命周期钩子】
Angular 个人深究(四)[生命周期钩子] 定义: 每个组件都有一个被 Angular 管理的生命周期. Angular 创建它,渲染它,创建并渲染它的子组件,在它被绑定的属性发生变化时检查它,并 ...
- UNIX 进程揭秘--进程的生命周期
探索运行在 UNIX 操作系统下的进程的生命周期 Sean A. Walberg (sean@ertw.com), 高级网络工程师 2007 年 7 月 16 日 研究进程的生命周期,以便您能将所看到 ...
- Vue 生命周期探索:第四篇:生命周期-销毁流程
文章目录 探索学习 Vue 生命周期篇 第四篇:生命周期-销毁流程 生命周期_销毁流程 1. beforeDestory (销毁前) 2. Teardown watchers,child compon ...
- 微信小程序把玩(四)应用生命周期
为什么80%的码农都做不了架构师?>>> App() 函数用来注册一个小程序,注意必须在 app.js 中注册,且不能注册多个. 使用方式也跟Android中的Applicat ...
- (第四篇)Vue生命周期
生命周期 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8 ...
- Kubernetes(k8s)四、Pod生命周期(初始化容器的应用,探针liveness、readliness应用,)
Pod生命周期 学习目标:初始化容器的应用及两个探针的应用 探针 是由 kubelet 对容器执行的定期诊断: Kubelet 可以选择是否执行在容器上运行的三种探针执行和做出反应: liveness ...
- Spring全家桶(四)Bean的生命周期
十.Bean生命周期 10.1 Bean的生命周期 Spring IOC容器可以管理Bean的生命周期,也允许在Bean生命周期的特定点执行定制的任务. Spring IOC容器对Bean的生命周期进 ...
- 四、项目生命周期和开发生命周期
一.简介 我们知道项目是暂时性.临时性的工作,具有开始时间和结束时间.正如达尔文进化论与马克思主义哲学认为:世界上任何事物都有其产生.发展和灭亡的过程(自然生命周期).项目同样有其生命周期,即开始.计 ...
- (五)进程的生命周期——诞生:fork、vfork、clone、内核线程(待续)
操作系统:linux 处理器:arm 内核版本:4.x fork.vfork.clone cow _do_fork copy_process 内核线程 自然界中的每一个生命都需要经历出生.成长.死亡, ...
最新文章
- [实现] 利用 Seq2Seq 预测句子后续字词 (Pytorch)2
- 实验室中的机械臂-资料汇总
- java 内存泄露对象排查_记录一次 java内存泄漏的排查
- ccxprocess启动项可以禁用么_Mac怎么禁用Adobe无用自启动项-Mac禁用Adobe无用自启动项方法 - 河东软件园...
- 关于juniper配速小记
- django,cbv,模板层
- python爬取b站搜索结果播放地址_如何利用Python快速爬取B站全站视频信息
- 代替Reflection(反射)的一些方法(转)
- 二阶振荡环节的谐振频率_什么是谐振器?谐振器与振荡器有什么区别?
- 十年.十大经济金融事件
- 巫师3储物箱在哪_巫师三孤岩宝箱在哪 | 手游网游页游攻略大全
- TDA2030功放电路图
- 南华大学计算机考研真题,2021南华大学考研历年真题复习资料
- bootbox.js bootbox.promt()
- 计算机毕业设计Java城市出行行程智能推荐系统(源码+系统+mysql数据库+lw文档)
- 面板数据分析及stata应用笔记
- 用Windows自带的系统恢复环境WinRE进行系统重大故障排查,轻松修复Windows蓝屏、白屏等问题
- 教育资源平台空间装扮html代码,一看就会—— 河南省基础教育资源公共服务平台“人人通空间”...
- ppoe拨号服务器没响应,pppoe拨号失败怎么办 pppoe拨号失败解决方法
- python编游戏_python编的著名游戏