操作系统课程设计 姓名: 学号: 班级: 电话: 邮箱: 课程设计题目: 一个多用户多级目录结构文件系统设计与实现 编 译 环 境 : Linux 运 行 环 境 : Linux 一 、 设 计 思 想 说 明 1 设计环境 课 程 设 计 的 环 境 是 Linux 操 作 系 统 。 设 计 时 可 利 用 Linux 提 供 的 文 件 管 理 的 功 能 调用 , 建 立 一 个 模 拟 的 文 件 系 统 。 基 本 思 想 是 , 在 Linux 系 统 中 创 建 一 个 较 大 容 量 的 文 件 , 作为 所 设 计 的 文 件 系 统 的 “ 文 件 卷 ” , 并 利 用 Linux 系 统 的 功 能 调 用 , 编 写 各 程 序 模 块 。 2 、文件卷的组织 以 1M 的 存 储 器 空 间 作 为 文 件 空 间 , 空 间 “ 分 块 ” , 编 号 为 0#~ (BLKMAX-1)# 。 “ 分块 ” 就 是 规 定 对 文 件 卷 的 读 /写 以 块 为 单 位 , 每 次 读 /写 的 起 点 为 块 大 小 的 整 倍 数 。 分 块 主 要体 现 在 文 件 卷 的 读 /写 模 块 上 。 # define BSIZE 512 /* 512bytes/块 */ # define BLKMAX 2048 /* 共 2048 块 */ 0#块 的 作 用 : 0# 块 是 专 用 块 (超 级 块 )。 前 半 部 用 于 存 放 文 件 卷 空 间 的 位 示 图(bitmap), 位 状 态 ='0'表 示 对 应 块 空 闲 , 状 态 ='1'表 示 已 分 配 。 后 半 部 的 最 后 32 个 字 节 用于 存 放 根 目 录 的 目 录 结 构 。 0#块 不 参 与 文 件 空 间 的 动 态 分 配 。 1#~ (BLKMAX-1)#块 用 于 存 放文 件 (普 通 文 件 和 子 目 录 文 件 )的 信 息 。 二 、 系 统 结 构 的 说 明 本 文 件 管 理 系 统 分 为 五层, 上 层调 用 下层, 下层为 上 层服务。 以 下为 各 层(由低到高)的 简要 说 明 : 1、 块 管 理 层, 通 过TBlock类实现 设 下列主 要 函数 : balloc()--块 分 配 函数 brelse()--块 释放 函数 bread()—读 一 块 函数 bw rite()—写 一 块 函数 2、 FCB管 理 层, 通 过TFcb类实现 功能涉及到FCB结构的操作,定义了一些与FCB操作相...