《操作系统》课程设计说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南城建学院
《操作系统》课程设计说明书
设计题目:UNIX/Linux文件系统分析
专业:计算机科学与技术
指导教师:邵国金耿永军陈红军
班级:0614082
学号:061408261
姓名:贠炳森
同组人:叶矿辉、陈宇
计算机科学与工程系
2011年1月7日
前言
在现在计算机更新如此迅速的时代要学好计算机软件技术,特别是操作系统的学习,不仅要努力学好课本上的基础知识,还要经常在图书馆看些有关这方面的书籍,而更重要的是要有足够的实践经验,也要注重和同学的交流,经常尝试性的做些小的操作系统,对自己技术的提升会有很大的帮助。
同时,学习计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法恐怕就是在实践中练习。例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。但由于我们的条件和学时有限,在理论学习过程中没有给同学们提供更多的实验机会。本操作系统课程设计,是给同学提供一个集中实验的机会。希望同学们通过该设计加深对所学习课程的理解。
本设计是基于课程中学到的UNIX系统调用,使用操作系统环境是Red Hat Linux 9,言语开发环境是Linux的GNU C或C++。
我做的课程设计是:Linux/Unix文件系统分析。在Linux系统下,使用与文件相关的系统调用实现对物理设备文件的读写,参照Linux系统源代码以及Grub 系统的源代码,对不同介质上的FAT格式文件系统进行分析。要求在Linux环境下设计出C语言程序,实现以下功能:
1)分析UNIX SysV/Linux系统引导记录的作用;
2)分析UNIX SysV/Linux的超级块及其结构,并建立相关数据结构,通过编程
实现UNIX SysV/Linux文件系统内各部分的定位。
3)至少要实现对给定i节点文件的只读访问
目录
一.系统环境 (3)
1.1硬件环境 (3)
1.2软件环境 (3)
二.设计目的及要求 (3)
三.总体设计 (5)
四.详细设计 (6)
五.调试与测试 (6)
六.设计中遇到的问题及解决方法 (6)
七.Linux/Unix文件系统分析源程序清单 (7)
7.1 头文件 (7)
7.2 示例程序 (10)
八.运行结果及分析 (16)
8.1 linux文件系统读取 (16)
8.2 UNIX文件系统读取 (18)
九.心得体会 (19)
十.参考文献 (20)
Linux/Unix文件系统分析
一.系统环境
1.1硬件环境
cpu为pentium4双线程技术,频率为2.8GHZ,内存为256MB。
1.2软件环境
使用操作系统环境是Red Hat Linux 9,言语开发环境是Linux的 GNU C或C++。
二.设计目的及要求
1、设计目的
学习计算机软件技术,特别是计算机操作系统技术,除了需要刻苦努力外,还需要掌握软件和操作系统的原理与设计技巧。如何学习和掌握操作系统技术的原理与实际技巧呢?除了听课和读书之外,最好的方法恐怕就是在实践中练习。例如,自己设计一个小型操作系统,多使用操作系统,多阅读和分析操作源代码等。但由于条件和学时有限,在理论学习过程中没有给提供更多的实验机会。本操作系统课程设计,是提供了一个集中实验的机会。应该通过该设计加深对所学习课程的理解。
2、设计要求
按软件工程的思想和方法进行设计,并把它作为一个工程来做。设计的每一步都有要形成文档,“成品”出来以后要有使用说明书和测试报告。最后按院方统一要求整理出软件实习“论文”,并分别以电子和书面文档的形式上交。最后,设计的程序要编译通过,并在验收时进行演示。
本设计的内容是基于《操作系统原理》教材的,但同学们必须对以前的《C 语言程序设计》和《数据结构》等内容进行认真的复习。
本设计是基于课程中学到的UNIX系统调用,使用操作系统环境是Red Hat Linux 9,言语开发环境是Linux的GNU C或C++。因此,要求课程设计者对Linux 操作系统和GNU C或C++有一定的了解。
3、设计内容
在Linux系统下,使用与文件相关的系统调用实现对物理设备文件的读写,参照Linux系统源代码以及Grub系统的源代码,对不同介质上的FAT格式文件系统进行分析。要求在Linux环境下设计出C语言程序,实现以下功能:1)分析UNIX SysV/Linux系统引导记录的作用;
2)分析UNIX SysV/Linux的超级块及其结构,并建立相关数据结构,通过编程实现UNIX SysV/Linux文件系统内各部分的定位。
3)至少要实现对给定i节点文件的只读访问。
4)建议根据文件读取文件。
文件系统必须完成下列工作:
1)为了合理的存放文件,必须对磁盘等辅助空间(或称文件空间)进行
统一管理。在用户创新新文件时为其分配空闲区,而在用户删除或修
改某个文件时,回收和调整存储区。
2)为了实现按名存取,需要有一个用户可见的文件逻辑结构,用户按照
文件逻辑结构所给定的方式进行信息的存取和加工。这种逻辑结构时
独立于物理存储设备的。
3)为了便于存放和加工信息,文件在存储和设备上应按一定的顺序存
放。这种存放方式被称为文件物理结构。
4)完成对存放在存储设备上的文件信息的查找。
5)完成文件的共享和提供保护功能。