Linux系统级I/O操作详解
1. Linux系统与POSIX标准
Linux系统紧密遵循POSIX(可移植操作系统接口)标准,这是一个被全球广泛接受的开放操作系统接口标准。POSIX由IEEE(电气和电子工程师协会)制定,并得到了ISO(国际标准化组织)和ANSI(美国国家标准协会)的认可。遵循POSIX标准使得软件能够轻松移植到任何符合POSIX的操作系统上。
要查找任何系统调用名称的文档,可以使用以下命令:
man 2 name
2. 系统级I/O概述
标准C库中提供的高级I/O例程(如 putc 和 fopen )足以满足C程序中的大多数I/O需求。这些库函数是基于操作系统提供的低级调用构建的。在Linux中,C的I/O流是基于系统调用支持的I/O描述符机制构建的。
了解低级I/O设施不仅可以深入了解库函数的工作原理,还可以让你以标准C库不支持的方式使用I/O。Linux通过将I/O硬件表示为特殊文件,为文件和设备(如终端窗口或光驱)提供了统一的I/O接口。此外,Linux还支持通过管道和套接字等抽象结构在进程之间进行I/O。
2.1 I/O描述符
在进行文件I/O之前,程序必须首先向Linux表明其意图,这可以通过 open 系统调用实现:
#include <sys/types.h>
#include <sy
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



