- 3
- 0
- 约1.15万字
- 约 88页
- 2019-09-06 发布于广东
- 举报
pipe(fd) int fd[2]; 1. 分配一个inode,(i_count=2); 2. 分配2个file表目(f_flag分别为PipeR和PipeW,读/写指针 offset为0) 3. 分配2个u_ofile表目, 分别指向2个file表目; 4. 返回2个文件描述符fd[0],fd[1], 分别为u_ofile中的2个入口。 pipe文件的使用 读(read):读指针追上写指针,读者等待; 写(write):写指针追上读指针,写者等待; 关闭:无读者,信号通知写者;无写者,唤醒等待读者; link(oldpathname, newpathname) oldpathname: 已存在文件名; newpathname: 待连接文件名; 1. 查目录找到oldpathname(inode); 2. 查目录找到newpathname的末级目录; 3. 检查操作合法性; 4. Inode的i_nlink++; 5. (name, i_number)?newpathname的末级目录。 例子: link(“d1/d2/f1”,“d1/d3/f2”) d1,d2,f1: 存在; d1,d3: 存在,f2: 不存在, 7.6.3 文件系统的安全 Backup 定期将磁盘上文件复制到磁带上 发生故障时由磁带恢复(limited recovery) 实现方法 海量转储 定期将磁盘上文件全部复制到磁带上 增量转储 每次只复制修改部分 磁盘整理 利用转储和恢复可以对磁盘进行整理(使文件物理块连续,空闲盘块连续) 7.7 文件系统的实现 7.7.1 内存所需表目 系统打开文件表(系统一个) FCB主部 文件号 共享计数 修改标志 7.7 文件系统的实现 7.7.1 内存所需表目 用户打开文件表(每个进程一个) 打开方式 读写指针 系统打开文件表入口 文件描述符 7.7 文件系统的实现 打开方式 读写指针 系统打开文件表入口 … … … … … … 打开方式 读写指针 系统打开文件表入口 … … … … … … FCB主部 文件号 共享计数 修改标志 系统打开文件表 2 … 文件描述符 文件描述符 用户打开文件表 15 … 外存空间的管理 空闲块表 空闲块链 字位映像图 UNIX:成组连接 空闲块管理(成组连接): 100个空闲块为一组,组之间相互链接,最前面的组缓冲到内存。 … s_nfree=66 s_free[0] s_free[1] ... s_free[65] ... Super block ... ... ... ... ... 特点:速度快,空间省。 空闲块管理: 申请时: (1) s_nfree1, 取s_free[--s_nfree]; (2) s_nfree=1, 将s_free[0]所指连接块读入内存,分配s_free[0]. 释放时: (1) s_nfree100, s_free[s_nfree++]=释放块号; (2) s_nfree=100, 将s_nfree和s_free拷贝到释放块中, 将该块号记录到s_free[0], 写回外存, s_nfree=1, 7.8 文件系统的界面 创建文件 命令形式:creat(path_name, fcb_args) 参数说明 Path_name: 文件路径名 Fcb_args: FCB参数 执行步骤: (1) 为此文件分配一个FCB主部,初始化 (2) 将文件名和文件号作为FCB次部填到末级目录中 (3) 以写方式打开 例如: creat(“/usr/li/d1/f1”, mode) 7.8 文件系统的界面 打开文件 命令形式: fd=open(path_name, mode) 参数说明 path_name: 文件路径名; mode: 打开方式. 执行步骤 (1) 根据文件路径名查目录找到FCB主部; (2) 合法性检查(根据打开方式、共享说明、用户身份); (3) 根据文件号查系统打开文件表看该文件是否已被打开, 如是共享计数加1; 否则取一个空闲的系统打开文件表项并将外存中 FCB主部等信息填入此表项, 共享计数置为1; (4) 在用户打开文件表中取一空表项, 填写打开方式和读写指针, 并指向系统打开文件表的对应表项. 返回信息: fd: 文件描述符(在用户打开文件表中的入口), 它是一个非负整数. 7.8 文件系统的界面 关闭文件 命令形式: close(fd) 参数说明 fd: 文件描述符. 执行步骤: (1) 由fd查用户打开文件表, 找到系统打开文件表入口; (
您可能关注的文档
- 2012高考数学一轮复习:1.3.1《算法案例——辗转相除法与更相减损术》课件(人教A版必修3).ppt
- 第8章+编辑三维图形.ppt
- 【鄂教版】九年级上册《骆驼赋》教学课件.ppt
- 2.3~2.4离子晶体的结构共价晶体的结构.ppt
- 4_20090305100303_cCVENiVGNyVCNiVBRiVCOSVCNSVDRCVBOCV师生交往新观念主动沟通.ppt
- 2008浙江省高考英语完型填空专题辅导教学课件 .ppt
- 2013保温杯新品推荐(最新) .ppt
- ch3-1(2)+定积分的性质.ppt
- 必修1+第三单元+北美大陆上的新体制20110305.ppt
- 第一节蒙太奇.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)