导航
课程首页
  • PM-Summit 全球产品经理大会云会员
  • SDCon 全球软件研发技术大会云会员
  • ML-Summit 全球机器学习技术大会云会员
  • C++性能优化高端培训
  • AI全栈开发实战营
精品课 极客时间

AI 搜索

登录
会员中心
消息
历史
创作中心
创作
学习中心
成为讲师

从零开发操作系统:从加电自检到内核引导 基础知识、引论与开发环境配置 从零开发操作系统课程介绍

从零开发操作系统:从加电自检到内核引导
共61节 1169人在学 课程详情
课程目录
讨论留言
  • 基础知识、引论与开发环境配置

    • 从零开发操作系统课程介绍
    • 开发环境配置与第一个启动程序
    • 操作系统的基础知识:CPU、内存和指令(基础理论)
    • CS,DS寄存器:代码段,数据段究竟是什么?
    • 逻辑地址与物理地址:为什么是段+偏移(分段机制详解)
  • 加电自检(POST)、BIOS与实模式下loader开发

    • 加电自检与计算机的启动过程
    • 7C00解析和主引导扇区魔数0x55aa
    • 验证性编程:引导区与BIOS下实模式编程
    • 实验总结:为什么可以用附加段寄存器ES不用DS数据段寄存器
    • CPU寄存器梳理:CS\DS\ES究竟是什么用途
    • CPU的寻址基础知识与栈段寄存器初解
    • 从硬盘引导(一):硬盘原理介绍
    • 从硬盘引导(二):MBR与loader分块
    • 从硬盘引导(三):MBR编码完成
    • 从硬盘引导(四):Loader编码完成
    • 从硬盘引导(五):突破512字节与寄存器段寻址再认识
  • 保护模式

    • 保护模式入门:内核态与用户态的由来
    • 保护模式(一):线性地址、逻辑地址、物理地址
    • 保护模式(二):IA32架构、线性地址、逻辑地址、物理地址
    • 保护模式(三):全局描述符GDT和线性地址
    • 实验环境搭建:保护模式实战(一)
    • jmp $再认识,GDT、选择子与寄存器匹配:保护模式实战(二)
    • 突破1M的寻址:保护模式实战(三)
    • 多任务的由来:LDT(局部描述符表)理论与实战
    • ring0和ring3的由来:内核态与用户态切换入门
    • TSS解析:特权级切换实战(一)
    • CPL、DPL、RPL与门的概念:特权级切换实战(二)
    • 调用门与权限切换:特权级切换实战(三)
    • 从ring0到ring3:特权级切换实战(四)
    • 时钟中断:进程时间片轮转的基础
    • 保护模式下的中断编程实战(8259A)
    • 时钟中断编程与本章小结
  • 从loader到内核(一):汇编与C混合编程

    • 操作系统是用C写的
    • C库与操作系统:C库是建立在操作系统之上的
    • 内核是常驻内存的(一):kenel的内存规划由来
    • 图示kenel与loader的内存分布关系
    • 从mbr加载loader再到loader加载kernel
    • 用C写内核(一):elf文件格式透视
    • 用C写内核(二):用elf生成占位Kernel
    • 用C写内核(三):bochs调试出错的Kernel
    • 用C写内核(四):C和汇编的联合编程
    • 用C写内核(五):用C改写占位Kernel
  • 从loader到内核(二):Tiny OS的实现

    • 自己的操作系统系统:Tiny OS的演示
    • Tiny OS的编码文件划分:C库、kernel与汇编
    • C库中输入输出系统的实现:liba.asm
    • C库中字符串的实现(上):print
    • C库中字符串的实现(下):readtoBuf
    • C扩充内核的实现:libc.c
    • 启动内核入口的实现:osKernel.asm
    • 交互实验完成
    • 清屏函数与内建命令clear的实现
    • shell提示符与内建命令help的实现
    • 关机命令poweroff的实现
    • 时间命令time的实现——兼论\r\n
    • 独立内核的操作系统完成
  • OS在保护模式下的若干重要特征解析

    • 从实模式内核到保护模式加载
    • 从清屏命令再认识保护模式下的访问控制
    • 从cmos时间获取认识保护模式下的时钟中断
    • 保护模式下多任务的形式浅析
    • 从加电自检到保护模式加载全部完成
    • 课程结束与展望
