- 1、本文档共25页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计 文件系统接口
目录
实验名称 - 1 -
模块整体功能介绍及主要目标 - 2 -
头文件的分析 - 4 -
数据结构的分析 - 4 -
函数的分析 - 7 -
1,namei()函数 - 7 -
2.Dir_namei - 10 -
3.Find_entry函数 - 11 -
5.sys_read() - 15 -
6.block_read()和block_wriet()函数 - 18 -
sys_lseek()函数 - 21 -
9getblk()函数 - 24 -
sys_mkdir()函数 - 25 -
其他函数 - 27 -
分析体会 - 27 -
参考文献 - 29 -
操作系统课程设计实验报告
实验名称
文件系统接口实现源代码分析
模块整体功能介绍及主要目标
第一部分是有关高速缓冲区的管理程序,主要实现了对硬盘等块备进行数据高速存取的函数。
第二部分代码描述了文件系统的低层通用函数,说用文件索引节点的管理。磁盘数据块的分配和释放以及文件名与i节点的转换算法,
第三部分程序是有关对文件中数据进读写操作,包括对字符设备,管道块读写文件中数据的访问,
第四部分的程序主要涉及文件的系统调用接口的实现,主要涉及文件打开,关闭。创建以及有关文件目录操作等的系统调用
文件系统对操作系统对设备的读写操作提供了一个中间层,上层应用程序只要调用上层的接口函数如readfile()函数,传入参数路径和文件名就可以了.对用户来说,他不用知道文件保存的具体的位置,是如何保存在硬件设备上的,用户只需要知道文件名和路径就可以了.其他的事由操作系统中的文件系统来完成.组用户的操作带来了方便也,使系统更安全.
引导块是计算机加电启动时可由ROM BIOS自动读入的执行代码和数据
超级块是用于存放盘设备上文件系统结构的信息,并说明各部分在大小
i节点图于说明i节点是否补使用,每个比特位代表一个i节点逻辑块位图用描述盘上的第个数据盘的使用情况,每个比特位代表盘上数据区中的一个数据据盘块。
逻辑块位图的第一个比特位代表盘上数据区中第一个数据盘块。当一个数据盘块被占用时,则逻辑块位图中相应比特位被置位
盘上的i节点部分存产着文件第中文件(或目录)的索引点,每个文件(或目录)都有一个i节点,每个i节点结构中存放着对应文件的相关信息,如文件宿主的id(uid),文件所属组id(gid),文件长度和访问修改时间等.
i节点位图最低比特位和i节点都闲置不用,并在创建文件系统时将i节点0的比特位置位
文件中的数据是放在磁盘块的数据区中的,而一个文件名则通过对应的i节点与这些数据块相联系,这些盘块的号码就存放在i节点的逻辑块娄组i_Zone[]中
block_dev,c,char_dev.c,pipe.c和file_dev.c都是为随后的程序read_write.c服务的。read_write.c程序主要实现了系统调用write()和read()。这4程序可以看作是系统调用与块设备,字符设备,管道“设备”和文件系统“设备”的接口驱动程序。
头文件的分析
#include linux/config.h 内核配置头文件。定义键盘语言和硬盘类型(HD_TYPE)可选项。
#include linux/sched.h 调度程序头文件,定义了任务结构task_struct、初始任务0 的数据,
还有一些有关描述符参数设置和获取的嵌入式汇编函数宏语句。
#include linux/kernel.h // 内核头文件。含有一些内核常用函数的原形定义。
#include asm/system.h // 系统头文件。定义了设置或修改描述符/中断门等的嵌入式汇编宏。
#include errno.h // 错误号头文件。包含系统中各种出错号。(Linus 从minix 中引进的)。
#include sys/stat.h // 文件状态头文件。含有文件或文件系统状态结构stat{}和常量。
在file_table.c 文件
struct file file_table[NR_FILE]; // 文件表数组(64 项)。
数据结构的分析
struct file { //文件结构
unsigned short f_mode; //文件操作模式
unsigned short f_flags; 文件打开和控制的标志
unsigned short f_count; 对应文件句柄(文件描述符)数
struct m_inode * f_inode; 指向对应i节点
off_t f_pos; 文件当前读写指针位置
};
struct d_inode { // i节点结构
unsigned short i_mode; //文件的类型
您可能关注的文档
- 拓展型课程茶道与茶艺科目设计.doc
- 担保公司应知应会基础知识汇编三.doc
- 拓展训练___破冰.doc
- 担保机构信用评级.ppt
- 招商与经销商管理.ppt
- 招商引资基本知识问答.doc
- 招人用人留人浅析.ppt
- 招商引资项目管理系统.doc
- 招商引资项目审批流程.doc
- 抓住用户,就是抓住IPTV的未来.ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
文档评论(0)