当前位置: 首页 > news >正文

建设网站第一部分wordpress和shopify

建设网站第一部分,wordpress和shopify,wordpress 主页文件,沈阳网站制作公司哪家好文件系统中核心的数据结构就是inode和file descriptor 分层的文件系统#xff1a; 在最底层是磁盘#xff0c;也就是一些实际保存数据的存储设备#xff0c;正是这些设备提供了持久化存储。在这之上是buffer cache或者说block cache#xff0c;这些cache可以避免频繁的读…文件系统中核心的数据结构就是inode和file descriptor 分层的文件系统 在最底层是磁盘也就是一些实际保存数据的存储设备正是这些设备提供了持久化存储。在这之上是buffer cache或者说block cache这些cache可以避免频繁的读写磁盘。这里我们将磁盘中的数据保存在了内存中。为了保证持久性再往上通常会有一个logging层。许多文件系统都有某种形式的logging在logging层之上XV6有inode cache这主要是为了同步synchronization再往上就是inode本身了。它实现了read/write。再往上就是文件名和文件描述符操作。 存储设备层 存储设备连接到了电脑总线之上总线也连接了CPU和内存。一个文件系统运行在CPU上将内部的数据存储在内存同时也会以读写block的形式存储在SSD或者HDD block布局 从文件系统的角度来看磁盘还是很直观的。因为对于磁盘就是读写block我们可以将磁盘看作是一个巨大的block的数组数组从0开始一直增长到磁盘的最后。 block0要么没有用要么被用作boot sector来启动操作系统。block1通常被称为super block它描述了文件系统。它可能包含磁盘上有多少个block共同构成了文件系统这样的信息。我们之后会看到XV6在里面会存更多的信息你可以通过block1构造出大部分的文件系统信息。在XV6中log从block2开始到block32结束。实际上log的大小可能不同这里在super block中会定义log就是30个block。接下来在block32到block45之间XV6存储了inode。我之前说过多个inode会打包存在一个block中一个inode是64字节。之后是bitmap block这是我们构建文件系统的默认方法它只占据一个block。它记录了数据block是否空闲。之后就全是数据block了数据block存储了文件的内容和目录的内容。 inode 这是一个64字节的数据结构。 type字段表明inode是文件还是目录。nlink字段也就是link计数器用来跟踪究竟有多少文件名指向了当前的inode。size字段表明了文件数据有多少个字节。12个block编号这12个block编号指向了构成文件的前12个blockindirect block number,它对应了磁盘上一个block这个block包含了256个block number这256个block number包含了文件的数据 目录directory 每个entry是16个字节 前2个字节包含了目录中文件或者子目录的inode编号接下来的14个字节包含了文件或者子目录名。 File system工作流程 启动XV6的过程中调用了makefs指令来创建一个文件系统。makefs创建了一个全新的磁盘镜像在这个磁盘镜像中包含了我们在指令中传入的一些文件XV6会打印出文件系统的一些相关信息其中包括了 boot block super block 30个log block 13个inode block 1个bitmap block 954个data block echo “hi” x的文件系统调用过程 输出对哪些block做了写操作 第一阶段是创建文件 write 33type字段从空闲改成了文件并写入磁盘表示这个inode已经被使用了 write 33写入inode的内容包含linkcount为1以及其他内容。 write 46 向第一个属于根目录的data block写数据增加了一个新的entry其中包含了文件名x以及我们刚刚分配的inode编号。 write 32 修改标识根目录的大小的数据 write 33 更新了文件x的inode 第二阶段将“hi”写入文件 write 45更新bitmap文件系统首先会扫描bitmap来找到一个还没有使用的data block未被使用的data block对应bit 0。找到之后文件系统需要将该bit设置为1 两次write 595 文件系统挑选了data block 595因为写入了两个字符所以write 595被调用了两次 write 33 更新文件x对应的inode中的size字段第一个direct block number会更新 第三阶段将“\n”换行符写入到文件 和第二阶段类似仔细阅读第二阶段。 block cache代码 首先在内存中对于一个block只能有一份缓存。这是block cache必须维护的特性。其次这里使用了与之前的spinlock略微不同的sleep lock。与spinlock不同的是可以在I/O操作的过程中持有sleep lock。第三它采用了LRU作为cache替换策略。第四它有两层锁。第一层锁用来保护buffer cache的内部数据第二层锁也就是sleep lock用来保护单个block的cache。
http://www.yutouwan.com/news/172315/

相关文章:

  • 许昌市建设局网站东营市建设局官网
  • 企业网站seo维护新的网站的建设步骤
  • 阜阳建设网站ios开发者账号申请
  • 苏州建设网站首页稷山网站建设
  • 网站加载等待udacity 网站开发
  • 设建网站深圳网站设计兴田德润官方网站
  • 贵阳网站建设策划方案免费画图网站
  • 高端手机网站定制网页游戏开服表大全
  • 做阿里网站网站备案的网站名称
  • 建站模板招募设计师网络建站公司
  • 做网站打开图片慢做58网站空调维修接单怎么样
  • 建网站用营业执照吗哈尔滨市工程建设项目网
  • 做网站平台的工作营销型网站建设作用
  • 企业网站优化推广方法最新新闻热点事件看法
  • 你建立的网站使用了那些营销方法门户网网站seo怎么做
  • 清远网站开发sohu如何做网站 代码
  • 外贸网站增加外链方法腾讯云 安装 wordpress
  • dedecms 做电商网站wordpress文章打赏
  • 九江专业网站建设建筑公司组织架构
  • 用插件做网站效果图公司排名
  • 网站软件免费下载我要自学网网站
  • 做外贸必须用的社交网站网站开发方案论文
  • 网站 功能呢设计网站公司力荐亿企邦
  • 运城个人网站建设周口网站制作
  • 网站内容的建设做表格的网站
  • 网站制作内联框windows优化大师官网
  • 坂田做网站建设好的网络公司什么营销软件好用
  • 找做网站找那个平台做ppt在线制作免费
  • 东莞营销网站建设多少钱免费网站有哪些
  • 龙岩智能微站创建网页的方法