【资源介绍】:
如果你想自己写一个小的操作系统,一定会发现无从下手,因为在传统的学历教育中,操作系统课程过于关注理论,不会告诉你要用什么工具, 什么语言,如何写代码。本门课程是《C语言核心编程》的姊妹篇,正如C和Unix是孪生兄弟一般,本门课程向K & R致敬,探索计算机装置的本身原理。本课程基于X86架构,实现了从机器加电自检开始,到一个内建命令操作系统(内核雏形)的实现。建议操作系统内核开发的入门学员,学习两遍。第一遍,完全按照视频内容,将开发环境保持一致,将提供的源码直接编译运行获得感性认识。第二遍,根据理解,自己改写内容,调试运行以强化知识的理解。本门课程没有包含进程实现、文件管理等内容,有待后续其他课程进行扩展。
课程目标 :
1.从裸机出发,理解计算机装置本身原理,直到内核加载的过程。
2.介绍了保护模式的基本特征,为现代桌面形式操作系统的实现提供实验环境。
3.本门课程是操作系统后续学习的铺路石和垫脚石。
【资源目录】:
├──1-1 从零开发操作系统课程介绍.mp4 33.63M
├──1-2 开发环境配置与第一个启动程序.mp4 34.81M
├──1-3 操作系统的基础知识:CPU、内存和指令(基础理论).mp4 35.40M
├──1-4 CS,DS寄存器:代码段,数据段究竟是什么?.mp4 24.27M
├──1-5 逻辑地址与物理地址:为什么是段+偏移(分段机制详解).mp4 24.13M
├──2-1 加电自检与计算机的启动过程.mp4 14.49M
├──2-10 从硬盘引导(四):Loader编码完成.mp4 4.73M
├──2-11 从硬盘引导(五):突破512字节与寄存器段寻址再认识.mp4 27.49M
├──2-2 7C00解析和主引导扇区魔数.mp4 34.06M
├──2-3 验证性编程:引导区与BIOS下实模式编程.mp4 71.70M
├──2-4 实验总结:为什么可以用附加段寄存器ES不用DS数据段寄存器.mp4 28.39M
├──2-5 CPU寄存器梳理:CSDSES究竟是什么用途.mp4 18.68M
├──2-6 CPU的寻址基础知识与栈段寄存器初解.mp4 25.23M
├──2-7 从硬盘引导(一):硬盘原理介绍.mp4 27.22M
├──2-8 从硬盘引导(二):MBR与loader分块.mp4 36.72M
├──2-9 从硬盘引导(三):MBR编码完成.mp4 29.10M
├──3-1 保护模式入门:内核态与用户态的由来.mp4 26.88M
├──3-10 TSS解析:特权级切换实战(一).mp4 24.23M
├──3-11 CPL、DPL、RPL与门的概念:特权级切换实战(二).mp4 18.36M
├──3-12 调用门与权限切换:特权级切换实战(三).mp4 53.98M
├──3-13 从ring0到ring3:特权级切换实战(四).mp4 85.46M
├──3-14 时钟中断:进程时间片轮转的基础.mp4 34.65M
├──3-15 保护模式下的中断编程实战(8259A).mp4 61.18M
├──3-16 时钟中断编程与本章小结.mp4 29.92M
├──3-2 保护模式(一):线性地址、逻辑地址、物理地址.mp4 18.61M
├──3-3 保护模式(二):IA32架构、线性地址、逻辑地址、物理地址.mp4 51.67M
├──3-4 保护模式(三):全局描述符GDT和线性地址.mp4 103.66M
├──3-5 实验环境搭建:保护模式实战(一).mp4 18.50M
├──3-6 jmp $再认识,GDT、选择子与寄存器匹配:保护模式实战.mp4 165.87M
├──3-7 突破1M的寻址:保护模式实战(三).mp4 13.10M
├──3-8 多任务的由来:LDT(局部描述符表)理论与实战.mp4 90.61M
├──3-9 ring0和ring3的由来:内核态与用户态切换入门.mp4 38.17M
├──4-1 操作系统是用C写的.mp4 11.05M
├──4-10 用C写内核(五):用C改写占位Kernel.mp4 36.41M
├──4-2 C库与操作系统:C库是建立在操作系统之上的.mp4 22.54M
├──4-3 内核是常驻内存的(一):kenel的内存规划由来.mp4 8.90M
├──4-4 图示kenel与loader的内存分布关系.mp4 19.52M
├──4-5 从mbr加载loader再到loader加载kernel.mp4 44.95M
├──4-6 用C写内核(一):elf文件格式透视.mp4 23.91M
├──4-7 用C写内核(二):用elf生成占位Kernel.mp4 37.01M
├──4-8 用C写内核(三):bochs调试出错的Kernel.mp4 75.77M
├──4-9 用C写内核(四):C和汇编的联合编程.mp4 47.01M
├──5-1 自己的操作系统系统:Tiny OS的演示.mp4 12.41M
├──5-10 shell提示符与内建命令help的实现.mp4 35.48M
├──5-11 关机命令poweroff的实现.mp4 22.55M
├──5-12 时间命令time的实现——兼论rn.mp4 69.26M
├──5-13 独立内核的操作系统完成.mp4 48.62M
├──5-2 Tiny OS的编码文件划分:C库、kernel与汇编.mp4 13.92M
├──5-3 C库中输入输出系统的实现:liba.asm.mp4 45.11M
├──5-4 C库中字符串的实现(上):print.mp4 26.99M
├──5-5 C库中字符串的实现(下):readtoBuf.mp4 43.07M
├──5-6 C扩充内核的实现:libc.c.mp4 32.84M
├──5-7 启动内核入口的实现osKernel.asm.mp4 7.23M
├──5-8 交互实验完成.mp4 63.10M
├──5-9 清屏函数与内建命令clear的实现.mp4 36.64M
├──6-1 从实模式内核到保护模式加载.mp4 71.56M
├──6-2 从清屏命令再认识保护模式下的访问控制.mp4 35.80M
├──6-3 从cmos时间获取认识保护模式下的时钟中断.mp4 23.97M
├──6-4 保护模式下多任务的形式浅析.mp4 13.24M
├──6-5 从加电自检到保护模式加载全部完成.mp4 34.26M
├──6-6 课程结束与展望.mp4 11.81M
└──资料代码.exe 15.89M