文档库 最新最全的文档下载
当前位置:文档库 › 第十一章 NFS文件系统

第十一章 NFS文件系统

第十一章 NFS文件系统
第十一章 NFS文件系统

第十一章

NFS文件系统

前面我们已经学习了Linux系统的基本网络配置,当Linux系统完成了基本的网络配置后就具备了提供网络服务的基础,通过安装各种功能的网络服务器程序,Linux系统就可以作为不同角色的网络服务器。本章我们来学习Linux系统中的NFS网络服务。

NFS是UNIX(Linux)系统之间进行文件共享的网络服务,通过本章学习,我们可以掌握在RHEL5.4中配置NFS服务器提供网络共享。

11.1 NFS的概述和安装

在局域网内部的Linux(UNIX)系统之间,可以使用NFS文件系统实现文件的共享。NFS不仅是一种网络协议,也是一个文件系统类型和网络服务。

11.1.1 NFS概述

NFS即网络文件系统(Network File System),是主机间通过网络进行文件共享的协议。NFS服务器提供的共享目录可以被NFS客户端作为(nfs类型的)文件系统挂载到目录中(挂载点)。NFS最早是由Sun公司提出的,多用于UNIX操作系统。

1、NFS用途

NFS通常在局域网环境中使用,用于多台主机共享同一主机上的共享文件(目录)资源。由于NFS具有共享文件反问速度快、稳定性高等特点,在实际的生产系统中得到了广泛的应用。

对于使用NFS进行系统间文件共享,同学行可以进行以下概括:

NFS是系统间提供文件共享的一种网络协议,与HTTP和FTP等用于在网络中传输文件的协议不同,NFS不需要将文件从服务器下载到本地文件系统来访问。

在使用NFS协议进行文件共享的系统中,可划分为服务器和客户机两种角色:NFS 服务器输出共享的目录供其他主机访问,NFS客户机读取NFS服务器中的共享目

录。这是一种典型的C/S结构。

通过NFS网络协议,作为NFS客户端的主机可以把NFS服务器中输出的共享目录(NFS文件系统)直接挂载到本地文件系统中的挂载点(目录),并且像访问本地

文件系统一样访问已挂载的NFS文件系统。

在同一台主机中既可以作为NFS服务器为其他主机提供共享目录,也可以作为NFS客户机读取其他NFS服务器中的共享目录。

在RHEL5.4系统中对NFS提供了很好的支持,既可以配置为NFS服务器给其他主机提供文件共享,也可以作为NFS客户端访问其他主机的共享文件。

2、NFS的一般用法

使用NFS服务进行文件共享时,需要在服务器和客户机中分别进行配置。

在运行NFS服务器程序的主机中进行必要的配置,提供NFS共享目录的输出。

在NFS客户机中挂载NFS服务器输出的共享目录。

在本章下面的内容中将分别讲解NFS服务器和客户机的配置过程。

11.1.2 NFS服务器的安装

在RHEL5.4中安装NFS服务器比较简单,安装“nfs-utils”和“portmap”两个软件包即可,而且在通常情况下这两个软件包是系统默认安装的,在配置NFS服务器之前需要先检查所需的软件包是否安装。

1、NFS的安装包文件

如果Linux系统中没有安装NFS服务器需要使用的软件包,系统管理员应手工进行安装。nfs-utils和portmap两个软件包的安装文件在RHEL5.4的安装光盘中。

如果系统中没有安装nfs-utils和portmap两个软件包,可以使用rpm命令安装。

由于RHEL5.4中默认已经安装了这两个软件包,因此通常不用执行安装。

2、portmap软件包

portmap软件包提供了运行portmap服务所需的文件。portmap服务为NFS等服务器程序提供RPC(远程过程调用)服务的支持,因此应确保portmap软件包和nfs-utils软件包一起安装。

3、nfs-utils软件包

NFS服务器的功能主要是由Linux内核完成的,nfs-utils软件包中包括的文件只是NFS 服务的管理工具程序。

11.2 NFS服务器的配置

本节想学习NFS服务器程序的配置和管理,包括NFS服务的配置文件、启动脚本、配置命令等。

11.2.1 NFS服务器的配置文件

NFS服务器的配置文件保存在“/etc/”目录中,文件名称是“exports”,该文件用于配置NFS服务器提供的目录共享。

