项目简介
本项目是基于C语言和Xen框架开发的极简操作系统(Mini - OS),它能够在Xen虚拟化环境中运行,实现了基本的内存管理、时间管理、调度、网络、控制台、文件系统以及设备驱动等功能。
项目的主要特性和功能
- 内存管理:基于物理到机器帧(P2M)映射,支持通过气球驱动动态调整内存。
- 时间管理:利用Xen虚拟计时器,可获取当前时间、设置定时器以及进行阻塞操作。
- 调度:采用轮转法的非抢占式调度器来管理线程的执行。
- 网络:配备简单网络驱动,支持TCP/IP协议栈,可对网络服务进行启动和关闭操作。
- 控制台:实现了驱动,支持字符的输入输出,可用于在虚拟环境中进行交互。
- 文件系统:提供基于Xen设备模型的前端驱动,能够访问后端文件系统。
- 设备驱动:包含键盘、帧缓冲器、块设备等简单驱动,用于与后端设备进行通信。
安装使用步骤
假设用户已经下载了本项目的源码文件,安装使用步骤如下:
1. 环境准备:安装Xen框架、对应工具链及开发环境。
2. 编译配置:依据具体环境,配置编译选项,决定是否启用特定功能(如气球驱动、网络驱动等)。
3. 编译构建:使用gcc等编译工具编译源码,生成可执行文件,具体编译方式如下:
- 普通编译:输入make
。
- 自定义配置编译:MINIOS_CONFIG=config - file make
,配置文件可设置CONFIG_*
项为“y”或“n”,默认值见Config.mk
,还能设置XEN_INTERFACE_VERSION
。
- 测试不同配置编译:输入make testbuild
。
- 带TCP/IP支持编译:下载LWIP 1.3.2源码后,输入make LWIPDIR=/path/to/lwip/source
。
4. 运行测试:在domain0中输入xl create -c domain_config
启动内核,进行功能测试。
注意:项目基于Xen虚拟化环境开发,需在对应环境运行。因项目复杂,建议具备一定操作系统和编程基础。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】