美国Linux服务器系统字符设备和块设备的区别

美国Linux服务器系统字符设备和块设备的区别

美国Linux服务器系统里有字符设备跟块设备,两者是有所区分的,而对于系统不太熟悉的美国Linux服务器用户对这两个概念自然就不太理解,所以下面小编就来介绍下美国Linux服务器系统的字符设备和块设备的原理,以及它们之间的区别。

1:块设备

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

2:字符设备

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

3:块设备与字符设备的区别

这两种类型的设备最根本区别在于否可以被随机访问,也就是说能否在访问设备时随意地从一个位置跳转到另一个位置。举个例子,键盘这种设备提供的就是一个数据流,当你敲入“mfy” 这个字符串时,键盘驱动程序会按照和输入完全相同的顺序返回这个由三个字符组成的数据流。如果让键盘驱动程序打乱顺序来读字符串,或读取其他字符,都是没有意义的。所以键盘就是一种典型的字符设备,它提供的就是美国Linux服务器用户从键盘输入的字符流。对键盘进行读操作会得到一个字符流,首先是“m”,然后是“f”,最后是“y”,最终是文件的结束。

而当没敲键盘时字符流就是空的,而盘设备的情况就不大一样,硬盘设备的驱动可以要求读取磁盘上任意块的内容,然后又转去读取别的块的内容,而被读取的块在磁盘上位置不一定要连续,所以说美国Linux服务器硬盘可以被随机访问,而不是以流的方式被访问,显然就是一个块设备。

美国Linux服务器内核管理块设备要比管理字符设备细致得多,需要考虑的问题和完成的工作相比字符设备来说也要复杂许多,这是因为字符设备仅仅需要控制一个位置,就是当前位置,而块设备访问的位置必须能够在介质的不同区间前后移动。所以事实上美国Linux服务器内核不必提供一个专门的子系统来管理字符设备,但是对块设备的管理却必须要有一个专门的提供服务的子系统。

不仅仅是因为块设备的复杂性远远高于字符设备,更重要的原因是块设备对执行性能的要求很高,对硬盘每多一分利用都会对整个美国Linux服务器系统的性能带来提升,其效果要远远比键盘吞吐速度成倍的提高大得多。另外美国Linux服务器用户将会看到,块设备的复杂性会为这种优化留下很大的施展空间。

简单来讲美国Linux服务器系统的块设备可以随机存取,而字符设备不能随机存取,块设备通过系统缓存进行读取,不是直接和物理磁盘读取;字符设备可以直接物理磁盘读取,不经过系统缓存,希望能帮助有需要的美国Linux服务器用户更好的了解相关知识。

客户经理