Invinc-Z Blog

Plain Life and Wonderful Moments

本文主体内容来自《UNIX环境高级编程第三版》。

本文先说明可用的文件I/O函数——打开文件、读文件、写文件等。UNIX系统中的大多数文件I/O只需用到5个函数:open、read、write、lseek以及close。然后说明不同缓冲长度对read和write函数的影响。

本文描述的函数经常被称为不带缓冲的I/O(unbuffered I/O)。术语不带缓冲指的是每个read和write都调用内核中的一个系统调用。这些不带缓冲的I/O函数不是ISO C的组成部分,但是,它们是POSIX.1和Single UNIX Specification的组成部分。

只要涉及在多个进程间共享资源,原子操作的概念就变得非常重要。将通过文件I/O和open函数的参数来讨论此概念。然后,进一步讨论在多个进程间如何共享文件,以及所涉及的内核有关数据结构。在描述了这些特征后,将说明dup、fcntl、sync、fsync和ioctl函数。

阅读全文 »

本文主体内容来自《UNIX环境高级编程第三版》。

本文首先回顾过去近25年人们在UNIX标准化方面做出的种种努力,然后讨论这些UNIX编程标准对本书所列举的各种UNIX操作系统实现的影响。所有标准化工作的一个重要部分是对每种实现必须定义的各种限制进行说明,所以我们将说明这些限制以及确定它们值的各种方法。

阅读全文 »

本文主体内容来自《UNIX环境高级编程第三版》。

本文主要从UNIX系统的基本知识开始介绍,包括UNIX体系结构以及登录、文件和目录、输入和输出、程序和进程、出错处理、用户标识、信号、时间值、系统调用和库函数等基本概念。

阅读全文 »