你将收获

手工创建任务0的过程

任务0从内核态切换到用户态的过程

内核堆栈及用户堆栈的概念

嵌入式汇编语法

适用人群

中高级程序开发人员

课程介绍

本课程介绍Linux0.11版本内核如何人工设置第一个任务(task 0)以及任务0从内核态切换到用户态的详细过程。包括全局描述符表中的TSS0描述符和LDT0描述符的创建过程。与引导过程中全局描述符表及局部描述符表的创建过程构成了一个有机的知识块。在任务0从内核态切换到用户态过程中,可以学习到内核态堆栈与用户态堆栈概念相关的源代码。课程还会介绍嵌入式汇编的基本语法,帮助进阶内核代码阅读。课程最后会介绍,任务0 fork()任务1 init进程的过程,以及在进程1中使用fork()创建登录shell及交互shell的过程。

课程目录