文件系统实现

文件系统实现
文件系统实现

第十二章文件系统实现

1. 解释open和close操作的目的是什么?

2. 假设一个文件有100个块,并且FCB(及索引块,当是索引分配时)已经在内存中。对于下列条件,计算读一个块对于连接、链接和索引(一级)分配方法各需要多少次磁盘I/O 操作。在连续分配方法中,假设增长时起始端没有空间,末端有空间。假设要增加的块信息存放在内存中。

a. 在起始端增加块

b. 在中部增加块

c. 在末端增加块

d. 从起始端删除块

e. 从中部删除块

f. 从末端删除块

3. 设想一个在磁盘上的文件系统的逻辑块和物理块的大小都为512B。假设每个文件的信息已经在内存中。对三种分配方法(连续分配、链接分配和索引分配),分别回答下面的问题:

a. 逻辑地址到物理地址的映射在系统中是怎样进行的?(对于索引分配,假设文件总是小于512块长。)

b. 假设现在处在逻辑块10(最后访问的块是块10),现在想访问逻辑块4,那么必须从磁盘上读多少个物理块?

4.UNIX系统为使文件的索引表较小又能允许组织大文件,采用直接索引与多次间接索引(多级索引)方式,给出一个文件的所在磁盘块的块号:假设每个磁盘块大小为1024字节,并且每个间接块容纳256个块号,试问:如果进程要读取某文件的字节偏移量为8000处数据,应该如何找到它所在磁盘块及块内位移量?如果想要存取340000处又应如何处理?

5.UNIX系统中文寻址可用多次间接方式与直接寻址方式。假设:直接寻址10块,每个磁盘块有1024个字节大小:间接寻址最多可有三次,每次寻址的盘块中可存放256个地址(每级索引含256个地址)。试问:下列字节地址的数据,其盘上物理地址如何寻找?18000;420000.

(完整版)操作系统毕业课程设计说明书-基于Linux的模拟文件系统的设计与实现

中北大学 操作系统课程设计 说明书 学院、系:软件学院 专业:软件工程 学生姓名:徐春花学号: 设计题目:基于Linux的模拟文件系统的设计与实现 起迄日 期: 2014年6月14日- 2014年6月26日指导教薛海丽

师: 2014 年 6月 26 日 前言 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。 Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对Windows NT、Windows98、MS-DOS或OS2

等商品化操作系统来说是无法做到的。 Linux具有:稳定、可靠、安全的优点,并且有强大的网络功能。其中有对读、 写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。在相关软 件的支持下,可实现WWW、FTP、DNS、DHCP、E-mail等服务,还可作为路由器 使用,利用IPCHAINSIPTABLE网络治理工具可构建NAT及功能全面的防火墙。 Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系 统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑 器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形 用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系 统进行操作。 目录 1需求分析 (3) 1.1 功能介绍 (3) 1.2 目的及意义 (5) 1.2.1 目的 (5) 1.2.2 意义 (6) 1.3 设计成果 (7) 2总体设计 (8) 2.1功能介绍 (8) 2.2模块关联 (9) 3详细设计 (12)

简单文件系统的实现

简单文件系统的实现 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第三章简单文件系统的实现 设计目的和内容要求 1.设计目的 通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部数据结构、功能以及实现过程的理解。 2.内容要求 (1)在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个Windows文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。 (2)文件存储空间的分配可采用显式链接分配或其他的办法。 (3)空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT 中。 (4)文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 (5)要求提供以下操作命令: my_format:对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数据结构。

●my_mkdir:用于创建子目录。 ●my_rmdir:用于删除子目录。 ●my_ls:用于显示目录中的内容。 ●my_cd:用于更改当前目录。 ●my_create:用于创建文件。 ●my_open:用于打开文件。 ●my_close:用于关闭文件。 ●my_write:用于写文件。 ●my_read:用于读文件。 ●my_rm:用于删除文件。 ●my_exitsys:用于退出文件系统。 3.学时安排 授课2学时,上机9学时。 4.开发平台 C或C++均可。 5.思考 (1)我们的数据结构中的文件物理地址信息是使用C语言的指针类型、还是整型,为什么 (2)如果引入磁盘索引结点,上述实现过程需要作哪些修改 (3)如果设计的是一个单用户多任务文件系统,则系统需要进行哪些扩充(尤其要考虑读写指针问题)如果设计的是一个多用户文件系统,则又要进行哪些扩充

10 11 第十、十一章 文件系统习题及答案

