亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

終端I/O之綜述

2024-06-28 13:27:43
字體:
來源:轉載
供稿:網友
終端I/O之綜述

終端I/O有兩種不同的工作模式:

  1. 規范模式輸入處理(Canonical mode input PRocessing)。在這種模式中,終端輸入以行為單位進行處理。對于每個讀要求,終端驅動程序最多返回一行。
  2. 非規范模式輸入處理(Noncanonical mode input processing)。輸入字符并不組成行。

如果不作特殊處理,則默認模式是規范模式。

V7和較早的BSD風格類的終端驅動程序支持三種終端輸入模式:(a)精細加工模式(輸入組成行,并對特殊字符進行處理);(b)原始模式(輸入不組成行,也不對特殊字符進行處理);(c)cbreak模式(輸入不組成行,但對某些特殊字符進行處理)。

終端設備是由一般位于內核中的終端驅動程序控制的每個終端設備有一個輸入隊列和一個輸出隊列,如圖18-1所示。

圖18-1 終端設備的輸入、輸出隊列邏輯結構

將圖18-1轉換為如下圖所示更容易理解:

對此圖要說明以下幾點:

  1. 如果打開了回顯功能,則在輸入隊列和輸出隊列之間有一個隱含的連接。
  2. 輸入隊列的長度MAX_INPUT是有限值,當一個特定設備的輸入隊列已經填滿時,系統對此作何種處理依賴于實現。大多數UNIX系統的處理方式是回顯響鈴字符。
  3. 圖中沒有顯示另一個輸入限制MAX_CANON,它是一個規范模式輸入行中的最大字節數。
  4. 雖然輸出隊列通常也是有限長度,但是程序并不能獲得這個定義其長度的常量,這是因為當輸出隊列將要填滿時,內核使寫進程休眠直至寫隊列中有可用的空間,所以程序無需關心該隊列的長度。
  5. 我們可以使用tcflush函數刷清(flush)輸入或輸出隊列。

大多數UNIX系統在一個稱為終端行規程(terminal line discipline)的模塊中進行規范處理。它是位于內核通用讀、寫函數和實際設備驅動程序之間的模塊(見圖18-2)。

圖18-2 終端行規程

所有我們可以檢測和更改的終端設備特性都包含在termios結構中。該結構定義在頭文件<termios.h>中。

struct termios {

tcflag_tc_iflag;/* input flags */

tcflag_tc_oflag;/* output flags */

tcflag_tc_cflag;/* control flags */

tcflag_tc_lflag;/* local flags */

cc_tc_cc[NCCS];/* control characters */};

粗略而言,輸入標志由終端設備驅動程序用來控制字符的輸入(剝除輸入字節的第8位,允許輸入奇偶校驗等等),輸出標志則控制驅動程序輸出(執行輸出處理、將換行符映射為CR/LF等),控制標志影響到RS-32串行線(忽略調制解調器的狀態線、每個字符的一個或兩個停止位等等),本地標志影響驅動程序和用戶之間的接口(回送的開或關、可視的擦除字符、終端產生的信號啟用以及對后臺輸出的作業控制停止信號等)。

類型tcflag_t的長度足以保存每個標志值。它經常被定義為unsigned int或者unsigned long。c_cc數組包含了所有可以更改的特殊字符。NCCS是該數組的長度,一般介于15-20之間(大多數UNIX系統定義的特殊字符較POSIX所定義的11個要多)。cc_t類型的長度足以保存每個特殊字符,而且它往往是unsigned char型的。

表18-1至表18-4列出了所有可以進行更改以影響終端設備特性的終端標志。注意,雖然Single UNIX Specification定義了所有平臺都支持的公共子集,但是各平臺還有自己的擴充部分。

表18-1 c_cflag終端標志

表18-2 c_iflag終端標志

表18-3 c_lflag終端標志

表18-4 c_oflag終端標志

表18-5列出了Single UNIX Specification所定義的對終端設備進行操作(檢測和更改終端設備的特性)的的各個函數。http://www.CUOXin.com/nufangrensheng/p/3513642.html中已說明了 tcgetpgrp、tcgetsid和tcsetpgrp函數。)

表18-5 終端I/O函數總覽

注意,對終端設備,Single UNIX Specification沒有使用經典的ioctl,而使用了表18-5中列出的13個函數。這樣做的理由是:對于終端設備的ioctl函數,其最后一個參數的數據類型隨執行動作的不同而不同。于是,這使得對參數進行類型檢查成為不可能。

雖然對終端設備進行操作只有13個函數,但是表18-5中頭兩個函數(tcgetattr和tcsetattr)能處理大約70中不同的標志(見表18-至表18-4)。此外,對于終端設備有大量的選項可供使用,對一個特定設備(終端、調制解調器、激光打印機等等)還要決定所需的選項,這些都使對終端設備的處理變得異常復雜。

表18-5中列出的13個函數之間的關系如圖18-3所示:

