Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • P proj5-FAT32onMaQueOS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • CrewUnionProblemKill
  • proj5-FAT32onMaQueOS
  • Wiki
  • 比赛题目分析和相关资料调研

比赛题目分析和相关资料调研 · Changes

Page history
Create 比赛题目分析和相关资料调研,包含《一、无需自行实现 FAT32 格式化工具》和《二、需要修改当前的系统调用,以支持 FAT32》 authored Jun 11, 2024 by Little Leaf's avatar Little Leaf
Hide whitespace changes
Inline Side-by-side
比赛题目分析和相关资料调研.md 0 → 100644
View page @ e19f8f0c
经过相关资料的调研和对比赛题目的分析,我们得出下列结论:
# 一、无需自行实现 FAT32 格式化工具
阅读《操作系统设计与实现——基于LoongArch架构》书中《第 8 章:xtfs 文件系统》,8.2节对格式化 xtfs 文件系统的说明和8.3.6节的复制实例,我们小组发现:无论是从使用 `dd` 命令生成硬盘镜像文件 `xtfs.img`,到使用 `gcc` 命令编译链接 `format.c` 文件生成的 `format` 可执行文件对硬盘镜像文件 `xtfs.img`进行格式化的整个流程,还是复制常规文件 `hello` 到 `xtfs.img`,都是在 GNU/Linux 上完成的。
参照这种方式,我们认为无需自行在 MaQueOS 上实现用户态 FAT32 文件系统格式化工具。
# 二、需要修改当前的系统调用,以支持 FAT32
## 分析 MaQueOS 对 xtfs 的实现
《操作系统设计与实现——基于LoongArch架构》书中《第 9 章:进程 1 加载可执行文件》在第 8 章的工作之上,实现了:
1. 通过调用 `mount`系统调用挂载 xtfs 文件系统
2. 通过调用 `exe` 系统调用加载运行 xtsh 应用程序的 xt 格式的可执行文件
两个功能;
《操作系统设计与实现——基于LoongArch架构》书中《第 12 章:文件操作》中包含`create`、`destroy`、`open`、`close`、`write`和`read` 六个分别用于创建、删除、打开、关闭和读写的系统调用,外加一个将内存缓冲区的内容写回硬盘对应的数据块中的`sync`系统调用。
### 总结
综上所述,我们计划修改上面提到的总共 `9` 个系统调用来使MaQueOS支持FAT32。
\ No newline at end of file
Clone repository
  • Home
  • uploads
    • 0bc768dbb7fc0582616552f906240a99
      • Readme
  • 云端开发环境
  • 文档规范
  • 比赛题目分析和相关资料调研
  • 系统测试
  • 系统调用文档
    • sys_create函数
    • sys_destroy 函数介绍
      • find_directory_entry 函数介绍
        • read_custor 函数介绍
    • sys_mount 函数介绍