ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:212.48KB ,
资源ID:15286938      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15286938.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(linux操作系统Word格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

linux操作系统Word格式.docx

1、摘要.2一、 目的及意义2二、 理论基础2三、 设计思想及设计功能说明3四、 核心数据结构说明4五、 核心算法流程及功能说明61.login()用户登录模块62.initiate()系统初始化模块.93.create()文件创建模块.114. open()文件打开模块135read()文件读模块.146.write()文件写模块.157.delete()删除文件模块178close()文件关闭模块.199.mkdir()创建目录模块.2110.cd()改变当前目录模块.2211.dir()列出文件目录模块.2312Is()查看文件信息模块.2513. adduser()增加用户模块.2514.

2、deleteuser()删减用户模块.2615.printuser()显示用户模块.2616.logout()退出模拟文件系统模块. 26六、开发调试及运行环境25七、功能说明及测试数据分析.25八、存在问题及改进28九、心得体会.29十、参考文献.29Linux文件系统的仿真实现 计科101班 庞婷 指导老师 姜海燕摘要: 文件系统是现代操作系统中的重要组成部分之一。该报告论述了linux文件系统,主要模拟了对文件和目录进行一些基本操作,对于用户:用户登录、创建新用户login,增加用户adduser,删减用户deleteuser,显示用户printuser。对于文件:创建文件create,

3、删除文件delete,打开文件open,关闭文件close,读文件read,写文件write。对于目录:创建目录mkdir,改变当前目录cd。 该模拟文件系统基于操作系统中文件系统的各项理论而设计,实现了用户管理和文件的基本操作,Linux文件系统中的文件是数据的集合,文件系统不仅包含着文件中的数据而且还有文件系统的结构,所有Linux 用户和程序看到的文件、目录及文件保护信息等都存储在其中。使用了六个数据结构fat、文件控制块结构fcb、用户文件目录结构ufd、主文件目录结构mfd、用户打开文件表结构afd写出了模拟文件系统的数据结构设计和整体框架和系统实现各功能模块的函数。关键字:Linu

4、x文件系统,模拟,功能模块一、目的及意义1、目的:利用操作系统所学到的知识,结合自己课外学习的理论,设计一个模拟的多用户多级目录的文件系统。并实现对文件和目录等基本操作。2、意义:通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部功能和实现过程的了解。增强我们的思维能力、搭建架构的能力和动手编程的能力。 二、理论基础1、Linux整个文件系统以树根为起点,所有的文件和外部设备都以文件的形式挂接在这个文件树上。文件系统可分为四个区,引导块、超级块、索引节点区和数据区。2、文件的类型分为两种:常规文件和目录。目录可以进入,并且还可以在其下面继续创建文件,而常

5、规文件则不允许,它们只能作为整个文件系统树的叶子。每个文件以树中结点的形式存在于文件系统中,而在程序里则用结构体来加以定义,各个结构体之间再用指针相互串联从而构成一棵文件系统树。3、文件系统通常采用分层结构实现,大致分为三层:文件管理、目录管理和磁盘主存映射管理。4、文件系统给每个文件建立唯一的管理数据结构,成为文件控制块(FCB),一个文件由两部分组成:FCB和文件体,FCB一般包括文件属性信息有文件标识和控制信息、文件逻辑结构信息、文件物理结构信息、文件使用信息和文件管理信息。5、为了加快文件的查找速度。通常把文件控制块集中起来进行管理,组成文件目录。与普通文件不同的是,目录文件永远不会空

6、,它至少包含两个目录项:当前目录项“.”和父目录项“.”。6、当文件尚未存在时,需要对其创建,或者文件原来已经存在,有时需要重新创建。文件打开是指当文件已经存在,需要使用时先执行打开操作,以便建立应用进程与文件之间的联系,相应的,不再需要文件时,可以删除之,以便节省存储空间。7、每个块组都有一个块组描述符,记录此块组的以下信息,其中数据块位示图,表示数据块位示图占用的块号,此位示图反映块组中数据块的分配情况,在分配或释放数据块时需要使用数据块位示图。varhomeetclibusrdev/fei3 getty passwdtty00 tty01 Fei5fei4fei2fei1 bin lib

7、 man tmp testfile.c linux目录层次结构图 三、 设计思想及设计功能说明首先模拟了一个100个空间物理块(BNUM=100),给系统和文件分配空间,用fat表管理这些空间的物理块,物理块中分成两个部分,一个是用位示图标志的物理块占用情况,useflag为物理块为空,否则被占用,创建文件时,搜索fat表中未被占用的物理块并从位示图为0的物理块开始为文件分配空间大小;另一个部分则是指向下一个物理块的地址指针。用文件控制块fcb管理文件的信息,文件的第一个和最后一个物理块号,文件所占用的物理块数还有文件的属性信息(attribute为0只读,为1可读写,为2可执行)。其次,为了

8、进一步管理文件信息,在用户文件目录结构中设置了三个指针分别指向文件的兄弟结点,父母结点和孩子结点。对文件进行操作必须先打开对应的文件,为此设计了一个用户打开的文件表结构。该模拟系统要进行初始化,并等待用户注册登录使用文件系统,用户登录系统时,系统对用户的用户名和密码进行验证,如果用户登录成功,则系统进入命令提示符状态,等用户输入指令后,用户按照程序指定方式进行各个功能的实现,用户退出后,系统转入登录模块,等待下一位用户的登录。设计功能: login 用户登录 initiate 初始化 is 查看系统信息 mkdir 建立子目录 create 创建文件 open 打开文件 read 读文件 wr

9、ite 写文件 dir 查看当前目录文件列表 close 关闭文件 delete 删除文件 cd 改变当前目录 help 显示帮助命令 adduser 增加用户 deleteuser 删减用户 printuser 显示用户 format 格式化 logout 退出当前用户程 序 入 口程序初始化程序结束退出Logout()运行命令command()注册或登陆用户,系统用户为user1user8,密码同用户四核心数据结构说明1.Fat表结构 typedef struct fat1 int nextblock; /下一个物理块的地址,创建文件时从第一个物理块的位置开始遍历,知道找到空闲物理块的地址

10、,从空闲物理块地址处为文件分配空间 int useflag; /位示图 useflag0 物理块为空,useflag1 物理块不空 FAT; FAT fatBNUM; / 假设物理块有100个nextblockflagFat表用来管理空闲物理块的使用情况,首先模拟100个空闲物理块,每个物理块由两部分组成,第一个是用位示图法标志的物理块占用信息,当useflag为0表示物理块未被占用,为1时表示该物理块已被占用。第二部分为指向下一个物理块地址的指针,当创建文件时,从物理块开始位置搜索空闲物理块的位置,并从该处空闲物理块的地方为文件分配所需的大小。2.Fcb(文件控制块)表结构 typedef

11、struct fcb1 int firstblock; /占用的第一个物理块号 int lastblock; /最后一个物理块号 int blocknum; /物理块数 int attribute; /0只读;1读写;2可执行FCB;文件控制块是文件系统给每个文件建立的唯一管理数据结构,一个文件由两部分组成:FCB和文件体。其中定义了文件占用物理块的第一个物理块号、最后一个物理块号还有文件所需占用的所有物理块数。并用一个变量attribute指示文件的属性。为0只读、为1可读写、为2可执行。3.用户文件目录结构 struct ufd1 char name20; /文件或文件夹名 FCB *fcb; struct ufd1 * brother;/指向兄弟结点 struct ufd1 * parent; /指向父母结点 struct ufd1 * child; /指向孩子结点 int kind; /0文件夹;1文件 ;我在用户文件目录中用整型变量kind来区分文件和文件夹,kind为0表示为文件夹,为1则表示为文件。并设置了三个指针,分别指向兄弟结点、父母结点和孩子结点。以便于文件和文件夹的操作。4.主文件目录结构 struct mfd1 char username20; UFD *ufd; struct mfd1 *next;/指向下一个用户的

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

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