第11章终端I-O.pdf

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章终端I-O

下载 下载 第11章 终 端 I / O 11.1 引言 在操作系统中,终端 I / O 处理是个非常繁琐的部分, U N I X也不例外。在很多版本的 U N I X 手册中,终端I / O 的手册页常常是最长的部分之一。S V I D 中的t e r m i o手册页至少有 1 6页。 7 0年代后期,U N I X终端I / O 处理发展成两种不同的风格。一种是系统Ⅲ在 V 7 的基础上进行 了很多改变而形成的,这种风格由系统Ⅴ沿续下来;另一种则是 V 7 的风格,它正成为伯克利 类系统的标准组成部分。如同信号一样, P O S I X . 1在这两种风格的基础上制定了终端 I / O标准。 本章将介绍P O S I X . 1 的终端函数,以及S V R 4和4 . 3 + B S D 的增加部分。 终端I / O 的用途很广泛,包括:终端、计算机之间的直接连接、调制解调器、打印机等等, 所以它就变得非常复杂。在后面的若干章中,开发了两个例示终端I / O 的程序:一个与P o s t S c r i p t 打印机进行通信(见第1 7章),另一个涉及调制解调器以及远程计算机登录(见第1 8章)。 11.2 综述 终端I / O有两种不同的工作方式: (1) 规范方式输入处理。在这种方式中,终端输入以行为单位进行处理。对于每个读要求, 终端驱动程序最多返回一行。 (2) 非规范方式输入处理。输入字符不以行为单位进行装配。 如果不作特殊处理,则默认方式是规范方式。例如:若 s h e l l 的标准输入、输出是终端,在 用r e a d 和w r i t e将标准输入复制到标准输出时,终端以规范方式进行工作,每次 r e a d最多返回一 行。处理整个屏幕的程序,例如 v i编辑程序使用非规范方式,其原因是其命令是由不以新行符 终止的一个或几个字符组成的。另外,该编辑程序使用了若干特殊字符作为编辑命令,所以它 也不希望系统对特殊字符进行处理。例如, C t r l - D字符通常是终端的文件结束符,但在 v i 中它 是向下滚动半个屏幕的命令。 V 7和B S D类的终端驱动程序支持三种终端输入方式: (a) 精细加工方式(输入 装配成行,并对特殊字符进行处理),(b) 原始方式(输入不装配成行,也不对特 殊字符进行处理),(c) cbreak 方式(输入不装配成行,但对某些特殊字符进行处 理)。程序11 - 1 0显示了将终端设置为c b r e a k或原始方式的P O S I X . 1 函数。 P O S I X . 1定义了11个特殊输入字符,其中 9个可以改变。本章已经用到了其中几个,例如: 文件结束符(通常是 C t r l - D ),挂起字符(通常是C t r l - Z )。11 . 3节对其中每个字符都进行了说 明。 终端设备是由一般位于内核中的终端驱动程序所控制的。每个终端设备有一个输入队列, 一个输出队列,见图 11 - 1。 第 11章 终 端 I/O 2 4 7 下载 进程写的下一个字符 进程读的下一个字符 若回送字符 输出队列 输入队列 传送给设备的下一个字符 设备读的下一个字符 图11-1 终端设备的输入、输出队列的逻辑结构 对此图要说明下列几点: • 如果需要回送,则在输入队列和输出队列之间有一个隐含的连接。 • 输入队列的长度M A X _ I N P U T (见表2 - 5 )是有限值,当一个特定设备的输入队列已经填 满时,系统作何种处理依赖于实现。当此发生时,大多数 U N I X 系统回送响铃字符。 • 图中没有显示另一个输入限制M A X _ C A N O N ,它是在一个规范

文档评论(0)

woai118doc + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档