操作系统课程设计报告 Linux 二级文件系统设计操作系统课程设计报告 专 业:计算机科学与技术 学 号:******** 姓 名:*** 提交日期:2025-3-8 操作系统课程设计报告 【设计目的】 (1)本实验的目的是通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能和内部实现
(2)结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步理解操作系统
(3)通过分对实际问题的分析、设计、编程实现,提高学生实际应用、编程的能力 【设计内容】 二级文件系统设计 【实验环境】 C++/VC++ 【相关知识综述】 1
背景知识 (1)外存管理 文件系统是一个含有大量的文件及其属性,对文件进行操作、管理的软件,以及向用户提供使用文件的接口的一个集合
在逻辑上它的层次结构是这样的: 文件系统接口 对对象的操作和管理的软件集合 逻辑文件系统 基本 I/O 管理程序(文件组织模块) 基本文件系统(物理 I/O 层) I/O 控制层(设备驱动程序) 对象及其属性说明 作为产品的操作系统有各自的文件系统
比如 MS 的WINDOWS 系列使用的是 FAT16、FAT32 或 NTFS 的文件系统、LINUX 使用的是EXT2、EXT3 文件系统等等
(2)linux 的 EXT2 文件系统 linux 使用一个叫虚拟文件系统的技术从而可以支持多达几十种的不同文件系统,而 EXT2 是 linux 自己的文件系统
它有几个重要的数据结构,一个是超级块,用来描述目录和文件在磁盘上的物理位置、文件大小和结构等信息
inode 也是一个重要的数据结构
文件系统中的每个目录和文件均由一个 inode描述
它包含:文件模式(类型和存取权限)、数据块位置等信息
一个文件系统除了重要的数据结构之外,还必须为用户提供有效的接口操作
比如 EXT2提供的 OPEN/C