关于Unix文件系统的设计报告
多媒体技术及其应用
本栏目责任编辑:李桂瑾
模拟Unix文件系统的设计与实现
王浩亮
(广东松山职业技术学院计算机系,广东韶关512126)
摘要:本文以c语言为开发工具结合UNIX文件系统,探讨了多用户多目录文件系统的设计与实现。关键字:C语言;Unix系统;文件系统中图分类号:TP312文献标识码:A文章编号:1009-3044(2006)35-0184-02
DesignandRealizationofSimulationUnixFileSystem
WANGHao-liang
(GuangdongSongshanVocationalandTechnicalCollegecomputerscience,Shaoguan512126,China)
Abstract:TakeclanguageasdevelopmentkitwiththeUnixfilesystem,discussedthedesignandtherealizationofthemulti-usermulti-tableofcontentsfilesystem.
Keywords:Clanguage;Unixsystem;filesystem
1引言
多用户操作系统。是用高Unix操作系统是一种强大的多任务、
级语言C来编写并有较高的运行效率的系统。通常被分成三个主要部分:内核(Kernel)、Shell和文件系统。文件系统是指对存储在存储设备(如硬盘)中的文件所进行的组织管理,通常是按照目录层次的方式进行组织。每个目录可以包括多个子目录以及文件,
本文模拟unix文件系统实现了一个多用户多目录文件系统,该系统只是一个模拟文件系统功能的虚拟文件系统。实现了基本的目录文件结构,对目录和文件的操作都是在内存中完成。程序运行时,申请1M的内存空间,这1M内存分成512块,每块为512个字节,这512块就是文件系统的可用块数,文件系统的分配就是以块为单位来分配的,空闲块的管理利用位示图的方法来管理。程序运行结束的时候,内容都会丢失。
文件系统具有的基本功能:
(1)多用户:root,usr1,usr2,usr3,……,(1-8个用户)(2)多级目录:可有多级子目录;(3)具有login(用户登录)
提供登录模块)(4)系统初始化(建文件卷、
(5)编辑文件:edit(6)显示文件:cat(7)删除文件:delete
(8)创建目录(建立子目录):mkdir(9)改变当前目录:cd(10)列出文件目录:ls(11)注销用户:logout(12)退出系统:shutdown
{intFileNo;/*文件号*/
char*fileData;/*文件存取缓冲区*/
structfilelistStruct*address;/*文件存放地址,指向申请的内存空间1M*/intlen;/*文件长度*/intstate;}/*文件存取状态0-读,1-写,2-读写*/2.1.3文件存放结构structfileListStruct{charcontext[510];/*存放数据块*/structfileListStruct*next;}/*指向下一块*/2.1.4用户结构structUserStruct{charName[9];/*用户名*/charPassword[9];/*密码*/charPath[11];/*用户工作目录*/intuserNo;/*用户号*/
用户组号,“0”-超级用户,其他为普通用户*/intgroupNo;}/*
2.1.5位示图unsignedlongwst[64]/*申请64*32*512=1M空间*/
图1
2设计与实现
2.1数据结构2.1.1目录结构
structcatalogStruct/*目录结构*/{charName[9];/*目录名*/intfatherNo;/*父目录编号,如果是根目录,则为-1*/intuserNo;/*文件用户属性*/intgroupNo;/*文件组属性*/inttype;/*目录为10,文件为0*/
structfileListStruct*address;/*地址,目录文件为0*/intlen;/*长度,目录文件为零*/};
2.1.2FCB结构structFCBStruct
2.1.6全局变量intuserNo;/*注册用户号*/intcurPathNo;/*当前工作目录号*/charcurPath[255];/*当前工作目录*/2.2系统结构2.2.1初始化voidinit();intshell();
voidmkdir(charPath[]);voidcd(charPath[]);voidls();
voidrmdir(charPath[]);
intcreat1(charfileName[],intstate);
/*state为文件存取状态0-读,1-写,2-读写,成功返回文件号,不成功为-1*/
收稿日期:2006-08-25
作者简介:王浩亮,男,助教,软件工程硕士,多年从事C语言,Java语言,网络等方面的教学工作,主要发展方向为程序开发、信息安全。
184
电脑知识与技术
模拟U N lX文件系统的设计及实现吴志攀,杜华英 (中南大学信息科学与工程学院,湖南 长沙410083) 摘要根据高校的实际情况,提出模拟UNⅨ文件系统的设计及实现的必要...
34 第1页 总 36 页 模拟 UNIX 文件系统的设计及实现 1. 课程设计内容 多用户的多级目录的文件系统设计。 2. 概述 UNIX 采用树型目录结构,每个目录表称为一...
. . .. . 本目任辑: 桂 栏 赍编 李瑾 模拟 Unx文件系统 的设计与实现 i 王浩亮 ( 东松 山职业技 术学院计算机 系, 广 广东 韶关 5 2 2 ) 1 ...
文件的删除,关闭,以 及建立目录,改变当前目录,都是通过功能函数在其中实现其...该设计是针对 UNIX 系统所做的文件系统,其关键在于模拟,模拟文件 操作的一些...
模拟UNIX/Linux文件系统本实验要求大家完成一个 UNIX文件系统的子集 的模拟实现。...提示与要求:(1)文件卷结构设计 0#块可省略 I节点栈及空间为20项 块大小为...
n# 文件存储区 本次课程设计是要实现一个简单的模拟 UNIX 文件系统。 我们在内存中开辟 一个虚拟磁盘空间(1MB)作为文件存储器, 并将该虚拟文件系统保存到磁盘上...
权限,系统初始化,多用户目录, 系统地退出 1 正 1、设计思想 、 文 用一个文件模拟一个物理硬盘, 通过对该文件的一系 列操作,模拟 UNIX 文件系统中的文件...
操作系统毕业论文 模拟UNIX文件系统的设计及实现_计算机软件及应用_IT/计算机_专业资料。操作系统课程设计任务书一、题目:银行家算法本次课程设计是要实现一个简单...
模拟unix 文件系统一、基本信息完成人:牛娜(2006116242) 报告日期:2008-3-24 ...三、设计思想说明课程设计所利用的空间为 1M 的内存(模拟外存文件系统存储空间)...
热门文档