“exports”文件的默认设置为空,表示没有配置输出任何目录共享,这也是出于安全性的考虑,这样即使系统启动NFS服务也不会提供任何共享。

如果需要提供NFS的共享目录,需要我们在“exports”文件中进行手工设置。

1、“exports”文件的格式

在“exports”文件中,每一行作为一个设置记录提供一个NFS共享目录的设置,设置记录的格式如下:

nfs共享目录名称客户机地址(设置选项)

按照“exports”文件中设置记录的格式,一个典型的配置记录内容如下:

在上面的NFS共享配置记录中:

“/home/share”是需要进行输入的NFS共享目录的名称。

“*”代表了所有主机,即该共享目录对于所有的主机都可以访问。

“sync,ro”是设置选项,被放置在括号对(“()”)中,用于对共享目录的属性进行设置。

下面将详细讲解“exports”文件中设置记录的3个组成部分。

(1)nfs共享目录

nfs共享目录用于在“exports”文件的设置记录中指定NFS服务器需要输出的共享目录名称,该目录名称以绝对路径的形式表示。

(2)客户端地址

客户端地址用于在“/exports”文件的配置记录中设置允许访问NFS共享目录的主机范围,功能是实现基于主机地址的访问控制。

客户端地址的格式设置非常灵活,可以是单个主机的IP地址或域名,也可以是指定网段中的主机或指定域中的主机。见下图:

只有符合“客户端主机地址”设定条件的主机才允许挂载并访问指定的NFS共享目录。

(3)设置选项

“exports”文件中配置记录的配置选项用于设置NFS共享目录的属性,可以设置的选项很多,最常用的有:

sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项。

ro:设置输出的共享目录只读,与rw不能共同使用。

rw:设置输出的共享目录可写,与ro不能共同使用。

通过以上的设置选项,可以将NFS共享目录设置为“只读”或是“可读可写”属性。

2、“exports”文件配置实例

在掌握了“exports”文件中配置记录的格式后,我们就可以根据需要在“exports”文件中添加配置记录了。

在“exports”文件中,同一NFS共享目录对于不同的主机可以有不同的设置选项,各主机设置间用空格分隔。

例如,在上面的配置中,NFS共享目录“/home/share”对所有主机都设置为只读(ro),而后对IP地址为“10.10.10.10”的这台主机单独设置了可读写(rw)的权限。

可以看出,通过“exports”文件的配置记录可以非常灵活的配置同一NFS共享目录对于不同主机具有不同的访问权限。

注:在发布共享目录的格式中除了共享目录时必跟参数外,其他参数都是可选的。并且共享目录和客户端之间及客户端与客户端之间需要使用空格符号,但是客户端与参数之间是不能有空格的。

11.2.2 NFS服务器的启动与停止

当我们在“exports”文件中设置完成了需要输出的NFS共享目录后,需要通过管理NFS 服务程序对其他主机提供NFS文件共享服务。

1、查询服务器状态

为了保证NFS服务器能够正常工作,系统中需要运行portmap和nfs两个服务程序。

通过service命令的以下命令格式可以查询指定服务器程序的运行状态:

格式:service 服务程序脚本名称status

当portmap和nfs两个服务程序都正常运行时,能够正常对外提供NFS目录共享。

2、启动服务器

当Linux系统的portmap和nfs两个服务都没有启动时,需要使用service命令手工启动这两个服务,命令的格式如下:

格式:service 服务程序脚本名称start

由于nfs服务需要portmap服务提供的支持,因此portmap服务应先于nfs服务启动。

然后再启动nfs服务:

3、停止服务器

当由于系统管理原因需要停止服务器程序运行时,可以使用如下的service命令格式:格式:service 服务程序脚本名称stop

在通常情况下,只需要停止nfs服务,而不需要停止portmap服务的运行,因为portmap 服务在Linux系统中为包括nfs在内的多个服务程序提供支持(服务),因此停止portmap服务可能影响到系统中多个服务的运行。

4、设置服务器的开机启动状态

提供NFS共享服务的Linux主机最好保证nfs服务在系统的默认运行级别(3或5)自动运行,这样Linux系统启动时nfs服务会自动启动并提供服务。

RHEL5.4中并没有设置nfs服务在运行级别3和5中自动运行,使用“chkconfig - -list”命令可以查看portmap和nfs服务器的开机启动状态。

使用以下命令设置nfs服务程序在运行级别3和5中自动启动:

