从0到1带你手写x86单核OS,x64多核OS,实战Linux内核内存机制
助力练就远超普通工程师的核心竞争力
技术专家亲授+小班直播教学+录播复习+阶段练习+贴心答疑服务
阶段一:【开课前试听视频】
通过观看试看视频,了解子牙老师的技术实力与教学风格
开课前试听
直播试听课
通过观看试看视频,了解子牙老师的技术实力与教学风格
阶段二:玩转CPU实模式、硬盘,实现微内核
本阶段目标是为进入保护模式做好准备工作:汇编、实现boot loader、CPU段机制
第一周
由浅入深掌握汇编,实现微内核
本周会带大家写一个微内核,让大家找到学习本门课程的乐趣。对于没有汇编基础的小伙伴,我会从零开始教【购买后,访问第1周第1章第3节获取课程群】
第二周
突破512字节,让内核可以自由发挥
本周实现让我们的内核突破512字节,为后面开发强大的内核扫清阻碍
阶段三:进入保护模式,实现真正意义上的内核
本阶段的目标是进入保护模式,并为进入64位模式做好准备工作:C语言、C语言开发内核与调试、进入64位模式理论
第三周
编码进入保护模式支持C语言开发内核&调试
本周目标是让我们的内核进入保护模式,开启强大功能的能力
第四周
深刻理解C语言,实现屏幕驱动
本周带你深入理解C语言的指针,然后实现内核的第一个模块:打印输出模块
阶段四:进入64位模式,实现任务切换
本阶段的目标是进入64位模式,支持C语言开发与调试64为内核、实现物理内存管理模块、虚拟内存管理模块、中断处理机制,最终实现单核下的任务切换
第五周
进入64位模式实现物理内存及虚拟内存管理
本周目标是让我们的内核进入64位模式,实现物理内存管理模块、虚拟内存管理模块
第六周
实现64位模式下的任务切换
本周带你实现中断机制、任务切换,深入理解主流OS系统调度的底层原理
阶段五:实现多核任务切换(录播)
本阶段的目标是实现多核任务切换,期间会学习到:多核中断控制器APIC、CPU间通信机制IPIs、激活AP核、多核任务切换基础理论
第六周
控制多核中断控制器,实现多核任务切换
本周教你如何控制多核中断控制器,在此基础上实现多核任务切换。助你深刻理解多核环境下的Linux多线程底层实现
第六周
进入用户态,实现shell,实现系统调用
本周带你实现多核环境下的任务切换后半部分,进入用户态,实现shell、系统调用
阶段六:带你玩转Linux内核内存模块
本阶段的目标是彻底玩转Linux内核内存机制,通过编写驱动的方式,实现:模拟MMU解析虚拟地址、修改页属性、手动挂物理页跨进程访问内存
第七周
编写Linux内核驱动,实战虚拟内存分页
本周带你学会Linux驱动开发,在此基础上,在实战中理解Linux内核的虚拟内存映射机制及内存管理机制
第八周
在实战中深刻理解Linux内核内存管理
本周带你源码级理解Linux内存模块的核心函数,让你玩转Linux内核内存管理