文件系统习题及答案 一:选择题 1、文件系统最基本的目标是(1),它主要是通过(8)功能实现的,文件系统所追求的最 重要的目标是(4)。 (1)按名存取(2)文件共享(3)文件保护(4)提高对文件的存取速度(5)提高I/O速度(6)提高存储空间利用率(7)存储空间管理(8)目录管理(9)文件读写管理(10)文件安全性管理 2、按逻辑结构,文件分为(5)和(6)两类,UNIX系统中的文件系统采用(6) (1)读、写文件(2)只读文件(3)索引文件(4)链式文件(5)记录文件(6)流式文件 3、从下面的描述中,选择出一条错误的描述 (1)一个文件在同一系统中、不同的存储介质上的拷贝,应采用同一种物理结构。 (2)文件的物理结构不仅与外存的分配方式相关,还与存储介质的特性相关,通常在磁带上只适合使用顺序的存储结构。 (3)采用顺序结构的文件既适合进行顺序访问,也适合进行直接访问。 (4)虽然磁盘是随机访问的设备,但其中的文件也可使用顺序存储结构 4、从下面关于索引文件的论述中,选出两条正确的论述 (1)在索引文件中,索引表的每个表项包含有相应记录的关键字和该记录的物理地址 (2)对顺序文件进行检索时,首先从FCB中读出文件的第一个盘块号,而对索引文件进行检索时,应先从FCB中读出文件索引表的起始地址。 (3)对一个具有三级索引表的文件,存取一个记录通常需要三次访问磁盘 (4)在文件较大时,无论进行顺序存取还是随机存取,通常都以索引文件方式最快。 5、对文件空闲空间管理,MS-DOS采用的是(2),UNIX采用的是(4) (1)空闲表(2)文件分配表(3)位示图(4)成组链接法 6、文件系统中,通常利用(4)来管理文件,为了允许不通用户的文件具有相同的文件名, 通常文件系统采用(6),在目录文件中的每个目录项通常是(8),在UNIX系统中,目录项目则是(7) (1)文件控制块(2)索引结点(3)符号名表(4)目录(5)重名(6)多级目录(7)文件名和索引结点的指针(8)FCB (9)索引节点 7、在树型目录结构中,用户对某个文件的首次访问通常都采用(2),文件被打开后,对文 件的访问通常采用(4) (1)文件符号名(2)文件路径名(3)内存索引结点的指针(4)用户文件的描述符 8、从下面关于目录检索的论述中,选出一条正确的论述 (1)用于hash法具有较快的检索速度,故现代操作系统中已经开始用它来替代传统的顺序检索方法。 (2)在利用顺序检索法时,对树型目录应采用文件的路径名,且应从根目录开始逐级检索。 (3)在利用顺序检索法时,只要找到一个文件分量名未找到,便应停止查找。 (4)在顺序检索法的查找完成后,即可得到文件的物理地址。 9、在create()过程中,如果没有检索到指定文件的索引结点,此时属于(3),检索到指

操作系统原理-第八章 文件系统习题(有答案)

第六章文件系统 6.3习题 6.3.1 单项选择题 1.操作系统对文件实行统一管理,最基本的是为用户提供( )功能。 A.按名存取 B.文件共享 C.文件保护 D.提高文件的存取速度 2.按文件用途分类,编译程序是( )。 A.系统文件 B.库文件 C.用户文件 D.档案文件 3.( )是指将信息加工形成具有保留价值的文件。 A.库文件 B.档案文件 C.系统文件 D.临时文件 4.把一个文件保存在多个卷上称为( )。 A.单文件卷 B.多文件卷 C.多卷文件 D.多卷多文件 5.采取哪种文件存取方式,主要取决于( )。 A.用户的使用要求 B.存储介质的特性 C.用户的使用要求和存储介质的特性 D.文件的逻辑结构 6.文件系统的按名存取主要是通过( )实现的。 A.存储空间管理 B.目录管理 C.文件安全性管理 D.文件读写管理7.文件管理实际上是对( )的管理。 A.主存空间 B.辅助存储空间 C.逻辑地址空间 D.物理地址空间8.如果文件系统中有两个文件重名,不应采用( )结构。 A.一级目录 B.二级目录 C.树形目录 D.一级目录和二级目录9.树形目录中的主文件目录称为( )。 A.父目录 B.子目录 C.根目录 D.用户文件目录 10.绝对路径是从( )开始跟随的一条指向制定文件的路径。 A.用户文件目录 B.根目录 C.当前目录 D.父目录 11.逻辑文件可分为流式文件和( )两类。 A.索引文件 B.链接文件 C.记录式文件 D.只读文件 12.由一串信息组成,文件内信息不再划分可独立的单位,这是指( )。A.流式文件 B.记录式文件 C.连续文件 D.串联文件 13.记录式文件内可以独立存取的最小单位是由( )组成的。 A.字 B.字节 C.数据项 D.物理块 14.在随机存储方式中,用户以( )为单位对文件进行存取和检索。 A.字符串 B.数据项 C.字节 D.逻辑记录

操作系统课程设计-模拟文件系统

目录 第1章需求分析 (1) 第2章概要设计 (1) 系统的主要功能 (1) 系统模块功能结构 (1) 运行环境要求 (2) 数据结构设计 (2) 第3章详细设计 (3) 模块设计 (3) 算法流程图 (3) 第4章系统源代码 (4) 第5章系统测试及调试 (4) 运行结果及分析 (4) 系统测试结论 (5) 第6章总结与体会 (6) 第7章参考文献 (6) 附录 (7)