11.2.3 showmount命令

showmount命令用于查询显示NFS服务器的相关信息,对系统管理员进行NFS服务器的状态查询有很大帮助。

1、showmount命令的帮助信息

showmount命令具有非常丰富的信息查询功能,可以通过如下命令格式获取该命令的帮助信息,showmount命令与选项“--help”配合使用时将显示命令格式的帮助信息。

2、显示主机的NFS服务器信息

showmount命令最基本的功能是显示NFS服务器的连接信息,不指定任何参数时将显示当前主机中NFS服务器的连接信息。

showmount命令如果指定NFS服务器的主机地址作为命令参数,将显示指定主机中NFS 服务器的连接信息。

3、显示NFS服务器的输入目录列表

showmount命令使用“-e”选项用于显示NFS服务器中提供输出的NFS共享目录列表,不指定任何参数时将显示当前主机中NFS服务器的输出列表:

“showmount –e”命令如果指定NFS服务器主机地址作为参数,将显示NFS服务器中的共享目录列表。

4、显示NFS服务器中被挂载的共享目录

showmount命令使用“-d”选项用于显示NFS服务器中已经被NFS客户机挂载使用的共享目录,不指定任何参数时将显示当前主机中NFS服务器已经被NFS客户机挂载的目录;

如果指定NFS服务器的地址作为参数,将显示指定主机中NFS服务器已经被挂载的目录。

5、显示NFS服务器的客户机与被挂载的目录

showmount命令使用“-a”选项用于显示NFS服务器中已经被挂载的共享目录列表和挂载共享目录的NFS客户机的地址,不指定任何参数时将显示当前主机中NFS服务器的客户机信息;如果指定NFS服务器主机地址作为参数,将显示注定主机中NFS服务器的客户机信息。

11.2.4 exportfs命令

当我们对“/etc/exports”文件进行设置修改后,并不会自动在NFS服务器中生效,NFS 服务器的软件包中提供了exportfs管理工具,可以对“/etc/exports”文件设置的内容进行管理。

1、重新输出共享目录

exportfs命令与“-rv”配合使用可以使新设置的“exports”文件内容生效,即“exportfs -rv”命令使nfs服务器重新读取“/etc/exports”文件的设置,使设置在当前nfs服务器中生效,而不需要重新启动nfs服务器。

2、停止输出所有目录

由于系统维护需要,我们有可能需要临时停止NFS服务器的所有共享目录输出,可以使用exportfs命令实现该功能,与“-auv”命令选项配合使用,用于停止当前主机中NFS服务器的所有目录输出。

3、输入(启用)所有目录

当我们完成对NFS服务器的维护后,可以使用以下命令那个格式输出被“exportfs –auv”命令停止的NFS共享目录。

11.3 NFS客户端配置

在Linux系统中可以使用mount命令把网络中NFS服务器的共享目录挂载到本机的文件系统中。挂载后NFS文件系统的使用与系统中其他文件系统相同。

出于实现目的也可以把主机中NFS服务器的共享目录挂载到主机的其他目录中,这样可以在一台主机中完成NFS客户机连接到NFS服务器的实验。

11.3.1 在Linux中配置使用NFS客户端

1、显示NFS服务器的输出

在使用mount命令挂载NFS服务器的共享目录之前,最好先查询NFS服务器中是否允许当前主机连接服务器中的NFS共享目录。

2、挂载NFS服务器中的共享目录

mount命令挂载共享目录时,mount命令需要使用“-t”命令选项指定挂载的文件系统类型为“nfs”;需要挂载的NFS共享目录的形式类似“10.10.10.1/home/share”,其中“10.10.10.1”是提供共享目录的NFS服务器地址,“/home/share”是NFS服务器中共享目录的名称,两者中间用“:”分隔。

mount命令中挂载NFS文件系统使用的挂载点目录与挂载其他文件系统的挂载点木兰没有区别,如果临时使用可以挂载到“/mnt”目录。

3、显示当前主机挂载的NFS共享目录

使用mount命令将NFS服务器中的共享目录正确挂载到本地文件系统后,可以使用mount命令查询该目录的挂载状态:

4、卸载系统中已挂载的NFS共享目录

在不需要使用NFS共享目录时,可以使用umount命令对已挂载的NFS共享目录进行卸载。

卸载NFS文件系统与卸载其他文件系统的命令格式相同。

