图示法在“模拟UNIX文件系统”大型实验中的应用

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:houzhuo111
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文阐述了图示法在“模拟UNIX文件系统”大型实验的设计思路及具体操作中的应用,以期能够巩固和补充操作系统的原理教学,从而提高学生对操作系统的认识,使学生能将操作系统中文件系统部分的概念具体化。
  关键词:UNIX文件系统;图示法;实验;操作系统
  中图分类号:G720 文献标识码:A 论文编号:1674-2117(2016)08-0092-03
  由于大部分学生平时接触的是Windows操作系统,对UNIX操作系统不熟悉,所以为了帮助学生更好地理解UNIX文件系统,教师在实验教学中,采用图形解释知识点,展示实验过程,从而使学生轻松地理解文件系统结构,更快地进入实验设计阶段。这种用图形阐述知识点的方法,被称之为图示法。[1-5]
  “模拟UNIX文件系统”实验概述
  “模拟UNIX文件系统”实验实质上是用一个文件模拟UNIX文件系统的存储系统。
  在UNIX系统中,把每个磁盘或磁带看作是一个文件卷,在每个文件卷上可存放一个文件系统。每个文件系统,由一系列的逻辑块组成,简称盘块。每个盘块可为512、1024、2048字节或是512字节的整数倍,这些值可以在生成系统时直接指定。假定一个盘块512字节,盘块从0开始直到最大容量并按顺序加以编号就成了一个文件卷,也叫文件系统。
  一个文件卷的空间图示如图1,文件卷的空间通常被划分为若干用途各不相同的部分:引导区、管理区、索引节点区和文件存储区。
  其中0#块一般用于系统引导,1#块为超级块,2#块到K#块存放索引节点,即iNode,K 1#块到N#块存放文件。读入并启动操作系统由引导块完成。[6]超级块用于记录文件系统中盘块和磁盘索引结点的使用情况,主要包括文件系统的盘块数目、空闲盘块号栈、空闲盘块号数目、空闲磁盘索引结点号栈、空闲磁盘索引结点数目、超级块修改标志和修改时间等。
  模拟UNIX文件系统实验完成一个UNIX文件系统的子集的模拟实现,设计时可以忽略引导块。
  实验设计思路
  1.基本原理
  为了加快目录查询速度,UNIX目录项只保留文件名和索引节点号,索引节点则保存除文件名外的有关信息。[7]UNIX文件系统的超级块含有文件系统各个数据结构的大小,索引节点的位置可据此得到。而UNIX文件系统创建时生成的第一个索引节点则对应根目录,找到根目录后,就可以对目录树进行搜索,查找所需要的目录项,从而找到所需要的文件,进而对文件进行各种操作。
  而UNIX把普通文件与目录文件都存放在磁盘或磁带上,一个磁盘就是一个文件系统。例如,一个磁盘有200块,那么就先生成一个200×512B的文本文件,512B就是一个磁盘块,然后建立根目录root,根目录在文件区,假设存放索引节点的盘块数是12块,再加上引导块,那么从13#盘块开始存放文件,根的目录文件就放在13#盘块,每个目录至少有两个目录项,即父目录和当前目录。假设一个索引节点占32个字节,根目录的索引节点就是第1个索引节点,放在第1块的前32个字节中,把索引节点内容填写好,还可以再初始化一些目录。目录文件放在文件区,填写好相应索引节点内容,然后根据初始化的结果,把空闲数据盘块分组,按照成组链接法链接,设置好空闲盘块号栈。同理,设置好空闲索引节点号栈,对超级块进行初始化,超级块内容放在0#块。然后,开始一系列的操作。
  2.文件卷的组织
  假设文件卷总共有200个盘块。用栈和成组链接法来管理空闲索引节点和空闲盘块;盘块的大小设计为512字节,其中0#块为超级块(引导块忽略),用于管理盘块的信息以及管理空闲盘块。1#~12#块共12块用于存放索引节点,由于每个索引节点大小为32字节,一个块可以存放16个索引节点,13#~199#块用于存放数据块。文件卷结构[8]图示如图2。
  3.超级块
  超级块[9]用于管理索引节点和盘块的使用情况及分配信息,存放文件系统的盘块数目、索引节点号栈的指针、索引节点号栈中元素个数、成组链接法管理的空闲盘块号栈的指针和空闲盘块号栈中元素的个数,以及对于整个文件系统的盘块地址等。
  4.空闲盘块
  空闲盘块采用成组链接法[10]管理(如图3),每组10块,13#~99#分为9组,每组的最后一个盘块存放下一组的盘块号信息。最后一组只有7块,加上0作为结束标志。在超级块中用一个一维数组(10个元素)作为空闲磁盘块栈,放入第一组盘块。
  5.索引节点
  索引节点[11]主要包括文件的字节数,文件拥有者的User ID,文件的Group ID,文件的读、写、执行权限,文件的时间戳,链接数(即有多少文件名指向这个索引节点),文件物理地址等。
  文件物理地址为7项:4个直接地址、1个一次间址、1个两次间址、1个三次间址。
  每个索引节点大小为32B,一个块可以存放16个索引节点,1#~12#块共12块用于存放索引节点,总共有192个索引节点。空闲索引节点采用成组链接法管理,每组20个,分为10组,最后一组12个。在超级块中用一维数组(20个元素)作为空闲索引节点号栈。   6.目录
  每个目录是一个文件,每个目录包含若干个目录项。一个目录项包括索引节点编号和文件名。[12]
  实验过程说明
  下面以下页图4为例,说明如何构建文本文件模拟UNIX文件系统(图中“i”表示索引节点,“13#”表示索引节点中的物理地址项内容为13#盘块)。
  根据图4,根目录文件有目录项五个,名字分别为“.”“..” “bin”“usr”“dev”,它们的索引节点编号分别为1、1、2、3、4,其中
  “.”表示当前目录,“..”表示父目录。而根目录的当前目录和父目录都为其自身,因此它们的索引节点编号皆为1。根目录的索引节点编号为1,写在磁盘1#盘块的第一个32字节处,假设根目录文件写在磁盘13#盘块,1#索引节点的文件物理地址处写13#。同理,假设bin目录文件、usr目录文件、dev目录文件分别写在14#、15#、16#盘块,其索引节点编号为2、3、4的文件物理地址处分别写14#、15#、16#,依此类推。
  初始化后的文本文件如图5所示,图中每一行代表一个磁盘块。
  参考文献:
  [1]郭巧莉,杜静然.图示法在《财务管理》课程中的直观运用[J].内蒙古财经学院学报(综合版),2010,8(4):111-114.
  [2]陆涛.用于《数据结构》课程教学的图示法探究[J].华章,2011(21):141.
  [3]王莹,陈豫浩,范一青.“消费者均衡”理论的图示法解析[J].渭南师范学院学报,2013,28(8):68-71.
  [4]折楠,徐晓光,陈晓磊,等.基于位图示法的NSFS文件系统设计[J].现代电子技术,2013,36(14):89-92,95.
  [5]周丽.图示法与要素组合方式在法学教学中的应用分析[J].钦州学院学报,2013,28(11):62-66.
  [6]邵雄凯,李晶.Unix文件系统技术分析[J].微机发展,2001(4):69-71.
  [7](英)Keith Haviland,Dina Gray,Ben Salama.UNIX系统编程(第二版)[M].舒明,熊战波,等.译.北京:电子工业出版社,2003.
  [8](美)Andrew S.Tanenbaum,Albert S.Woodhull.操作系统设计与实现(第三版)[M].陈瑜,谌卫军,译.北京:电子工业出版社,2007.
  [9]邢国庆,陈智建.UNIX从入门到精通[M].北京:电子工业出版社,2010.
  [10]汤小丹,梁红兵,哲凤屏,等.计算机操作系统(第四版)[M].西安:西安电子科技大学出版社,2014.
  [11](美)William Stallings.操作系统原理——精髓与设计原理[M].陈向群,陈瑜,译.北京:电子工业出版社,2012.
  [12]Abraham Siberschatz,Peter Baer Galvin,Greg Gagne.操作系统概念(第七版)[M].郑扣根,译.北京:高等教育出版社,2007.
  作者简介:陆亿红(1968-),女,浙江东阳,硕士,副教授,硕士研究生导师,研究方向为数据库应用;李波(1979-),男,河南新县,博士,讲师,研究方向为并行计算,高性能计算。
其他文献
为实现网络差分系统的高精度差分定位,利用虚拟参考站技术提出一种网络RTK差分改正信息的生成方法。利用VRS技术建模生成了虚拟参考站的双频伪距观测值、双频载波相位观测值,重点推导了关键的载波相位数据项参数的算法公式,遵循RTCM2.3国际标准协议编码生成了RTCM3、RTCM18、RTCM19号差分改正电文,通过同步实验的方法与标准RTCM相应的主要参数进行了数值对比。实验表明,该方法生成的差分改正
建立了超声辅助离子液体分散液液微萃取-反相液相色谱法分析水中丁醚脲残留的新方法。采用疏水性离子液体1-辛基-3-甲基咪唑六氟磷酸盐([OMIM]PF。)为萃取剂,乙腈为分散剂。考察
采用十二烷基硫酸钠聚丙烯酰胺凝胶电泳(SDS—PAGE)对中国辽宁蛇岛蝮(Glovdius shedaoensis)蛇毒(GSSV)进行分离,染色结果显示该蛇毒中含有多种相对分子质量为12~85ku的蛋白组分。凝
对于目前的级联式SINS/GNSS组合导航系统来说,其卡尔曼滤波器的输出校正方式不能深入到捷联解算内部,无法抑制平台姿态误差的发散,也无法校正惯性器件误差,因而在该方式长时
期刊
汤煲类食品在我国居民饮食中占有重要地位,而老鸭煲以其清补、消疲等特点,深受人们喜爱。目前鸭煲制作多以传统工艺为主,受到了地区的限制,使其品质、口感等存在较大差异。本
为了有效消除海洋重力仪测量信号的噪声,提高重力数据的获取精度,根据随机过程理论,借助基于二阶高斯—马尔可夫异常位模型的重力异常协方差函数,得到海洋重力测量中重力异常
采用掠入射X射线衍射方法对α相均聚辛基芴(PFO)薄膜的结晶性进行了表征,并探讨了不同仪器构型对实验结果的影响。结果表明,与常规X射线衍射方法相比,掠入射X射线衍射可以消除或减
采用恒压密闭消解的方法分解多晶硅样品,电感耦合等离子体原子发射光谱测定多晶硅样品中的硼含量。探讨了酸及络合剂的类型与用量对硼含量测定的影响,优化后的实验条件为:消解
在创客教育中,“造物”的概念延伸了“做中学”的理念,通过分享,使得做中学的过程延展为一个更为广泛的经验、技能,甚至知识的创作过程。而在分享的过程中,涉及对不同的分享对象的方案设计,跨文化的分享策略、分享平台的使用等过程则是超越了简单制作的一种更为高级的学习过程。创客的造物是一个相对复杂的过程,跨学科是一种根据项目需求而产生的自然的学科综合,并非刻意为之。  在解决问题的过程中,所涉及的很多知识都需