操作系统课程设计报告848812261.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计报告848812261.doc

操作系统课程设计报告 专 业: 计算机科学与技术 班 级: xxx 学 号: xxx 姓 名: xxx 指导教师: 2010年 12月 20日 目录 一、设计题目及要求 - 2 - 1.1、题目 - 2 - 1.2、目的 - 2 - 1.3、要求 - 2 - 1.4、任务 - 2 - 二、设计原理 - 3 - 2.1 总体设计思想 - 3 - 2.2 主要使用的系统接口列表: - 3 - 2.3 Linux中对FAT格式文件属性的定义: - 4 - 2.4 程序整体流程图: - 4 - 三、开发环境与设备 - 4 - 四、测试结果 - 4 - 五、总结及心得 - 8 - 附录 - 8 - 一、设计题目及要求 1.1、题目 设计一个简单的文件系统 1.2、目的 掌握Linux内核编译的基本步骤和设计简单设备驱动程序的方法 理解操作系统中调度的概念和调度算法 理解Linux文件管理的知识 1.3、要求 1、本课程设计时间为一周,周一到周五半天时间为集中上机调试,其余时间为学生查阅资料、制定设计方案、编写程序。 2、第一题一至两人一组,第二题和第三题可以一至三人一组,选择设计内容中的课题,或自定课题,但须经过指导教师同意。 3、周二提交设计思路,周五检查任务完成情况,最迟下周一提交设计报告。 4、上课不能迟到、早退。 5、请自觉维护实验室清洁,爱护实验设备。 1.4、任务 准备一个U盘,在Linux下编写一个用户程序,对U盘上的文件进行管理,要求提供如下一组函数: (1) 设计并实现一个目录列表函数(类似Linux的shell命令ls)。该函数只需包含基本命令即可,不必想Linux中ls那样有很多命令选项。 (2) 设计并实现一个改变目录的函数,即把当前目录切换到上一层目录或当前目录的子目录中(无需处理路径名)。 (3) 设计并实现一个删除文件的函数,该函数使用要删除的文件名(在当前目录中)作为参数。该函数需要查找文件,遍历FAT中的链接。在删除的情况下,要注意文件的隐藏、只读和系统属性,任何具有这些设置的文件都不能删除。 二、设计原理 2.1 总体设计思想 本实验要求对FAT格式的U盘文件系统进行管理,而linux本身提供了很多文件管理接口,本设计利用了这些接口函数进行文件管理,相对直接读取磁盘的FAT表,这种方法设计较为简单,实现容易。 2.2 主要使用的系统接口列表: getcwd() 获取当前目录路径 opendir() 打开目录 chdir() 更改路径 readdir() 读取目录 closedir() 关闭目录 lstat() 获取文件相关信息并放入缓冲区中 open() 打开文件 ioctl() 控制文件i/o操作。本设计中使用FAT_IOCTL_GET_ATTRIBUTES 扫描FAT文件表并获取相关文件的FAT属性 remove() 删除文件 close() 关闭文件 除了系统接口和相关调用之外,还使用了自写的shell命令行界面,快速排序算法和各种显示和排版语句等。 2.3 Linux中对FAT格式文件属性的定义: #define ATTR_RO 1 read-only #define ATTR_HIDDEN 2 hidden #define ATTR_SYS 4 system #define ATTR_VOLUME 8 volume label #define ATTR_DIR 16 directory #define ATTR_ARCH 32 archived 2.4 程序整体流程图: 三、开发环境与设备 Linux 操作系统平台 Fedora (2.6.35.9) Eclipse 3.5.2集成开发环境 + Eclipse CDT 6.0 Linux GCC 前端编译器 格式化为FAT格式的U盘 四、测试结果 4.1 创建测试用例。在Windows下将U盘格式化,创建测试文件和目录,并设置相关属性 4.2 将U盘连接到装有Linux系统的计算机,在特权状态下启动程序 4.3 通过cd 命令跳转到U盘根目录,测试cdprog()函数,执行结果正确 4.4 使

您可能关注的文档

文档评论(0)

dreamzhangning + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档