2020 操作系统实验(二)1
需积分: 0 139 浏览量
更新于2022-08-03
收藏 170KB PDF 举报
操作系统实验(二)1主要关注的是FAT12文件系统的理解和操作,以及使用C/C++和汇编语言(nasm)编写一个FAT12镜像查看工具。实验要求如下:
1. **FAT12文件系统理解**:FAT12是一种早期的文件分配表(FAT)类型,广泛应用于软盘和一些早期的闪存驱动器。它存储文件和目录的信息,包括文件的起始簇号、文件长度等。
2. **FAT12镜像查看工具**:该工具需要读取.img格式的FAT12镜像文件,并提供用户交互。用户可以输入指令如`ls`来查看目录内容,或者`cat`来显示文件内容。工具需处理不同参数,如`-l`以显示详细信息。
3. **`ls`命令**:用户输入`ls`命令后,程序应列出根目录及其子目录的文件和目录,目录名以红色显示,文件名不加颜色。如果使用`-l`参数,还需显示每个目录的直接子目录和子文件数量,以及文件的大小。
4. **`cat`命令**:用户输入`cat`命令及文件名,程序应显示指定文件的内容。如果文件不存在或非普通文件,则需给出错误提示。
5. **`exit`命令**:输入`exit`退出程序。
6. **错误处理**:对于无效的命令参数,程序需要提供适当的错误提示。
7. **汇编输出**:输出功能需在汇编程序`my_print.asm`中实现,不能使用C/C++库函数。
8. **构建工具**:使用Makefile进行编译链接,Windows平台可以使用CMake或其他工具。
9. **二进制读取**:直接从.img文件中读取二进制内容,不挂载镜像。
10. **路径和文件名处理**:只支持英文大写和数字的路径/文件名,不考虑中文字符和长文件名。
实验中还涉及了计算机体系结构的问题,如实模式和保护模式的区别,以及选择子、描述符、全局描述符表(GDT)、局部描述符表(LDT)、GDTR和LDTR的结构,以及如何通过它们查找物理地址。此外,还需要理解静态链接和动态链接的概念,以及在Linux环境下可执行文件的虚拟地址空间分配。
在实验过程中,学生需要理解FAT12文件系统的结构,如根目录区的大小、数据区的起始簇号,以及FAT表的作用。同时,他们还需要熟练地使用C和汇编语言进行参数传递和返回值处理,并熟悉汇编代码中对I/O操作的处理。
学生需要提交程序运行截图、源代码和Makefile文件,并准备回答相关问题,如PPT中的实模式和保护模式、链接过程、FAT12的特定细节等。实验成绩将基于基本功能的实现和额外加分项,如支持大文件的`cat`命令。

大头蚊香蛙
- 粉丝: 22
最新资源
- COMSOL 6.2中1-3压电复合材料厚度共振模态及阻抗相位曲线的有限元仿真建模与优化
- LabVIEW面向对象架构实现模拟树莓派可视化编程:大型项目开发与模块化设计 模块化设计 v2.1
- 材料科学中MD和MC模拟联合应用探索材料微观结构与性能
- 纯电动汽车两档AMT变速箱Simulink模型构建及仿真分析:换挡策略与过程详解
- 深度学习用于雷达和PPG数据的生命体征信号提取及四种神经网络模型的应用 · CNN
- 变频与移相仿真技术在LLC谐振变换器中的应用及优化策略
- 基于脉振高频电压注入法的PMSM矢量控制模型及无位置传感器运行研究
- 永磁同步电机无位置传感器控制:基于IF与龙贝格观测器的Matlab仿真及STM32代码生成 · MatlabSimulink 最新版
- 三相VIENNA整流器的高效仿真研究:基于220V输入、输出电压稳定在800V以内、纹波仅占1%的精细调节与性能优化,以实现0.95以上功率因数及低THD<5%的开关频率控制在20kHz下的Simul
- 航天器姿态滑膜容错控制与飞轮安装偏差及故障研究:MATLAB仿真与文献综述 滑模控制
- 晶体塑性ABAQUS脚本:基于细观力学提取二维三维应力及代表体积单元模型单元体积平均应力和应变的脚本
- 基于改进多目标灰狼算法的微电网调度优化研究与应用
- 基于Matlab的雷达数字信号处理关键技术实现与应用 Pulse Compression
- 基于QRCNN-BiLSTM-MultiAttention的区间预测模型及其Matlab实现与应用
- 智能驾驶AEB系统的联合仿真改进算法:安全距离与TTC切换优化
- 基于Maxwell与Simplorer的电机控制系统联合仿真技术及应用实例