5、系统启动时自动挂在NFS文件系统

在实际的生产系统中,经常会需要在系统启动时挂载网络中NFS服务器提供的共享目录,这时需要将NFS的共享目录挂载信息写入“/etc/fstab”文件,以实现对NFS共享目录的自动挂载。

在“/etc/fstab”文件中添加NFS共享目录的挂载信息后,同样可以使用mount命令和umount命令手工对NFS共享目录进行挂载和卸载。

本章实验:

在SK公司济南分公司的内部服务器建设中,需要搭建一台Linux服务器作为NFS文件服务器使用,此服务器时济南分公司内部的第一台Linux服务器,该服务器选择RHEL5.4作为安装的Linux版本。

任务:使用NFS实现文件共享

完成标准:

能够在NFS服务器中完成:

1、确认或(安装)NFS服务器需要的软件包

2、能够启动和停止nfs服务程序

3、能够在“/etc/exports”文件中配置NFS共享目录

4、能够使用exportfs命令更新NFS服务器中的共享目录输出

5、能够使用showmount命令查询当前主机中NFS服务器的状态信息

能够在NFS客户机中完成:

1、能够使用showmount命令查询服务器主机中NFS服务器的状态信息

2、能够使用mount命令挂载服务器输出的NFS共享目录

3、能够正确访问已挂载的NFS文件系统的内容。

4、能够使用umount命令卸载NFS文件系统

5、能够修改“/etc/fstab”文件,实现客户机的NFS共享目录的开机自动挂载

本章练习题:

选择题:

1、下列关于NFS服务器的说法中,不正确的是()

A、NFS是网络文件系统的英文缩写

B、N FS通常在Internet网络中提供文件的下载

C、N FS的应用结构中分为NFS服务器和NFS客户机两个角色

D、NFS服务器输出的共享目录可以挂载到NFS客户机的文件系统中

2、搭建NFS服务器需要在Linux系统中安装()软件包

A、portmap

B、nfs

C、nfs-utils

D、mount

3、nFS服务器进行配置共享目录的配置文件是()

A、/etc/fstab

B、/etc/exports

C、/etc/exportfs

D、/etc/init.d/nfs

4、以下命令中,()用于查看当前主机中NFS服务器输出的共享目录

A、showmount –e

B、showmount

C、showmount –d

D、showmount –a

5、以下命令中,()可以关闭NFS服务器中的所有共享目录输出

A、exportfs

B、exportfs –rv

C、exportfs –auv

D、exportfs –av

6、以下mount命令中,()可以挂载NFS服务器“192.168.1.11”中的“/var/ftp”共享目录到当前主机中的“/mnt”目录中

A、mount –t ntfs 192.168.1.11:/var/ftp /mnt

B、mount –t nfs 192.168.1.11/var/ftp /mnt

C、mount –t nfs /mnt 192.168.1.11/var/ftp

D、mount –t nfs 192.168.1.11:/var/ftp /mnt

7、为了能够提供稳定的NFS文件共享服务,在Linux服务器主机中配置完成NFS服务器后,需要设置nfs服务在系统的()运行级别中自动运行

A、0

B、1

C、2

D、3

8、NFS的客户机为了能够在Linux系统启动时自动挂在NFS服务器输出的共享目录,需要在()文件中添加NFS文件系统的自动挂载记录。

A、/etc/fstab

B、/etc/exports

C、/etc/exportfs

D、/etc/init.d/nfs

9、NFS客户机需要使用()命令卸载系统中已挂载的NFS文件系统

A、mount

B、umount

C、showmount

D、exportfs

简答题:

1、简述NFS网络服务的作用

2、简述NFS网络服务应用结构中的角色及其作用

3、简述NFS服务器配置的一般步骤

NFS文件系统简介及原理

