我一直对学习裸金属操作系统感兴趣,并发现Eugene Obrezkov的这个奇妙的GitHub提供了一个在QEMU中工作的基本文本shell。我无法让它在VirtualBox中运行。
https://github.com/ghaiklor/ghaiklor-os-gcc
我想扩展它并添加一个简单的启动启动屏幕,运行在1024x768x24bpp。在现代计算机上这样做的标准方法是什么?
这个问题就像问了几个问题。 :(
我应该读一下VBE3吗?我有一份文件,我正在这里阅读:
https://pdos.csail.mit.edu/6.828/2011/readings/hardware/vbe3.pdf
我还看了一下SE,它说不使用VBE3,它涵盖了UEFI中的图形模式,它是否适用于我将在QEMU或VirtualBox中测试的裸机操作系统?
Assembly - How to set graphics mode in UEFI (No VGA, No BIOS, Nothing deprecated)
如果基于Eugene的初始源的答案是要么使用VBE3还是UEFI,那么我需要在真实,受保护还是长的模式中使用哪种模式?这是我在模式之间切换时发现的:
https://www.codeproject.com/Articles/45788/The-Real-Protected-Long-mode-assembly-tutorial-for
在现代计算机上这样做的标准方法是什么?
Windows使用直接访问图形卡的驱动程序。但是,这假设您有不同的驱动程序用于不同的图形卡。没有特定显卡的特殊驱动程序,最大值为640x480x16。
更新的Linux版本可以使用特殊驱动程序或VESA BIOS。很长一段时间,VESA BIOS都是默认设置。