【我的笔记】文件系统(三)文件操作、文件缓存/共享/保护/恢复

(一)文件操作

VFS 在读写操作之外提供了文件打开和关闭操作。

1、打开操作(open)——负责文件路径名解析和权限检查

打开操作创建file结构,一个 file 结构描述一个进程对一个文件或一种 I/O 操作方式,成为打开文件对象。ucore 的 file 结构:

ucore 为每个进程准备了一个 file 结构数组,称为文件描述符表:

idleproc 进程的 files_struct 是单独建立的,其余进程是从父进程复制的。

文件打开操作 open 。(具体过程见 ppt)

获得文件描述符后可对其进程行I/O 操作。在所有的文件I/O操作中,用文集爱你描述符代替文件名,避免路径名的重复解析。读写操作后会自动调整读写头的位置。

2、关闭操作(close)——释放打开文件对象

具体过程见 ppt。

3、文件读操作(read)

具体过程见 ppt。

4、文件写操作(write)

具体过程见 ppt。

文件读写两种方式:①直接读写(read、write);②间接读写(mmap 类系统调用--> 将文件映射到进程,读写时缺页,将工作交给虚拟内存管理)

5、

6、Linux 的 open、close、read、write、seek (具体见 ppt)

关闭操作不会删除文件,不能再用描述符使用,还在系统中还可以再次打开。问阿金一旦被删除,就永远从系统消失了。write 返回的是真正写入的字节数,可能少于 count 参数。seek 将文件fd的读写头重定位到参数 offset 处。


(二)文件缓存/共享

1、文件缓存

暂存文件内容的内存称为文件缓存。

建立缓存的方法——链表、Hash 表、基数树(类似于多级页表)

2、文件共享

共享 --> 一个文件能被多个用户或进程使用 -->可以实现进程间通信。

文件属主(owner)——文件拥有者;文件组(group)——一组用户,可共享该文件;其他用户(others)——既不是属主也不是同组用户

文件的共享权限:

多个用户同时存取一个共享文件 --> 保持文件的一致性(完整性) --> 与进程的同步密切相关

3、文件保护

保护 -->文件存取控制,限制用户对文件的存取操作。

对文件的操作通常包括:读、写、执行、执行、追加、删除、列表、拷贝、换名等。

(1)直接保护方法

为每个文件或者目录定义一个存取控制表ACL(Access Control List),规定各用户可执行的操作。

浓缩 ACL——把用户分为三类(文件属主、同组用户、其他用户),值规定每类用户的存取权限。将文件的存取权限浓缩为三种(读、写、执行)。

若觉得9位太粗,可以加 ACL,Linux 对两种均支持。--> 位图 + ACL

Windows --> DACL(自主存取控制表)

(2)其他保护方法

4、文件恢复

保证文件系统可靠性 --> eg:RAID、备份与恢复

备份方法:全量备份、增量备份 --> 异地备份、灾难恢复

由于缓存,文件系统的数据同时存在于内存和外存,需要保证一致性 --> 事务和日志。

(1)事务:完成一个特定任务所需的一组操作称为一个事务

为保证文件系统的一致性,事务应具有原子性。 --> 需在外存增加一个日志

(2)日志:记录各种事务

EXT4上增加了日志,EXT3还没有。

日志与事务能够保证系统的一致性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,258评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,335评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,225评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,126评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,140评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,098评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,018评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,857评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,298评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,518评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,400评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,993评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,638评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,661评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容

  • word直接复制来了,格式就不改了。至于这门课怎么复习,只要平时实验都认真完成、报告认真写,平时分都很高;考试的话...
    Jozhn阅读 4,545评论 0 8
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,158评论 2 33
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,731评论 0 10
  • 需要原文的可以留下邮箱我给你发,这里的文章少了很多图,懒得网上粘啦 1数据库基础 1.1数据库定义 1)数据库(D...
    极简纯粹_阅读 7,421评论 0 46
  • 我们在奋斗什么? 这是一篇日记,记录的是和几个同龄人的聊天内容,这是一次关于生活和工作的聊天,是对我们认为的今后人...
    小杨_Simon阅读 316评论 1 1