osdev 相关问题

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

我应该使用哪个 C 编译器来创建我自己的简单操作系统?

本教程展示了如何编写我自己的简单操作系统: 编写您自己的操作系统教程:http://joelgompert.com/OS/TableOfContents.htm 一切都好,但语言发展......

回答 3 投票 0

将 BIN 转换为可启动 ISO 以进行操作系统开发的问题

我正在开发一个操作系统,并且一直在使用包含我的引导加载程序和内核的 BIN 文件。我一直在使用 QEMU 和 -drive 选项运行 BIN 文件,一切都按预期工作。

回答 1 投票 0

为什么 GDT 在 x86_64 系统中不起作用?

我想在 x86_64 操作系统中启用 GDT。我编写了以下代码来启用 GDT。 结构gdt_entry {// 128 位 uint16_t limit_low; // 段限制的低16位 uint16_t ba...

回答 1 投票 0

如何使用直接写入模式为业余爱好操作系统编写简单的 Soundblaster 16 驱动程序?

我正在开发一个 32 位、保护模式业余爱好操作系统。目前,我正在寻求添加简单的声音支持。为此,我希望使用 Sound Blaster 16 并使用直接模式...

回答 2 投票 0

USB2.0 控制端点根据 set_configuration 请求停止

我正在为专有操作系统开发 xhci 控制器驱动程序。我在枚举 USB2 设备时遇到问题。 USB3 设备的枚举没有问题。这是我的司机所做的: 连接设备...

回答 2 投票 0

在 x86 Intel Xeon 系统上的 Jailhouse 虚拟机管理程序下设置页面属性表 (PAT) 时出现问题

我正在尝试在 Intel Xeon x86_64 系统上设置 Jailhouse 虚拟机管理程序。但是,在初始设置期间写入 MSR_IA32_PAT 时,虚拟机管理程序会卡住。显然,价值...

回答 1 投票 0

在我的操作系统中加载 C 内核时出现问题 [已关闭]

我想写一个操作系统(小,多练习),遇到了一些困难。现在我有了加载程序文件、内核和一个未开发的标准库的类似物......

回答 1 投票 0

在我的操作系统中加载 C 内核时出现问题(已关闭)

此问题现已结束。我找到了决定。 我想写一个操作系统(小,更多用于练习)并遇到了一些困难。现在我有了加载程序文件、内核和一个

回答 1 投票 0

写入 ARMv8 上的 SP 是否也会写入 SP_ELx?

我一直在尝试阅读 ARM 手册以了解 ARM 在架构上的工作原理。我知道每个EL都有一个SP的系统寄存器,比如SP_EL0,SP_EL1等......

回答 1 投票 0

实模式内核的 16 位 C 代码

我不知道如何为 16 位实模式编译我的 C 内核。我尝试过各种编译器,但没有成功。我的引导加载程序只是从软盘加载原始扇区(我的内核就在

回答 1 投票 0

Multiboot2 遍历发现无效标签

在实现使用 GRUB2 启动的 multiboot2 投诉操作系统时,阅读提供的标签,我收到的 type = 25 以及我对 type = 6 的信息请求被忽略。 不完全是...

回答 1 投票 0

Windows 的 C 编译器可以编译原始二进制文件?

我需要一个可以编译原始二进制文件(没有结构或标头)的 C 编译器。我尝试使用 GCC 但无法做到。大家有什么建议吗?

回答 1 投票 0

设置 IDT 然后启用 STI 后出现一般保护故障 [已解决]

我是操作系统开发新手,想为我的爱好操作系统添加 IDT。启用 STI 后,我立即收到 GPF。现在我的 ISR 确实正确接收中断,但我不知道问题是什么。我有一个 6...

回答 1 投票 0

设置 IDT 然后启用 STI 后出现一般保护故障

我是操作系统开发新手,想将 IDT 添加到我的爱好操作系统中。启用 STI 后,我立即收到 GPF。现在我的 ISR 确实正确接收中断,但我不知道问题出在哪里。我有一个 6...

回答 1 投票 0

为什么x86 32位保护模式寄存器没有给出正确的值?

我已经设置了32位保护模式,并尝试通过C和汇编加载全局描述符表(GDT),并尝试通过check_gdt()函数打印不同的寄存器值,其中 无效 check_gdt() {

回答 1 投票 0

我们可以在x86汇编实模式下将SP寄存器设置为0吗?

我正在学习操作系统开发教程,作为一名狂热爱好者,我在代码中发现了一行引起了我注意的内容: 位 16 部分_ENTRY CLASS=代码 外部_cstart_

回答 1 投票 0

用解释语言编写操作系统

是否可以使用未编译的语言编写操作系统[即像 python 一样解释] 或者不使用运行时 [像 Java] ?虚拟机不需要在操作系统之上运行吗...

回答 5 投票 0

无法将字符串(char *)打印到VGA内存

我正在编写自己的操作系统内核,并开始使用 C++ 进行打印功能。我可以用字符打印到 VGA 内存(0xB8000),但是当我使用 print_str(const char* str) 函数时,它只是...

回答 1 投票 0

第 2 阶段引导加载程序未正确跳转到内核条目

我正在使用 QEMU 在 macOS 环境中的 x86_64 NASM 中为我的 64 位操作系统开发自定义引导加载程序。引导加载程序是两阶段的,旨在从磁盘加载操作系统。我有经验...

回答 1 投票 0

x86-64 用户模式访问高半地址

我一直在研究分页和访问控制如何在 x86-64 上工作,并且我正在尝试了解用于页面条目的 USER 标志与用户模式进程的内存访问之间的交互......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.