NFS文件系统简介及原理 什么是文件系统,NFS文件系统又是什么?简单的说,文件系统就是通过软件对磁盘上的数据进行组织和管理的一种机制,对其的一种封装或透视。NFS,Network File System。顾名思义,网络文件系统,即通过网络,对在不同主机上的文件进行共享。 为什么需要使用NFS呢?在生产环境,我们很少使用单机部署应用,因为单机存在单点故 障,一旦宕机,将无法为前端业务提供服务,这是客户无法容忍的。现在提倡的高可用及7*24服务,是我们追求的目标。对于一些小的应用,双机成为了主流。我们来看一种简单集群场景,应用分别部署在A及B上,前端通过F5或着web服务器访问应用。如下 图: 那么当客户端发出一个请求时,F5根据一定的机制进行转发,有可能有A服务器进行响应,也有可能由B服务器进行响应。而在web应用中上传一些静态文件是很常见的一种功能,如图片。假设用户在某一时间,上传了一张照片到A服务器上,那么下次访问时,被F5路由到了B服务器上,由于B服务器上并没有存储上传的照片,所以将造成用户无法看到自己上传的照片。 那么很容易想到,是不是可以把文件上传到一个公用的服务器上呢?这样不管访问的是A

还是B,读、取文件都只存在一份。答案是肯定的,这个公用的服务器我们也称之为文件服务器。上面的架构就演变成了下面的架构: 说了这么多,跟NFS又有什么关系呢?NFS提供了一种机制,可以让A、B访问C中的一个共享目录,就像是操作本地文件一样。既然NFS有这么牛逼的能力,又有什么原因不去深入了解一下呢?注:此处当然也可以通过sftp或ftp进行文件上传和下载。 NFS的原理:我们用一个图来进行说明: 首先:NFS包括两部分,服务端及客户端 由于NFS服务功能很多,会有很多端口,这些端口还有可能不固定,那么客户端就无法与服务器进行通信,因为程序间通信必须通过端口(tcp/udp都是端到端通信),那么就需要一个

简单文件系统的实现

简单文件系统的实现 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),检索到指

几种Nand flash文件系统的对比

几种Nand flas文件系统的对比 1.来源:NLE-FFS: A Flash File System with PRAM for Non-linear Editing For thesedevices, NAND flash memory has became the most attractive storage medium due to outstanding characteristics such as its increased capacity, low power consumption, small size and light weight. For the efficient management of NAND flashmemory, several flash file systems have been proposed, including JFFS2, YAFFS2, CFFS and PFFS. several file systems such as MNFS,NAMU and ScaleFFS have been designed for real-time recording /playback and large-capacity storage. A. YAFFS2 YAFFS2 is the most widely employed file system for NAND flash memory. YAFFS2 essentially saves the object ID (file ID) and the chunk (page) number in the spare region to show the offset of a page and the owner file of the page. Therefore, YAFFS2 reads the spare regions and object headers to establish the metadata in memory. Although YAFFS2 is designed to support NAND flash memory, it has scalability problems. With YAFFS2, the location of the updated page is saved in NAND flash pages or spare regions, as shown in Fig. 10 (a); hence, the file system

NFS-网络文件系统实现资源共享

NFS -网络文件系统实现资源共享 NFS 会经常用到,用于在网络上共享存储。假如有三台机器 netbook 、myhost1、myhost2,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到netbook 、myhost1、myhost2。但是使用NFS 只需要放到netbook 上的一个目录中(如:/root/netbook ),然后共享给myhost1、myhost2即可。访问的时候,metbook 主机的用户直接访问/root/netbook 目录即可,而主机myhost1、myhost2则可以通过网络间接地访问该目录的。实现方式如下: 一、为三台主机配置网络信息(以提供照片共享的主机为例) 1.分别修改各主机的IP 地址 [root @localhonst ~]#vi /etc/sysconfig/network -scripts/ifcfg-eth0 2.分别修改各主机的机器名 [root @localhonst ~]#vi /etc/sysconfig/network 3.分别修改各主机的本机路由信息 [root @localhonst ~]#vi /etc/hosts 4.重启计算机,以使配置生效 [root @localhonst ~]#init 6 二、配置NFS 服务器 1.启动系统的NFS 服务功能 方法一: [root @netbook ~]#service nfs start 方法二: [root @netbook ~]# /etc/init.d/nfs start

方法三: [root @netbook ~]#rfsysv NFS 服务需要portmap 服务的支持,在启动NFS 之前,需要启动portmap ,否则将会出现如下的提示。 启动portmap : [root @netbook ~]#service portmap start “”如果允许任何访问用户具有读写权限,则exports 文件的内容可配置为:

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

中北大学 操作系统课程设计 说明书 学院、系:软件学院 专业:软件工程 学生姓名:xxx 学号:xxx 设计题目:模拟文件系统的设计与实现 起迄日期: 2015年12月28日- 2016年1月8日指导教师:xxx 2016 年1月8日

