趣谈 Linux 操作系统
刘超
前网易杭州研究院云计算技术部首席架构师
84364 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 72 讲
趣谈 Linux 操作系统
15
15
1.0x
00:00/00:00
登录|注册

08 | 内核初始化:生意做大了就得成立公司

上一节,你获得了一本《企业经营宝典》,完成了一件大事,切换到了老板角色,从实模式切换到了保护模式。有了更强的寻址能力,接下来,我们就要按照宝典里面的指引,开始经营企业了。
内核的启动从入口函数 start_kernel() 开始。在 init/main.c 文件中,start_kernel 相当于内核的 main 函数。打开这个函数,你会发现,里面是各种各样初始化函数 XXXX_init。

初始化公司职能部门

于是,公司要开始建立各种职能部门了。
首先是项目管理部门。咱们将来肯定要接各种各样的项目,因此,项目管理体系和项目管理流程首先要建立起来。之前讲的创建项目都是复制老项目,现在咱们需要有第一个全新的项目。这个项目需要你这个老板来打个样。
在操作系统里面,先要有个创始进程,有一行指令 set_task_stack_end_magic(&init_task)。这里面有一个参数 init_task,它的定义是 struct task_struct init_task = INIT_TASK(init_task)。它是系统创建的第一个进程,我们称为 0 号进程。这是唯一一个没有通过 fork 或者 kernel_thread 产生的进程,是进程列表的第一个。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《趣谈 Linux 操作系统》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(119)

  • 最新
  • 精选
  • Virtue
    置顶
    感觉大家不用太纠结于代码细节了,知道内河初始化都干了啥就行了吧。。

    作者回复: 对的对的

    4
    70
  • 时间是最真的答案
    我做Java的,看的云里雾里,好慌啊

    作者回复: 学点c

    7
    67
  • ninuxer
    打卡day9 0生1,1生众生,2是内核态的办公室主任~

    作者回复: 赞

    4
    45
  • rocedu
    推荐一本入门书配套本课程学习,《庖丁解牛Linux内核分析》( https://j.youzan.com/BA2Fr9)

    作者回复: 赞

    37
  • Arthur.Li
    0号进程不属于内核态吗?属于的话为啥2号才是内核态祖先

    作者回复: 0号不运行

    7
    34
  • 孜孜
    逐渐一篇文章要读很多遍,花很多时间。坚持,多看一点,多花点时间,总比啥都不干强。

    作者回复: 赞,加油

    25
  • 安排
    ramdisk里面是不是也要提前放上存储设备的驱动,然后ramdisk里面的init起来之后,加载对应存储设备的驱动,为了适应各种存储设备,ramdisk里面需要放上市面上各种存储设备的驱动吗?如果是这样的话,那跟把这些驱动放到内核里有什么区别呢?反正也没有节省空间。 我的理解是这样的,ramdisk中只放要运行的电脑上的存储设备驱动,内核中不放存储设备驱动,这样的话如果每次存储设备不同,我们只需要做一个对应的ramdisk,每次更换存储设备只需要做ramdisk,而内核只需要编译一次就行了,这样效率会提高?如果驱动放到内核一起编译,每次换存储设备都要重新编译内核,效率低。编译内核比做一个新的ramdisk效率低。 不知道以上理解对不对,还请老师指点一二。

    作者回复: 是的

    24
  • sunsweet
    0号进程能详细说说嘛,它是干啥用的

    作者回复: 链表头

    11
  • 焰火
    超哥您好: 用户态 --> 内核态 --> 用户态 这点感觉很像进程间的切换啊 如果把 内核态 也当作 一个进程来看,这个一个内核态进程 是 服务于 多个用户进程的嘛? 多个用户进程对某一个硬件资源进行系统调用 应该也是有 阻塞排队等待的吧 ~~

    作者回复: 进程切换更复杂了。后面会讲。内核不要当成一个进程看,要不容易晕

    11
  • 登高
    不去看源码似乎跟不动了

    作者回复: 那就看,哈哈

    11
收起评论
显示
设置
留言
99+
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部