操作系统实验:Fat12文件系统与实模式保护模式探索

需积分: 0 0 下载量 80 浏览量 更新于2024-08-05 收藏 139KB PDF 举报
"本次实验主要涉及操作系统的文件系统管理,特别是FAT12文件系统,以及实模式和保护模式的理解。实验要求编写程序读取FAT12文件系统,并实现对文件和目录的操作。" 实验内容详细说明: 1.1 编程读取FAT12文件 在这一部分,学生需要编写名为`read_fat12`的程序,该程序能读取一个以FAT12文件系统格式存储的软盘镜像文件(a.img)。程序的主要任务包括: - 分析FAT12文件系统结构,打印出镜像文件中包含的所有文件名。 - 接受用户输入的文件路径,对目录文件、普通文件和不存在的文件做出相应处理。具体来说: - 对于目录文件,列出其中的文件和子目录。 - 对于普通文件,显示其内容。 - 对于不存在的文件,给出提示。 1.2 输入输出示例 这部分展示了程序在不同输入情况下的预期输出: - 第1步输出所有文件,按照文件路径展示。 - 第2.1步,用户可以输入一个目录路径,程序将列出该路径下的所有文件。 - 第2.2步,用户输入"count"命令后跟路径,程序统计指定路径及子路径下的文件和子目录数量,并按照目录层次结构显示结果。 知识点扩展: 1. **实模式下的寻址方式**:在8086处理器的实模式下,地址线直接映射到内存单元,采用20位物理地址,最大寻址空间为1MB。在实模式中,程序不能直接访问超过64KB的内存,因为段寄存器乘以16(段基址)加上偏移地址(段内地址)来形成20位物理地址,导致了这个限制。 2. **实模式的缺陷**:实模式无法实现内存保护和多任务,因为所有程序共享相同的地址空间,容易引发冲突和安全问题。 3. **保护模式下的寻址过程**:保护模式引入了分段和分页机制,每个进程有自己的独立地址空间。通过段选择子(segment selector)和描述符表(Descriptor Table)来确定段基址,再结合段内偏移量计算出物理地址,实现了内存保护和权限控制。 4. **选择子的作用**:选择子是一个16位的标识符,用于在全局描述符表(GDT)或局部描述符表(LDT)中找到对应的段描述符,描述符中包含了段的基址、限制和访问权限等信息。 5. **描述符的作用**:描述符是保存在描述符表中的数据结构,包含段的基地址、限制、访问权限等信息,用于在保护模式下确定内存访问的合法性。 6. **根目录区大小**:在FAT12文件系统中,根目录区的大小不是固定的,而是由FAT表中的特定项决定。通常,根目录区在FAT12分区的起始部分。 7. **数据区**:数据区是FAT12文件系统中存储文件内容的区域,紧随根目录区之后,根据FAT表中的信息分配和管理文件的数据块。 通过这次实验,学生不仅可以学习到FAT12文件系统的结构和操作,还能理解实模式与保护模式的差异,以及如何在程序中实现这些概念。这有助于深入理解操作系统的底层原理和文件系统的实现细节。