众筹:手写操作系统小班一期

手写操作系统小班一期.jpg

三个月、七大专题,带你实现一个自己的操作系统。全网唯一!子牙亲授,继手写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、本资源若侵犯到您的版权利益,我们深感抱歉!请您点击【内容投诉】反馈,我们将尽快删除。

发表评论

您需要后才能发表评论

知识付费课程众筹服务

会员介绍 升级会员