unix windows 区别裸设备 rlv 跟lv什么区别

UNIX系统中,字符设备(裸设备)和块设备的区别
在类UNIX操作系统中,常见的设备文件由两类:Block Device Drive和Character Device
Drive两类。
Character Device Drive又被称作字符设备或者裸设备raw devices,Block Device
Drive通常称为块设备;Block Device Driver是以固定的大小长度来传送转移资料,Character Device
Driver是以不定长度的字元传送资料。他们所连接的Devices也有所不同,Block Device大致是可以随机存储(Random
Access)资料的设备,如硬盘,光盘等,而Character
Device则刚好相反,遵循先后顺序来存储资料的设备,例如终端机、键盘等。
字符设备和块设备的主要区别是:在对于字符设备发出读写请求时,实际的硬件I/O一般就紧接着发生了,而块设备则不然,它利用一块系统内存作为缓冲区,当用户进程对设备请求满足用户要求时,就返回请求的数据,如果不能就调用请求函数来进行实际的I/O操作。因此,块设备主要是针对硬盘灯慢速设备设计的,以免消耗过多的CPU时间来等待。
/dev/disk对应的为块设备,文件系统操作用到它,如mount,/dev/rdisk对应的为字符设备(裸设备,rdisk的r即为raw)。一般的来说,我们的操作习俗的各种软件都是以块的方式来进行读写硬盘的,这里的块是逻辑上的块,创建文件系统时可以选择,windows里面叫做簇。
字符设备还是块设备的定义属于操作系统的设备访问层,与实际物理设备的特性无必然联系。设备访问曾下面是驱动程序,所以操作系统能够支持的设备访问方式是驱动程序所提供的访问方式。也就是说驱动程序支持stream的方式,那么就可以用这种方式访问,驱动程序如果还支持block方式,那么你想用哪一种方式就使用哪一种方式。
块设备的一个典型的例子就是,硬盘式的裸设备,两种都支持块设备(Block
Device):是一种具有一定结构的随机存储设备,对这种设备的读写是按照块来进行的,他使用缓冲区来存放暂时的数据,等到条件成熟后,从缓存一次性的写入设备或从设备中一次性读取放入到缓存区中。
在来一个字符型设备的例子,磁盘和文件系统等字符设备(Character
Device):这是一个顺序的数据流设备,对于这种设备的读写是按照字符来进行的,而且这些字符是连续的形成一个数据流,它不具备缓冲区,所以对这种设备的读写是实时的,如终端、磁带机等等
两种类型的守则的根本区别在于他们是否可以被随机访问,也就是说,能否在访问设备时随意的从一个位置跳转到另外一个位置。举一个例子,键盘这种设备提供的是一个数据流,当敲入"fox"这个字符串的时候,键盘驱动程序会安装和输入完全相同的顺序返回这个由三个字符组成的数据流。如果让键盘驱动程序打乱顺序来读字符串,或读取其他字符,都是没有意义的。所以键盘就是一个典型的字符设备,他提供的功能就是用户从键盘输入的字符流。对键盘进行读操作会得到一个字符流,首先是"f",然后是"o",最后是"x",最终是文件的结束符(EOF)。当用户没有敲键盘的时候,字符流就是空的,硬盘设备的情况就不一样了,硬盘设备的驱动可能要求读取磁盘上任意一块数据,然后又转去读取别的块的内容,而被读取的块在磁盘上的位置不一定要连续,所以说硬盘可以被随机访问,而不是以流的方式被访问,显示它是一个块设备
再者,内核管理块设备要比管理字符设备细致的多,需要考虑的问题和完成的工作相比字符设备来说要复杂的多,这是因为字符设备被仅仅需要
控制一个位置——当前位置,而块设备访问的位置必须能够在介质的不同区间前后移动,所以事实上内核不必提供一个专门的子系统来管理字符设备,但是对于块设备的管理则必须有一个专门提供服务的内核子系统,不仅仅是因为块设备的复杂性远远高于字符设备,更重要的原因是块设备对执行性能的要求很高;对硬盘每多一分的利用都会对整个系统性能带来提升,其效果要远远比键盘吞吐速度成倍的提升大的多。
在Linux驱动程序中字符设备和块设备的三点区别:
1、字符设备只能以字节为最小单位进行访问,而块设备以块为单位访问,如512字节,1024字节不等
2、块设备可以随机访问,但是字符设备不可以
3、字符和块没有访问量大小的限制,块也可以以字节为单位来访问
简单的来讲,块设备可以随机存储,而字符设备不能随机存取,那么裸设备这种东西又该怎么解释呢?
难道裸设备,如磁盘裸设备也不能随机读取吗?那在数据库中用裸设备创建一个2G的数据文件,为了存储最后一个数据块,难道oracle还要把前面的所有数据块都读一遍,显然这
样的操作不符合事实,如果这样解释呢,操作系统不能随机读取,并不意味着数据库也不能随机读取
块设备通过系统缓存进行读取,不是直接和物理磁盘读取,字符设备可以直接物理磁盘读取,不经过系统缓存。(如检查,直接相应中断)
在oracle中使用裸设备的好处是什么?
因为使用裸设备避免了在经过unix操作系统这一层,数据直接从disk到oracle之间进行无缝传输,所以使用裸设备对于读写频繁的数据库应用来说,可以极大的提高数据库系统的性能,当然,这是以磁盘的I/O非常大,磁盘I/O已经成为系统瓶颈的情况下才能力的,如果磁盘读写确实非常频繁,以至于磁盘读写成为系统瓶颈的情况成立,那么采用裸设备确实可以大大提高性能,最大甚至可以提高至40%,非常明显。
而且,由于使用了原始分区,没有采用文件系统的管理方式,对unix维护文件系统的开销也都没有了。比如不在需要维护i-node,空闲块等等,这也能够导致性能的提高。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。| 商品搜索:
| 热门汽车用品产品线: |
& 飞石讴歌专车专用真皮钥匙包KZ-045 讴歌(讴歌MDX RL TL)参数
参数显示:显示全部参数隐藏相同参数
产品名称 &&&产品图片
产品价格&&&价格趋势网上购买-&&&其他 &&&特色飞石 讴歌专车专用真皮钥匙包KZ-045 讴歌(讴歌MDX RL TL)&&&主体 &&&类别-&&&型号-&&&适用型号-&&&颜色-&&&材质-&&&产品品牌-&&&适用车型-&&&产地-&&&款式风格-&&&适用季节-&&&功率-&&&规格参数 &&&品牌-&&&
热门功能精品热门飞石功能精品[比较]关注该产品的用户还喜欢40-59元功能精品
高清大图推荐文章论坛热帖????????????????????热门产品推荐产品??????????????????????????????
,,最精彩的内容尽在泡泡网
&&Copyright &
PCPOP, All Rights Reserved 泡泡网 版权所有
求鉴定更多Oracle裸设备与文件系统_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
11页免费11页免费45页免费6页免费360页免费3页免费4页免费5页免费13页免费4页免费
喜欢此文档的还喜欢11页免费74页7下载券8页7下载券11页免费3页免费
Oracle裸设备与文件系统|O​r​a​c​l​e​裸​设​备​与​文​件​系​统
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢裸设备原理知识_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
11页免费6页2下载券23页2下载券34页2下载券4页免费3页4下载券61页7下载券22页2下载券96页2下载券107页1下载券
喜欢此文档的还喜欢5页2下载券111页1下载券5页免费19页免费2页免费
裸设备原理知识|裸​设​备​知​识
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 linux与unix的区别 的文章

 

随机推荐