块设备 字符设备

news/2024/7/10 2:56:45 标签: 磁盘, character, 数据库, oracle, 优化, 终端

块设备 字符设备

块设备(block device):是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或从设备中一次性读出放入到缓冲区,如磁盘和文件系统等

 

字符设备(Character device):这是一个顺序的数据流设备,对这种设备的读写是按字符进行的,而且这些字符是连续地形成一个数据流。他不具备缓冲区,所以对这种设备的读写是实时的,如终端、磁带机等。

 

 

字符设备是裸设备 通过查看 ll /dev/vg00/ 下的内容 若开头带c字符的则为字符设备
块设备是文件设备 通过查看 ll /dev/vg00/ 下的内容 若开头带b字符的则为块符设备

 

字符设备驱动程序直接从用户进程传输数据,或传输数据到用户进程。

块设备是内核 为它们提供缓冲的磁盘设备。

 

系统中能够随机(不需要按顺序)访问固定大小数据片(chunks )的设备被称作块设备,这些数据片就称作块。最常见的 块设备 是硬盘,除此以外,还有软盘驱动器、CD-ROM 驱动器和闪存等等许多 其他 块设备。注意,它们都是以安装文件系统的方式使用的——这也是块设备一般的访问方式 。

另一种基本的设备类型是字符设备。字符设备按照字符流的方式被有序访问,像串口和键盘就都属于字符设备。如果一个硬件设备是以字符流的方式被访问的话,那就应该将它归于字符设备;反过来,如果一个设备是随机(无序的)访问的,那么它就属于块设备。

这两种类型的设备的根本区别在于它们是否可以被随机访问——换句话说就是,能否在访问设备时随意地从一个位置跳转到另一个位置。举个例子,键盘这种设备提供的就是一个数据流,当你敲入“fox ” 这个字符串时,键盘驱动程序会按照和输入完全相同的顺序返回这个由三个字符组成的数据流。如果让键盘驱动程序打乱顺序来读字符串,或读取其他字符,都是没 有意义的。所以键盘就是一种典型的字符设备,它提供的就是用户从键盘输入的字符流。对键盘进行读操作会得到一个字符流,首先是“f ”,然后是“o ”,最后是“x ”,最终是文件的结束(EOF) 。 当没人敲键盘时,字符流就是空的。硬盘设备的情况就不大一样了。硬盘设备的驱动可能要求读取磁盘上任意块的内容,然后又转去读取别的块的内容,而被读取的块在磁盘上位置不一定要连续,所以说硬盘可以被随机访问,而不是以流的方式被访问,显然它是一个块设备。

   内核管理 块 设备要比管理字符设备细致得多,需要考虑的问题和完成的工作相比字符设备来说要复杂许多。这是因为字符设备仅仅需要控制一个位置—当前位置—而块设备访问 的位置必须能够在介质的不同区间前后移动。所以事实上内核不必提供一个专门的子系统来管理字符设备,但是对块设备的管理却必须要有一个专门的提供服务的子 系统。不仅仅是因为块设备的复杂性远远高于字符设备,更重要的原因是块设备对执行性能的要求很高;对硬盘每多一分利用都会对整个系统的性能带来提升,其效 果要远远比键盘吞吐速度成倍的提高大得多。另外,我们将会看到,块设备的复杂性会为这种优化留下很大的施展空间

     简单来讲,块设备可以随机存取,而字符设备不能随机存取,那裸设备又该如何解释呢?

     难道裸设备,如磁盘裸设备也不能随机读取吗?那在数据库 中用裸设备建一个2g的数据文件,为了存取最后一个数据块,难道oracle 还要把前面的所有数据块都读一遍,显然不符合事实,如果这样解释呢,操作系统不能随机读取,并不意味着数据库也不能随机读取。


http://www.niftyadmin.cn/n/1741190.html

相关文章

经典SQL语句大全五:SQL Server基本函数

SQL Server基本函数 SQL Server基本函数 1.字符串函数 长度与分析用 1,datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格2,substring(expression,start,length) 取子串,字符串的下标是从“1”,start为起始位置,length为字符串长度,实际应用中以len(expr…

操作系统经典书籍推荐

看了篇文章,是评述操作系统方面的经典书籍的,其观点我较为同意,特贴出来,其电子版的CSDN下载频道大多都有。 Abraham Silberschatz的两本书: 1. 实用操作系统概念(影印版) 2&#x…

MAC的lock简介

坦白的说核心的东西跟Linux差不多,跟别的系统也差不多,这块的原理看看OS原理就行。 稍微说说具体的东西吧, MAC上的锁也分三种: SpinLocks(自旋锁)、Mutexes(互斥锁)、read-write Locks(读写锁)。 其中S…

科技企业怎么留住人才

除了圣人门前水倒流外,其他人应该都是往高处走。科技企业的人员流动性大是不争的事实,那么有没有低成本的方法呢,我尝试从细节说说我的看法。 坦白的说,这很难,但我愿意把我想到的记在这。 1.让程序员不为杂事分心。…

MAC学习资源推荐

接触MAC时间也不常,有些基本的东西也了解,圈子不大,可询问的对象也比较少,只能求助网上,现把自己觉得不错的东西记下来,也供独自前行的人们参考。 1。A practical guide Unix for MAc OS X users &#xf…

常用MAC软件推荐

1。Office:NeoOffice(Free) 2。翻译软件:欧陆词典(not Free),金山词霸(Free,但功能不全)。 3。安全软件:Sophos Anti-Virus( Free&a…

Mac Vs Windows开发

Mac&#xff1a;Mac OS X 10.6.4 <-- Vs --> Windows:net Framework4.0 Visual Studio2010 APIs&#xff1a;Unix API&#xff0c;Carbon <-- Vs --> WinAPI OpenSource &#xff1a;包括内核xnu也开源 <-- Vs --…