如何将 .bin 文件写入软盘/虚拟软盘/软盘镜像的第一个扇区? 我正在尝试引导一个简单的512字节引导加载程序。无处都标明大小为“512字节”,所以应该已经很好了。 附加信息: 引导加载程序只是显示一个字符串,我正在学习简单汇编语言。有些工作在 Windows 上完成,有些在 Ubu...
我正在尝试编写x86通用保护故障(GP#13)的ISR。 我无法从英特尔文档中找出如何查找导致异常的故障地址。 我知道对于页面故障异常(GP#14),cr2寄存器保存故障地址。 非常感谢任何帮助。
如何在没有操作系统运行的情况下单独运行程序?您可以创建汇编程序,使计算机能够在启动时加载和运行它们,例如从闪存驱动器引导计算机并运行CPU上的程序吗?
我正在开发一个小型的x86内核。我正在访问并尝试读取GRUB在multiboot头中提供的内存映射。我的计算机使用Intel i3处理器和4 GiB内存。在此计算机上运行时,我正在读取以下内存映射: --Base Address-- --Length-- --T...
我正在设计一个操作系统的内核(我打算叫它“核心”,只是为了与众不同,但基本上是一样的)。如果我不能实现多任务处理、内存管理和其他基本功能,那么操作系统本身的细节就没有意义,因此我需要首先解决这个问题。我有一些关于设计malloc例程的问题。 我认为malloc()要么是内核本身的一部分(我倾...
我花费了很多时间开发操作系统并在低级别引导加载程序上工作。但现在我想在不离开低级环境的情况下,花些时间做一些与安全相关的事情。 所以我选择构建自己的标准密码实用程序,遵循预启动身份验证方案。由于我希望软件至少有一点可移植性,因此我希望它尽可能少地使用外部支持。我认为如果我在运行真实模式OS内...
我一直想做的事情是开发自己的操作系统(不一定像Linux或Windows那样花哨,但比我已经完成的简单引导程序要好)。 我很难找到超过编写简单的“Hello World”操作系统的资源/指南。 我知道很多人可能会推荐我看Linux或BSD;但是像那样的系统代码库(据推测)非常庞大,我不知道...
在我看来,程序员(特别是计算机科学毕业生)最常尝试着去完成的过于雄心勃勃的项目是构建自己的操作系统。(尝试创建自己的编程语言+编译器可能更为普遍,但远没有这么雄心勃勃。) 对于那些像我一样愚蠢地尝试的人:除了纯粹的规模以外,在从头开始创建你自己的操作系统时,你遇到的最大陷阱或意料之外的障碍是...