
2010-2011年华南理工大学操作系统课程设计(含完整源码及详尽文档)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本项目为2010-2011学年在华南理工大学进行的操作系统课程设计作品,包含完整的源代码和详细的开发文档,全面展示了操作系统的实现细节与设计理念。
本资源包含所有三个任务的源代码,使用Visual Studio.NET 2003中的C++与MFC编写(前端有图形化界面),供参考。
课程设计目的:实现操作系统及相关系统软件的设计,涵盖进程编程、I/O操作、存储管理及文件系统等概念。
课程设计要求:
1. 对任务进行详细分析,列出实验步骤,并提供符合题目需求的程序清单。准备调试程序所需的数据。
2. 提交完整的作业包,包括原始代码、设计文档和可运行程序。提交光盘应包含:设计题目,程序清单,运行结果分析,所选取算法及其优缺点以及通过上机操作得到的经验总结。
对于程序清单的要求是格式规范,并且需要添加注释(包含关键字、方法及变量等),每个模块前需有注释说明。整个文档的20%以上应为注释内容。
同时提交打印版的设计报告,包括设计题目、算法分析、关键代码及其数据结构描述、运行结果分析以及上机操作的经验总结。
设计一:模拟Linux文件系统
在任意操作系统下建立一个大文件,并将其视为一块硬盘。在此基础上实现一个简单的模拟Linux文件系统。具体要求如下:
- 盘块大小为1k,使用位图法管理空闲盘块。
- 文件系统的结构包括超级块、i节点区及根目录区等部分。
设计的simdisk程序需要具备以下功能:
- info:显示整个系统信息(参考Linux文件系统的系统信息),支持用户对文件进行读写保护操作;
- 目录名和文件名支持全路径名称与相对路径名称,各分量间用“/”隔开。
- cd …: 改变当前工作目录,在目标不存在时给出错误提示。
- dir …:显示指定或当前目录下的信息(包括子目录);使用/s参数可以查看所有子目录的信息
- md …:创建新目录。若重名,则输出错误消息;
- rd …:删除给定的文件夹及其内含的所有内容,询问用户是否确认在非空情况下进行操作。
- newfile ...: 建立新的文件。
- cat ...: 打开指定的文件查看其内容
- copy ... : 拷贝一个或多个文件;支持模拟Linux系统内部及与主机操作系统之间的拷贝任务
- del...:删除指定的文档,若不存在则给出错误信息;
- check: 对整个系统的数据一致性进行检查,并根据需要重新整理。
总体设计流程为初始化目录结构、输出提示符等待输入命令。对于合法指令执行相应处理程序;不合法时显示错误消息并继续监听新的指令直到用户键入EXIT退出系统为止。
设计二:实现一个简单的shell(命令行解释器)来操作simdisk作为后台进程运行的文件系统,重点在于如何利用共享内存进行前后端进程间通信。
设计三:模拟多个同时访问同一文件系统的场景,并管理每个用户的访问权限。确保多用户环境中对文件资源的安全性和同步性。
全部评论 (0)


