- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第
第 PAGE 1 页 共 NUMPAGES 1 页
最新计算机操作系统基础知识大全
操作系统(OperatingSystem,简称OS)是管理计算机硬件与软件资源的程序,是计算机系统的内核与基石;操作系统本质上是运行在计算机上的软件程序;操作系统为用户提供一个与系统交互的操作界面 。下面就让小编带你去看看计算机操作系统基础知识吧,希望能帮助到大家!操作系统基础 - LFS和SSDLog-Structured File System设计思路LFS的设计思路来自于以下几点观察:内存变得越来越大,能够缓存越来越多的东西,因此写入性能渐渐地主宰了文件系统的性能磁盘的随机I/O和顺序I/O的性能相差巨大,如果能把大部分I/O都转换成顺序I/O,将能极大地提高性能现有的文件系统在许多常见的工作负载下表现都不如意:它们的元数据和数据块是分开的,文件系统写入一个数据块要多次寻道和旋转,虽然FFS通过块组缓解了这个问题,但是依然避免不了大量短距离的寻道和旋转。文件系统感知不到RAID,难以避免RAID-4/RAID-5的small write问题,即一个小块的数据写入会导致4次物理I/O。因此,LFS尝试优化磁盘写入性能,尽可能地使用连续I/O,对于磁盘的读取性能则寄希望于内存能缓存更多内容。这个出发点导致了它的数据结构不同与常见的文件系统。连续写入LFS所尝试的第一个优化就是在写入数据块的时候,同时在后面写入数据块的inode,比如下图在磁盘地址A0写入一个数据块之后再把它的inode写到后面:然后对于大量小块的I/O,这样是不行的,因此LFS采用了写缓存技术,先在内存中缓存一定的大小写请求,直到达到一个足够大的值(LFS中称为segment),然后再一次性写入磁盘中。因此LFS的一次I/O通常会包含多个数据块和inode:那么,多大的segment是合适的呢,这跟磁盘性能有关系,假如说我们希望磁盘95%的时间都在写入,只有5%的时间再寻道,对于一个写入速度为100MiB/s的磁盘来说,这个segment约为9MiB。这里忽略了计算公式,有兴趣请参考43Log-structured File System (LFS)。inode读者们肯定能注意到,数据块和inode混在一起之后,LFS要怎么找到这些inode?我们可以用一个map结构来存储inode,其key是文件的inodenumber,value是inode再磁盘上的地址,称之为inodemap(或imap)。考虑到LFS的设计,imap不应该存储在磁盘的某个特定位置,这会引起来回寻道的问题,因此LFS在一个写I/O的最后把最新的imap也一起写进来了。下一个问题是,LFS怎么知道最新的imap在什么地方?它必须得把最新imap的地址写在磁盘上一个固定的地方,这就是checkpointregion(CR)。出于写入性能的考虑,CR一般30秒左右才更新一次,因此对性能的影响可以忽略。目录前面的讨论仅涉及了文件,其实目录也是类似的,假如在某个目录/dir下面创建了一个叫foo的文件:LFS首先写入foo的内容和inode然后写入目录D的内容,即inode number和磁盘地址的映射关系,如下图中的(foo,K),以及这个目录新的inode最后写入写的imap文件读取LFS挂载后,会先读入CR,再根据CR的内容把imap缓存到内存中,之后这两个数据结构的更新就按照上面的描述进行更新,imap在每次写I/O后追加到尾部,CR则定期写入。从LFS读取一个文件如/dir/foo时,首先从imap缓存中找到根目录/的inode地址(比如根据约定的inode number2),读取其内容找到dir目录对应的inode number,再根据inode number从imap中找到dir对应的inodenumber,如此类推直到读入foo的inode,这之后的过程就跟普通uni__文件系统没太大区别了,inode里面有direct pointer,indirect pointer... LFS没有对读取做什么优化,而是寄希望于越来越大的内存能够缓存更多的inode和数据块。垃圾回收LFS写入新的数据块时,总是寻找一片连续的空闲磁盘空间,然后写入整个segment,因此磁盘中其实充满了过时的数据。比如下面的i节点号为K的文件一开始保存在磁盘地址A0,当这个文件的内容更新的时候,LFS在磁盘地址A4写入了新的数据块和inode,此时A0和A1的数据就是过时的:另一个例子,假设用户往文件中追加了一个块(A4),这种情况下过时的数据只有老的in
您可能关注的文档
最近下载
- 2025年江苏省盐城市中考政治试题及答案.docx VIP
- 2025苏教版三上数学《曹冲称象的故事》测试卷及答案.pdf
- 【安全生产】-应急管理培训课件-生产安全事故应急预案及其演练全流程讲解(100页经典版课件).pptx VIP
- 2022年4月四级烟草专卖管理师理论知识试卷.pdf VIP
- 2025年中国四氯化锆项目投资计划书.docx
- 6.3.2 二项式系数的性质 课件(共19张PPT).pptx VIP
- 博物馆陈列展览大纲.doc VIP
- 风机基础土方开挖及回填方案.docx VIP
- 民用建筑设计统一标准 GB 50352-2019.pdf VIP
- TB10007-2006 铁路信号设计规范.docx VIP
文档评论(0)