项目简介
这是一个简单的自制基于内存的图形多道程序32位操作系统。基于单核intel - 386及以上架构,支持不同分辨率屏幕模式显卡适配,还实现了图形界面和多任务管理等功能。
项目的主要特性和功能
- 支持32位图形界面显示,具备窗口管理、字符显示、光标控制等图形界面功能。
- 实现多任务管理,可进行任务创建、注册、切换、休眠和唤醒等操作。
- 提供内存管理功能,包括内存分配、释放、检查。
- 支持键盘和鼠标输入,有输入缓冲和事件处理功能。
- 支持计时器功能,用于定时任务的管理和调度。
安装使用步骤
仅安装使用
- 在演示文件夹下找到rosboot.bin文件,其大小为软盘大小。
- 打开VMware虚拟机,自行配置一个单核虚拟机,并选择稍后安装操作系统。
- 创建虚拟机后添加软盘驱动器,选择使用rosboot.bin文件。
- 正常启动虚拟机,系统会自动选择软盘中的操作系统。
修改代码后使用
- 确保有Makefile文件,安装Windows操作系统下的make并配置好路径。保存代码后,先使用make clear清除已有.o文件,再使用make sysinit.bin编译。编译器使用Windows操作系统下的C语言编译工具(建议使用MinGW)。
- 编译后使用16进制编辑器(推荐imhex)打开sysinit.bin文件和rosboot.bin文件。
- 将sysinit.bin文件的所有内容复制到rosboot.bin文件0x2E0开始处进行覆盖(0x2E0上方应该有一行0x90数据作为留空)。
- 如果修改了roshead.asm文件,使用make roshead.bin生成roshead.bin文件,然后使用16进制编辑器将roshead.bin文件内容全部复制到rosboot.bin文件0x200开始处进行覆盖(0x200上一行最后有0x55AA主引导程序标记)。
- 如果修改了rosboot.asm文件,使用make rosboot.bin生成新的rosboot.bin文件,然后重复上述流程修改。
- 之后按照仅安装使用的流程操作。
注意事项
- 修改后的总sysinit.bin文件不可超过1020KB。
- 现在开机读取磁盘内容仅读取10个柱面、2磁头、18扇区,总计180KB,去掉固定引导程序512B,预留512B系统32位设置程序,sysinit.bin主程序如超过179KB则需要重新修改rosboot.asm读取更大的磁盘内容。
- 使用bochs虚拟机会有明显卡顿,且需要进行设置,设置参数可以参考演示文件夹下bochesout.txt。如无法支持显卡VESA BIOS请上网自行搜索切换教程。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】