1需求分析 通过模拟文件系统的实现,深入理解操作系统中文件系统的理论知识, 加深对教材中的重要算法的理解。同时通过编程实现这些算法,更好地掌握操作系统的原理及实现方法,提高综合运用各专业课知识的能力;掌握操作系统结构、实现机理和各种典型算法,系统地了解操作系统的设计和实现思路,并了解操作系统的发展动向和趋势。 模拟二级文件管理系统的课程设计目的是通过研究Linux的文件系统结构,模拟设计一个简单的二级文件系统,第一级为主目录文件,第二级为用户文件。 2总体设计 结合数据结构、程序设计、计算机原理等课程的知识,设计一个二级文件系统,进一步理解操作系统。 文件的创建: create 文件关闭:close 文件的打开:open 文件的读:read 文件的写:write 文件关闭:close 删除文件:delete 创建子目录:mkdir 删除子目录:rmdir 列出文件目录:dir 退出:exit 系统执行流程图 开始 选择操作 创建文件删 除 文 件 读 文 件 写 文 件 创 建 文 件 夹 删 除 文 件 夹 删 除 子 目 录 显示 当前 子目 录 创 建 子 目 录 更 改 目 录 退 出

退出 3.详细设计 主要数据结构: #define MEM_D_SIZE 1024*1024 //总磁盘空间为1M #define DISKSIZE 1024 //磁盘块的大小1K #define DISK_NUM 1024 //磁盘块数目1K #define FATSIZE DISK_NUM*sizeof(struct fatitem) //FAT表大小 #define ROOT_DISK_NO FATSIZE/DISKSIZE+1 //根目录起始盘块号#define ROOT_DISK_SIZE sizeof(struct direct) //根目录大小 #define DIR_MAXSIZE 1024 //路径最大长度为1KB #define MSD 5 //最大子目录数5 #define MOFN 5 //最大文件深度为5 #define MAX_WRITE 1024*128 //最大写入文字长度128KB struct fatitem /* size 8*/ { int item; /*存放文件下一个磁盘的指针*/ char em_disk; /*磁盘块是否空闲标志位 0 空闲*/ }; struct direct { /*-----文件控制快信息-----*/ struct FCB { char name[9]; /*文件/目录名 8位*/ char property; /*属性 1位目录 0位普通文件*/ int size; /*文件/目录字节数、盘块数)*/

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

第六章文件系统 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.逻辑记录

linux中如何挂载NFS文件

如何挂载NFS开发环境的方法步骤 ———mount命令及umount命令的用法详解(附图说明)Step1:设置好网络 主机IP:222.204.59.185 网关:192.168.50.1 子网掩码:255.255.255.0 开发板IP:222.204.59.250 网关:192.168.50.1 子网掩码:255.255.255.0 目的是使得两个处于同一个网段。 Step2:在主机的linux中设置共享目录 运行命令 #gedit /etc/exports 编辑nfs 服务的配置文件(注意:第一次打开时该文件是空的),添加以下内容: /root/share *(rw,sync,no_root_squash) 保存退出 其中: /root/share表示nfs 共享目录,它可以作为开发板的根文件系统通过nfs 挂接; *表示所有的客户机都可以挂接此目录 rw表示挂接此目录的客户机对该目录有读写的权力 no_root_squash表示允许挂接此目录的客户机享有该主机的root 身份 使用showmount –e命令可以查看你的挂载点在哪,不加参数-e显示的是网络地址。 在开发板上的/mnt下建立新的nfs文件(可以放在其他地方,名字除了nfs也可以去其他的名字) Step3:通过命令启动和停止nfs 服务 在命令行下运行: #/etc/init.d/nfs restart 这将启动nfs 服务,可以输入以下命令检验nfs 该服务是否启动。 Step4:在minicom中使用mount命令(也可以在超级终端中使用) 确定 进入minicom界面:

