Lomo's BLOG

行之而不著焉 习矣而不察焉 终身由之而不知其道也 众也 ~
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

《Linux程序设计》- Chapter5 - 读书笔记

Posted on 2005-09-01 13:12  Lomo  阅读(223)  评论(0)    收藏  举报

Chapter5:

    1、授权模式(标准模式):以行为单位,回车进行确认;

    2、非授权模式:具有更大的控制权;

    3、UNIX系统中,行结束是以一个行进纸字符LF为结尾,而不是像DOS一样利用一个回车CR和一个行进纸。这主要是由于UNIX里文本文件和二进制文件等同;

    4、int isatty(int fd)系统调用可以判断文件描述符号正关联到一个终端上;

    5、直接对终端进行读写:/dev/tty设备永远是当前终端或是当前的登陆会话,UNIX把一切事物看作文件,因此可以通过正常的文件操作对设备/dev/tty进行读写;

    6、通用终端接口(Generic Terminal Interface:GTI):用于控制终端,允许对终端进行细微的调控,它将与千变万化的硬件打交道;

    7、termios结构:POSIX技术规范里定义的一个标准操作接口,终端接口由一个termios结构的设置值控制,还会用到一组函数调用。这两样都定义在termios.h中,需要调用termios.h的程序都需要利用一个辅助库ncurses,编译选项是 -lncurses;

    8、通过设置termios中的c_iflag成员对输入模式进行控制;c_oflag成员对输出模式进行控制;c_cflag成员对控制模式进行控制;c_lflag成员对本地模式进行控制;

    9、TIME和MIN值:可以控制程序试图读与某个终端相关联的文件描述符时会发生怎样的情况:

        TIME=0;MIN=0:read立刻返回,有字符返回字符,没有返回零,无任何字符读入;

        TIME > 0;MIN=0:只要字符一出现,或者是经过TIME个十分之一秒后,read将返回;

        TIME=0;MIN > 0:MIN个字符则返回;

        TIME > 0;MIN > 0:两个条件满足任何一个将返回;

    10、通过stty -a可以查看termios的值;stty -lcanon min 1 time 0可以对终端工作模式进行设置;

    11、在非授权模式下,“CR”和“LF”的缺省映射不复存在,必须对回车字符“\n”自行处理;

    12、包括Linux在内的众多UNIX系统都有伪终端功能(PTY),它们没有具体的硬件支持,只是一个以终端形式访问其它程序的接口,就像让两个象棋程序厮杀在一起一样。