三个月、七大专题,带你实现一个自己的操作系统。全网唯一!子牙亲授,继手写JVM后又一力作、直播教学,课上手写代码、真的学得会的OS课程。手写一个可运行的操作系统,直播上课+录播复习+课后练习+阶段练习。
为什么学?
01、手写一个操作系统应该是所有程序员的梦想吧
02、整天CRUD、空口谈架构,没办法让别人看到你的技术实力,写-个内核,震慑全场
03、你对计算机原理的一切疑惑,写一个操作系统,全解开
04、你对计算机的一切疑惑,写-个操作系统,全解开
05、技术行业已进入存量市场阶段,内卷会愈演愈烈,打下深厚的底层基础,后面想学新东西会非常快,一眼看穿技术本质
06、一个课程带你学会三个内核: Windows内核、linux内核、你自己手写的内核
课程大纲:
专题一、玩转CPU实模式
1、搭建操作系统框架,输出helloworld
2、汇编篇一:先聊汇编全貌、再玩转寄存器
3、汇编篇二:手绘堆栈图,玩转系统执行流
4、汇编篇三:玩转函数,自构建执行流
5、让你的操作系统内核突破512字节
6、引入Makefile管理项目的编译链接
7、了解硬盘工作原理,编写硬盘驱动
8、为了扩展性,将硬盘作为操作系统启动盘
9、让所有虚拟机支持我们写的操作系统:bochs、qemu、VMware
专题二:单步调试Windows内核,玩转CPU的段与门
00、课前:Windows提供的调试环境更方便大家掌握此知识点
01、CPU段:操作系统分用户态及内核态的秘密在此
02、深刻理解段选择子、段描述符、GDT表、LDT表
03、深刻理解CPL、RPL、DPL
04、单步调试Windows内核,实战GDT表
05、用户态切内核态的秘密:中断门、调用门、任务门、陷阱门
06、实战调用门实现应用态切内核态再回应用态
专题三:让你的内核进入保护模式,支持用C语言开发与调试
01、一切准备就绪,编写代码进入保护模式,寻址突破1M瓶颈
02、带你玩转ELF文件、gcc、编译与链接
03、配置环境,支持调试C语言代码,为后面调试强大功能做准备
04、封装操作硬件的I0接口
05、实现终端输出模块
06、实现字符串处理库string.h
07、实现可变参数、实现内核打印函数printk,实现无限打印
08、C语言接管GDT,为后面更为方便地控制CPU权限做准备
专题四:接管BIOS中断,填充中断向量表IDT
01、玩转中断控制芯片,深刻理解硬中断与软中断
02、编码激活中断控制芯片,填充中断向量表,让我们的内核接管中断
03、编码实现键盘中断,为后面实现命令行做准备
04、编码实现时钟中断,为后面实现任务调度做准备
专题五:内存管理玩不好,地动山摇
01、知根知底,借助BIOS中断检测物理内存,获取内存条信息
02、仿linux实现物理内存管理模块
03、单步调试Windows内核,深入理解101012分页
04、单步调试Windows内核,深入理解29912分页
05、仿linux实现虚拟内存管理模块
专题六:再现linux当年的辉煌,任务调度
01、仿linux实现0号进程
02、实现由0号进程创建出1号进程、2号进程...
03、利用时钟中断与仿linux调度算法,实现多任务切换
04、加入任务优先级来控制任务调度频率、先后顺序
05、实现任务阻塞、睡眠、唤醒、退出
06、实现内核态的sleep函数
专题七:内核态玩腻了,去用户态玩玩
01、巧妙借助中断回到用户态
02、填充TSS,让系统完整进入用户态
03、构建中断门0x80,搭建系统调用框架
04、编码实现用户态输出函数write
05、编码实现printf,深刻理解系统调用
06、编码实现在用户态退出进程函数_exit
版权声明:
1、本资源转载于网络,版权归原作者所有!
2、本资源仅供个人学习研究参考,本站不承担任何技术及版权问题。
3、请下载后24小时内自觉删除,如果您喜欢该资料,请支持作者购买正版!
4、本资源若侵犯到您的版权利益,我们深感抱歉!请您点击【内容投诉】反馈,我们将尽快删除。