第1章需求分析 通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力;掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,并了解操作系统的发展动向和趋势。 模拟二级文件管理系统的课程设计目的是通过研究Linux的文件系统结构,模拟设计一个简单的二级文件系统,第一级为主目录文件,第二级为用户文件。 第2章概要设计 系统的主要功能 1) 系统运行时根据输入的用户数目创建主目录 2) 能够实现下列命令: Login 用户登录 Create 建立文件 Read 读取文件 Write 写入文件 Delete 删除文件 Mkdir 建立目录 Cd 切换目录 Logout 退出登录 系统模块功能结构

运行环境要求 操作系统windows xp ,开发工具vc++ 数据结构设计 用户结构:账号与密码结构 typedef struct users { char name[8]; char pwd[10]; }users; 本系统有8个默认的用户名,前面是用户名,后面为密码,用户登陆时只要输入正确便可进入系统,否则提示失败要求重新输入。 users usrarray[8] = { "usr1","usr1", "usr2","usr2", "usr3","usr3", "usr4","usr4",

《操作系统》习题集:第4章 文件系统

第4章文件系统-习题集 一、选择题 1.文件系统是指()。【*,联考】 A. 文件的集合 B. 文件的目录 C. 实现文件管理的一组软件 D. 文件、管理文件的软件及数据结构的总体 2.文件系统的主要目的是()。【*,★,联考】 A. 实现对文件的按名存取 B. 实现虚拟存储 C. 提高外存的读写速度 D. 用于存储系统文件 3.目录文件所存放的信息是()。【**,★,联考】 A. 某一文件存放的数据信息 B. 某一文件的文件目录 C. 该目录中所有数据文件目录 D. 该目录中所有子目录文件和数据文件的目录 4.在文件系统中,文件访问控制信息存储的合理位置是()。【**,★,09考研】 A. 文件控制块 B. 文件分配表 C. 用户口令表 D. 系统注册表 5.索引文件由逻辑文件和()组成。【**,联考】 A. 符号表 B. 索引表 C. 交叉访问表 D. 链接表 6.文件系统在创建一个文件时,为它建立一个()。【**,联考】 A. 文件目录项 B. 目录文件 C. 逻辑结构 D. 逻辑空间 7.通常对文件系统来说,文件名及属性可以集中在()中,以便查找。【**,★,联考】 A. 目录文件 B. 索引文件 C. 字典 D. 作业控制块 8.文件绝对路径名是指()。【*,★,联考】 A. 文件名和文件扩展名 B. 一系列的目录文件名和该文件的文件名 C. 从根目录到该文件所经历的路径中各符号名的集合 D. 目录文件名和文件名的集合 9.设置当前工作目录的主要目的是()。【**,★,10考研】 A. 节省外存空间 B. 节省内存空间 C. 加快文件的检索速度 D. 加快文件的读写速度 10.文件系统可以采用两级目录结构,这样可以()。【*,★,联考】 A. 缩短访问文件存储器的时间 B. 实现文件共享 C. 节省内存空间 D. 解决不同用户之间的文件名冲突问题 11.文件系统采用多级目录结构后,对于不同用户的文件,其文件名()。【*,联考】 A. 应该相同 B. 应该不同 C. 可以相同也可以不同 D. 受系统约束 12.设文件F1的当前引用计数值为1,先建立F1的符号链接(软链接)文件F2,再建立F1的硬链接文件F3,然 后删除F1。此时,F2和F3的引用计数值分别是()。【***,09考研】

操作系统简单文件系统设计及实现

简单文件系统的设计及实现 一、实验目的: 1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解 2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 二、实验内容: 1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。 3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作 4、算法与框图 ?因系统小,文件目录的检索使用了简单的线性搜索。 ?文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。 ?程序中使用的主要设计结构如下:主文件目录和用户文件目录( MFD、UFD); 打开文件目录( AFD)(即运行文件目录) 文件系统算法的流程图如下

三、工具/准备工作: 在开始本实验之前,请回顾教科书的相关内容。并做以下准备: 1) 一台运行Windows 2000 Professional或Windows 2000 Server的操作系统的计算机。 2) 计算机中需安装Visual C++ 6.0专业版或企业版 四、实验要求: (1)按照学校关于实验报告格式的要求,编写实验报告(含流程图); (2)实验时按两人一组进行分组,将本组认为效果较好的程序提交检查。

模拟实现文件系统,操作系统课程设计要点

某某大学 课程设计报告课程名称:操作系统课程设计 设计题目:模拟实现文件系统 系别:计算机系 专业:计算机科学与技术 组别: 学生姓名: 学号: 起止日期: 指导教师:

目录 目录 0 第一章需求分析 (1) 1.1 课程设计题目 (1) 1.2 课程任务及要求 (1) 1.3课程设计思想: (1) 1.4软硬件运行环境及开发工具: (2) 第二章概要设计 (3) 2.1流程图 (3) 2.2用到的原理 (3) 第三章详细设计 (4) 第四章调试与操作说明 (9) 4.1用户登陆界面 (9) 4.2创建文件界面 (9) 4.3删除文件界面 (10) 4.4退出界面 (10) 第五章课程设计总结与体会 (10) 第六章致谢 (11) 第七章参考文献 (11)