# mount -t nfs 222.204.59.185: /root/share /mnt/nfs 上图为minicom中显示的linux(也即开发板中的) 如果提示:mount:RPC:unable to receive; errno =No route to host 说明你主机linux中的防火墙没关闭在主机linux 中使用一下命令就可以解决:#service iptables stop。在次使用mount命令就ok了。 注意:此处222.204.59.185主机的ip地址,使用mount命令是在超级终端或minicom中使用,而不是在主机的linux系统中。在取消挂载命令时也是在超级终端或minicom中使用,具体用法是:#umount /mnt/ 如果没有出现错误信息, 您将可以浏览到/mnt 目录中的内容和/root/share是一致的。 取消挂载: 使用这个命令可以停止nfs 服务: #/etc/init.d/nfs stop 检查nfs服务器是否开启: #service nfs status 启对应的2个服务:#service portmap restart #service nfs restart 检查防火墙看是否屏蔽了nfs端口:#service iptables stop #service iptables status

《操作系统》习题集:第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考研】

嵌入式Linux根文件系统制作

实训项目四-嵌入四Linux系统根文件系统制作一. 项目实施目的 了解 UP-CUP2440 型实验平台Linux 系统下根文件系统结构 掌握根文件系统的搭建过程 掌握busybox、mkcramfs等工具的使用方法 二. 项目主要任务 使用busybox生成文件系统中的命令部分,使用mkcramfs工具制作CRAMFS 格式的根文件系统。 分析根文件系统etc目录下重要配置文件的格式及语法,熟悉根文件系统的启动过程 三. 基本概念 1.文件系统基本概念 Linux的一个最重要特点就是它支持许多不同的文件系统。这使Linux非常灵活,能够与许多其他的操作系统共存。Linux支持的常见的文件系统有:JFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等。随着时间的推移, Linux支持的文件系统数还会增加。Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。该树形层次结构把文件系统表示成一个整个的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。该个目录被称为装配目录或装配点。在文件系统卸载时,装配目录中原有的文件才会显露出来。在Linux 文件系统中,文件用i节点来表示、目录只是包含有一组目录条目列表的简单文件,而设备可以通过特殊文件上的I/O 请求被访问。 2.常见的嵌入式文件系统 嵌入式Linux系统一般没有大容量的磁盘,多使用flash存储器,所以多采用基于Flash(NOR和NAND)的文件系统或者RAM内存的文件系统。 (1)Flash根据结构不同分为 NOR Flash和NAND Flash。基于flash的文件系统主要有: jffs2:RedHat基于jffs开发的文件系统。

网络文件系统

网络文件系统 网络文件系统,英文Network File System(NFS)。是由SUN公司研制的UNIX表示层协议(pressentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。 ①提供透明文件访问以及文件传输; ②容易扩充新的资源或软件,不需要改变现有的工作环境; ③高性能,可灵活配置。 [1]网络文件系统(NFS)是文件系统之上的一个网络抽象,来允许远程客户端以与本地文件系统类似的方式,来通过网络进行访问。虽然NFS 不是第一个此类系统,但是它已经发展并演变成UNⅨ? 系统中最强大最广泛使用的网络文件系统。NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。 NFS与以往一样有用并在不断演变 网络文件系统(NFS)从1984 年问世以来持续演变,并已成为分布式文件系统的基础。当前,NFS(通过pNFS 扩展)通过网络对分布的文件提供可扩展的访问。探索分布式文件系背后的理念,特别是,最近NFS 文件进展。 NFS 的简短历史 第一个网络文件系统—称为File Access Listener —由Digital Equipment Corporation(DEC)在1976 年开发。Data Access Protocol(DAP)的实施,这是DECnet 协议集的一部分。比如TCP/IP,DEC 为其网络协议发布了协议规范,包括DAP。 NFS 是第一个现代网络文件系统(构建于IP 协议之上)。在20 世纪80 年代,它首先作为实验文件系统,由Sun Microsystems 在内部完成开发。NFS 协议已归档

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

简单文件系统的设计及实现 一、实验目的: 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)实验时按两人一组进行分组,将本组认为效果较好的程序提交检查。

第六章 文件系统习题

第六章文件系统 一. 单项选择题 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.文件的逻辑记录的大小是( )。

Windows下NFS Server搭建和使用

Windows下NFS Server搭建和使用 Revision History 1.NFS简介 NFS是Network File System的简写,即网络文件系统。NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS就是一种Linux系统或Unix系统下的共享文件服务,类似于windows共享。NFS 服务器可以看作是一个文件服务器,它可以让你的PC通过网络将远端的NFS 服务器共享出来的文件挂载到自己的系统中,在客户端看来使用NFS的远端文件就象是在使用本地文件一样。 2.NFS测试所需设备和条件 Windows2008 PC1台作为NFS server Windows2008系统光盘 Windows7 PC1台作为NFS Client 3.NFS Server搭建 用装有Windows2008系统的PC作为NFS server 3.1安装NFS Server 1)插入Windows2008系统光盘,点击开始->管理工具->服务器管理器,在左边的树中选中” 功能”项,右边的窗口中会列出功能的详细信息,点击”添加功能”,如图1所示

