I/O原理与服务。
I/O简单的说就是输入与输出(input/output),也可以理解为“用户界面”。对于不同层次的代码、其实现有不同方法,但是总体来说、基本上是输入参数表和输出数据表,系统通常会提供输入缓存和输出缓存来进行操作与管理。
系统级I/O,通常可以解释为:通讯管理和输入输出设备管理。比较有特色的解决方案有:接口及驱动方式(Windows为代表,设计思想是隔离硬件复杂性和供应商的技术差别);端口方式(Linux为代表,设计思想是利用数码的强大能力来解决各种复杂问题和应对各种变化有关的挑战);一般来讲,Linux更接近主机服务方式、复杂度和规模更高。
应用级I/O,需要根据应用的特点进行设计与分析:输入主导型(数据采集型),主要包括数据自动采集硬件(可以没有)和填表型软件,主要考虑数据规整和数据安全;输出主导型,主要包括输出显示模块和输出通讯模块;I/O密集操作型,比如游戏软件;为了提高数据安全和传输效率,I/O操作常常需要把数据按照一定格式要求进行打包签名处理。
此外,还有强调交互可靠性的慢速会话式应用,其I/O特色需要:比较稳定持续的连接和比较可靠的缓存机制。
从总体上,I/O设计是分层进行的,通常包括:线路硬件层、系统软件层、应用软件层,一般的软件开发、只需要关心<stdio.h>和<iostream.h>即可。
<—end—>