设计自己的Linux:从0写x86操作系统
白天
夜间
首页
下载
阅读记录
书签管理
我的书签
添加书签
移除书签
第6章 日志与printf格式化输出
浏览
104
扫码
分享
2022-07-11 07:33:30
创建日志输出接口
实现基本的信息输出
若干字符串和内存操作函数实现
实现字符串的格式化输出
支持整数和字符的格式化
在异常处理程序中打印信息
利用assert辅助调试
若有收获,就点个赞吧
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
)
重置阅读进度
×
思维导图备注