TA的每日心情 | 奋斗 2024-1-15 02:21 |
---|
签到天数: 45 天 [LV.5]常住居民I
荣誉会员
- 积分
- 1336
|
本站资源全部免费,回复即可查看下载地址!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
适合人群:
高年级本科生,操作系统内核入门级开发者,有操作系统、编译器、汇编基本概念更好(不是必要条件)
课程概述:
《从零开发操作系统:从加电自检到内核引导》 主讲:丁宋涛
如果你想自己写一个小的操作系统,一定会发现无从下手,因为在传统的学历教育中,操作系统课程过于关注理论,不会告诉你要用什么工具, 什么语言,如何写代码。本门课程是《C语言核心编程》的姊妹篇,正如C和Unix是孪生兄弟一般,本门课程向K & R致敬,探索计算机装置的本身原理。本课程基于X86架构,实现了从机器加电自检开始,到一个内建命令操作系统(内核雏形)的实现。建议操作系统内核开发的入门学员,学习两遍。第一遍,完全按照视频内容,将开发环境保持一致,将提供的源码直接编译运行获得感性认识。第二遍,根据理解,自己改写内容,调试运行以强化知识的理解。本门课程没有包含进程实现、文件管理等内容,有待后续其他课程进行扩展。
课程亮点:
课程讲师在操作系统相关课程上,拥有10年上全日制本科教学经验,全课程考虑到面向学生朋友,绝大多数为欠缺相关的经验。因此,本课程讲解注意细节,代码以简洁易懂为考量,尽量还原开发过程,帮助学员积累认知,增长才干。
课程目录:
1-1 从零开发操作系统课程介绍.mp4
1-2 开发环境配置与第一个启动程序.mp4
1-3 操作系统的基础知识:CPU、内存和指令(基础理论).mp4
1-4 CS,DS寄存器:代码段,数据段究竟是什么?.mp4
1-5 逻辑地址与物理地址:为什么是段+偏移(分段机制详解).mp4
2-1 加电自检与计算机的启动过程.mp4
2-10 从硬盘引导(四):Loader编码完成.mp4
2-11 从硬盘引导(五):突破512字节与寄存器段寻址再认识.mp4
2-2 7C00解析和主引导扇区魔数.mp4
2-3 验证性编程:引导区与BIOS下实模式编程.mp4
2-4 实验总结:为什么可以用附加段寄存器ES不用DS数据段寄存器.mp4
2-5 CPU寄存器梳理:CSDSES究竟是什么用途.mp4
2-6 CPU的寻址基础知识与栈段寄存器初解.mp4
2-7 从硬盘引导(一):硬盘原理介绍.mp4
2-8 从硬盘引导(二):MBR与loader分块.mp4
2-9 从硬盘引导(三):MBR编码完成.mp4
3-1 保护模式入门:内核态与用户态的由来.mp4
3-10 TSS解析:特权级切换实战(一).mp4
3-11 CPL、DPL、RPL与门的概念:特权级切换实战(二).mp4
3-12 调用门与权限切换:特权级切换实战(三).mp4
3-13 从ring0到ring3:特权级切换实战(四).mp4
3-14 时钟中断:进程时间片轮转的基础.mp4
3-15 保护模式下的中断编程实战(8259A).mp4
3-16 时钟中断编程与本章小结.mp4
3-2 保护模式(一):线性地址、逻辑地址、物理地址.mp4
3-3 保护模式(二):IA32架构、线性地址、逻辑地址、物理地址.mp4
3-4 保护模式(三):全局描述符GDT和线性地址.mp4
3-5 实验环境搭建:保护模式实战(一).mp4
3-6 jmp $再认识,GDT、选择子与寄存器匹配:保护模式实战.mp4
3-7 突破1M的寻址:保护模式实战(三).mp4
3-8 多任务的由来:LDT(局部描述符表)理论与实战.mp4
3-9 ring0和ring3的由来:内核态与用户态切换入门.mp4
4-1 操作系统是用C写的.mp4
4-10 用C写内核(五):用C改写占位Kernel.mp4
4-2 C库与操作系统:C库是建立在操作系统之上的.mp4
4-3 内核是常驻内存的(一):kenel的内存规划由来.mp4
4-4 图示kenel与loader的内存分布关系.mp4
4-5 从mbr加载loader再到loader加载kernel.mp4
4-6 用C写内核(一):elf文件格式透视.mp4
4-7 用C写内核(二):用elf生成占位Kernel.mp4
4-8 用C写内核(三):bochs调试出错的Kernel.mp4
4-9 用C写内核(四):C和汇编的联合编程.mp4
5-1 自己的操作系统系统:Tiny OS的演示.mp4
5-10 shell提示符与内建命令help的实现.mp4
5-11 关机命令poweroff的实现.mp4
5-12 时间命令time的实现——兼论rn.mp4
5-13 独立内核的操作系统完成.mp4
5-2 Tiny OS的编码文件划分:C库、kernel与汇编.mp4
5-3 C库中输入输出系统的实现:liba.asm.mp4
5-4 C库中字符串的实现(上):print.mp4
5-5 C库中字符串的实现(下):readtoBuf.mp4
5-6 C扩充内核的实现:libc.c.mp4
5-7 启动内核入口的实现osKernel.asm.mp4
5-8 交互实验完成.mp4
5-9 清屏函数与内建命令clear的实现.mp4
6-1 从实模式内核到保护模式加载.mp4
6-2 从清屏命令再认识保护模式下的访问控制.mp4
6-3 从cmos时间获取认识保护模式下的时钟中断.mp4
6-4 保护模式下多任务的形式浅析.mp4
6-5 从加电自检到保护模式加载全部完成.mp4
6-6 课程结束与展望.mp4
nasm2.zip
255K第二章代码.zip
2K第三章代码.zip
17K第四章代码.zip
21K第五章代码.zip
58K第一章代码.zip
工具.zip
下载地址:
|
|