导航:首页 > 器材知识 > 磁盘属于什么设备字符设备

磁盘属于什么设备字符设备

发布时间:2023-07-24 13:10:10

Ⅰ 字符设备和块设备

提供连续的数据流,是一个线性设备,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,调制解调器是典型的字符设备。
如:键盘、鼠标、显示屏

应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘是典型的块设备,应用程序可以寻址磁盘上的任何位置,并由此读取数据。此外,数据的读写只能以块(通常是512B)的倍数进行。与字符设备不同,块设备并不支持基于字符的寻址。
如:硬盘、U盘
两种设备本身并没用严格的区分,主要是字符设备和块设备驱动程序提供的访问接口(file I/O API)是不一样的

Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。 主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。 对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3。
一个字符设备或者块设备都有一个主设备号和次设备号。主设备号和次设备号统称为设备号。主设备号用来表示一个特定的驱动程序。次设备号用来表示使用该驱动程序的各设备。 例如一个嵌入式系统,有两个LED指示灯,LED灯需要独立的打开或者关闭。那么,可以写一个LED灯的字符设备驱动程序,可以将其主设备号注册成5号设备,次设备号分别为1和2。这里,次设备号就分别表示两个LED灯。

一般的, 主设备号标识出与设备关联的设备驱动 。如 /dev/null 和 /dev/port 由 1 号驱动来管理。

现在的 Linux 内核允许多个驱动共享一个主设备号,但更多的设备都遵循一个驱动对一个主设备号的原则。

内核由 次设备号确定当前所指向的是哪个设备。 根据所编写的驱动程序,可以从内核那里得到一个直接指向设备的指针,或者使用次设备号作为一个设备本地数组的索引。但不论如何,内核自身几乎不知道次设备号的什么事情。

当静态分配设备号时,需要查看系统中已经存在的设备号,从而决定使用哪个新设备号。可以读取/proc/devices文件获得设备的设备号。/proc/devices文件包含字符设备和块设备的设备号,如下所示:

用于创建Linux中的字符设备文件和块设备文件。

阅读全文

与磁盘属于什么设备字符设备相关的资料

热点内容
酒店餐饮企业管理工具箱 浏览:337
机床编程是学些什么东西 浏览:717
偏心轴承无外圈是怎么回事 浏览:776
淮南机械设备公司有哪些 浏览:236
怎么判断阀门阀芯是不是铜 浏览:796
仪表盘灯光如何调节 浏览:233
机械手怎么调电流电压 浏览:477
机械加工轴梯度太大怎么办 浏览:728
管道燃气阀门怎么开 浏览:324
给排水怎么查阀门个数 浏览:125
营养液自动补给装置 浏览:296
菏泽哪里有卖ktv设备 浏览:57
机械表里面进了点水怎么处理 浏览:630
电取暖器材什么原理 浏览:460
中山二手厨房设备哪里买 浏览:833
如何用亿图图示画化学实验装置图 浏览:189
用什么仪器测氧气体积 浏览:394
踏板车前轴承旁边是什么 浏览:137
工业仪器仪表怎么买 浏览:126
机械形位公差f什么意思 浏览:617