UNIX标准及实现】的更多相关文章

UNIX标准及实现 引言     在UNIX编程环境和C程序设计语言的标准化方面已经做了很多工作.虽然UNIX应用程序在不同的UNIX操作系统版本之间进行移植相当容易,但是20世纪80年代UNIX版本的剧增以及它们之间差别的扩大,导致很多大用户(例如美国政府)呼吁对其进行标堆化.     本章首先将介绍过去20年来进行的各种标准化工作,然后讨论这些UNIX编程标准对本书所列举的各种UNIX操作系统实现的影响.所有标准化工作的一个重要部分是对每种实现必须定义的各种限制进行说明,所以我们将说明这些限…
1. perl,flock加锁.java也能加锁. 2. 先创建文件并打开,才能加锁(写打开?). 3. 可以用于判断进程是否一直在运行(用另一进程判断),如果锁一直在,则进程在:锁不在,则原进程或意外中断. 4. 可以用于互斥,使得同一时间只有一个脚本运行(一般使用非阻塞模式). 5. 多进程系统中,文件锁可以用于进程互斥. 6. 为了避免对同一文件读写冲突,在写的时候可以写入另一个文件如**.tmp,然后使用命令`mv **.tmp **`,因为linux保证了mv操作是原子性,所以读打开的…
背景 人们在UNIX编程环境和C 程序设计语言的标准化方面已经做了很多工作.虽然UNIX应用 程序在不同的UNIX操作系统版本之间进行移植相当容易,但是2 0 世 纪 80年代UNIX版本种类的剧增以及它们之间差别的扩大,导致很多大用户( 如美国政府)呼吁对其进行标准化. 对于我们程序员来说,了解基本的标准和背景是有必要,本文主要对ISO C    POSIX    Sigle UNIX Specification 3个标准进行说明 ISO C 1989年,c程序设计语言的ANSI的标准X3.1…
在过去的将近25年时间,人们为了UNIX的标准化做出了种种努力,这使得程序在不同版本的UNIX系统之间的移植相当容易. ISO C 1989年,C语言首个标准得到批准,其为C89.次年,一个带有小改动的版本标准被批准其为C90.因此,C89和C90通常指同一种语言.在2000年三月,ANSI采纳了ISO/IEC 9899:1999标准.这个标准通常指C99.在2011年12月,ANSI采纳了ISO/IEC 9899:2011标准.这个标准通常即C11,它是C程序语言的现行标准. 按照ISO C标…
一.计算机网络 1.计算机网络的功能 a.数据通信 b.资源共享 c.提高系统的可靠性 d.分布式网络处理和负载均匀. 2.计算机网络的组成 1.通信子网:由网卡.线缆.集线器.中继器.交换器.路由器等. 2.资源子网:网络中的计算机.打印机等一些可以提供服务的一些设备. 3.计算机网络软件: 协议软件:它规定了计算机之间通信的准则,TCP/IP协议簇 网络通信软件:网络中实现计算机与设备之间通信的软件 网络操作系统:可以提供网络服务的计算机操作服务 windows  server2008  U…
一.基本概念 进程间通信IPC:进程之间交换数据的过程叫进程间通信 进程间同性的方式: 简单的进程间的通信: 命令行:父进程通过exec函数创建子进程是可以附加一些数据 环境变量表:父进程通过exec函数创建子进程顺便传递一张环境变量表 信号:父子进程之间可以根据进程号相互发送信号,进行简单通信 文件:一个进程向文件中写入数据,另一个进程从文件读3出来 命令行.环境变量只能单向传递,信号太过于简单,文件不能实时. 传统的进程之间通信方式:管道 二.管道 1.管道是一种古老的通信方式(基本上不再使…
随着UNIX各种衍生版本不断发展壮大,标准化工作就十分必要.其实干啥事都是这样,玩的人多了,必须进行标准化. 一.UNIX标准 1.1 ISO C(ANSI C) ANSI:Amerocan Natoinal Standards Institute,美国国家标准学会,是ISO的程序 ISO: International Organization for Standardization,国际标准化组织 IEC:International Electrotechnical CCommission,国…
POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945. POSIX标准意在期望获得源代码级别的软件可移植性.换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来…
以写文件为例,C标准I/O库函数(printf(3) .putchar(3) .fputs(3) )与系统调用write(2) 的关 系如下图所示. 库函数与系统调用的层次关系 open .read .write .close 等系统函数称为无缓冲I/O(Unbuffered I/O)函数,因为它们位于C标 准库的I/O缓冲区的底层.用户程序在读写文件时既可以调用C标准I/O库函数,也可以直接调用 底层的Unbuffered I/O函数,那么用哪一组函数好呢? 用Unbuffered I/O函数…
一.C标准I/O库函数.Unbuffered I/O函数 1. C标准I/O库函数是如何用系统调用的 fopen(3) 调用open(2)打开制定的文件,返回一个文件描述符(一个int类型的编号),分配一个FILE结构体,其中包含该文件的描述符.I/O缓冲区和当前读写位置等信息,返回这个FILE结构体的地址. fgetc(3) 通过传入的FILE *参数找到该文件的描述符.I/O缓冲区和当前读写位置,判断能否从I/O缓冲区读到下一个字符,如果能就直接返回该字符,否则调用read(2)把文件描述符…