新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     >>计算机科学论坛<<     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 研友的交流园地,讨论关于计算机考研的方方面面。
    [返回] 计算机科学论坛计算机理论与工程『 计算机考研交流 』 → 大家看看我做的文件系统的一些课后题,做的很差,望指点! 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4979 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 大家看看我做的文件系统的一些课后题,做的很差,望指点! 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     tonystill 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:38
      积分:211
      门派:XML.ORG.CN
      注册:2006/7/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tonystill发送一个短消息 把tonystill加入好友 查看tonystill的个人资料 搜索tonystill在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看tonystill的博客楼主
    发贴心情 大家看看我做的文件系统的一些课后题,做的很差,望指点!

    求助!
    各位高手,大家好!由于本人文件系统学的很差,所以我把os新版的教材简单做了做,有些会做,但不知如何阐述,有些就根本不会做,在这里贴一些我做的,希望大家多多批评,多多指点,指出错误!其中有些题目的答案是在此网站上找的。

    我做了一些题,其它的不怎么会,懂也不知道该怎么阐述,大家多帮帮忙!

    4.
    706/248 = 2;
    0--247; 248--495; 496--743;
    应该读出两个。

    5.
    文件的最大尺寸(单位:磁盘块)分别为:
    直接磁盘块指针方法:1024
    一重索引方法:10242
    两重索引方法:10243
    三重索引方法:10244
    或按I节点的方式理解:
    直接盘块指针:12
    一重索引方法:12+1024
    二重索引方法:12+1024+10242
    三重索引方法:12+1024+10242+10243

    6.
    不能。
    64k * 512bytes = 32M < 512M

    7.
    文件目录是文件控制块的有序集合,它使得文件系统按名存取,即文件符号名到物理地址映射成为可能,所以文件目录主要提供检索目录的功能。
    一个目录项主要包括文件名,文件代号,用户名,文件物理位置等。

    9.书中有
    层次清晰
    解决了文件重名问题
    查找搜索速度快

    10.
    1)偏移量为8192,处理方式如下:
    ① 读入I节点到内存;(这里I节点可以看作一个指针数组)
    ②根据I节点的第9个指针即可找到相应的磁盘块。
    (2)偏移量为640000,因为前面12个指针所能寻址的范围是1024*12-1=12287;第13个指针指向一个索引表,增加的寻址范围是262144,仍然小于640000;第14个指针增加的寻址范围是67108864,已经超过了640000,因此过程如下:
    ① 读入I节点到内存
    ②根据第14个指针找到了2级索引表,然后根据它的第2个表项找到1级索引表,此时,1级索引表的第102个表项的指向的磁盘块即为所求。(这个索引项所指磁盘块的始址恰好为12287+262144*2+1024*101+1=640000)

    12(1)一个文件的所有块可以通过下面三种途径找到:直接通过FCB找到前10块,通过一级索引找到256块,通过二级索引找到256*256块,通过三级索引找到256*256*256块,所以一个文件最大可以有10+256+256^2+256^3=16,843,018块
    如果要找\A\D\G\I\K中的某一块,首先要找到其FCB,最好的情况是:每次读取目录描述信息的时候都在第一块找到下级目录或文件,所以要找到该文件至少要读取A、D、G、I四个目录项的第一块,读取K的FCB,总共5次启动硬盘;最坏情况是:每次读取目录描述信息的时候都在最后一个块找到下级的目录或文件,所以要找到该文件,所以要找到该文件至少要读取A的第一块,D、G、I三个目录项的所有四个块,在读取K的FCB,总共要1+4*3+1=14次启动硬盘。找到FCB后在读取某一块,如果这一块在前10块之列,那么在启动一 次硬盘就可以找到这一块,如果这一块在最后一块,则可能需要通过三级索引找到这一块,这总共需要读取三级索引和最后一块共3+1次读取硬盘。综上,最好情况下只需要启动5+1次硬盘,最坏情况需要启动14+3+1=18次硬盘
    若要减少硬盘启动的次数,第一可以对于经常访问的文件项或者目录进行项缓存,第二可以用散列表将常用的文件和目录进行散列,第三增减常驻内存的目录描述的数量(可以考虑将所有的一级和二级目录常驻内存),第四减少文件描述项的大小,使得每一块可以存放更多的文件描述项(更祥细的文件描述信息可以转存他处。)
    (2)为读取FCB所启动的硬盘次数和(1)一样,那么读取第75块最少需要5+75=80次硬盘,最多需要启动14+75=89次硬盘。

    13.
    在实现文件系统时,为加快文件目录的检索速度,可利用“文件控制块分解法”。 假设目录文件存放在磁盘上,每个盘块512 字节。文件控制块占64 字节,其中文件名占8字节,文件控制块分解后,第一部分占有10字节(包括文件名和文件内部号),第二部分占56字节(包括文件内部号和文件其他信息)。
    (1)假设某一目录文件共有256个文件控制块,试分别给出采用分解法前和分解法后,查找该目录文件的一个文件控制块的平均访盘次数。
    (2)一般地,若目录文件分解前占用n个盘块,分解后改用m个盘块存放文件名和文件内部号部分,请给出访盘次数减少的条件。
    答:
    1)
    分解前,每一块可以存放512/64=8个文件控制块,256个文件需要32个块,所以平均需要访盘(1+32)/2=16.5次
    分解前,每一块可以存放512/10=51个文件控制块第一部分,256个文件需要256/51=6个块,再加上读取文件控制块的第二部分,平均访盘(1+6)/2+1=4.5次

    2)不会。

    14.
    用三位二进制表示一个块的信息
    循环对每个块进行操作:
    检测一个块时,检测位置1,表示已检测再判断
    1)若已分配,分配位写1
    2)若未分配,分配位写0
    3)若坏块,坏块位写1
    直到整个位示图检测完毕。

    15.
    create和open命令的目的和功能是创建和打开文件。
    不能只有一个。
    若只有一个,设用create命令可完成建立和打开操作,那么当要找开一个已存在文件时,就不能成功,反之亦然.

    18.
    文件分配的位示图应该保存在内存中,因为系统要对它进行频繁的操作,若存在外存则效率太低。

    19.
    对于记录大小小于物理块大小的文件,将几个记录组全在一起放在一个块中,而不是分别放在一个块中,这样就达到了提高存储空间的目的。

    20.
    1).2048 / 80 约= 26
    100 / 26 约= 4
    占用了4个块;    26
    2)  不会

    21.
    1).(800 * 180) / (800*500 + 800*180) = 9 / 34 约= 26.4/100
    2).约= 73/100
    3).块因子至少为8

    22.
    1)  文件保护,设置安全权限避免一些用户进行越权操作
    2)  要有避免数据丢失的机制
    3)  能够防范入侵者
    4) 病毒防御
    5)  要能具有一定的防范入侵功能。

    25.
    识别分三类:你知道什么?你有什么?你是谁?

    27.
    (1)SSTF
    磁头移动顺序:143,147,150,130,102,94,91,86,175,177
    移动总量:首先划分分成三段(143~150,150~86,86~177),然后计算,移动总量为(150-143)+(150-86)+(177-86)=162
    (2)SCAN
    磁头移动顺序:143,147,150,175,177,130,102,94,91,86
    移动总量:只需要划分成两段(143~177,177~86),移动总量为(177-143)+(177-86)=125
    总结:SCAN通过减少方向改变的次数减少了磁头移动的总量。

    28.
    6 2 1 4 3 5
    两个考虑点,一个是柱面号 另一个是扇区号

    29.
    1) 200 ms
    2) 42ms  A C E G I B D F H J

    30.
    1) 文件系统不一致现象的发生主要发生在当系统正在对某一文件进行操作的时候系统突然停机造成的。文件系统不一致可以有以下几种情况:某一块既在空闲块表中又在分配块表中,某一块既不空块表中又不在分配块表中,某一块同时被分配给两个文件;某一块同时出现在两个空闲块表中(在位示图中不会出现)。这四种情况的危害如下:第一种情况可能造成一个有用的块被系统当成空闲块在分配给其他的文件;第二种情况可能造成块的“丢失”;第三种情况可能造成原本两个不同的文件由于共同拥有了这一块,从而在一个文件修改这一块的时候也同时修改了另一个文件的内容;第四种情况可能造成当这一块被分配的时候,没有修改所有的空闲块表,从而使得这一块在另一张表上还是空闲的。
    2)
    出现的错误 a.块2同时出现在空闲块表和分配块表中 b.块9在分配块表中出现两次 c.块11不出现在任何表中 d.块15在空闲块表中出现两次
    解决方法 a.在空闲块表中将块2除去 b.将块9的内容拷贝到一个空块中,用这个快替换其中一个文件的块9 c.将其添加到空闲块表中 d.重建空闲块表

    31.
    1)处理者:  磁盘空间管理模块
    处理方法和过程:    有预防和治理两种策略。预防方面,可以使用较好的文件物理结构安排,尽是避免出现碎片,例如采用索引结构或I节点而不是顺序结构可能会减少磁盘碎片的产生;治理方面,无论采用哪种物理结构,碎片总是不可避免的,经过一段时间的使用,磁盘碎片总会严重到一定程度,因此,文件系统要向用户提供磁盘碎片整理功能,在用户提出碎片整理请求进行文件系统的整理,对文件的存储位置进行适当调整。

    2)处理者:目录管理模块
    处理方法和过程:使用两级目录或多级目录结构都可以实现这一功能。不同的,如果处在不同的目录下,就可以拥有相同的文件名。
      
    3)处理者:存取管理模块
    处理方法和过程:  这一功能主要是为了提高文件系统的性能。方法是利用程序访问的局部性原理,在内存中保存一些经常使用的存储快。当用户提出文件访问请求时,并行的在块高速缓存和硬盘上查找相应的内容,如果在块高速缓存中找到,则停止硬盘上的查找。如果请求的内容不再块高速缓存中,则将其调入块高速缓存(当然,可能会有一些淘汰和置换的问题)。

    4)处理者:磁盘空间管理模块
    处理方法和过程:  处理方法依文件物理结构的不同而不同。基本的思想是根据一定的算法在FSL(Free Space List)中找到相应的磁盘空间(如果没有跔的空间,则报错),然后在文件的相应数据结构,例如在索引文件结构下,要建立相应的索引表项,并填写适当的数值。

    32.
    不知从哪里开始答题。望高手指点。


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/26 9:38:00
     
     mxf3306 帅哥哟,离线,有人找我吗?
      
      
      等级:大三(研究MFC有点眉目了!)
      文章:112
      积分:823
      门派:XML.ORG.CN
      注册:2006/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mxf3306发送一个短消息 把mxf3306加入好友 查看mxf3306的个人资料 搜索mxf3306在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看mxf3306的博客2
    发贴心情 
    13题,一本参考书中给的结果是m<n-2, 应该是从等式:(m+1)/2 + 1  < (n+1)/2 得出的。

    20题,第二问可能是:先对记录进行分解,连续读出前55个记录,找到第56个记录的地址,然后将第56个地址读出

    21题我的结果略有不同:(1)26.5% (2) 74.4%, (3)至少为7。可能是因为我认为n个记录间只需n-1个间隔即可。

    29题中,每个块读需要2ms,处理需要4ms,读和处理不能并行(否则就用不着信息优化分布了),至少需要60ms,不知道42ms的答案你是怎么得出来得。 我的答案:(1) 204ms(最后一个块还有4ms的处理时间) (2) 60, AHEBIFCJGD

    其余的题目我的结果基本一样。很多简答题没耐烦写,把讲义上的东西都背下来,到考试时候将能想到的都往上填吧。

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/27 16:28:00
     
     tonystill 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:38
      积分:211
      门派:XML.ORG.CN
      注册:2006/7/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tonystill发送一个短消息 把tonystill加入好友 查看tonystill的个人资料 搜索tonystill在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看tonystill的博客3
    发贴心情 
    谢谢你!
    29题第2个问我觉得是   ADGJCFIBEH
    6ms一个,A完了该是D,然后依次。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/29 19:22:00
     
     mxf3306 帅哥哟,离线,有人找我吗?
      
      
      等级:大三(研究MFC有点眉目了!)
      文章:112
      积分:823
      门派:XML.ORG.CN
      注册:2006/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mxf3306发送一个短消息 把mxf3306加入好友 查看mxf3306的个人资料 搜索mxf3306在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看mxf3306的博客4
    发贴心情 
    对照新课本看一下,因为要顺序处理,A完了就应该是B,不会是D
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/31 10:29:00
     
     datoubaicai 帅哥哟,离线,有人找我吗?
      
      威望:5
      等级:大一(高数修炼中)
      文章:181
      积分:2214
      门派:XML.ORG.CN
      注册:2006/3/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给datoubaicai发送一个短消息 把datoubaicai加入好友 查看datoubaicai的个人资料 搜索datoubaicai在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看datoubaicai的博客5
    发贴心情 
    和05年助教给的答案一模一样,连错别字都一样啊........
    第12题第一问在计算最多要启动硬盘几次的时候,我怎么算的是
    A 1
    D 1
    G 4
    I  4
    K 4
    访问某块4次
    总共18次呢
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/31 13:29:00
     
     mxf3306 帅哥哟,离线,有人找我吗?
      
      
      等级:大三(研究MFC有点眉目了!)
      文章:112
      积分:823
      门派:XML.ORG.CN
      注册:2006/7/6

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mxf3306发送一个短消息 把mxf3306加入好友 查看mxf3306的个人资料 搜索mxf3306在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看mxf3306的博客6
    发贴心情 
    搂主的答案不就是18吗?
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/31 16:06:00
     
     datoubaicai 帅哥哟,离线,有人找我吗?
      
      威望:5
      等级:大一(高数修炼中)
      文章:181
      积分:2214
      门派:XML.ORG.CN
      注册:2006/3/28

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给datoubaicai发送一个短消息 把datoubaicai加入好友 查看datoubaicai的个人资料 搜索datoubaicai在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看datoubaicai的博客7
    发贴心情 
    结果是都是18,但是算法不一样啊..........
    他的答案是
    A 1
    D 4
    G 4
    I  4
    K 1
    搞不太明白,为啥D最多要四次,而K最多要1次
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/31 22:53:00
     
     tonystill 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究C++)
      文章:38
      积分:211
      门派:XML.ORG.CN
      注册:2006/7/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给tonystill发送一个短消息 把tonystill加入好友 查看tonystill的个人资料 搜索tonystill在『 计算机考研交流 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看tonystill的博客8
    发贴心情 
    谢谢大家。
    有几道题就是在网上下的答案
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/1/2 18:42:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 计算机考研交流 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/10 5:06:57

    本主题贴数8,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    8,197.266ms