osdev 相关问题

操作系统开发:内核,shell,网络,交叉编译等

qemu 无效的 tss 类型

我在 32 位保护模式下从内核模式切换到用户模式(仅分段而不是分页)当我进行切换并在用户空间调用中断时,我从 qemu 收到此错误: 这可能

回答 0 投票 0

为什么不使用 GCC -fPIC 标志的 RIP 相关指令

我正在尝试使用 x86_64-elf-gcc 编译器在 Apple Silicon MacBook 上为 x86-64 裸机编写自定义内核。 在我的一个头文件 (Memory.hh) 中,我声明了一个常量: 外部“C”...

回答 0 投票 0

链接可执行文件时使用 ELF 文件中的符号

我在操作系统上工作,我现在遇到的问题与链接内核模块有关。 操作系统有一些内核模式 libc 函数,如 malloc、printf 等....

回答 0 投票 0

在 posix uefi 中读取 ext2 分区

我想在所有 ext2 分区中搜索特定文件夹中的特定文件,无论它们是 gpt 还是 mbr,然后读取它(二进制文件)。 我在 posix uefi gcc 中使用 wsl linux。

回答 0 投票 0

GDT x86 32 位保护模式下的切换段

我正在写一个玩具操作系统。我正在尝试为操作系统实施内存保护。我想要做的就是为用户空间程序保护内核。我想做...

回答 1 投票 0

initialize_paging();导致 x86 操作系统在启动时崩溃

我目前正在尝试重新发明轮子并使用 C 和 GAS 汇编程序编写 x86 操作系统。 操作系统当前启动,初始化 GDT 和 IDT 以及中断处理程序,然后尝试

回答 0 投票 0

使用 grub chainloader 时,os boot 代码会加载到内存的什么位置?

问题描述 你好。我想使用 grub chainloader 加载我的 minios(我自己开发的操作系统,不是 linux 或 windows)。 在使用 grub chainloader 之前,minios 启动过程是 BIOS->MBR->o...

回答 1 投票 0

mbr start.S中Ax寄存器的设置方式是否影响后续的mbr解释

我们知道,mbr 的第一步是将段寄存器设置为 0。但是可以有两种方法来设置段寄存器,首先我们可以使用“xorw %ax, %ax”将 AX 设置为 0 ,还有……

回答 0 投票 0

.s中的.cpp调用静态方法失败

这是我的代码: 中断存根: .section .text .extern _ZN16InterruptManager15handleInterruptEhj 底部: 推送 %esp 推(中断号) 打电话

回答 0 投票 0

Bootloader 在真实硬件上启动时收到磁盘读取错误,但在 vmware、qemu 和 bochs 上没有启动

我已经写了一段时间的 x86 引导加载程序,并且已经验证我的引导加载程序可以在 bochs 和 qemu 以及 vmware 上工作。但是,我收到错误代码为 0x0 的磁盘读取错误...

回答 1 投票 0

麻省理工学院开放课件课堂作业1

我目前正在学习麻省理工学院开放课件操作系统课程 (https://ocw.mit.edu/courses/6-828-operating-system-engineering-fall-2012/),我正在努力完成第一堂课的作业是实施...

回答 1 投票 0

Bootloader 在真实硬件上启动时收到磁盘读取错误,但在 vmware、qemu 和 bochs 上没有启动

我已经写了一段时间的 X86 引导加载程序,并且已经验证我的引导加载程序可以在 bochs 和 qemu 以及 VMWare 上工作。但是,我收到错误代码为 0x0 的磁盘读取错误...

回答 1 投票 0

禁用寻呼后,操作系统在远端跳转时复位。

我正在修改一个例行程序,它可以切换到和从realmode执行BIOS中断,但遇到了分页的问题。我之前在没有寻呼的情况下也能正常工作,但现在我的操作系统使用了...

回答 1 投票 0

SCSI读容量(10)报告错误的LBA和扇区大小。

我一直在尝试在裸机上测试我的业余操作系统的AHCI驱动程序。在此之前,我在QEMU中测试了我的驱动程序,参数如下:qemu-system-i386 -boot d -cdrom elfboot.iso -machine q35 -m 2G -hda ...

回答 1 投票 3

我想在Assembly中使用一个函数,但它不工作。

我想用汇编做一个基本的操作系统。但这并不奏效。我不知道为什么。对了,我是个初学者。我想做的事情是有print_string,用函数打印出......。

回答 1 投票 0

如果我在内核中添加了一个while循环,Qemu就会重新启动。

我写了一个while循环,当键盘控制器没有准备好的时候就会挂掉:while(inb(0x64)!=0){ }但是现在qemu在我每次尝试启动内核的时候都会重新启动。有时我可以看到vga ...

回答 1 投票 0

Bootloader无法加载内核。

实际上我做了一个有两个阶段的bootloader,因为我通过使用VESA BIOS扩展将视频模式设置为1920px*1080px(需要超过512字节。).现在我试图调用我自己的 ...

回答 1 投票 1

[尝试在Assembly和C中关闭机器时崩溃

我创建了一个程序集文件,用于关闭计算机以及一些C代码。当我尝试与ld链接时。它也起作用,这是执行此操作的代码:#将标志设置为0 .set FLAGS,0#set ...

回答 1 投票 0

从iso映像启动,引导加载程序的内存地址为何不为0x7c00

我出于学习目的编写了一个小型引导程序,它将打印出引导程序第一条指令的内存地址,绝对是0x7c00。参见下面的汇编源代码正在运行...

回答 1 投票 1

获取低级按键

我目前正在使用MOSA-OS编译器来开发操作系统,以将CIL编译为机器代码。不幸的是,在开发操作系统时,仅“ Console ....

回答 1 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.