项目简介
Ferry OS是基于软件定义的单进程虚拟操作系统,能够模拟计算资源、内存管理、硬盘和外设等。它支持虚拟内存,提供类Unix风格的Shell交互界面。此外,该系统包含自定义的类汇编语言(FlyingX ASM)及对应的编译器,可将该语言编译成能在虚拟机上运行的字节码。
项目的主要特性和功能
- 虚拟内存管理:支持内存分页和动态分配,实现虚拟内存管理。
- 硬件可配置化:可通过配置文件灵活配置硬件资源。
- 自定义汇编语言:设计实现类汇编语言(FlyingX ASM),支持基本四则运算、函数定义和调用、条件分支、循环、系统调用等。
- Shell交互界面:提供类Unix风格的Shell,支持常见文件和目录操作命令。
- 信号量管理:支持信号量的创建、删除、等待和释放操作。
- 进程管理:支持进程的创建、删除、延迟和状态管理。
- 系统调用处理:提供多种系统调用,如打印输出、进程管理、信号量操作等。
- 文件系统操作:支持文件和目录的创建、删除、移动、复制等操作。
- 内存管理单元(MMU):实现内存的分配、释放、读写和换页功能。
- 调度器:实现进程的调度和状态管理。
安装使用步骤
安装依赖
- 确保已安装Boost库和GoogleTest(用于测试)。
- 进入项目仓库目录。
编译项目
bash
mkdir build && cd build
cmake ..
make
运行单元测试
bash
./bin/runUnitTests
启动Ferry OS
bash
./bin/ferry
使用Shell
- 启动Ferry OS后,进入Shell交互界面,可使用常见的Unix命令进行文件和目录操作。
- 使用
compile [SOURCE_FILE] [OUTPUT]
命令将FASM源码编译为FSE可执行文件。 - 使用
./FILE.FSE
命令启动编译后的可执行文件。
其他命令
kill [PID]
:结束指定PID的进程。top
:查看当前系统硬件和进程使用情况。watch
:查看进程输出结果。vi
和nano
:文本编辑器,用于编辑文件。cat
、head
、tail
:查看文件内容。shutdown
、quit
、exit
:关机或退出Shell。
通过以上步骤,即可成功编译并运行Ferry OS,体验其虚拟操作系统的功能和特性。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】