第一章需求分析 1.1 课程设计题目 课程设计题目:模拟实现文件系统 1.2 课程任务及要求 要求:实现文件的建立、打开、删除、关闭、复制、读、写、查询等功能 给出实现方案(包括数据结构和模块说明等) 画出程序的基本结构框图和流程图 分析说明每一部分程序的设计思路 实现源代码 按期提交完整的程序代码和可执行程序 根据要求完成课程设计报告 总结 1.3课程设计思想: 模拟实现文件系统问题是一个经典的关于文件的处理问题,包括:实现文件的建立、打开、删除、关闭、复制、读、写、查询等功能。设计思想如下:1.在内存中开辟一个虚拟磁盘空间作为文件存储器,在其上实现一个多用户多目录的文件系统。 2.文件物理结构可采用显式链接或其他方法。 3.磁盘空闲空间的管理可选择位示图或其他方法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,则可以将位示图合并到FAT中。4.文件目录结构采用多用户多级目录结构,每个目录项包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。目录组织方式可以不使用索引结点的方式,但使用索引结点,则难度系数为1.2。 5.设计一个较实用的用户界面,方便用户使用。要求提供以下相关文件操作:(1)具有login (用户登录)

第六章 文件系统习题

第六章文件系统 一. 单项选择题 1.操作系统对文件实行统一管理,最基本的是为用户提供( )功能。 A.按名存取 B.文件共享 C.文件保护 D.提高文件的存取速度 2.按文件用途分类,编译程序是( )。 A.系统文件 B.库文件 C.用户文件 D.档案文件 3.( )是指将信息加工形成具有保留价值的文件。 A.库文件 B.档案文件 C.系统文件 D.临时文件 4.把一个文件保存在多个卷上称为( )。 A.单文件卷 B.多文件卷 C.多卷文件 D.多卷多文件 5.采取哪种文件存取方式,主要取决于( )。 A.用户的使用要求 B.存储介质的特性 C.用户的使用要求和存储介质的特性 D.文件的逻辑结构 6.文件系统的按名存取主要是通过( )实现的。 A.存储空间管理 B.目录管理 C.文件安全性管理 D.文件读写管理7.文件管理实际上是对( )的管理。 A.主存空间 B.辅助存储空间 C.逻辑地址空间 D.物理地址空间8.如果文件系统中有两个文件重名,不应采用( )结构。 A.一级目录 B.二级目录 C.树形目录 D.一级目录和二级目录9.树形目录中的主文件目录称为( )。 A.父目录 B.子目录 C.根目录 D.用户文件目录 10.绝对路径是从( )开始跟随的一条指向制定文件的路径。 A.用户文件目录 B.根目录 C.当前目录 D.父目录 11.逻辑文件可分为流式文件和( )两类。 A.索引文件 B.链接文件 C.记录式文件 D.只读文件 12.由一串信息组成,文件内信息不再划分可独立的单位,这是指( )。A.流式文件 B.记录式文件 C.连续文件 D.串联文件 13.记录式文件内可以独立存取的最小单位是由( )组成的。 A.字 B.字节 C.数据项 D.物理块 14.在随机存储方式中,用户以( )为单位对文件进行存取和检索。 A.字符串 B.数据项 C.字节 D.逻辑记录 15.数据库文件的逻辑结构形式是( )。 A.链接文件 B.流式文件 C.记录式文件 D.只读文件 16.文件的逻辑记录的大小是( )。

模拟文件系统

课程设计 课程名称计算机操作系统 题目名称模拟文件系统 专业班级2014级计算机科学与技术 (专升本)班 学生姓名宋欢乐、张焕、范孝礼 学号51402111042、51402111038、51402111043 指导教师邹青青 二○一四年十二月二十日

目录 1、引言 (2) 2、需求分析 (3) 3、概要设计 (4) 3.1 系统的主要功能 (4) (1) 主界面 (4) (2) Create 建立文件 (5) (3)Read 读取文件 (6) (4)Write 写入文件 (7) (5)Delete 删除文件 (9) (6)Mkdir 建立目录 (10) (7)Cd 切换目录 (11) (8)Logout 退出登录 (12) 3.2 系统模块功能结构 (12) (1)结构说明: (12) 3.3 运行环境要求 (13) 3.4 数据结构设计 (13) 3.5 数据结构说明 (14) (1)文件结构链表 (14) (2)函数介绍 (14) 4、详细设计 (15) 4.1 模块设计 (15) 4.2 算法流程图 (15) 5、系统源代码 (17) 见附录 (17) 6、系统测试及调试 (18) 6.1 运行结果及分析 (18) 6.2 系统测试结论 (22) 7、总结与体会 (23) 参考文献 (24) 附录系统的主要源代码 (25)

