操作系统开发:内核,shell,网络,交叉编译等
我想写一个操作系统(小,多练习),遇到了一些困难。现在我有了加载程序文件、内核和一个未开发的标准库的类似物......
此问题现已结束。我找到了决定。 我想写一个操作系统(小,更多用于练习)并遇到了一些困难。现在我有了加载程序文件、内核和一个
我一直在尝试阅读 ARM 手册以了解 ARM 在架构上的工作原理。我知道每个EL都有一个SP的系统寄存器,比如SP_EL0,SP_EL1等......
我不知道如何为 16 位实模式编译我的 C 内核。我尝试过各种编译器,但没有成功。我的引导加载程序只是从软盘加载原始扇区(我的内核就在
在实现使用 GRUB2 启动的 multiboot2 投诉操作系统时,阅读提供的标签,我收到的 type = 25 以及我对 type = 6 的信息请求被忽略。 不完全是...
我需要一个可以编译原始二进制文件(没有结构或标头)的 C 编译器。我尝试使用 GCC 但无法做到。大家有什么建议吗?
设置 IDT 然后启用 STI 后出现一般保护故障 [已解决]
我是操作系统开发新手,想为我的爱好操作系统添加 IDT。启用 STI 后,我立即收到 GPF。现在我的 ISR 确实正确接收中断,但我不知道问题是什么。我有一个 6...
我是操作系统开发新手,想将 IDT 添加到我的爱好操作系统中。启用 STI 后,我立即收到 GPF。现在我的 ISR 确实正确接收中断,但我不知道问题出在哪里。我有一个 6...
我已经设置了32位保护模式,并尝试通过C和汇编加载全局描述符表(GDT),并尝试通过check_gdt()函数打印不同的寄存器值,其中 无效 check_gdt() {
我正在学习操作系统开发教程,作为一名狂热爱好者,我在代码中发现了一行引起了我注意的内容: 位 16 部分_ENTRY CLASS=代码 外部_cstart_
是否可以使用未编译的语言编写操作系统[即像 python 一样解释] 或者不使用运行时 [像 Java] ?虚拟机不需要在操作系统之上运行吗...
我正在编写自己的操作系统内核,并开始使用 C++ 进行打印功能。我可以用字符打印到 VGA 内存(0xB8000),但是当我使用 print_str(const char* str) 函数时,它只是...
我正在使用 QEMU 在 macOS 环境中的 x86_64 NASM 中为我的 64 位操作系统开发自定义引导加载程序。引导加载程序是两阶段的,旨在从磁盘加载操作系统。我有经验...
我一直在研究分页和访问控制如何在 x86-64 上工作,并且我正在尝试了解用于页面条目的 USER 标志与用户模式进程的内存访问之间的交互......
我正在为 32 位内核开发引导加载程序,并且在引导加载程序从阶段 1 过渡到阶段 2 时遇到了问题。该代码似乎没有按预期跳转到第 2 阶段。我是
我正在为 32 位内核开发引导加载程序,并且在引导加载程序从阶段 1 过渡到阶段 2 时遇到了问题。该代码似乎没有按预期跳转到第 2 阶段。我是
我正在用 Rust 编写一个 x86_64 操作系统并在 qemu 电脑上测试它。我已经实现了 ELF 文件加载,并且我 100% 确定文件已正确加载和映射,因为我已经手动检查了内存。 我的问题...
我正在为我的操作系统开发多任务处理,更具体地说,是用于用户模式 ELF 二进制文件的 fork() (他们通过系统调用来调用它)。 调用 fork 后,它会设法返回到父进程(有时),但是......
我正在为我的第一个操作系统实现上下文切换,我遇到了一个我无法解决的小问题,即从结构中保存后恢复CPU状态,因为所有寄存器都必须保存...
我正在编写一个小型 UEFI x86_64 操作系统。获得内存映射并退出启动服务后,我打印内存映射并注意到所有条目都将某个物理地址映射到虚拟地址 0....