设计自己的Linux:从0写x86操作系统

白天 夜间 首页 下载 阅读记录
  我的书签   添加书签   移除书签

GCC内联汇编

浏览 392 扫码 分享 2022-07-11 07:33:35

若有收获,就点个赞吧

0 人点赞

上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 第1章 课前准备
    • 指南介绍
    • 课程资料
    • 学习准备
  • 第2章 开发环境准备
    • 开发工具总览
    • Windows平台
    • Linux平台
    • Mac平台
  • 第3章 引导:boot的实现
    • 计算机启动流程简介
    • 接管运行控制权
    • 创建可引导的启动程序
    • 初始化引导程序
    • 使用BIOS中断显示字符
    • 使用BIOS中断读取磁盘
    • 进入C语言环境并跳到loader
    • 扩展更多功能
  • 第4章 加载:loader的实现
    • 利用内联汇编显示字符串
    • 检测内存容量
    • 切换至保护模式
    • 使用LBA读取磁盘
    • 创建内核工程
    • 向内核传递启动信息
    • 代码/数据段与链接脚本
    • 加载内核映像文件
  • 第5章 中断与异常处理
    • 创建GDT表及其表项
    • 保护模式下的内存管理简介
    • 重新加载GDT
    • 触发异常与异常简介
    • 添加中断门描述符
    • 初始化IDT表
    • 捕获除0异常
    • 解析异常栈信息
    • 利用宏重用异常处理代码
    • 处理其它类型的异常
    • 初始化中断控制器
    • 中断的打开与关闭
    • 启动定时器并打开中断
  • 第6章 日志与printf格式化输出
    • 创建日志输出接口
    • 实现基本的信息输出
    • 若干字符串和内存操作函数实现
    • 实现字符串的格式化输出
    • 支持整数和字符的格式化
    • 在异常处理程序中打印信息
    • 利用assert辅助调试
  • 第7章 实现简单进程切换
    • 创建两个小程序
    • 添加任务状态段
    • 初始化任务
    • 简单双任务相互切换
    • 更简单高效的任务切换方法
    • 什么是进程
  • 第8章 实现链表数据结构
    • 定义结点和链表
    • 实现链表的查询函数
    • 链表的两种插入
    • 链表的两种删除
    • 获取结点所在的结构
  • 第9章 任务管理与延时
    • 添加任务管理器
    • 将进程加入就绪队列
    • 进程主动放弃CPU: yield()
    • 简单的调度算法:时间片运行
    • 临界资源及简单的保护
    • 为任务增加延时接口
    • 让所有任务都能延时
  • 第10章 信号量和互斥锁
  • 第10章 内存管理和保护
  • 第11章 创建第一个进程
  • 第12章 系统调用与fork/execve
  • 第13章 控制台输出与文件系统框架
    • 无标题
  • 第14章 命令行程序初步设计
  • 第15章 FAT16文件系统
  • 第16章 完善命令行程序
  • 第17章 实现wait和exit系统调用
  • 附录 参考文档
    • GCC内联汇编
    • x86内核寄存器
    • 光标控制
    • Qemu使用方法
    • GDB使用方法补充
暂无相关搜索结果!

    让时间为你证明

    展开/收起文章目录

    分享,让知识传承更久远

    文章二维码

    手机扫一扫,轻松掌上读

    文档下载

    请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
    PDF文档 EPUB文档 MOBI文档

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度

        思维导图备注