易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux终端设备驱动(一)

在Linux系统中,终端设备非常重要,没有终端设备,系统将无法向用户反馈信息,Linux中包含控制台、串口和伪终端3类终端设备。
14.1终端设备
    在Linux系统中,终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写,Teletype是最早出现的一种终端设备,很像电传打字机,是由Teletype公司生产的。Linux中包含如下几类终端设备: 
1、串行端口终端(/dev/ttySn) 
    串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。这些串行端口所对应的设备名称是/dev/ttyS0(或/dev/tts/0)、/dev/ttyS1(或/dev/tts/1)等,设备号分别是(4,0)、(4,1)等。
    在命令行上把标准输出重定向到端口对应的设备文件名上就可以通过该端口发送数据,例如,在命令行提示符下键入: echo test > /dev/ttyS1会把单词“test”发送到连接在ttyS1端口的设备上。 
2.伪终端(/dev/pty/) 
    伪终端(Pseudo Terminal)是成对的逻辑终端设备,并存在成对的设备文件,如/dev/ptyp3和/dev/ttyp3,它们与实际物理设备并不直接相关。如果一个程序把ttyp3看作是一个串行端口设备,则它对该端口的读/写操作会反映在该逻辑终端设备对应的ptyp3上,而ptyp3则是另一个程序用于读写操作的逻辑设备。这样,两个程序就可以通过这种逻辑设备进行互相交流,使用ttyp3的程序会认为自己正在与一个串行端口进行通信。 
    以telnet 为例,如果某人在使用telnet程序连接到Linux系统,则telnet程序就可能会开始连接到设备ptyp2上,而此时一个getty程序会运行在对应的ttyp2端口上。当telnet从远端获取了一个字符时,该字符就会通过ptyp2、ttyp2传递给 getty程序,而getty程序则会通过ttyp2、ptyp2和telnet程序返回“login:”字符串信息。这样,登录程序与telnet程序 就通过伪终端进行通信。通过使用适当的软件,可以把2个或多个伪终端设备连接到同一个物理串行端口上。
3.控制台终端(/dev/ttyn, /dev/console)
    如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令“ps –ax&r


相关文档:

LINUX静态链接库顺序问题

昨天在编写一个程序的时候发现需要链接的静态库都确定存在,指定的路径也没有问题,但是编译总是出现链接问题,找不到实现,才发现原来如果同时链接多个静态库,并且如果这些静态库之间存在相互依赖关系的话,需要按一定的顺序进行链接,例如:如果libb.a依赖liba.a,那么编译参数应该写成这样: -lb -la ......

Linux 2.6内核下编译可以加载的内核模块

1. 在旧的版本下(如linux 2.4)linux内核模块的编译只需要有内核的头文件就行了,就可以通过和编译其他程序一样的方法编译成filename.o文件,这个.o文件是直接 可以加载道内核中的,加载之后就可以用了。然而在2.6下就截然不同了,在linux 2.6下内核的编译要有系统内核树的支持,下面介绍一下这个“内核树”是如 ......

Linux启动级别

1、LINUX系统启动级别
查看/etc/inittab文件,其主要内容如下:

0
 
-
 halt (Do NOT set initdefault to 
this


1
 
-
 Single user mode 

2
 
-
 Multiuser, without NFS  ......

Linux安装Sphnix 记录

Linux安装Sphnix 记录
      先当然是从sphnix网站下载sphinx源码包,当前最新版本是:http://www.sphinxsearch.com/downloads/sphinx-0.9.8.1.tar.gz。当然,还需要保证你的系统已经安装了mysql。
      其次,就是依照官方的安装指导进行安装了,基本步骤如下:
解 ......

Linux TTY 驱动

相关链接:
http://blog.csdn.net/dongliqiang2006/archive/2009/09/05/4523563.aspx
 
字符设备
1,字符设备层
在Linux中是作为一个文件来出现的,所有对字符设备的操作都是通过file_operations接口来进行的:
struct cdev {
struct kobject kobj;
struct module *owner;
const struct file_operations *op ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号