linux文件系统中的异步处理
当系统加载一个文件到内存后,若没有被改动过,则在内存区段的文件数据会被设置为(clean)的。但是如果文件被改动过了,此时内存中的文件数据会被设置成dirty,此时所有的操作都还在内存中执行,并没有写到磁盘中。系统会不定时地将内存中的数据设置为dirty的文件写回磁盘,保持磁盘与内存数据的一致性。
作用:所有的数据都得要加载到内存后CPU才能对该数据处理,但是若是编辑一个很大的文件,需要系统频繁写入磁盘,磁盘写入效率特别低,异步处理可以提高效率。
链接文件
hard link(硬连接或者实际连接)
linux下有可能多个文件名对应相同的inode。hard link只是在某个目录下新建一条文件名连接到某个inode的关联记录。两个文件名连接到同一inode,这两个文件名的所有的相关信息都是一模一样。可以通过任意一个文件名来对文件修改,删除一个不会破坏数据,数据比较安全。只是在某个目录下的block多写入一个相关数据,既不会增加inode也不会耗用block数量(一般情况)。
hard link的限制:
不能跨文件系统,不能连接到目录。
symbolic link(符号连接,即是快捷方式)
符号连接又叫软连接,会创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件的文件名,会用掉inode和block。
当源文件被删除后,该连接文件会无法打开。(因为找不到源文件的“文件名”)
symbolic link虽然没有hard link安全,但是限制少,目录同样适用,用途广泛。
用ln建立硬连接;ln -s 建立符号连接;ln -f 目标文件存在时,主动将目标文件删除后在创建。
当我们新建一个目录时,新目录的连接数为2,上层目录的连接数会加1。
为什么fdisk /dev/hdc 无效,需要调用fdisk /dev/sda
跟硬盘的模式有关:(我的硬盘是sda)
hda一般是指IDE接口的硬盘,hda一般指第一块硬盘,类似的有hdb,hdc等
IDE接口优点:价格低廉、兼容性强、性价比高
IDE接口缺点:数据传输速度慢、线缆长度过短、连接设备少
目前大多已经被淘汰
sda一般是指SATA接口的硬盘,sda一般指第一块硬盘,类似的有sdb,sdc等
现在的内核都会把硬盘,移动硬盘,U盘之类的识别为sdX的形式
通过fdisk /dev/sda命令,进入磁盘管理,可以删除或者新增分区等一系列操作,可以玩玩,不要按w保存,否则容易出问题,q表示不保存并退出。
mkfs 或者mk2fs可以用来格式化分区
fsck可用来检测文件系统是否出错
badblocks可用来检查硬盘或软盘扇区有没有坏轨的命令