1、引言 计算机操作系统是计算机系统中不可缺少的基本系统软件,计算机操作系统是由硬件和软件两部分构成的。操作系统实际上是一个计算机系统中硬、软件资源的总指挥部。能有效的组织和管理计算机系统中的硬件和软件资源、合理的组织计算机工作流程,控制程序的执行、并向用户提供各种服务功能,使得用户能够合理、方便、有效的使用计算机,是整个计算机系统能高效运行的一组程序模块的集合。操作系统在计算机体系中张非常重要的地位。 在现代计算机管理中,总是把程序和数据以文件的形式存储在磁盘和磁带上,供所有的或指定的用户使用。为此,在操作系统中必须配置文件管理机构。文件管理的主要任务是对任务和系统文件进行管理,以方便用户使用,并保证文件的安全性。为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读写管理,以及文件的共享与保护等功能。 从计算机诞生到现在虽然只经历了短短几十年的时间,但无论是在软件还是在硬件方面,计算机都有着飞跃式的发展。随着计算机应用不断增加,计算机上所需要存储的数据和程序也日益增多,早期的文件管理方式已经不能满足现在的需要。计算机操作系统是配置在计算机硬件上的第一层软件,是对硬件的首次扩充。他在计算机系统中占据了特别重要的地位。操作系统的主要功能是进行处理机管理功能,为了进一步了解文件管理功能,我们建立了一个文件模拟系统,要求编写程序,模拟实现文件系统中关于目录及文件的操作。

简单文件系统的实现

第三章简单文件系统的实现 3.1 设计目的和内容要求 1. 设计目的 通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部数据结构、功能以及实现过程的理解。 2.内容要求 (1)在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个Windows 文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。 (2)文件存储空间的分配可采用显式链接分配或其他的办法。 (3)空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT中。 (4)文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 (5)要求提供以下操作命令: my_format:对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数据结构。 my_mkdir:用于创建子目录。 my_rmdir:用于删除子目录。 my_ls:用于显示目录中的内容。 my_cd:用于更改当前目录。 my_create:用于创建文件。 my_open:用于打开文件。 my_close:用于关闭文件。

my_write:用于写文件。 my_read:用于读文件。 my_rm:用于删除文件。 my_exitsys:用于退出文件系统。 3.学时安排 授课2学时,上机9学时。 4.开发平台 C或C++均可。 5.思考 (1)我们的数据结构中的文件物理地址信息是使用C语言的指针类型、还是整型,为什么? (2)如果引入磁盘索引结点,上述实现过程需要作哪些修改? (3)如果设计的是一个单用户多任务文件系统,则系统需要进行哪些扩充(尤其要考虑读写指针问题)?如果设计的是一个多用户文件系统,则又要进行哪些扩充? 3.2 预备知识 3.2.1 FAT文件系统介绍 1.概述 FAT文件系统是微软公司在其早期的操作系统MS-DOS及Windows9x中采用的文件系统,它被设计用来管理小容量的磁盘空间。FAT文件系统是以他的文件组织方式——文件分配表(file allocation table,FAT)命名的,文件分配表的每个表项中存放某文件的下一个盘块号,而该文件的起始盘块号则保存在它的文件控制块FCB中。在文件分配表中,一般用FFFF来标识文件的结束;用0000来标识某个逻辑块未被分配,即是空闲块。为了提高文件系统的可靠性,在逻辑磁盘上通常设置两张文件分配表,它们互为备份。此外,文件分配表必须存放在逻辑磁盘上的固定位置,而根目录区通常位于FAT2之后,以便操作系统在启动时能够定位所需的文件,其磁盘布局如图3-1所示: 引导块FAT1FAT2根目录区数据区

第四章文件系统习题解答

