《操作系统》课程设计说明书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)完成文件的共享和提供保护功能。

相关文档
最新文档