本末
    www.blogcn.com

新媒体艺术 随笔 技术 故事 创意 
根为本,叶为末;心为本,物为末。心生万相,万相化物。末依本而生,本以末而形;以本之索末,顾末无而忘本。
   
Calendar
News
你们丫给爷记住!(2008-04-10)
新年快乐(2008-01-14)
游击队!(2007-10-20)
要沉住气(2007-09-13)
下山(2007-07-28)
好吧(2007-07-21)
火锅·春游·你们丫都干嘛呢(2007-03-27)
成都好玩吗(2007-03-03)
除夕(2007-02-18)
世界小异(2007-02-06)
2007年(2006-12-31)
实现对virtual fil...(2006-12-13)
新媒体艺术对行动艺术之辨(2006-12-03)
获奖了!(2006-11-12)
铁打的营盘流水的兵(2006-10-31)
旋尔(2006-10-30)
子曾经日过(2006-09-26)
吟两句儿~(2006-09-25)
那个岛(2006-08-25)
嗅觉(2006-07-24)
宣讲~宣讲~(2006-07-05)
SWOONDAZZLE~晕炫...(2006-06-24)
当初,是对的!(2006-05-30)
爱 之 成 长(8)(2006-05-23)
爱 之 成 长(7)(2006-05-19)
这是怎么了(2006-05-02)
《星球—文明的预言》创意案1...(2006-05-02)
生活,就是一个得瑟接着另一个...(2006-04-29)
《星球—文明的预言》创意案1...(2006-04-27)
《星球—文明的预言》创意案1...(2006-04-25)
Archives
Comments
访客/2008-05-12
家爵欠你们的,以命....
访客/2008-04-18
哦?
访客/2007-10-28
游大毛啊
/2007-10-12
下兔子
访客/2007-09-15
沉大毛啊
Horace/2007-09-03
下山,什么意思?是....
胖儿/2007-08-01
可是~~曾经有位“....
胖儿/2007-08-01
下山打兔子~~~....
老罗叔/2007-07-29
下大毛啊
Avant-Contra/2007-07-08
2毛啊本末2
永远是爷/2007-03-11
让你每天写的汇报写....
罗爷/2007-03-06
踩好点!!!
访客/2007-02-19
只要我活着你们就没....
罗爷/2007-02-18
只要我活着你们就没....
/2007-02-07
如果我是Kiki,....
访客178775(访客)/2007-01-01
你是毛
朵 (monica_ever)/2006-12-31
偶还以为你24小时....
朵 (monica_ever)/2006-12-31
新年快乐!
好久没来....
弦宝 (lx711)/2006-12-31
你是不是学电脑的噢....
访客417409(访客)/2006-12-25
什么乱七八糟的
漂泊的帆 (yoyoo720)/2006-12-20
冒昧的好奇下~
阁下....
访客634613(访客)/2006-12-17
车技办但
飘飘 (laymiss)/2006-12-13
赶紧撤~~
飘飘 (laymiss)/2006-12-13
晕~~
来串板子
发现....
朵 (monica_ever)/2006-12-10
看你的BLGO,只....
小骆驼 (kafeicamel)/2006-12-09
不知道你怎么闯进我....
朵 (monica_ever)/2006-12-08
礼尚往来~~
访客230615(访客)/2006-12-03
嗯,小爷每次写的时....
访客245304(访客)/2006-11-18
我日。。。。。。。....
访客757158(访客)/2006-11-12
耶喝
Chat
Links
 
 
 
 
实现对virtual file system的快速控制相关
一、virtual file system的基本结构

  此虚拟文件系统(virtual file system)在外部存储器中的文件为一个分块二进制文件,分块大小为8KB,块编号以Block num计数。考虑100M的文件总共分成12800块。



   HEADBlock num 1Block num 2……Block num nTRAIL

            图1 – 分块二进制文件内部结构



  块内结构分为三部分:head部分存放该块在其实际文件内部的块编号,该编号以FB num(File Block num)计数,DATA部分存放实际数据,trail部分存放与该块逻辑相连块的二进制文件块编号。



  FB numDATABlock num

     图2 – 文件块内部结构



  二进制文件内部实际文件名使用Hash Table(Disk)映射索引。



     Hash(filename 1)< ~ >,< ~ >,……



     Hash(filename 2)< ~ >,< ~ >,……



      •

      •

      ••

      •

      •

     Hash(filename n)< ~ >,< ~ >,……



        图3 – Hash Table (Disk) 结构



  此virtual file system使用内存映射方式操作存储在磁盘中的分块二进制文件。该系统启动后,首先在内存中开辟一块20M缓冲区,并在该缓冲区头部中加载Hash Table(Disk)。然后根据经验将外部存储设备中二进制文件的部分文件块加载到缓冲区的数据区,并在缓冲区头部创建Hash Runtime Table,此表用来记录那些实际文件的那些文件块被加载到了缓冲区。



     Hash(filename 1)< ~ >,< ~ >,……



     Hash(filename 2)< ~ >,< ~ >,……



      •

      •

      ••

      • 

      •

     Hash(filename n)< ~ >,< ~ >,……



       图5 – Hash Runtime Table 结构



  应用中,对实际文件的操作通过内存映射缓冲区转换为对分块二进制文件部分文件块的操作。并且操作前,首先检查该文件块是否已被加载到缓冲区中,若在,则直接操作缓冲区中的数据;若不在,则再从二进制文件中加载相应的文件块到缓冲区的溢出区。缓冲区清空前,将所有改动的文件块写回外部存储器中的分块二进制文件。



二、控制域

  首先,是对文件块尾部逻辑相连块编号的控制。该编号的存在基于这样的假设,即应用存在短期习惯。但此习惯维持的时间是离散的、阶跃的,以至于更新该编号是必要的。但是更新该编号的动作有可能导致该系统不稳定,甚至使系统发散,所以必须使用控制策略使系统始终稳定并趋于收敛,且不过多地损失快速性。

  其次,提前加载逻辑相关块是基于经验的,然而该经验的有效性是不可预期的。提前加载无用的文件块反而降低了效率,所以需要使用控制策略使提前加载所取得效率提升量大于加载无用文件块造成效率降低量。





P.S. 一开始的原则是,本博是纯娱乐的,绝不添加任何技术内容,不过随着[创意]和[新媒体艺术]栏目的增加,似乎这个原则也无所谓了。其实本来嘛,生活不应该有太多约束。所以,打今儿起,再增加一个栏目[技术],将放置我关于软件工程方面的一些心得体会,此为第一篇。

  另,blogcn的文本格式……算了,这样也挺好~
Tags: 
作者 sailaspen 评论() | 人气()  | 引用(0) | 推荐 | 保存日志 | 问题日志 | 收藏到网摘 | 返回首页
相关文章
 
Powered by blogcn.com