第四章文件系统 姓名:学号:网选班号: 一、选择题 ( A )1 文件系统的主要目的是() A 实现对文件的按名存储 B 实现虚拟存储 C 提高外设的读取速度D用于存储文件系统 ( ABC )2 为了对文件进行操作,应该用以下哪些系统调用()。 A 建立文件 B 打开文件 C 关闭文件 D 申请缓冲区 ( B)3文件系统与()密切相关,它们共同为用户使用文件提供方便。 A 处理器管理 B 设备管理 C 内存管理 ( B )4文件系统中文件被按照名字存取是为了() A 方便操作系统对文件的管理 B 方便用户使用 C 确定文件的存取权限 D 加强对文件内容的保密 ( C )5文件系统采用多级目录后,对于不同用户的文件,其文件名() A 应该相同 B 应该不同 C 可以相同,也可以不同 ( C )6 在文件系统中可命名的最小数据单位是() A 字符 B 记录 C 文件 D 文件系统 ( B )7 下列()物理结构不利于对文件的随机存取 A 顺序文件 B 链接文件 C 索引文件 ( B )8 管理空闲磁盘空间可以用(),它利用二进制的一位来表示一个磁盘块的使用情况 A 空闲区表 B 位示图 C 分组链接 ( C)9 文件系统利用()来管理文件. A 文件名 B 文件描述符 C 目录 ( A)10目录文件中的目录项就是() A 文件描述符 B 文件指针 C 索引表 (B)11、将文件目录分成基本文件目录和符号文件目录的作用是() A 层次分明和易于实现 B 提高检索文件速度和便于共享 C 便于文件系统的分层实现(A)12 打开文件操作是对()的操作 A 目录 B 文件 C 目录和文件 (B)13 FAT文件系统支持()结构 A 顺序文件 B 链接文件 C 索引文件 (C)14 EXT2文件系统支持()结构 A 顺序文件 B 链接文件 C 索引文件 (A)15 假设一个扇区大小为512B,1块=1扇区,FAT16可以管理的磁盘空间大小为() A 32M B B 64MB C 128MB D 512MB (C)16 linux的VFS的超级块中存放()信息 A 文件 B 目录 C 文件系统 ()17 假设1块=1扇区=512B,块地址用4B表示,ext2可以管理的最大文件的大小为(A) A 1G B 16G C 32G B 64G 二、问答题 1、使用文件系统时,通常要显示地调用OPEN、CLOSE操作,是否可以不要这种操作?这样做的好处是什么? 可以不要。 好处:无需多次读文件的文件描述符信息,减少访问磁盘次数 2、DOS硬盘的FAT表的大小最大是多少?采用FAT16管理40G的硬盘,一个块要被定义为多大才合适? DOS硬盘的FAT表的大小最大是2B*216=128KB 采用FAT16管理40G的硬盘,一块要定义为:40GB/216=640KB 3、简述DOS命令type \sub\f的执行过程。 1)读卷总信息,得\地址,读\到内存。 2)在\目录中查找sub 2.1若找到,得sub第1块块号,将第1块读入内存,查FAT,获得第2块以后的块号,逐次读入内存。 2.2若未找到,显示出错,转5) 3)在sub目录中查找f 2.1若找到,得f第1块块号,将第1块读入内存,查FAT,获得第2块以后的块号,逐次读入内存。 2.2若未找到,显示出错,转5) 4)将内存的f文件内容送显示器 5)结束 4、简述linux命令cat /sub/f的执行过程 1)依据/目录的i节点号读/的i节点到内存,获得/的索引表,依据索引表中的地址将/读入内存 2)在/中查找sub 2.1若找到,得sub的i节点号,依据i节点号,将sub的i节点读入内存,获得sub的索引表,依据索引表中的地址将sub读入内存 2.2若未找到,显示出错,转5) 3)在sub中查找f 2.1若找到,得f的i节点号,依据i节点号,将f的i节点读入内存,获得sub的索引表,依据索引表中的地址将f读入内存. 2.2若未找到,显示出错,转5) 4)将内存的f文件内容送显示器 5)结束

模拟实现单级目录、单级索引的索引文件系统

课程设计报告 课程名称操作系统课程设计 课题名称模拟实现单级目录、单级索引的索引文件系统 专业计算机科学与技术 班级 学号 姓名 指导教师周铁山 2012年1 月6日

湖南工程学院 课程设计任务书 课程名称操作系统课程设计 课题模拟实现单级目录、单级索引的索引文件系统专业班级 学生姓名 学号 指导教师周铁山 审批 任务书下达日期2013 年 1 月 2 日 任务完成日期2013年 1 月 6 日

计算机10级《操作系统课程设计》任务书 一、课程设计的性质和目的 操作系统课程设计是计算机专业的专业课程,通过课程设计使学生进一步巩固课堂所学知识,全面熟悉、掌握操作系统的基本设计方法和技巧,进一步提高分析问题、解决问题及上机操作能力,为将来从事计算机工作打下一定的专业基础。 二、设计课题 课题一:模拟实现单级目录的FAT文件系统 基本思路:用二进制文件空间模拟磁盘空间,用文件块操作模拟磁盘块操作。 基本设计要求:1、实现如下文件系统功能(过程或函数): a、挂载文件系统FILE *OPENSYS(char *filename); b、卸载文件系统int CLOSESYS(FILE *stream); c、显示目录void LISTDIR(void); d、建立文件int FCREA TE(char *filename); e、删除文件int FDELETE(char *filename); f、打开文件int FOPEN(char *filename); g、关闭文件int FCLOSE(int fileid); h、文件块读int FREAD(void *ptr, int n, int fileid); i、文件块写int FWRITE(void *ptr, int n, int fileid); j、判断文件结束int FEOF(int fileid); k、获取文件指针long FGETPOS(int fileid); l、设置文件指针int FSETPOS(int fileid, long offset); m、取得文件长度long FGETLEN(char *filename); 2、提供文件系统创建程序 3、有功能检测模块 4、为简化程序设计,假定目录区域大小固定。 文件系统空间划分: 可以使用的C语言文件操纵函数: FILE *fopen(const char *filename, const char *mode); int fclose(FILE *stream); int fseek(FILE *stream, long offset, int whence); long ftell(FILE *stream); size_t fread(void *ptr, size_t size, size_t n, FILE *stream); size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);

如何实现一个文件系统

