网站大量收购闲置独家精品文档,联系QQ:2885784924

实验六、文件系统操作.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验六、文件系统操作

实验六、文件系统操作 一、实验目的 熟悉uClinux环境下文件系统,了解uClinux中文件系统的体系结构,编写文件系统处理程序。知道如何添加文件系统到内核中。 二、实验内容 文件系统是操作系统的重要组成部分。它是操作系统用来管理文件系统以及对文件进行操作的机制及其实现。在linux操作系统中,几乎所有的管理元素都被抽象成文件系统的一部分。 Linux在早期采用的是minix文件系统,但minix只是一种教学型的文件系统,它所管理的文件系统最大为64M,文件名小于14个字符。目前linux中,使用的主流文件系统是Ext2。 处理Ext2以外,在linux发展过程中,设计人员比较早的考虑到了对其他类型文件系统的支持。要实现这一目的,需要将它们的操作和管理纳入统一的框架当中来,使得内核的文件系统接口,如同标准的的文件系统“总线”,让用户通过同一组系统调用来管理和操作不同类型文件系统上的文件。这个统一的、抽象的、虚拟的文件系统接口,被称为VFS(virtual FileSystem Switch),它主要包含一组标准的文件操作接口。通过VFS,用户看到的都是一个个的VFS文件,忽略了文件本身所处文件系统的差别。将内核比作计算机主板,那么VFS就是一种标准的系统总线,各种文件系统就是插在该总线上的子卡,虽然各个子卡的内部线路不同,但在总线接口处一致。同时,内核看到的所有子卡的特性也映射为具有共性的几类。 图1 VFS与具体文件系统的关系 目前linux系统支持的文件系统种类很多,包括ntfs(windows NT的文件系统),msdos(dos文件系统),isofs(光盘文件系统),nfs(网络文件系统),romfs(rom中的文件系统),smbfs(即samba,可以在网络中与win98、winnt共享),proc(目录/proc下的特殊文件系统),jffs(flash中的文件系统)。 当用户访问一个磁盘文件系统时,对于目录树下的访问,最终将转换成对于这一部分物理磁盘的访问。对于设备文件的访问,最终将转换成对于对于驱动程序的访问。对于其他特殊文件的访问,一般是在linux的内存数据结构中完成的。对于磁盘文件系统中的文件的访问和磁盘设备文件的访问最终都反应在磁盘驱动程序上,它们有什么不同吗?对于磁盘文件系统中文件的访问,是在文件目录树的结构下,对于有组织的数据进行的;而对磁盘设备文件进行访问,则是对于线性空间内数据的访问,也就是无法看到数据的组织情况。下图是文件系统的层次结构: 图2 linux文件系统层次图 当内核编译时,就已经确定了可以支持哪些文件系统,这样文件系统在系统引导时在VFS中进行注册。要使用一个文件系统,仅仅注册是不行的,还必须安装这个文件系统。在uClinux启动时,自动安装了ROMFS根文件系统。如果需要安装其他文件系统,则需要指定:文件系统的名称、包含文件系统的块设备、文件系统在已有文件系统中的安装点。如安装CDROM的命令如下: mount –t iso9660 /dev/hdc /mnt/cdrom 通过该命令就可以将/dev/hdc设备中的文件系统,安装或挂载到/mnt/cdrom下。 在uClinux的系统中,由于硬件资源和使用环境的限制,一般内存的数量比较小(8-32M字节),外存只配置小容量的FLASH;所以,在uClinux中,比较常用的文件系统有romfs文件系统,虚拟ramdisk,JFFS文件系统。对于有网络设备的系统,还可以使用NFS文件系统。 uCLinux系统的根文件系统采用的romfs文件系统,相对于一般的ext2文件系统要求更少的空间。空间的节约来自于两个方面:首先内核支持romfs文件系统比支持ext2文件系统需要更少的代码;其次romfs文件系统相对简单,在建立文件系统超级块(superblock)需要更少的存储空间。EV44B0II的Romfs的制作过程如下: 图3 EV44B0II下的ROMFS文件系统的制作 由于Romfs文件系统是预先制作好后,再编译连接到内核当中,所以尽管romfs映射到内存中,它仍旧无法支持动态擦写保存。对于系统需要动态保存的数据可以采用虚拟ramdisk或JFFS的方法进行处理。Ramdisk是使用RAM虚拟的磁盘(该驱动程序在/linux/drivers/block/rd.c),在这个虚拟磁盘的基础上,加载EXT2文件系统来管理和操作文件。Ramdisk的大小是可以配置的,其配置项是/config/.config文件中的CONFIG_USER_RAMIMAGE_RAMFS128(128K)。ramdisk的加载过程包含在/vendors/micetek/44

文档评论(0)

sunhao111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档