圖18-3 與終端有關的函數之間的關系


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美黑人性猛交| 欧美午夜精品久久久久久人妖| 欧美性猛交xxxx黑人| 久久久国产一区二区三区| 一二美女精品欧洲| 久久91亚洲精品中文字幕奶水| 亚洲最大的av网站| 欧美麻豆久久久久久中文| 亚洲国产精品va在线看黑人| 亚洲性夜色噜噜噜7777| 国产xxx69麻豆国语对白| 成人欧美一区二区三区在线湿哒哒| 亚洲欧美日韩一区二区三区在线| 国产亚洲一区二区在线| 中文字幕欧美日韩| 亚洲九九九在线观看| 色无极影院亚洲| 日韩免费黄色av| 久久亚洲精品中文字幕冲田杏梨| 成人黄色免费网站在线观看| 亚洲国产高清高潮精品美女| 国产欧美va欧美va香蕉在线| 国语自产偷拍精品视频偷| 日韩视频永久免费观看| 91精品国产自产在线| 国产精品丝袜久久久久久不卡| 亚洲最大av网| 91大神在线播放精品| 欧美成人精品不卡视频在线观看| 一区二区三区 在线观看视| 国产成人亚洲综合91| 亚洲中国色老太| 欧美性受xxxx白人性爽| 亚洲一级黄色片| 日韩经典中文字幕| 国产精品视频26uuu| 97视频免费在线观看| 亚洲色图在线观看| 欧美三级xxx| 久久久欧美一区二区| 97色伦亚洲国产| 欧美日韩国产成人在线| 欧美日韩视频在线| 亚洲综合第一页| 久久久99久久精品女同性| 91精品国产色综合久久不卡98口| 亚洲丝袜av一区| 国产精品久久在线观看| 亚洲无限乱码一二三四麻| 色伦专区97中文字幕| 日韩av电影免费观看高清| 亚洲香蕉伊综合在人在线视看| 欧美激情图片区| 欧美日韩在线观看视频小说| 国产美女久久久| 2023亚洲男人天堂| 欧美在线观看网址综合| 亚洲人成网站色ww在线| 久久影院在线观看| 日韩精品视频在线免费观看| 亚洲第一区第一页| 亚洲国产精品一区二区久| **欧美日韩vr在线| 国产福利精品视频| 国产精品直播网红| 亚洲精品视频中文字幕| 深夜成人在线观看| 久久精品国产欧美亚洲人人爽| 欧美精品videosex性欧美| 久久精品国产清自在天天线| 中文字幕av一区| 91国产高清在线| 成人免费观看49www在线观看| 日日骚久久av| 超碰日本道色综合久久综合| 欧美一级淫片aaaaaaa视频| 久久精品国产v日韩v亚洲| 亚洲一区二区三区久久| 欧美另类极品videosbestfree| 欧美性生交大片免费| 国产精品老牛影院在线观看| 久久久久久国产免费| 91国产美女视频| 欧美成人精品在线| 国产视频自拍一区| 亚洲r级在线观看| 欧美国产精品人人做人人爱| 久久免费观看视频| 日韩免费在线免费观看| 91网站免费观看| 欧美插天视频在线播放| 中文字幕成人在线| 国产91成人在在线播放| 中文字幕亚洲一区| 久久精品国产一区二区三区| 亚洲欧洲成视频免费观看| 91免费精品国偷自产在线| 日韩极品精品视频免费观看| 国产偷亚洲偷欧美偷精品| 国产精品国产福利国产秒拍| 国产精品免费看久久久香蕉| 国产精品久久久久久久久久久新郎| 欧美乱人伦中文字幕在线| 国产精品成人观看视频国产奇米| 亚洲电影成人av99爱色| 久久久精品美女| 成人www视频在线观看| 尤物九九久久国产精品的分类| 97视频在线观看免费| www.xxxx欧美| 久久久久一本一区二区青青蜜月| 亚洲a中文字幕| 日韩激情在线视频| 欧美精品www在线观看| 国产视频999| 日本精品一区二区三区在线播放视频| 午夜精品免费视频| 成人h片在线播放免费网站| 中国china体内裑精亚洲片| 尤物九九久久国产精品的特点| 亚洲成年人在线播放| 亚洲欧美另类中文字幕| 久久久久国产精品一区| 亚洲理论在线a中文字幕| 亚洲乱码一区av黑人高潮| 2023亚洲男人天堂| 精品亚洲男同gayvideo网站| 粉嫩老牛aⅴ一区二区三区| 97av在线视频免费播放| 久久久久久69| 91欧美精品午夜性色福利在线| 久久久久久999| 日韩在线视频网站| 欧美午夜久久久| 成人免费观看49www在线观看| 久久久噜噜噜久久中文字免| 国产视频久久久| 亚洲综合中文字幕在线观看| 日韩在线欧美在线国产在线| 夜夜狂射影院欧美极品| 欧美视频在线观看免费网址| 日韩欧美国产一区二区| 欧美激情一二区| 亚洲a∨日韩av高清在线观看| 精品亚洲一区二区三区在线观看| 国产精品7m视频| 久久亚洲精品一区二区| 欧美成人激情在线| 久久久久久久久久久久久久久久久久av| 亚洲国内精品在线| 日韩电影免费在线观看中文字幕| 亚洲欧美精品suv| 国产精品第七十二页| 国语自产精品视频在线看抢先版图片| 国产suv精品一区二区三区88区| 亚洲精品国产综合久久| 国产精品自在线| 7777精品久久久久久| 日韩电影在线观看永久视频免费网站| 国产精品久久久久久久久| 91色中文字幕| 日本精品视频在线播放| 亚洲九九九在线观看| 欧美激情精品久久久久久蜜臀|