图1 2)进入添加功能向导窗口,远程服务器管理工具->文件服务工具->勾选网络文件系统服务 工具,如图2所示,点击下一步

图2 3)点击安装,开始安装,如图3~4所示 图3

图4 4)安装完成后,点击关闭,如图5所示 图5

5)添加角色服务,在服务器管理器的左边的树中选中”角色”, 右边会列出角色的详细信息, 点击”添加角色”,如图6所示 图6 6)进入添加角色向导,点击下一步,如图7所示 图7

简单文件系统的实现

第三章简单文件系统的实现 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根目录区数据区

nfs起根文件系统

1为什么要制作nfs起根文件系统 制作用于mini2440开发板使用的内核,并使用nfs起根文件系统。 2应用arm平台的linux2.6.29内核。 首先清理内核中间文件,配置文件 命令#cd /home/guoqian/4-3-1 #cd linux-2.6.29 #make distclean 3选择参考配置文件 为了使制作的内核支持nfs起根文件系统,选择config-mini2440作为配置文件。 修改配置文件CMDLINE,修改代码如下: ******************************************************************************* CMDLINE=”root=/dev/nfs nfsroot=192.168.14.2:/nfsroot/rootfs ip=192.168.1.55 rw console=ttySAC0 mem=64M” ******************************************************************************* 解释:CMDLINE:命令行启动参数定义了内核挂载根文件系统的方式 (1)root=/dev/nfs →表示内核采用nfs方式起根文件系统 (2)nfsroot=192.168.14.2:/nfsroot/rootfs →表示nfs起的根文件系统位于nfs服务器/nfsroot/rootfs目录,服务器IP地址为192.168.14.2 (3)ip=192.168.1.55 →开发板IP地址,要求与服务器IP地址在同一网段 (4)rw →文件系统可读可写 (5)console=ttySAC0 mem=64M →ttySAC0作为控制台,内存64M 4配置内核

第四章文件系统习题解答

第四章文件系统 姓名:学号:网选班号: 一、选择题 ( 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)结束

使用uboot去挂载根文件系统

1、根文件系统的制作 1)创建根文件系统主目录: mkdir rootfs 2)创建根文件系统的子目录 cd rootfs mkdir bin dev etc lib proc sbin sys usr mnt tmp var 3)然后创建usr下的子目录 mkdir usr/bin usr/lib usr/sbin lib/modules 4)创建设备文件 内核在引导时设备节点console,null必须存在 cd dev/ 注:该目录为/mini2440/nfsroot/rootfs 下的dev目录mknod –m 666 console c 5 1 mknod -m 666 null c 1 3 c:表明类型为字符设备 第一个数字(5,1):主设备号 第二个数字(1,3):次设备号 这两个设备文件设备号是固定的 5)安装etc etc目录主要是一些启动时的脚本文件一般不需要修改 tar etc.tar.gz –C /xxx/rootfs

这个命令可能不给用改为: tar xvzf etc.tar.gz –C /xxx/rootfs 6)编译内核模块 内核模块保存在lib下面的module下 配置内核:*直接编译到zimage m不链接到zimage而是编译成模块到.o就停住 进入Linux内核目录(linux-2.6.32.2) make modules ARCH=arm CROSS_COMPILE=arm-linux- 添加了ARCH=arm表示现在编译的是arm架构的内核 CROSS_COMPILE=arm-linux-表示使用交叉编译工具链 安装内核模块到根文件系统: make modules_install ARCH=arm INSTALL_MOD_PATH=/xxx/rootfs 7)配置busybox 因为Linux很多命令都是通过软连接实现的,所以无法直接将这些命令复制到根文件系统中。Busybox是一个工具集合,根文件系统很多命令都可以通过busybox编译得到,如命令ls,cd,mkdir。 Busybox相当于一个命令解析器,根文件中命令被软连接到 busybox,由busybox进行命令解析。 a) 解压busybox tar xvzf busybox-1.13.3 b) 配置busybox

相关文档