自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 操作系统——实现简单的键盘驱动

首先,下面是头文件保护机制,防止同一个头文件被多次包含,避免编译错误。当然,在最后也要写上#endif。然后要引入头文件:type.h 提供了基本类型定义(如uint8_t、uint32_t等)。port.h 用于与硬件I/O端口通信。interrupt.h 提供了中断管理的基类和相关支持函数,下面出现的KeyboardDriver是interrupt.h中的InterruptHandler的子类。

2024-11-27 18:34:58 1781

原创 保护模式的内存寻址:GDT

GDT的主要组成部分:1. 段描述符段描述符的结构如下:2. 段选择子段选择子是16位,结构如下:- 索引(13位)- 表指示符(1位):指定段选择子是指向GDT还是LDT。0表示指向GDT,1表示指向LDT。- 特权级(2位)3. 段寄存器(GDTR)全局描述符寄存器,长度48位,低16位是GDT长度限制,高32位是GDT在内存中的地址。this是当前对象的指针,将其强制转换为 uint8_t*是为了按字节来访问和操作段描述符的各个字节。

2024-10-29 13:31:05 1528

原创 在虚拟机中运行简单内核

以下是传递给 g++ 编译器的参数,主要用于确保生成 32 位代码并禁用一些 C++ 特性。-m32: 指定生成 32 位代码-fno-use-cxa-atexit: 禁用 C++ 的 atexit 功能。-nostdlib: 不链接标准库。-fno-builtin: 禁用内置函数。-fno-rtti: 禁用运行时类型识别。-fno-exceptions: 禁用异常处理。-fno-leading-underscore: 禁用在符号前添加下划线的行为。

2024-10-27 22:16:55 1653

index.json

index.json

2022-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除