Linux kernel VFS
lcw_202
这个作者很懒,什么都没留下…
展开
-
《独辟蹊径品Linux内核源代码导读》VFS一章内容笔记
磁盘以扇区作为基本的存储单位,目前每个扇区有512个字节。硬盘的第一个扇区保存了MBR,分区表和结束标志55AA:前446个字节为MBR代码,后64个字节为分区表,每个分区表占用16个字节,最多有4个分区表,最后4个字节为结束标志55AA.磁盘是机械结构的,在进行读写是,需要先控制磁头移动到指定磁道,成为寻道时间,然后等相应扇区旋转到磁头下面,成为旋转延时,最后才通过DMA把指定扇区读入内存。因此如果文件是连续的,那么只需要一次寻道延时间和一次旋转延时,就可以把文件内容全部读入内存,否则就需要多次寻道时间和原创 2011-01-09 16:27:00 · 1278 阅读 · 0 评论 -
linux RamDisk 使用简介
1、Ram Disk介绍1.1 什么是Ram DiskRam Disk 就是将内存中的一块区域作为物理磁盘来使用的一种技术。对于用户来说,可以把RAM disk与通常的硬盘分区(如/dev/hda1)同等对待来使用。1.2 Ramdisk与硬盘分区的不同RAM disk不适合作为长期保存文件的介质,掉电后Ramdisk的内容会随内存内容的消失而消失。R转载 2013-01-23 10:21:17 · 860 阅读 · 0 评论 -
How Linux iostat computes its results
with one commentiostat is one of the most important tools for measuring disk performance, which of course is very relevant for database administrators, whether your chosen database is Postgres,转载 2012-12-28 10:46:14 · 637 阅读 · 0 评论 -
Analyzing I/O performance
Analyzing I/O performanceThere are probably thousands of articles on the Internet about disk statistics in Linux, what various columns mean, how accurate the information is, and so on. I decided to转载 2012-12-07 17:05:54 · 886 阅读 · 0 评论 -
proc sys
struct pid_namespace { struct kref kref; struct pidmap pidmap[PIDMAP_ENTRIES]; int last_pid; struct task_struct *child_reaper; struct kmem_cache *pid_cachep; unsigned int原创 2012-11-07 14:42:27 · 774 阅读 · 0 评论 -
Btrfs Code documentation
Btrfs Code documentation (2010-08-15 23:28) 转载 分类: Linux Filesystem Kernel and Utilities 尽最大的可能在内核和应用程序之间共享代码。他们代码主要的不同在于启动和跟踪IO的代码。Btrfs内的任何一个项目都应该试着来保持内核和应用程序的更新,并且保持他们之间的代码通用。对于Btrf转载 2012-03-02 00:25:52 · 1081 阅读 · 0 评论 -
VFS 结构
1 ext2 文件系统索引节点(inode)结构:struct ext2_inode //include/linux/ext2_fs.h 该结构描述的是一个文件在物理磁盘中的相关信息,其中的i_block数组存储的就是该文件的数据。2 ext2 的目录项结构:struct ext2_dir_entry_2//include/linux/ext2_fs.h 目录也是一个文件,也占用一个inode,通过该inode的i_block数组就能访问但该目录的数据。目录的数据是由一定的格式原创 2011-03-08 01:28:00 · 1154 阅读 · 0 评论 -
文件系统的系统调用过程
<br />有关文件系统的系统调用中有好几个,这里分析了其中的系统调用open、sys_read。其它的系统调用参阅内核源代码。 系统调用open <br />系统调用open是由函数sys_open(fs/open.c)实现的。函数sys_open最终通过具体文件系统的节点的lookup函数,用文件路径名查找得到路径名对应的dentry结构,通过dentry得到对应的inode结构,分配文件描述符,用fd文件描述符作为file的索引,用dentry结构中数据填充这个file结构。以后对这个转载 2011-01-13 20:43:00 · 1536 阅读 · 0 评论 -
《独辟蹊径品Linux内核源代码导读》VFS一章内容笔记2
Linux 支持各种不同的文件系统,同时对上层抽象出一个统一的接口,例如应用程序无需关心文件系统的细节,只需要调用open,read,write等系统调用,就能够对文件进行操作。为此提出了虚拟文件系统(Virtual FileSystem),对于不同的文件系统,它的磁盘文件的结构布局肯定是不一样的,但是虚拟文件系统屏蔽了这些差异,向上层提供一个统一的接口。虚拟文件系统管理的结构包括超级块,Inode,目录项等。每一个文件系统驱动程序都有一个文件系统对象,定义如下:struct file_system_typ原创 2011-01-09 23:34:00 · 1367 阅读 · 0 评论 -
Linux逻辑卷管理(LVM)详细教程
测试环境:RHEL5.3;硬盘8G,1000M一个分区分成6个一、创建逻辑卷的步骤:1)通过pvcreate命令将linux分区处理成物理卷(PV);2)通过vgcreate命令将创建好的物理卷处理成卷组(Vg);3)通过lvcreate命令将卷组分成若干个逻辑卷(Lv);之后我们可以对逻辑卷进行格式化,挂载,删除等操作,我们可以动态的调整逻辑卷的大小,并且该操作不会影响我转载 2013-01-14 10:33:30 · 886 阅读 · 0 评论