易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux学习笔记零零五

1. 文件系统的定义
三个方面:
某种文件格式、以某种格式存储的设备、某种管理文件的机制。
2. VFS与文件系统
VFS是虚拟文件系统的缩写。不同的文件系统有不同的格式、管理机制和实现。VFS则是各种文件系统必须遵守的API规范。
3. 进程与文件系统
task_struct中有两个指针,一个指向fs_struct,记录了文件系统相关的属性;一个是file_struct,记录了所有打开的文件列表。
4. inode与identry
一个文件可以有多个文件名,通过不同的文件名访问有不同的权限。identry对应文件名,而inode对应文件。identry与inode是一对一或者多对一的关系。
5.连接
一个inode直接连接另一个inode就叫连接;如果两个inode在同一个文件系统中,就叫普通连接。如果两个inode可能不在同一个文件系统中,就叫符号连接,符号连接可能悬空。
6.目录与文件
目录也是文件,如果一个目录不在任何目录之内,这个目录就叫根目录。
每个文件系统都有一个根目录,这个根目录也是文件系统的入口。通过根目录可以访问该文件系统内的所有文件和目录。
整个系统有一个根目录,这个根目录是整个系统的入口。通过系统根目录可访问该系统内的所有文件和目录。
文件系统的根目录挂在系统根目录下。
系统的根目录一般是引导操作系统的文件系统的根目录。
7. 超级块
超级块记录了文件系统的一些属性。以EXT2文件系统为例,
第一个部分是magic number,通过该number,文件系统管理器可识别该文件系统为EXT2.
此外,还记录了数据块的大小,每个组中数据块的数量,总的数据块的数量,空闲的数据块的数量。
超级块还记录了第一个inode的位置,第一个inode就是该文件系统的根目录。
文件系统一般分为四部分;
引导区:用来存储操作系统引导程序;
超级块;
inode块:记录了所有的inode;
数据块;
8. 文件系统与磁盘驱动
文件系统不会知道数据存储的具体位置,这个由磁盘驱动来处理。文件系统处理的就是数据块。
9. 超级块的同步
在系统启动后,超级块会从存储设备上导入到内存中,此时,就会存在内存中的超级块与存储设备中的超级块同步的文件。
一般来讲,在系统启动时和关闭时,两部分是同步的。内核会定期同步两部分的数据。
当系统由于突然掉电而关机时,数据就没有得到同步。文件系统的完整性被破坏。
Unix系统的处理办法是,在系统启动时,从掉电时对应的内存中的超级块中取出数据,与存储设备中的超级块同步。
这也是Unix比windows稳定的原因。


相关文档:

实战Linux Bluetooth编程(六) L2CAP编程实例

例一:发送Signaling Packet:
Signaling Command是2个Bluetooth实体之间的L2CAP层命令传输。所以得Signaling Command使用CID 0x0001.
多个Command可以在一个C-frame(control frame)中发送。
 如果要直接发送Signaling Command.需要建立SOCK_RAW类型的L2CAP连接Socket。这样才有机会自己填充Command Code,Identi ......

实战Linux Bluetooth编程 (七) SDP协议

Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......

使用Qemu来调试linux内核

Qemu是一个优秀的开源ISA模拟器,支持很多体系结构,当然包括x86。Qemu提供调试功能,可以对被模拟进行调试。
Qemu主页http://fabrice.bellard.free.fr/qemu/
Qemu下载页面http://fabrice.bellard.free.fr/qemu/download.html 包括源码,可执行文件,已制作好的disk file等
Qemu有使用说明文档http://fabrice.bella ......

linux下查看java路径

用命令 whereis java就可以看到了
eg:
-bash-3.1$ whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java /opt/jdk1.6.0_01/bin/java

如果仅仅想知道java执行路径在那里的话 用which java就可以了
eg:
-bash-3.1$ which java
/usr/bin/java ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号