"项目设计与功能说明文档1"
操作系统课程设计的目标是通过实际操作来构建一个简单但功能齐全的操作系统,以此加深对操作系统核心概念的理解,包括进程、内存、文件和外设管理。开发环境选择了Ubuntu 16.04作为操作系统,并使用Bochs模拟器进行仿真。团队基于《Orange’s 一个操作系统的实现》这本书,对源代码进行了修改和重写,以实现不同的功能模块。
在项目完成指标方面,团队实现了以下级别难度的任务:
1. B级难度:重新实现了对外设管理,特别是显卡部分,以支持图形化界面。
2. B级难度:修改文件系统以支持多级目录结构。
3. C级难度:添加了图片显示功能,允许用户通过命令显示 BMP 格式的图片。
4. D级难度:在图形化界面上开发了一个小游戏。
系统的主要功能包括:
1. **图形化界面**:虽然主要界面仍然是命令行,但所有的文字都用像素点形式展示,且包含了开机动画。开机动画由"FWOS"的字母以图形化方式依次呈现。
2. **开机动画**:在系统启动时,呈现一种图形化的动画效果,增加用户体验。
3. **图片显示**:通过`showImage[filename]`命令,用户可以显示指定的 BMP 图片。图片数据可以使用`saveImage`接口保存到磁盘,随后通过`showImage`命令读取并显示。
4. **进程管理**:提供了`process`命令,列出所有进程的信息,包括进程ID、名称、优先级以及运行状态(运行或未运行)。
5. **文件系统**:
- **显示文件列表**:使用`ls`命令列出当前目录下的所有文件和子目录。这一功能通过调用`ls()`方法发送LS系统消息,文件系统接收到消息后执行`do_ls()`方法,遍历当前节点的子节点,打印出包含inode编号、文件类型和文件名的文件信息。
- **创建文件**:系统支持创建文件,但具体的创建过程在摘要中没有详述。
这个项目不仅锻炼了团队成员对操作系统原理的理解,还展示了在实践中实现这些原理的能力,涵盖了从基本的进程管理到高级的图形化界面和文件系统功能。