linux设备

在Linux系统中,存在一个抽象化的设备目录,名为/dev,如图所示。该目录下存有指向系统中硬件的特殊文件。这些指向硬件设备的文件,极大地简化了程序员对硬件的操作。

Linux系统将设备分成了3种类型:

1). 字符设备: 字符设备就是能够像字节流一样访问的设备,字符终端和串口就属于字符设备。

2). 设备: 与字符设备不同,在读写操作时,块设备每次只能传输一个或多个完整的块。

3). 网络接口:网络接口存在一定的特殊性,其与内核的通信完全不同于内核与字符设备或块设备的通信。 

(如果该设备是字符设备的话,将以字符“c”开头。如果是块设备的话,将以字符“b”开头)

每个设备都带有诸如“14,0”或“8,3”这样的编号, 这种号码称为主从设备号,内核通过该号码将设备文件与真实设备关联起来。前面的数字称为主设备号,指向硬件设备,而次设备号指向子设备。

 

 

在Linux系统启动时,设备驱动将被加载。设备驱动成功加载后,将向系统反馈一个主设备号,驱动程序将根据该主设备号在/dev目录下创建对应的设备文件。这样,程序就可以使用open、read、write函数或命令,通过设备文件实现对设备的访问了

 

 

传统终端指的是计算机外部的设备,而现在终端为显示器、控制器及键盘等设备的总称。终端与平常使用的计算机的根本区别在于, 没有自己的CPU单元和内存单元。终端的主要功能是发送用户输入的请求给主机,并显示主机完成运算后的结果。随着计算机技术的发展,目前终端有了新的含义。一切接入网络的计算机设备称为终端,如电脑、PDA、智能电话、数字电视等。在Linux系统中,所有终端设备都被称为tty。tty被认为是Teletypes或Tele-typerwriters的缩写。终端一种字符型的设备,有多种类型:

1). 串行端口终端(/dev/ttySn)

2). 伪终端(/dev/pts/n)

3). 控制终端(/dev/tty)

4). 控制台终端(/dev/ttyn,/dev/console)

Linux系统提供了命令或相关函数对终端进行控制,以达到用户对输出显示或终端的特定要求。

1). stty命令显示终端设置

2). reset命令将终端恢复到正确的状态

3). ttyname函数获得当前终端名称                                                         

ttyname函数

头文件

<unistd.h>

函数形式

char *ttyname(int fd);

返回值

成功

失败

是否设置errno

返回终端设备的名称

NULL

 

4). tcgetattr函数与tcsetattr函数控制终端

tcgetattr函数和tcsetattr函数

头文件

<termios.h>

<unistd.h>

函数形式

int tcgetattr(int fd, struct termios *termios_p);

int tcsetattr(int fd, int optional_actions, const struct termios *termios_p);

返回值

成功

失败

是否设置errno

0

−1

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值