回复
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
发表回复
按下Enter换行,Ctrl+Enter发表内容
编辑
预览
    轻敲空格完成输入
    • 显示为
    • 卡片
    • 标题
    • 链接

    反馈

    播放页问题反馈
    视频学习中有任何产品建议都可由此反
    馈,我们将及时处理!

    课时介绍

    从零开发操作系统课程介绍

    课程介绍

    《从零开发操作系统:从加电自检到内核引导》 主讲:丁宋涛

    如果你想自己写一个小的操作系统,一定会发现无从下手,因为在传统的学历教育中,操作系统课程过于关注理论,不会告诉你要用什么工具, 什么语言,如何写代码。本门课程是《C语言核心编程》的姊妹篇,正如C和Unix是孪生兄弟一般,本门课程向K & R致敬,探索计算机装置的本身原理。本课程基于X86架构,实现了从机器加电自检开始,到一个内建命令操作系统(内核雏形)的实现。建议操作系统内核开发的入门学员,学习两遍。第一遍,完全按照视频内容,将开发环境保持一致,将提供的源码直接编译运行获得感性认识。第二遍,根据理解,自己改写内容,调试运行以强化知识的理解。本门课程没有包含进程实现、文件管理等内容,有待后续其他课程进行扩展。

    课程亮点:

    课程讲师在操作系统相关课程上,拥有10年上全日制本科教学经验,全课程考虑到面向学生朋友,绝大多数为欠缺相关的经验。因此,本课程讲解注意细节,代码以简洁易懂为考量,尽量还原开发过程,帮助学员积累认知,增长才干。

    推荐课程

    信息系统项目管理师自考笔记

    李明 · 756人在学

    python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

    王先生 · 22195人在学

    手把手搭建Java超市管理系统【附源码】(毕设)

    汤小洋 · 4222人在学

    Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

    黄菊华 · 793人在学

    基于SSM酒店管理系统(毕设)

    小尼老师 · 844人在学

    java项目实战之购物商城(java毕业设计)

    Long · 5161人在学

    手把手搭建Java求职招聘系统【附源码】(毕设)

    汤小洋 · 1511人在学

    Python Django 深度学习 小程序

    钟翔 · 2333人在学

    城管局门前三包管理系统+微信小程序(vue+springboot)

    赖国荣 · 605人在学

    Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

    李杰 · 3998人在学

    正在试验
    后自动删除环境
    课程实验
    本次实验时间已到期 00:00:00

      订阅失败

      从零开发操作系统:从加电自检到内核引导
      从零开发操作系统:从加电自检到内核引导 ...

      订阅列表已满,请先移出部分订阅内容。

      当前章节需购买后观看
      开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
      提交答案

      购买课程

      扫码完成付费,可继续学习全部课程内容

      加载中...
      课件正在飞速打包中,请耐心等待几秒钟~
      首页
      博客
      下载
      学习
      社区
      AI搜索
      GitCode
      InsCodeAI
      技术会议
      会员中心
      创作中心
      联系我们
      工作时间: 8:30 - 22:00
      客服电话: 400-660-0108
      kefu@csdn.net在线客服
      • 关于我们
      • 招贤纳士
      • 商务合作
      • 寻求报道
      • 京ICP备19004658号
      • 经营性网站备案信息
      • 公安备案号11010502030143
      • 营业执照
      • 北京互联网违法和不良信息举报中心
      • 家长监护
      • 中国互联网举报中心
      • 网络110报警服务
      • Chrome商店下载
      • 账号管理规范
      • 版权与免责声明
      • 版权申诉
      • 出版物许可证
      • ©1999-2024北京创新乐知网络技术有限公司

      视频问题反馈

      提交遇到的问题我们会尽快解决的 ~