前言 我本想把上篇中没讲完的剩余层全部在本篇中讲完,但没想到越写越多.日志层的代码不多,其思想和解决问题的手段也不算难以理解,但其背后涉及的原理和思想还是非常值得回味的,因此我打算用一整篇完整的blog来讲解日志层,并对其作出一点扩展. 本篇内容应该也会帮你对事务的拥有一个更好地理解. 聊聊xv6的文件系统(上篇):https://www.cnblogs.com/KatyuMarisaBlog/p/14366115.html 浅谈一致性 警告: 本节内容我越写越觉得自己是个民科,整出了一套四不像…
前言 Lab一做一晚上,blog一写能写两天,比做Lab的时间还长( 这篇博文是半夜才写完的,本来打算写完后立刻发出来,但由于今天发现白天发博点击量会高点,就睡了一觉后才发(几十的点击量也是点击量啊T_T).... 我个人计划采用bottom-up的方式,用两篇blog配合源码讲解xv6的文件系统. xv6对文件系统的架构做出了如下的分层: 我个人倾向于将设备驱动程序也加入到文件系统的架构中,因此最后形成的架构图如下: 本篇blog讲解首先谈了谈我个人对文件系统的见解,随后讲解xv6的存储介质层…
前言 今晚在实验室摸鱼做6.S081的Lab3 Allocator,并立下flag,改掉一个bug就拍死一只在身边飞的蚊子.在击杀8只蚊子拿到Legendary后仍然没能通过usertest,人已原地裂解开来.遂早退实验室滚回宿舍,捡起自己已经两年没写的blog,码点自己用vscode调试xv6的心得和小tips,如果对同样在码xv6但无法忍受gdb调试界面的小伙伴们有帮助那就太好了,积点功德,但愿明天能通过test,少打几只蚊子( 还是从直接用gdb调试说起 刚开始码lab时,我想很多人第一反…
前言 打开自己的blog一看,居然三个月没更新了...回想一下前几个月,开题 + 实验室杂活貌似也没占非常多的时间,还是自己太懈怠了吧,掉线城和文明6真的是时间刹手( 不过好消息是把15445的所有lab都锤完了,最近一个月应该没啥活干.立个flag,这个月更它个10篇blog,把15445的知识点.lab,以及6.S081想写的东西都写完.今天先做个复健,码一下刚做完的lab8,以及xv6的file system的学习笔记. 坏消息是leetcode一道没动,甚至主力啥语言啥框架还没定下来,开…
前言 最近绝大多数的空闲时间都拿来锤15-445了,很久没动6.S081.前几天回头看了一下一个月前锤完的Lazy Allocation,自己写的代码几乎都不认识了.......看来总结之类的东西最好还是趁着热乎的时候写啊. 不过15-445的内容实在太多了,我只是为了锤Lab粗略的看了看课件,课件里很多东西都没研究,相关的总结还是推迟到所有Lab锤完后重新整理一下再写吧.先把几天前刚做完的Copy-On-Write给写出来.最近会把前面草草写下的Lab Lazy Allocation的相关内容…
一.题目 编写一个内核模块,在/proc文件系统中增加一个目录hello,并在这个目录中增加一个文件world,文件的内容为hello world.内核版本要求2.6.18 二.实验环境 物理主机:win7 64bit, i5双核,8G内存 虚拟机:Vmware Workstation 10.0.2 虚拟主机: CentOs-5.11,内核2.6.18 三.实验思路 在着手解决问题之前,我在网上查阅了一些资料,大多是关于模块的介绍.linux内核采用的是模块化编程,这样可以很容易的添加或删除一个…
前言:win7下一些软件的不正常,跟win7的权限有很大关系.             在win7下安装db2 9.7客户端后,在cmd中运行db2cmd启动clp,输入db2的任何命令都显示:SQL5005C 系统错误 接着尝试用开始菜单中的快捷键 “命令窗口-管理器”,发现db2命令可用,探究原由,原来运行db2cmd必须以管理员的身份运行.虽然我的当前用户workman就是管理员,但就是不行.      (ppjava2009 评论,运行db2cmd改成运行C:\IBM\SQLLIB\BI…
昨天追踪EXT4文件系统的过程中出了点问题,就是找不到文件,于是试了一下追踪FAT32文件系统的,成功之后有了点信心,今天继续嗑EXT4文件系统,终于找到啦,记录一下. 操作系统:linux(centos 6.5) 文件系统:EXT4 工具:hexdump,windows自带计算器 参考资源:<数据重现-文件系统原理精解与数据恢复最佳实践>(马林 著) <基于EXT4文件系统的数据恢复方法研究>(徐国天) 题为<Ext4文件系统架构分析>的系列博客 题为< 深入理…
一.故障描述 由8块盘组成的RAID5, 上层是EXT3文件系统,由于误删除导致文件系统中的邮件丢失 二.镜像磁盘为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏, 使用winhex软件为每块磁盘做镜像, 以后所有的数据恢复操作都在镜像盘上进行, 不会对原始磁盘造成影响镜像结果如下:图一 三.组建RAID通过分析数据在硬盘中分布的规律, 获取RAID类型, RAID条带的大小,以及每块磁盘的顺序.根据分析结果使用UFS组建RAID.结果如下:图二 四.导出目标分区 从组建好的RAID中可以看…
这篇文章主要介绍了Linux文件系统中的inode节点,详细讲解了inode是什么.inode包含的信息.inode号码的相关资料等,需要的朋友可以参考下 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block).这种由多个扇区组…
前面我们使用这个软件发现了很多删除掉的数据,今天来看看簇.FAT文件系统中,存在一个簇的链接,我知道了簇1在哪里就可以顺藤摸瓜恢复所有的信息. 这里使用FAT 12为例子,FAT其他万变不离其宗,甚至其他文件系统都有相似处.有了这次体验,你就可以大胆去尝试和猜测,点击与判断.感受一下吧. 来源:Unit 6: Windows File Systems and Registry 6.1 Windows File Systems and Registry Windows FAT File Syste…
让我们聊聊Erlang的nif中资源的安全释放 http://my.oschina.net/u/236698/blog/479221…
atime,ctime,mtime是文件inode的三个时间戳,分别表示文件最近一次的访问时间:inode本身的更改(changed)时间:文件数据的更改(modify)时间:这几个概念还是很好区分.ctime和mtime的概念很清楚,每次ctime和mtime变化了,那么这个inode就真的要落盘了,但是atime相对就比较棘手一些:atime表示这个文件被访问(确切的说是读)了,比如cat file操作,但吊诡的是:每次读操作都会转化成一次写,因为atime的改变导致了inode变脏写回.这…
转自:http://blog.csdn.net/lifuxiangcaohui/article/details/40588929 Hive是基于Hadoop分布式文件系统的,它的数据存储在Hadoop分布式文件系统中.Hive本身是没有专门的数据存储格式,也没有为数据建立索引,只需要在创建表的时候告诉Hive数据中的列分隔符和行分隔符,Hive就可以解析数据.所以往Hive表里面导入数据只是简单的将数据移动到表所在的目录中! Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中…
B+树在NTFS文件系统中的应用 flyfish 2015-7-6 卷(volume) NTFS的结构首先从卷開始. 卷相应于磁盘上的一个逻辑分区,当你将一个磁盘或者磁盘的一部分格式化成NTFS,卷将被创建起来. 一个磁盘能够有一个卷或好几个卷.NTFS独立的处理每个卷. 卷相应的就是C盘,D盘,E盘等. 簇(cluster) 在一个NTFS卷中,簇的大小,或者说簇因子(cluster factor),是在磁盘管理程序MMC载入件格式化该卷的时候建立起来的.默认的簇因子随着卷大小的不同而不同,但…
package com.yoyosys.cebbank.bdap.service.mr; import java.io.IOException; import java.io.InputStream; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IO…
fsck命令被用于检查并且试图修复文件系统中的错误.当文件系统发生错误四化,可用fsck指令尝试加以修复. -a:自动修复文件系统,不询问任何问题: -A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统: -N:不执行指令,仅列出实际执行会进行的动作: -P:当搭配"-A"参数使用时,则会同时检查所有的文件系统: -r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式: -R:当搭配"-A"参数使用时,则会略过/目录的文件系统不…
ossfs能让您在Linux系统中,将对象存储OSS的存储空间(Bucket)挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象(Object),实现数据的共享. 使用限制 ossfs使用有以下限制: 不支持挂载归档型Bucket. 编辑已上传文件会导致文件被重新上传. 元数据操作,例如list directory,因为需要远程访问OSS服务器,所以性能较差. 重命名文件/文件夹可能会出错.若操作失败,可能会导致数据不一致. 不适合高并发读/写的场景. 多个客户端挂载同一个OSS B…
The Linux Command Line 读书笔记 - 部分内容来自 http://billie66.github.io/TLCL/book/chap03.html 文章目录 文件系统 根目录 打印当前所在目录命令 列出目录内容命令 切换路径命令 关于 `cd` 的一些快捷键 文件名的规则 文件系统 类似于 Windows,一个"类 Unix" 的操作系统,比如说 Linux,以分层目录结构来组织所有文件. 这就意味着所有文件组成了一棵树型目录(有时候在其它系统中叫做文件夹), 这…
许多Windows系统用户刚转向Mac的时候,肯定非常不适应Mac系统独特的文件系统,就像安卓转iOS系统一样,那么Mac电脑如何像Windows系统一样,能够查看电脑上的各个盘,如C盘D盘等等,然后在文件系统中,非常直观准确地查找文件和处理文件呢? Mac系统下有一款软件-CleanMyMac,该软件能帮助Mac用户将文件和文件夹通过构建存储图的方式,以一种类似于Windows文件系统的直观方式展现出来,大家跟着小编一起来看看该功能如何使用吧. 一.空间透镜功能介绍 想要做到上述小编所说的这些…
在这个应用中,我使用了 MQ 来处理异步流程.Redis 缓存热点数据.MySQL 持久化数据,还有就是在系统中调用另外一个业务系统的接口,对我的应用来说这些都是属于 RPC 调用,而 MQ.MySQL 持久化的数据也会存在于一个分布式文件系统中,他们之间的调用也是需要用 RPC 来完成数据交互的.…
1.inode 包含文件的元信息(1)inode 内容:文件的字节数.拥有者的 UID.GID.文件的读写执行权限.时间戳等,但不包含文件名.文件名是储存在目录的目录项中.(2)查看文件的 inode 内容,stat 命令 2.Atime等详解   3.目录文件的结构(1)目录也是一种文件(2)目录文件的结构:   每个 inode 都有一个号码,操作系统用 inode 号码来识别不同的文件 Linux 系统内部不使用文件名,而使用 inode 号码来识别文件.对于系统来说,文件名只是 inod…
1.inode 包含文件的元信息(1)inode 内容:文件的字节数.拥有者的 UID.GID.文件的读写执行权限.时间戳等,但不包含文件名.文件名是储存在目录的目录项中.(2)查看文件的 inode 内容,stat 命令 2.Atime等详解 英文 别称 中文翻译 何时修改 查看命令 Access Atime 访问时间 读取.写入 ls-lu Modify Mtime 修改时间 写入.修改 ls-l Change/Create Ctime 改变时间/创建时间 修改文件名.写入. 修改.该权限.…
1.inode 包含文件的元信息(1)inode 内容:文件的字节数.拥有者的 UID.GID.文件的读写执行权限.时间戳等,但不包含文件名.文件名是储存在目录的目录项中.(2)查看文件的 inode 内容,stat 命令 2.Atime等详解   3.目录文件的结构(1)目录也是一种文件(2)目录文件的结构:   每个 inode 都有一个号码,操作系统用 inode 号码来识别不同的文件 Linux 系统内部不使用文件名,而使用 inode 号码来识别文件.对于系统来说,文件名只是 inod…
一.Linux文件系统 1.inode与block 1.概述: (1)文件数据包括元信息与实际信息 (2)文件存储在硬盘上,硬盘最小存储单位是"扇区",每个扇区存储512字节 (3)block:块 *.连续的八个扇区组成一个block(4k) *.是文件存取的最小单位 (4)inode:(索引节点) *.中文译名为索引节点,也叫   i    节点 *.用于存储文件元信息 2.inode和biock的关系 元信息     →   inode 数据        →   block *.…
一.inode和bolck概述 二.链接文件 三.inode节点耗尽故障处理 四.EXT类型文件恢复 五.xfs文件备份和恢复 六.日志文件 一.inode和bolck概述 1.定义 文件数据 文件数据包括元信息与实际数据 文件存储在硬盘上,硬盘最小的存储单位是"扇区",每个扇区存储512字节 一个文件必须占有一个inode,但至少占用一个block block(块) 连续的八个扇区组成一个block(4k) 是文件存取的最小单位 操作系统读取硬盘的时候,是一次性连续读取多个扇区,即一…
Linux文件系统与日志分析一.inode与block概述① 文件数据包括元信息(类似文件属性)与实际数据② 文件存储在硬盘上,硬盘最小存储单位是"扇区"(sector),每个扇区存储512字节③ block(块)④ inode(索引节点)二.inode的内容① inode包含文件的元信息② 查看某个文件的inode信息③ Linux系统文件三个主要的时间属性④ 目录文件的结构⑤ 每个inode都有一个号码,操作系统用inode号码来识别不同的文件⑥ Linux系统内部不使用文件名,而…
Linux文件系统与日志分析 1.inode和block概述 2.模拟inode耗尽实验 3.ext类型文件恢复 4.xfs类型文件恢复 5.日志文件 6.日志分析 1.文件:文件是存储在硬盘上的,硬盘的最小存储单位叫做"扇区"(sector),每个扇区存储512字节.一个文件必须占用一个inode, 并且至少占用一个块(block). 块: 一般连续八个扇区组成一个"块"(block),一个块是4K大小,是文件存取的最小单位,文件数据存储在"块"…
Action/Service/DAO简介: Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DAO只完成增删改查,虽然可以1-n,n-n,1-1关联,模糊.动态.子查询都可以.但是无论多么复杂的查询,dao只是封装增删改查.至于增删查改如何去实现一个功能,dao是不管的. 总结这三者,通过例子来解释: Action像是服务员,顾客点什么菜,菜上给几号桌,都是ta的职责: Service是厨师,ac…
背景     在分布式系统当中,我们有各种各样的WebService,这些服务可能分别部署在不同的服务器上,并且有各自的日志输出.为了方便对这些日志进行统一管理和分析.我们可以将日志统一输出到指定的数据库系统中,而再由日志分析系统去管理.而这个储存日志的数据库目前最适合的还是mongodb,一是因为它轻便.简单,与log4j整合方便,对系统的侵入性低.二是因为它与大型的关系型数据库相比有不少优势,比如查询快速.储存结构(json)利于扩展.免费等. log4j与mongodb整合 1.首先安装m…