如何实现一个文件系统 本文作者: 康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HP Linux软件实验室。如果需要可以联系通过kanghua151@https://www.360docs.net/doc/854169546.html,联系他。 摘要:本文目的是分析在Linux系统中如何实现新的文件系统。在介绍文件系统具体实现前先介绍文件系统的概念和作用,抽象出了文件系统概念模型。熟悉文件系统的内涵后,我们再近一步讨论Linux系统中和文件系统的特殊风格和具体文件系统在Linux中组成结构,为读者勾画出Linux中文件系统工作的全景图。最后,我们再通过Linux中最简单的Romfs 作实例分析实现文件系统的普遍步骤。(我们假定读者已经对Linux文件系统初步了解) 什么是文件系统 首先要谈的概念就是什么是文件系统,它的作用到底是什么。 文件系统的概念虽然许多人都认为是再清晰不过的了,但其实我们往往在谈论中或多或少地夸大或片缩小了它的实际概念(至少我时常混淆),或者说,有时借用了其它概念,有时说的又不够全面。 比如在操作系统中,文件系统这个术语往往既被用来描述磁盘中的物理布局,比如有时我们说磁盘中的“文件系统”是EXT2或说把磁盘格式化成FAT32格式的“文件系统”等——这时所说的“文件系统”是指磁盘数据的物理布局格式;另外,文件系统也被用来描述内核中的逻辑文件结构,比如有时说的“文件系统”的接口或内核支持Ext2等“文件系统”——这时所说的文件系统都是内存中的数据组织结构而并非磁盘物理布局。还有些时候说“文件系统”负责管理用户读写文件——这时所说的“文件系统”往往描述操作系统中的“文件管理系统”,也就是文件子系统。 虽然上面我们列举了混用文件系统的概念的几种情形,但是却也不能说上述说法就是错误的,因为文件系统概念本身就囊括众多概念,几乎可以说在操作系统中自内存管理、系统调度到I/O系统、设备驱动等各个部分都和文件系统联系密切,有些部分和文件系统甚至未必能明确划分——所以不能只知道文件系统是系统中数据的存储结构,一定要全面认识文件系统在操作系统中的角色,才能具备自己开发新文件系统的能力。 为了澄清文件系统的概念,必须先来看看文件系统在操作系统中处于何种角色,分析文件系统概念的内含外延。所以我们先抛开Linux文件系统的实例,而来看看操作系统中文件系统的普遍体系结构,从而增强对文件系统的理论认识。 下面以软件组成的结构图1[1]的方式描述文件系统所涉及的内容。 图1 :文件系统体系结构层次图 1[1]请参见OPERATION SYSTEMS INTERNALS AND DESIGN PRINCIPLES一书第12章

第5章_文件系统习题及答案

第五章文件系统习题 一、填空题 1.文件系统主要管理计算机系统的软件资源,即对于各种的管理。 【答案】文件 【解析】用户使用计算机来完成自己的某项任务时,总会碰到这样一些问题:其一,使用现有的软件资源来协助自己工作。例如,利用系统调用和利用库函数与实用程序等来减少编程的工作量,避开与硬件有关的部分。其二,编制完成的或未完成的程序存放在什么地方,需要访问的数据存放在什么地方。这实际上是怎样对软件资源进行透明的存放,并能透明地存取,文件系统也就应运而生了。 2.从用户的角度看,文件系统的功能是要实现①。为了达到这一目的,一般要建立② 【答案】①按名存取,②文件目录 【解析】文件系统的建立就是要让用户透明地对文件进行存取,这就要求文件系统要解决把每个文件的符号名与其所在的文件存储空间中的物理地址联系起来的问题,这也是文件系统最基本的功能。实现符号名与具体物理地址的转换,其主要环节是查目录。所以,文件目录的组织是文件系统研究的主要问题之一。 3.UNIX系统中,一般把文件分为①、②和③三种类型。 【答案】①普通文件、②目录文件、③特殊文件 【解析】普通文件既包括系统文件,也包括用户文件、库函数文件和实用程序文件。它主要指组织格式是无结构、无记录概念的字符流式文件。 目录文件则是由文件系统中的各个目录所形成的文件。 特殊文件(或设备文件)在UNIX系统中,每台设备都被看作为一个特殊文件。 4.串联文件是文件①组织的方式之一,其特点是用②来存放文件信息。 【答案】①物理,②非连续的物理块 【解析】串联文件结构中,每个物理块设有一个指针,指向其后续连接的另一个物理块,从而使得存放同一文件的物理块链接成一个串联队列。 5.文件存储器一般都被分成若干大小相等的①,并以它为单位进行②。 【答案】①物理块,②信息交换 【解析】文件存储空间的管理是文件系统的重要任务之一,磁盘、磁带是常见的文件存储器。 6.文件存储空间管理的基本方法有①、②。 【答案】位示图法、空闲块链接法。 【解析】文件存储空间的管理实质上是空闲块的组织和管理问题,它包括空闲块的分配与空闲块的回收等问题,这就要求对文件存储空间的空闲块进行有效的组织和管理。 7.目录文件是由①组成的,文件系统利用②完成“按名存取”和对文件信息的共享和保护。 【答案】①文件说明,②目录文件 【解析】从文件管理的角度看,一个文件包括两部分:文件说明和文件体。文件说明又称为文件控制块,它至少包括文件名和文件在文件存储器上的物理地址。这样一些文件说明就组成了目录文件。目录文件是实现按名存取的关键。 8.单级(一级)文件目录不能解决的问题。多用户系统所用的文件目录结构至少应是二级文件目录。 【答案】文件重名 【解析】因为单级文件目录表中,各文件说明项处于平等地位,只能按连续结构或顺序结构存放,因此,文件名与文件必须—一对应。如果两个不同的文件重名,则系统将把它们视为同一文件。在二级文件目录结构中,各文件的说明信息被组织成目录文件,且以用户为单位把各自的文件说明划分为不同的组,而把不同的、组名有关的存取控制信息存放在用户的主目录的目录项中。 9.大多数文件系统为了进行有效的管理,为用户提供了两种特殊操作,即在使用文件前应先①,文件使用完应②。 【答案】①打开文件,②关闭文件 【解析】打开文件就是把该文件有关的目录表复制到内存中约定的区域,使用户能实现按名存取。所谓关闭文件,就是当用户宣布这个文件当前不再使用时,系统将此文件在内存中的相应的目录表删除,因而也就断开了用户与这个文件的联系。 10.对于索引结构的文件,其索引表中主要应包含①和②两项内容。 【答案】①记录号、②该记录存放地址 【解析】索引结构的文件,其索引表中主要应包含“记录号”和“该记录存放地址”两项内容,对这种结构的文件既可按顺序访问,又可按随机方式访问。

