java 字符终端库_java字符终端管理的方法

java字符终端管理的方法

大家知道java字符终端管理吗?面向用户使用的程序都会考虑响应性,如:上传、下载文件会显示已经完成百分之多少,方便用户了解处理的进度。在Swing和AWT编写的应用有现成的进度条控件可用,但对于非界面程序就需要自己实现了。

与字符终端管理有关的文件

1:/etc/ttydefs,定义波特率和终端设置

2:/usr/share/lib/terminfo,这是一个目录,字符终端设备和打印机的描述数据库

3:/etc/saf,服务访问工具(Service Access Facility)用于管理串口设备和其它服务的一个目录.

/etc/ttydefs

此文件包含SAF端口监控ttymon要用到的终端信息,主要是波特率和终端设置.

下面是我的/etc/ttydefs

# more /etc/ttydefs

# VERSION=1

460800:460800 hupcl:460800 hupcl::307200

307200:307200 hupcl:307200 hupcl::230400

230400:230400 hupcl:230400 hupcl::153600

153600:153600 hupcl:153600 hupcl::115200

115200:115200 hupcl:115200 hupcl::76800

..

.. 文件的每一行都由(:)分隔的五个部分组成,各部分含义如下:

1:2:3:4:5 1标号.通常是波特率

2初始设置.此部分应为命令stty能接受的格式.

3最终设置.此部分应为命令stty能接受的格式.

4自动探测波特率标志.如果为‘A‘,则自动探测.

5下一个标号. /usr/share/lib/terminfo

此目录是各种终端设备和打印机的描述数据库.在增加一个终端时,必须使用此目录下已有的一个文件的名字作为终端类型.

/usr/share/lib/terminfo下都是单个字符的子目录,每个子目录包含了以该子目录名为首字符的所有终端类型或打印机类型的描述文件

我的/usr/share/lib/terminfo/t

# ls /usr/share/lib/terminfo/t

总数 538

-rw-r--r-- 3 root bin 1173 2002 4月7 t10

-rw-r--r-- 3 root bin 1173 2002 4月7 t1061

-rw-r--r-- 1 root bin 1166 2002 4月7 t1061f

-rw-r--r-- 2 root bin 1100 2002 4月7 t16

-rw-r--r-- 2 root bin988 2002 4月7 t3700

-rw-r--r-- 1 root bin 1014 2002 4月7 t3800

-rw-r--r-- 1 root bin991 2002 4月7 t500

-rw-r--r-- 1 root bin 1110 2002 4月7 t88

-rw-r--r-- 1 root bin 1147 2002 4月7 t88-nr

..

.. /etc/saf

此目录包含SAF(Service Access Facility)用于管理串口设备的一些配置和管理文件.

1:/etc/saf/_sysconfig,系统配置文件.

2:/etc/saf/_sactab.SAF命令sacadm使用的管理文件.

另外,/var/saf是SAF用于存放日志文件的目录 增加或修改一个字符终端

图形用admintool 字符服务访问工具SAF的结构

在SAF的分级结构中,最顶层的进程是服务访问控制器(sac,Service Access

Controller),sac负责管理端口监控程序.具体结果描述如下:

1:init进程派生sac(SAF的主进程).

2:管理命令sac用于控制端口监控程序,例如增加或删除,启动或停止,重新启动等等.

3:端口监控程序用于监控串口设备或网络端口.使用端口监控管理命令可在适当的时候增加或删除,启动或停止服务. SAF初始化过程如下:

1:系统启动进入第二级运行时启动SAF的主进程sac.

2:sac读入SAF的系统配置文件/etc/saf/_sysconfig,初始化环境.

3:sac读入管理文件/etc/saf/_sactab,启动其中指定的端口监控程序.sac为_sactab中指定的每个端口监控创建一个子进程.

4:每个端口监控程序读入其管理文件/etc/saf/pmtag/_pmtab,启动各端口上的服务. 端口监控类型

SAF支持两种端口监控类型

1:ttymon

ttymon是基于STREAMS的tty端口监控类型,用于监控端口,设置终端方式的波特率,引发登陆进程或其它服务.

在sac下运行的一个ttymon实例可以监控多个端口.ttymon的实例.用命令sacadm进行配置.ttymon实例被创建后,可用命令pmadm和ttyadm增加所需的ttymon信息.

2:listen

listen端口监控类型用于网络端口的监控.

listen的实例用命令sacadm配置,用命令pmadm加入所需信息

字符终端管理中使用ttymon端口监控类型 终端的初始化过程

ttymon的实例被创建时按下列过程监控端口:

1:首先初始化没有端口的速度和终端设置,初始化所用的参数为/etc/ttydefs文件中的适当值,/etc/ttydefs文件的内容时终端设置参数表.

2:在终端显示提示符并等待用户输入.如果用户按Break键提示波特率不合适,ttymon监控程序尝试下一个波特率重写提示符.

3:接收到有效输入后,ttymon监控程序就引发端口所需的服务.

4:服务终止后回到初始状态. 增加一个字符终端需要下面两步

1:用命令sacadm创建一个端口监控实例以监控串口A和B.

ttymon端口监控类型

端口监控标签(port monitor tag),如zsmon

ttymon版本号(用ttyadm得到)

2:用命令pmadm为ttymon端口监控实例提供登陆服务.

sacadm创建的端口监控标签zsmon

服务标签(service tag)

用于识别服务标识和是否要创建/var/abm/utmp记录的选项

嵌入命令ttyadm用于包含ttymon的具体信息(终端类型,波特率,设备和服务) sacadm ------>zsmon port

monitor

pmadm------>ttya(service tag) tty(service tag)

ttyadm ------>/dev/term/a (terminal) /dev/term/b (modem)

来源: http://www.51edu.com/it/bckf/479673.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值