基于Linux的模拟文件系统的设计与实现.docx

上传人:b****6 文档编号:3250259 上传时间:2022-11-21 格式:DOCX 页数:48 大小:242.92KB
下载 相关 举报
基于Linux的模拟文件系统的设计与实现.docx_第1页
第1页 / 共48页
基于Linux的模拟文件系统的设计与实现.docx_第2页
第2页 / 共48页
基于Linux的模拟文件系统的设计与实现.docx_第3页
第3页 / 共48页
基于Linux的模拟文件系统的设计与实现.docx_第4页
第4页 / 共48页
基于Linux的模拟文件系统的设计与实现.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

基于Linux的模拟文件系统的设计与实现.docx

《基于Linux的模拟文件系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Linux的模拟文件系统的设计与实现.docx(48页珍藏版)》请在冰豆网上搜索。

基于Linux的模拟文件系统的设计与实现.docx

基于Linux的模拟文件系统的设计与实现

 

中北大学

操作系统课程设计

说明书

 

学院、系:

软件学院

专业:

软件工程

学生姓名:

学号:

设计题目:

基于Linux的模拟文件系统的设计与实现

起迄日期:

指导教师:

 

 

 

 

前言

简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。

这个系统是由世界各地的成千上万的程序员设计和实现的。

其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。

用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。

可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。

这对Windows NT、Windows98、MS-DOS或OS/2等商品化操作系统来说是无法做到的。

Linux具有:

稳定、可靠、安全的优点,并且有强大的网络功能。

其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。

在相关软件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务,还可作为路由器使用,利用IPCHAINS/IPTABLE网络治理工具可构建NAT及功能全面的防火墙。

Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。

Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。

它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。

 

 

1需求分析

1.1功能介绍

基于Linux的模拟文件系统的设计与实现完成以下功能:

(1)创建用户:

手动的创建10个用户,都在界面上完成,输入用户名;每个用户最多可以保存10个文件。

(2)用户登录:

手动的登录已经创建的用户,正确输入用户名即可成功登录。

(3)显示所有用户:

首先会创建很多用户,为了清晰、便捷的查看用户,所以在界面上可以显示所有的用户,这一功能的实现,主要是针对忘记自己用户名的用户,可以通过查看全部用户来查找自己的用户名。

(4)创建二级文件目录(MD):

手动的输入目录名称,(即设置主目录(MFD)和用户文

件目录(UFD))。

(5)显示目录:

将用户创建的目录显示在界面上。

(6)删除目录:

手动输入目录的名称即可删除已经创建的目录。

(7)进入目录:

进入目录内部,可以进行文件的各种操作。

(8)修改目录:

在用户登录后,输入要修改的目录名称,对其进行修改,输入新的目

录名并保存。

(9)建立一个文件(create):

在目录中手动输入文件名,可以创建新的文件,在创建

的同时输入文件的保护码,对文件内容进行保护,防止信息泄露。

(10)打开全部文件(openall):

将已经创建的文件夹全部显示在界面上。

(11)删除一个文件(delete):

手动输入已经创建的文件的名称,即可删除此文件。

(12)写文件(write):

手动的在文件中写入内容。

(13)读文件(read):

查看文件中的已经写入的内容。

(14)移动文件:

用户可以将某个目录下的文件移动到其它的目录中,只为了整理文件,便于查询,使用。

(15)改文件的保护码(change):

手动修改文件的密码(保护码)。

基于以上的功能,可以使用户选择操作,模拟文件系统的设计与实现;此类功能都是在页面上手动操作完成。

 

1.2目的及意义

1.2.1目的

通过课程设计,加深对操作系统各资源管理模块的理解,掌握操作系统的基本原理及功能,具有初步分析实际操作系统、设计、构造和开发现代操作系统的基本能力。

基于Linux的模拟文件系统的设计与实现,熟悉基本的网络命令以及他们的使用方法,体会Linux多用户的特点,熟悉网络配置文件的配置方法。

本系统是基于linux平台运行在终端上的虚拟二级文件管理系统。

模拟真正的文件管理系统,并采用用户登录机制对文件和目录进行创建,增加内容,修改,删除的操作。

对于目录而言,可以进行创建删除新添文件的操作;对于文件而言,可以创建,修改,删除。

删除目录时,同时删除相应目录下的文件以及文件中的内容。

采用用户登录使得用户管理文件更方便, 并形成了二级的文件管理模式。

操作系统(OS)是重要的计算机系统软件,同时也是最活跃的学科之一,其发展极为迅速。

它是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充。

它在计算机系统中占据了特别重要的地位;而其它的诸如汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件,都将依赖于操作系统的支持,取得它的服务。

操作系统已成为现代计算机系统、多处理机系统、计算机网络、多媒体系统以及嵌入式系统中都必须配置的、最重要的系统软件。