操作系统课程设计模拟文件系统

操作系统课程设计模拟文 件系统 Newly compiled on November 23, 2020

目录第1章需求分析 (1) 第2章概要设计 (1) 系统的主要功能 (1) 系统模块功能结构 (1) 运行环境要求 (2) 数据结构设计 (2) 第3章详细设计 (3) 模块设计 (3) 算法流程图 (3) 第4章系统源代码 (4) 第5章系统测试及调试 (4) 运行结果及分析 (4) 系统测试结论 (5) 第6章总结与体会 (6) 第7章参考文献 (6) 附录 (7) 第1章需求分析 通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力;掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,并了解操作系统的发展动向和趋势。

模拟二级文件管理系统的课程设计目的是通过研究Linux的文件系统结构,模拟设计一个简单的二级文件系统,第一级为主目录文件,第二级为用户文件。 第2章概要设计 系统的主要功能 1) 系统运行时根据输入的用户数目创建主目录 2) 能够实现下列命令: Login 用户登录 Create 建立文件 Read 读取文件 Write 写入文件 Delete 删除文件 Mkdir 建立目录 Cd 切换目录 Logout 退出登录 系统模块功能结构 运行环境要求 操作系统windows xp ,开发工具vc++ 数据结构设计 用户结构:账号与密码结构 typedef struct users { char name[8]; char pwd[10]; }users;

简单文件系统的实现实验报告

操作系统课程设计报告简单文件系统的实现 专业: 班级: 姓名: 学号: 老师:

一、课程设计的目的 1. 通过具体的文件存储空间的管理、文件的物理结构、目录结构和文件操作的实现,加深对文件系统内部数据结构、功能以及实现过程的理解。 二、课程设计要求 1. 在内存中开辟一个虚拟磁盘空间作为文件存储分区,在其上实现一个简单的基于多级目录的单用户单任务系统中的文件系统。在退出该文件系统的使用时,应将该虚拟文件系统以一个Windows 文件的方式保存到磁盘上,以便下次可以再将它恢复到内存的虚拟磁盘空间中。2文件存储空间的分配可采用显式链接分配或其他的办法。 3空闲磁盘空间的管理可选择位示图或其他的办法。如果采用位示图来管理文件存储空间,并采用显式链接分配方式,那么可以将位示图合并到FAT中。 文件目录结构采用多级目录结构。为了简单起见,可以不使用索引结点,其中的每个目录项应包含文件名、物理地址、长度等信息,还可以通过目录项实现对文件的读和写的保护。 要求提供以下有关的操作命令: my_format:对文件存储器进行格式化,即按照文件系统的结构对虚拟磁盘空间进行布局,并在其上创建根目录以及用于管理文件存储空间等的数据结构。 my_mkdir:用于创建子目录。 my_rmdir:用于删除子目录。 my_ls:用于显示目录中的内容。 my_cd:用于更改当前目录。 my_create:用于创建文件。 my_open:用于打开文件。 my_close:用于关闭文件。 my_write:用于写文件。 my_read:用于读文件。 my_rm:用于删除文件。 my_exitsys:用于退出文件系统。 三、程序的设计细想和框图 1.打开文件函数fopen() (1)格式:FILE *fopen(const char *filename,const char *mode) (2)功能:按照指定打开方式打开指定文件。 (3)输入参数说明: filename:待打开的文件名,如果不存在就创建该文件。 mode:文件打开方式,常用的有: "r":为读而打开文本文件(不存在则出错)。 "w":为写而打开文本文件(若不存在则创建该文件;反之,则从文件起始位置写,原内容将被覆盖)。 "a":为在文件末尾添加数据而打开文本文件。(若不存在则创建该文件;反之,在原文件末尾追加)。 "r+":为读和写而打开文本文件。(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后不变) 。 "w+":首先建立一个新文件,进行写操作,随后可以从头开始读。(若文件存在,原内容将全部消失) 。 "a+":功能与"a"相同;只是在文件末尾添加新的数据后,可以从头开始读。 另外,上述模式字符串中都可以加一个“b”字符,如rb、wb、ab、rb+、wb+、ab+等组合,

相关文档
最新文档