首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“串行端口”或“并行口”是否仅适用于字符设备,而不适用于阻塞设备?

“串行端口”或“并行口”是否仅适用于字符设备,而不适用于阻塞设备?
EN

Unix & Linux用户
提问于 2018-10-02 17:31:38
回答 2查看 955关注 0票数 1

来自http://haifux.org/lectures/86-sil/kernel-modules-drivers/node10.html

字符('c')设备是驱动程序通过发送和接收单个字符(字节、八进制)进行通信的设备。块(B)设备是驱动程序通过发送整个数据块与其通信的设备。字符设备的例子:串行口,并行口,声卡。块设备的例子:硬盘,USB摄像头,键上磁盘.

“串行口,并行口”是指串行通信和线上并行通信吗?

“串行端口”或“并行口”是否仅适用于字符设备,而不适用于阻塞设备?

谢谢。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-10-03 07:28:28

“字符设备”和“块设备”是抽象的,通常用于Unix风格的系统,用于对各种设备进行分类。Unix样式的设备节点(/dev/<something>)通常被归类为字符设备或块设备.

基本上,字符设备一次甚至可以有意义地处理单个字节的数据,但是块设备可以处理特定大小的块(通常是512、1024或4096字节)。如果将不完整的块提供给块设备,则可能必须用零或其他合适的填充填充来完成块,否则块设备可能无法完成其操作。

在Unix风格的系统中,磁盘通常表示为块设备.然而,在传统的Unix系统中,单个磁盘可以表示为两个设备:一个用于常规文件系统访问的块设备,另一个用于“原始访问”和其他特殊操作的设备:原始访问设备通常是一个字符设备。

在现代Linux中,可以通过使用O_DIRECT标志打开常规块设备来实现原始访问,但如果从另一个Unix样式系统移植的应用程序特别需要专用的原始设备,则可以使用raw命令根据需要设置一个原始设备。

另一方面,串行口和并行口通常指物理连接(物理连接)。

在PC硬件中,串口或COM端口通常指的是RS232端口(通常使用与国家半导体8250兼容的UART芯片驱动)。由于它不需要固定的块大小,它通常被归类为Unix系统中的字符设备。正如名称串口所暗示的那样,该端口以串行方式传输数据,每次只传输一位。这个港口最现代化的规格称为EIA/TIA-232。

同样,在PC硬件中,并行口、打印机端口、LPT端口或Centronics端口都是指一种端口,其最现代的实现是IEEE 1284。在Unix风格的系统中,它也被表示为字符设备,因为它不需要固定的块大小。顾名思义,它并行地传输数据:它有8条数据线,每位字节一条。

与串行端口不同,最古老的并行口基本上是单向的:计算机可以一次发送一个字节的数据,但另一端的设备只有几条固定的状态线,可以用来与计算机通信。(早期版本的Linux内核报告了这些状态行的无效状态组合为半幽默的lp<n> on fire错误消息。)双向通信模式作为以后的增强实现了。

在引入USB之前,并行口可能是典型PC上最快的通用外部连接器。如果需要具有更快数据传输速度的外部设备,通常意味着向系统添加专用接口卡或带有外部连接器的SCSI适配器卡。例如,专业平板图像扫描仪可能需要SCSI连接。

票数 2
EN

Unix & Linux用户

发布于 2018-10-02 20:36:32

虽然在现代计算机上通常有几种互连,如USB、SATA和PCI/e,它们在技术上是串行的(即使在控制块式设备时也是如此),但您引用的文本更多地是在并行和串行的上下文中,因为它最初是在20世纪的计算中使用的。

它们指的是用于将计算机与外围设备或有时与其他计算机互连的方法。

虽然有许多变体,但最常见的“串口”是一个I/O设备,它一次发送和/或接收一个字符,通常使用固定波特率的异步协议。通常通过RS232电缆。串行端口和RS232端口这两个术语有时可以互换使用,尽管这是一个错误的名称,因为RS-232实际上是一种电气标准。一个常见的应用程序是将用户终端附加到计算机上,或者是用户可以在远程终端上拨号并与之连接的调制解调器。可以追溯到机电时代,比如110波特ASR-33电传打字机,这是unix命令和设备文件名中经常出现的字符串'tty‘的来源。

串行端口非常慢,因此对于需要更高字符速率的使用,可以使用不序列化的并行端口。这有时被提到打印机制造商谁使它成为流行的"Centronix“端口。

并不是说没有使用串行连接的打印机。

但是在你的报价中,串行口和并行口指的是这两种外围连接方案。

因此,即使块式设备可能在技术上与串行数据方法在某种较低的级别上连接,但这不是作者所指的,

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/472818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档