课程设计是学习的总结,通过课程设计温习我们已经学到的知识并加以运用,还可以了解到其它的知识,来充实自己,充分掌握操作系统的基本原理及各方面知识。

 

1.2.2意义

基于其低廉成本与高度可设定性,Linux常常被应用于嵌入式系统,例如机顶盒、移动电话及行动装置等。

在移动电话上,Linux已经成为与Symbian OS、Windows Mobile系统并列的三大智能手机操作系统之一;而在移动装置上,则成为Windows CE与Palm OS外之另一个选择。

目前流行的TiVo数位摄影机使用了经过定制化后的Linux。

此外,有不少硬件式的网络防火墙及路由器,例如部份LinkSys的产品,其内部都是使用Linux来驱动、并采用了操作系统提供的防火墙及路由功能。

 

Linux以它的高效性和灵活性著称。

它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。

Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。

Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。

它还包括带有多个窗口管理器的X-Window图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。

  

Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。

另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。

在Linux操作系统中实现文件的各种操作,即创建、删除、修改、写入、读取等。

通过课程设计让我们进一步了解操作系统,学习操作系统的各方面知识,加深对操作系统的认识,温习课上学过的知识,明确操作系统的作用。

可以在不同的角度来观察操作系统的作用。

从一般客户的观点,可把操作系统看做是用户与计算机硬件系统之间的接口;从资源管理的观点看,则可把操作系统视为计算机系统资源的管理者。

另外,操作系统实现了对计算机资源的抽象,隐藏了对硬件操作的细节,使用户能更方便地使用机器。

 

1.3设计成果

基于Linux的模拟文件系统的设计与实现,实现了采用用户登录机制,可以查看文件信息,管理文件及文件夹。

在界面中用户可以手动的进行操作,每一步都有操作成功或失败的提示,清晰的展示每一步的操作过程,用户可以方便的实现对文件的操作,例如:

创建、修改、删除等。

经过几天的努力完成了基于Linux的模拟文件系统的设计与实现这一课题,按照具体的要求,将每个功能实现并附上温馨提示,主要的功能有:

展示了添加用户、用户登录、创建二级目录、修改目录名、删除目录、显示全部目录、创建文件、修改文件名、删除文件、写入文件、读取文件、修改文件保护码等功能。

 

2总体设计

2.1功能介绍

本系统包括用户管理、目录管理、文件管理共3个模块。

在用户管理模块中,包括创建用户,输入用户名;用户登录等功能。

在目录管理模块中,包括创建二级文件目录,输入文件的目录名称;显示目录,输入文件目录的名字,显示出对应的目;删除目录;进入目录主要是为了操作目录内部的文件。

文件管理模块,包括文件的创建,在进入目录后可以按照提示输入文件的名称,输入密码,创建新的文件并添加文件的保护码;打开一个文件,在目录中按照提示输入文件的名称,便可以打开目录中对应的文件;打开全部文件,进入目录后,按照提示输入相应的操作,即可打开本目录下所有的文件;删除一个文件,进入目录按照提示选择相应的操作,输入文件名称,即可删除此文件;写入文件,在目录中打开一个文件,写入内容;读取文件,在目录中打开文件,查看文件的内容。

修改保护码,进入目录输入文件的名称,按照提示修改文件的保护码。

形象展示见下图2.1

 

 

图2.1

 

2.2模块关联

在系统中各个模块之间有着一定的联系,系统中创建10个用户,每一个用户可以创建多个目录,在目录中最多创建10个文件。

用户与目录之间存在一对多的关系,目录与文件之间也存在一对多的关系,用户与文件之间也存在一对多的关系。

具体描述见下图:

 

图2.2

图2.3

图2.4

图2.5

3详细设计

3.1用户结构

typedefstructuser{

charname[10];

Content*con;

structuser*next;

}User;

本系统可以创建10个用户,用户登陆时只要输入正确便可进入系统,否则提示失败要求重新输入。

do{

printf("输入新用户名:

\n");

scanf("%s",name);

exist=0;

head=user->next;

while(head!

=NULL){

if(strcmp(head->name,name)==0){

exist=1;

break;

}

head=head->next;

}

if(exist==1)printf("用户名已存在!

\n请重新输入:

");

}while(exist==1);

3.2数据结构说明

a)文件结构链表

 struct fnode { 

char filename[FILENAME_LENGTH]; 

int  isdir; 

int isopen; 

char content[255];  

fnode *parent;  

fnode *child; 

fnode *prev;  

fnode *next; 

};

b)函数介绍

voidzengjiayonghu();//增加新用户

voidnewfile(Content*con);//创建新文件

intdisplay_files(Content*con);//展示所有文件

voiddufile(Content*con);//读取文件

voidwritefile(Content*con);//写入文件

voidshanchufile(Content*con);删除文件

voidyidongfile(User*u,Content*con);//移动文件

int

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1