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

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

让所有任务都能延时

浏览 245 扫码 分享 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 ) 重置阅读进度

          思维导图备注