03 2014 档案

[ext4] 磁盘布局 - extent tree
摘要:传统的类Unix文件系统,比如Ext3,都是使用一个间接数据块映射表来记录每一个数据块的分配情况的。但是这种机制对于超大文件的存储是有缺陷的,特别是当对超大文件进行删除和截断操作时。映射表会对每一个数据块进行记录,而一个超大文件将占有很多的数据块,因此造成映射表将变得无比臃肿,难于维护。 Ext... 阅读全文

posted @ 2014-03-27 14:31 YoungerChina 阅读(1889) 评论(0) 推荐(0) 编辑

[ext4]磁盘布局 - inode bitmap & table
摘要:在[磁盘布局 group部分]已经介绍过ext4的整体布局,其中存在两个与inode有关的名称:inode bitmap和inode table。 Inode bitmap,用于表示inode table中对应的inode entry是否已经使用。Bitmap中每个位对应于一个table中ino... 阅读全文

posted @ 2014-03-27 14:28 YoungerChina 阅读(1220) 评论(0) 推荐(0) 编辑

[ext4]08 磁盘布局 - CheckSums
摘要:从2012年开始,Ext4和jbd2的元数据中都开始加入checksums。特性标识是metadata_csum。Checksum算法是在super_block中指定: struct ext4_super_block { … __u8 s_log_groups_per_flex;... 阅读全文

posted @ 2014-03-27 14:19 YoungerChina 阅读(606) 评论(0) 推荐(0) 编辑

[ext4]07 磁盘布局 - 块/inode分配策略
摘要:Ext4系统从设计上就认为数据局部性是文件系统的文件系统的一个理想品质。 在机械硬盘上,相关联的数据存放在相近的blocks上,可以使得在访问数据时减少磁头驱动器的移动距离,从而加快IO访问。 在SSD上,没有像磁头一样的移动组件。但是数据局部性可以增大请求大小从而降低请求数量。同时可以尽可能的... 阅读全文

posted @ 2014-03-24 20:09 YoungerChina 阅读(914) 评论(0) 推荐(0) 编辑

[ext4]06 磁盘布局 - 特殊inode
摘要:Ext4预留了一些inode做特殊特性使用,见下表: inode Purpose 0 不存在,Ext4中不存在inode 0. 1 存放损坏的数据块链表 2 根目录 3 User quota. 用户quota索引 4 G... 阅读全文

posted @ 2014-03-24 20:08 YoungerChina 阅读(377) 评论(0) 推荐(0) 编辑

[ext4]05 磁盘布局 - 延迟块组初始化
摘要:延迟块组初始化,Ext4的新特性。如果对应的特性标识uninit_bg置位,那么inode bitmap和inode tables就不会初始化。 延迟块组初始化特性特性可以减少格式化耗时。 延迟块组初始化特性,默认是开启的。 root@ubuntu:~# time mkfs.ext4 -F /... 阅读全文

posted @ 2014-03-24 20:07 YoungerChina 阅读(407) 评论(0) 推荐(0) 编辑

[ext4]04 磁盘布局 - Meta Block Groups
摘要:Meta Block Groups,可以翻译为元块组集。 如果不采用Meta Block Groups特性,在每个冗余备份的超级块的后面是一个完整的(包含所有块组描述符的)块组描述符表的备份。如前所述(group分析中已经说明,group最大为128M,即2^27 bytes),那么一个grou... 阅读全文

posted @ 2014-03-24 20:06 YoungerChina 阅读(838) 评论(0) 推荐(0) 编辑

[ext4]010 磁盘布局 - 如何查找inode的磁盘位置
摘要:在linux系统中,任何一个文件,都有一个inode与其对应,也就是说,在一个文件系统中,一个文件都有唯一的ino来标示他,那么在ext4系统中,ino是如何确定的哪? 当我们新创建的文件或目录时,会调用ext4_create函数,其调用路径是:ext4_create -> ext4_new_i... 阅读全文

posted @ 2014-03-21 08:53 YoungerChina 阅读(1093) 评论(0) 推荐(0) 编辑

[Git]10 如何提交更新时的冲突
摘要: 当2个branch都修改了同一个文件的同一部分时,这时,就会发生冲突,git的自动合并就会失败。产生了冲突就需要手工解决。 如何解决本地冲突 比如,通过以下方式提交代码: $ git commit -m “file.txt: needs merge” 如果... 阅读全文

posted @ 2014-03-20 22:53 YoungerChina 阅读(308) 评论(0) 推荐(0) 编辑

[Git]09 如何为命令起外号
摘要:Git并不会推断你输入的几个字符将会是哪条命令,不过如果想偷懒,少敲几个命令的字符,可以用 git config 为命令设置别名。来看看下面的例子: $ git config --global alias.co checkout $ git config --global alias... 阅读全文

posted @ 2014-03-20 22:51 YoungerChina 阅读(149) 评论(0) 推荐(0) 编辑

[Git]08 如何自动补全命令
摘要: [Git]08如何自动补全命令 如果你用的是 Bash shell,可以试试看 Git 提供的自动完成脚本。下载 Git 的源代码,进入 contrib/completion 目录,会看到一个git-completion.bash 文件。将此文件复制到你自己的用户主目录中(译注:按照下... 阅读全文

posted @ 2014-03-20 22:50 YoungerChina 阅读(320) 评论(0) 推荐(0) 编辑

[Git]07 如何在提交过程中忽略某些文件
摘要: 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。来看一个实际的例子: $ cat .gitignore... 阅读全文

posted @ 2014-03-20 22:50 YoungerChina 阅读(184) 评论(0) 推荐(0) 编辑

[Git]06 如何提交空目录
摘要: git和 svn不同,仅仅跟踪文件的变动,不跟踪目录。所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的。 只跟踪文件变化,不跟踪目录,这么设计是有原因的。但这会带来一些小麻烦。有时候,确实需要在代码仓库中保... 阅读全文

posted @ 2014-03-20 22:49 YoungerChina 阅读(466) 评论(0) 推荐(0) 编辑

[Git]05 如何使用分支
摘要: 作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可。 几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,... 阅读全文

posted @ 2014-03-20 22:46 YoungerChina 阅读(150) 评论(0) 推荐(0) 编辑

[Git]04 如何使用标签
摘要: Git也可以对某一时间点上的版本打上标签。人们在发布某个软件版本(比如 v1.0 等等)的时候,经常这么做。 本节我们一起来学习如何如何新建标签,列出所有可用的标签,以及各种不同类型标签之间的差别。 常用命令 1. 创建含注释标签 $ git tag -a ... 阅读全文

posted @ 2014-03-20 22:44 YoungerChina 阅读(151) 评论(0) 推荐(0) 编辑

[Git]03 如何查看提交历史
摘要: 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 gitlog 命令查看。 常用命令 1.查看提交历史 $ git log 2.查看某个文件或者某个目录的递交历史 $ git log -p 3.查看最近N次的递交历史 ... 阅读全文

posted @ 2014-03-20 22:42 YoungerChina 阅读(160) 评论(0) 推荐(0) 编辑

[Git]02 如何简单使用
摘要: 本章将介绍几个最基本的,也是最常用的 Git命令,以后绝大多数时间里用到的也就是这几个命令。 初始化一个新的代码仓库,做一些适当配置;开始或停止跟踪某些文件;暂存或提交某些更新。我们还会展示如何让 Git忽略某些文件,或是名称符合特定模式的文件;如何既快且容易地撤消犯下的小错误;如何浏... 阅读全文

posted @ 2014-03-20 22:40 YoungerChina 阅读(162) 评论(0) 推荐(0) 编辑

[Git]01 如何安装和配置
摘要: 简单地说,Git 究竟是怎样的一个系统呢? 请注意,接下来的内容非常重要,若是理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。在开始学习 Git 的时候,请不要尝试把各种概念和其他版本控制系统(诸如 Subversion 和 Perforce 等)相比拟,否则容易... 阅读全文

posted @ 2014-03-20 22:38 YoungerChina 阅读(184) 评论(0) 推荐(0) 编辑

[ext4]09 磁盘布局 - superblock备份机制
摘要:如果sparse_super特性flag被设置(即开启了sparse_super特性),那么super_block和组描述符的副本只会保存在group索引为0或3、5、7的整数幂。 如果没有设置sparse_super特性flag,super_block和组描述符的副本将保存在每一个group中... 阅读全文

posted @ 2014-03-13 19:40 YoungerChina 阅读(803) 评论(0) 推荐(0) 编辑

[ext4]磁盘布局 - group分析
摘要:ext4文件系统的磁盘布局是先把磁盘分成一个个相同大小的block块(每个block块的大小默认是4K),然后把这些block块合成一个个group。 group大小最大为256M(默认为256M),其计算公式: Group_size = (blk_size*8)*blk_size=4096*8... 阅读全文

posted @ 2014-03-13 19:37 YoungerChina 阅读(1355) 评论(0) 推荐(0) 编辑

[ext4]01 磁盘布局 - block分析
摘要:ext4文件系统最基本的分配单元是“block”(块)。 block是由一组连续的sectors来组成,其大小介于1k~4K之间,当然不可能是任意值,只能是2的整数次幂个sectors。然后连续的blocks再组成group。Block的大小是在mkfs时指定的,默认是4K。 默认情况下,系统可... 阅读全文

posted @ 2014-03-13 19:34 YoungerChina 阅读(862) 评论(0) 推荐(0) 编辑

[工具技巧] SecureCRT使用技巧 V1.0
摘要:本文档适用对象为需要使用secureCRT做系统或网络等调试的工程师,其必须有用过该款软件,基础功能会使用。对于那些需要修改大量设备的配置时像远程升级等等,更应该学习本文档。 1 SecureCRT性能优化 1.1 外观优化 1.1.1 外观优化说明 安装后默认背景界面... 阅读全文

posted @ 2014-03-11 15:40 YoungerChina 阅读(446) 评论(0) 推荐(0) 编辑

[内存管理]管理图解v0.1 v0.2 v0.3
摘要:内存管理图解v0.1 内存管理图解v0.2 内存管理图解v0.3  阅读全文

posted @ 2014-03-10 22:12 YoungerChina 阅读(189) 评论(0) 推荐(0) 编辑

内核源码目录结构
摘要:浏览内核代码之前,有必要知道内核源码的整体分布情况,按照惯例,内核代码安装在/usr/src/linux目录下,该目录下的每一个子目录都代表了一个特定的内核功能性子集,下面针对2.6.23版本进行简单描述。 (1)Documentation。 这个目录下面没有内核代码,只有很多质量参差不齐的... 阅读全文

posted @ 2014-03-10 21:17 YoungerChina 阅读(1546) 评论(0) 推荐(0) 编辑

共享内存删除的安全“陷阱”
摘要:共享内存就是使多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到进程间的同步及互斥。其他进程能把同一段共享内存段“连接到”他们自己的地址空间里去。所有进程都能访问共享内存中的地址。如果一个进程向这段共享内存... 阅读全文

posted @ 2014-03-07 15:45 YoungerChina 阅读(1416) 评论(0) 推荐(0) 编辑

基于header的一些常用指令详解
摘要: header常用指令 header分为三部分: 第一部分为HTTP协议的版本(HTTP-Version); 第二部分为状态代码(Status); 第三部分为原因短语(Reason-Phrase)。 // fix 404 pages: 用这个header指令来解决URL重写产生的404 ... 阅读全文

posted @ 2014-03-01 00:09 YoungerChina 阅读(440) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示