缓冲的几个基本概念
缓冲的作用:减少系统read和write的次数。
全缓冲
系统标准I/O缓冲区被写满时才进行真正的I/O操作。
磁盘文件一般使用全缓冲
全缓冲使用malloc来分配缓冲区
行缓冲
系统遇到换行符时进行真正的I/O操作。
Te...
分类:
其他好文 时间:
2014-08-25 11:57:14
阅读次数:
214
基本概念
内核使用3个数据结构描述一个打开的文件:进程表、文件表、V节点表
首先了解3种数据结构的概念
1 进程表
每一个进程有一个进程表。进程表里是一组打开的文件描述符,如标准输入0,标准输出1,标准错误2...
2 文件表
进程打开一个文件时,内核就为该文件创建一个文件表。...
分类:
其他好文 时间:
2014-08-20 18:04:32
阅读次数:
220
9.1 引言本章将更详尽地说明进程组以及POSIX.1引入的会话的概念。还将介绍登陆shell(登录时所调用的)和所有从登陆shell启动的进程之间的关系。9.1 终端登陆系统管理员创建通常名为/etc/ttys的文件,其中每个终端设备都有一行,每一行说明设备名传递给getty程序的参数。当系统自举...
分类:
其他好文 时间:
2014-07-18 18:34:01
阅读次数:
253
8.1 引言本章介绍UNIX的进程控制,包括创建新进程、执行程序和进程终止。还将说明进程属性的各种ID-----实际、有效和保存的用户和组ID,以及他们如何受到进程控制原语的影响。本章还包括了解释器文件和system函数。本章最后讲述大多数UNIX系统所提供的进程会计机制。这种机制使我们能够从另一个...
分类:
其他好文 时间:
2014-07-18 14:18:37
阅读次数:
225
7.1 引言本章将学习:当执行程序时,其main函数是如何被调用的;命令行参数是如何传送给执行程序的;典型的存储器布局是什么样式;如何分配另外的存储空间;进程如何使用环境变量;各种不同的进程终止方式等;另外还将说明longjmp和setjmp函数以及它们与栈的交互作用;还将介绍研究进程的资源限制7....
分类:
其他好文 时间:
2014-07-17 10:07:37
阅读次数:
363
2.2UNIX标准化2.2.1 ISO C国际标准化组织(International Organization for Standardization,ISO)国际电子技术委员会(International Electrotechnical Commission,IEC)ISO C标准的意图是提供C...
分类:
其他好文 时间:
2014-07-16 22:48:46
阅读次数:
239
5.1 引言标准I/O库处理很多细节,例如缓冲区分配,以优化长度执行I/O等。这些处理不必担心如何使用正确的块长度。这使得它便于用户使用,但是如果不较深入地了解I/O库函数的操作,也会带来一些问题5.2 流和FILE对象对于ASCII字符集,一个字符用一个字节表示。对于国际字符集,一个字符可用多个字...
分类:
其他好文 时间:
2014-07-16 19:26:05
阅读次数:
238
6.1 引言UNIX系统的正常运行需要使用大量与系统有关的数据文件,针对这些数据文件的可移植接口是本章的主题。本章还介绍了系统标识函数、时间和日期函数6.2 口令文件UNIX系统的口令文件包含了下列各字段,这些字段包含在中定义的passwd结构中用户名 char *pw_name加密口令 ...
分类:
其他好文 时间:
2014-07-14 10:51:13
阅读次数:
257
4.1 引言本章将描述文件的特征和文件的性质4.2 stat、fstat和lstat函数#includeint stat(const char *restrict pathname,struct stat *restrict buf);int fstat(int filedes,struct sta...
分类:
其他好文 时间:
2014-07-13 20:36:36
阅读次数:
283
3.1 引言术语不带缓冲指的是每个read和write都调用内核中的一个系统调用。这些不带缓冲的I/O函数不是ISO C的组成部分,但是,它们是POSIX.1和Single UNIX Specification的组成部分3.2 文件描述符UNIX系统shell使用文件描述符0与进程的标准输入相关联、...
分类:
其他好文 时间:
2014-07-13 08:11:13
阅读次数:
245