摘要: 5、层与层之间的调度员:IO ManagerIO Manager 或称IO Scheduer。每个操作系统都会有这样一个角色,它专门负责上层程序的IO请求,然后将IO请求下发到对应的模块和设备驱动中执行,然后将结果通知给上层程序,当某个程序师徒访问某个文件的时候,它其实并没有和文件系统打交道,而只是在与IO Manager打交道,而只是在与IO Manager 打交道。1、某时刻,图中的“Subsystem”这里就是指某个应用程序,向OS(System Service)发起了对某个文件对象,或者某个设备的open操作,欲打开这个文件或者设备对其进行进一步的操作。2、IO Manger只是一个调 阅读全文
posted @ 2013-04-09 19:50 长烟慢慢 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 4、卷管理层IO卷管理层在某种程度上来讲是为了弥补底层存储系统的一些不足之处的,比如LUN空间的动态管理等。卷管理层最大的任务是做Block级的映射。对于IO的处理,卷层只做了一个将映射翻译之后的IO向下转发的动作以及反向过程。另外,应用程序可以直接对某个卷进行IO操作而不经过文件系统。我们所说的不经过文件系统,并不是说Bypass系统内核缓存的Direct IO,而是完全不需要FS处理任何块映射关系。这时就需要由应用程序自行管理底层存储空间,而且此时不能对这个卷进行FS格式或者其他未经应用程序运行的更改操作,一旦发生将导致数据被破坏。卷管理层将底层磁盘空间虚拟化为灵活管理的一块块卷,然后又将 阅读全文
posted @ 2013-04-09 19:48 长烟慢慢 阅读(433) 评论(0) 推荐(0) 编辑
摘要: 1、IT系统的IO结构图2、应用程序层IO应用层程序是计算机系统内主动发起IO请求的大户,但是要知道,计算机内不止有应用程序可以向底层存储设备主动发起IO请求,其他的,比如文件系统自身、卷管理层自身、适配器驱动层自身等,都可以主动发起IO。当然,只有应用程序发起的IO才可以修改用户实体数据内容,而其他角色发起的IO一般只是对数据进行移动、重分布、校验、压缩、加密等动作,并不会修改用户层面的实际数据内容。应用程序在读写数据的时候一般是直接调用操作系统所提供的文件系统API来完成文件数据的读写等操作,有的应用程序可以直接调用卷管理层或者适配器驱动层API从而直接操控底层的卷或者LUN,比如一些数据 阅读全文
posted @ 2013-04-09 05:04 长烟慢慢 阅读(850) 评论(0) 推荐(0) 编辑