11 2023 档案

摘要:问题 最近在学习vulkan,按照vulkan官网教程学习到Instance这个章节时遇到了一个问题。就是在MacOS下调用createInstance函数创建instance时,会提示VK_ERROR_INCOMPATIBLE_DRIVER,而Windows下却没有这个问题。 解决过程 一开始以为 阅读全文
posted @ 2023-11-26 00:59 basic60 阅读(918) 评论(0) 推荐(0)
摘要:前言 我们的Bootloader目标是加载64位的ELF可执行文件,因此需要理解64位ELF文件的结构,并且支持运行ELF文件。 ELF文件结构 ELF文件的结构如下图所示: 它包含了ELF头部,一个可选的Program Header Table,多个Section和一个Section Header 阅读全文
posted @ 2023-11-11 23:47 basic60 阅读(359) 评论(0) 推荐(0)
摘要:前言 本项目是基于IA32架构架构(32位Intel架构)的,而IA32架构有以下的操作模式: 实模式、保护模式、虚拟8086模式和系统管理模式。这些模式被称为 传统模式。 实模式是计算机刚启动时的模式,在实模式下可以随意访问可用的内存地址,实模式比较简单直接,但是随着操作系统的发展,实模式这种直接 阅读全文
posted @ 2023-11-11 17:00 basic60 阅读(887) 评论(0) 推荐(0)
摘要:计算机启动流程简介 要知道如何设计bootloader,需要先了解一下计算机启动的流程。具体可见引用1,这里只需要关注以下这一点即可: 系统启动后会自动将硬盘的第一个扇区(主引导记录,MBR)加载至内存0x7c00处,并检查MBR的第511和第512个字节是否为0x55和0xaa,如果是,则跳转至0 阅读全文
posted @ 2023-11-05 01:35 basic60 阅读(980) 评论(0) 推荐(0)