Unix终端I/O处理:规范与非规范工作方式详解
需积分: 0 56 浏览量
更新于2024-07-31
收藏 908KB PDF 举报
"Unix环境高级编程"这一章节专门探讨了终端I/O处理在Unix操作系统中的复杂性和多样性。Unix自70年代后期以来,经历了系统III到V7,再到Berkeley类系统的变迁,终端I/O的发展形成了两种主要风格:一种是基于V7的传统风格,另一种是POSIX.1所定义的标准化接口。这些接口旨在解决终端设备在不同应用场景下的交互,如终端、直接连接、调制解调器、打印机等,因此涉及到的功能极其复杂。
本章的核心内容包括了POSIX.1的终端函数介绍,以及SVR4和4.3+BSD在此基础上的扩展。终端I/O处理的方式分为规范和非规范两种:规范方式以行为单位处理输入,每读取一次通常返回一行;而非规范方式则不对输入进行字符级的组装,适用于那些命令结构不包含新行符的程序,比如vi编辑器,它使用特殊字符作为编辑命令,所以不希望系统对其处理。
在终端驱动程序方面,V7和BSD类系统提供了三种输入模式:精细加工方式(输入按行装配并处理特殊字符)、原始方式(无行装配且不处理特殊字符)以及cbreak方式(无行装配,但处理特定特殊字符)。通过例子,如程序11-10所示,这些功能使得终端I/O能够灵活适应各种应用程序的需求。
学习这一章节有助于理解如何有效地控制和管理终端设备,这对于编写在Unix环境下运行的高效、兼容性好的程序至关重要。掌握终端I/O的这些细节对于系统管理员、程序员和任何需要与Unix终端进行深度交互的用户都是必不可少的技能。
333 浏览量
2013-04-19 上传
2009-07-30 上传
2011-08-18 上传
2024-11-11 上传
2024-11-11 上传
2024-11-11 上传
2024-11-11 上传
JsenLong
- 粉丝: 33
- 资源: 35
最新资源
- BottleJS快速入门:演示JavaScript依赖注入优势
- vConsole插件使用教程:输出与复制日志文件
- Node.js v12.7.0版本发布 - 适合高性能Web服务器与网络应用
- Android中实现图片的双指和双击缩放功能
- Anum Pinki英语至乌尔都语开源词典:23000词汇会话
- 三菱电机SLIMDIP智能功率模块在变频洗衣机的应用分析
- 用JavaScript实现的剪刀石头布游戏指南
- Node.js v12.22.1版发布 - 跨平台JavaScript环境新选择
- Infix修复发布:探索新的中缀处理方式
- 罕见疾病酶替代疗法药物非临床研究指导原则报告
- Node.js v10.20.0 版本发布,性能卓越的服务器端JavaScript
- hap-java-client:Java实现的HAP客户端库解析
- Shreyas Satish的GitHub博客自动化静态站点技术解析
- vtomole个人博客网站建设与维护经验分享
- MEAN.JS全栈解决方案:打造MongoDB、Express、AngularJS和Node.js应用
- 东南大学网络空间安全学院复试代码解析