Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2974618
  • 博文数量: 523
  • 博客积分: 11908
  • 博客等级: 上将
  • 技术积分: 5475
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-03 15:50
文章分类

全部博文(523)

文章存档

2019年(3)

2013年(4)

2012年(71)

2011年(78)

2010年(57)

2009年(310)

分类: LINUX

2009-04-13 19:37:21

系统调用与设备IO

 

Linux文件系统与设备驱动

下图为Linux系统中虚拟文件系统、磁盘文件(存放于RamDiskFlashROMSD卡、U盘等文件系统中的文件也属于磁盘文件)及一般的设备文件与设备驱动程序之间的关系。

应用程序和VFS之间的接口是系统调用,而VFS与磁盘文件系统以及普通设备之间的接口是file_opersations结构体成员函数,这个结构体包含对文件进行打开、关闭、读写、控制的一系列成员函数。

由于字符设备的上层没有磁盘文件系统,所以字符设备的file_opersation成员函数就直接由设备驱动提供了,file_opersation正是字符设备驱动的核心。

而对于块存储设备而言,ext2fatjffs2等文件系统中会实现针对VFSfile_opersation成员函数,设备驱动层将看不到file_opersation的存在,磁盘文件系统和设备驱动会将对磁盘上文件的访问最终转换呈对磁盘上柱面和扇区访问。

 

 

阅读(1707) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~