11|main方法:整个操作系统就三十几行代码
闪客
你好,我是闪客。
第一部分,我们通过一大堆讨厌的汇编代码,把进入 main 方法前的苦力工作都完成了。
我们的程序终于跳到第一个由 c 语言写的文件 main.c 中,这里有个名字叫做 main 的方法,写得非常精简,把操作系统的整个骨架都勾勒出来了。
第二部分,我们的主题是“大战前期的初始化工作”,学习重点就是 main 方法中的各种初始化函数,这些函数是操作系统各个模块得以运作的基础。
在详细分析这些函数之前,这一讲,我先作为“导游”,结合 main 方法的代码,带你建立初始化过程的整体印象。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
文章标题为“main方法:整个操作系统就三十几行代码”,主要介绍了操作系统启动过程中的main方法的代码和功能。文章首先通过汇编代码和C语言文件main.c展示了main方法的代码,总共30几行,却包含了操作系统启动流程的全部秘密。主要分为四部分:参数取值与计算、表示初始化的init方法、切换用户态和死循环。其中,参数取值和计算包括根设备、设备信息和内存边界的计算;表示初始化的init方法包括内存初始化、中断初始化、进程调度初始化等;切换用户态部分将操作系统切换到用户态模式,并在新的进程中进行最终的初始化;最后,如果没有任务可以运行,操作系统会陷入死循环。文章强调了这几行代码蕴含着操作系统启动流程的全部秘密,并提到了后续学习的重点,即操作系统在内存中建立各种数据结构来实现管理功能。总体来说,文章通过简洁的代码分析和解释,让读者对操作系统启动过程有了整体印象,为后续深入学习打下基础。
该试读文章来自《Linux0.11 源码趣读》,如需阅读全部文章,
请先通过赠一得一解锁课程
请先通过赠一得一解锁课程
赠一得一
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(7)
- 最新
- 精选
- 荒岛少年好耶,心心念念的第二季终于更新了,而且还是免费的,给作者一个₍₍Ϡ(੭•̀ω•́)੭✧⃛。2023-02-15归属地:江苏5
- Dream打卡2023-02-22归属地:北京1
- 陈国江打卡2023-02-16归属地:广东1
- 浩仔是程序员打卡2023-02-15归属地:广东1
- old打卡2023-10-25归属地:江西
- Rain点赞2023-05-22归属地:陕西
- ileruza你们都说打卡,我偏说沙发2023-02-26归属地:广东
收起评论