操作系统开发:内核,shell,网络,交叉编译等
实际上我做了一个有两个阶段的bootloader,因为我通过使用VESA BIOS扩展将视频模式设置为1920px*1080px(需要超过512字节。).现在我试图调用我自己的 ...
我创建了一个程序集文件,用于关闭计算机以及一些C代码。当我尝试与ld链接时。它也起作用,这是执行此操作的代码:#将标志设置为0 .set FLAGS,0#set ...
从iso映像启动,引导加载程序的内存地址为何不为0x7c00
我出于学习目的编写了一个小型引导程序,它将打印出引导程序第一条指令的内存地址,绝对是0x7c00。参见下面的汇编源代码正在运行...
我目前正在使用MOSA-OS编译器来开发操作系统,以将CIL编译为机器代码。不幸的是,在开发操作系统时,仅“ Console ....
我正在尝试在QEMU AArch64 virt设备上实现裸机PCIE设备发现。我知道,ECAM区域已映射到0x3f000000内存地址,我希望在那里看到此表。但是当我...
我编写了用于ARM处理器(Cortex-A9)的操作系统。我尝试实现浮点寄存器的惰性上下文切换。其背后的思想是浮点扩展为...
我正在尝试在GNU汇编器(2.26.1)(gcc 5.4.0)中构建一个简单的宏,但是在多次交互后出现一些错误:助记符中的无效字符'('我试图按照https的建议进行操作: ...
通过8042 PS / 2控制器重置后,QEMU不会重新启动操作系统
@@ MichaelPetch已经重写了整个问题,以将其简化为一个易于重现的特定问题。最初的问题集中在在64 -...中进行OS开发时遇到的问题。...
我开始了编写玩具操作系统的旅程,目前正在寻找可以帮助我的资源和书籍。我无法弄清楚的一项功能是联网。所有教程...
假设CPU处于保护模式:当ring-0内核设置ring-3用户空间进程时,它必须修改哪个CPU级数据结构以指示该虚拟地址空间...
我一直在探索编译器和交叉编译器。我正在阅读GCC手册。具体来说,我在手册中对以下语句有疑问:链接器搜索标准...
所以我使IRQ1正常工作,但事实证明,它打印从端口0x60读取的扫描代码。我知道我必须将它们转换为实际的字符,但似乎无法绕开它。我...
我遇到了两个用C语言制作简单内核的指南。http://wiki.osdev.org/Bare_Bones https://github.com/arjun024/mkernel第一个是为i686架构开发内核。 ...
我对https://wiki.osdev.org/Meaty_Skeleton有几个问题,它说:GCC文档明确指出libgcc需要独立的环境来提供memcmp,...
在为x86编写的典型简单引导加载程序中,我们具有以下代码来加载GDT并执行远跳转(请注意,在执行以下代码之前CS为0x0:lgdt gdtdesc movl%cr0,%...
我正在构建一个业余操作系统,但是在某些时候它不起作用(黑屏不显示任何内容,并且试图知道为什么我试图使最小的内核...
我一直在编写一个业余操作系统,我正在尝试在内核中进行中断/异常处理。我在环0中,所以没有特权堆栈切换等。这些是我的例程:#include
[嗨,我正在尝试在操作系统中使用vesa模式,并且正在使用本教程:在保护模式下绘画,我可以切换分辨率,但是我不知道如何绘制像素。这是我的代码:kernel.asm ...
为什么MOV CR0和JMP指令必须来自在切换到保护模式时标识映射的页面?
我不明白为什么我们必须将mov放入cr0和jmp指令到经过身份映射的页面中。我一直在使用Google搜索此问题,但无法理解...