摘要: 1.open()中指定O_APPEND,则每次write都会先lseek到文件尾,write相对其他进程为原子的2.open()中指定O_CREAT,则检测文件是否存在和新建文件这两个操作合并为一个原子操作。3.tmpfile接口把创建文件和unlink文件合并为一个原子操作。4.fcntl()的文... 阅读全文
posted @ 2013-06-14 15:23 farseeraliens 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 内核数据结构mm_struct中的成员变量start_code和end_code是进程代码段的起始和终止地址,start_data和 end_data是进程数据段的起始和终止地址,start_stack是进程堆栈段起始地址,start_brk是进程动态内存分配起始地址(堆的起始地址),还有一个 brk(堆的当前最后地址),就是动态内存分配当前的终止地址。man 2 sbrk的结果:brk() and sbrk() change the location of the program break, which defines the end of the process's data s 阅读全文
posted @ 2013-06-11 14:13 farseeraliens 阅读(146) 评论(0) 推荐(0) 编辑
摘要: ECMAScript 有 5 种原始类型(primitive type),即 Undefined、Null、Boolean、Number 和 String。对变量或值调用 typeof 运算符将返回下列值之一:undefined - 如果变量是 Undefined 类型的boolean - 如果变量是 Boolean 类型的number - 如果变量是 Number 类型的string - 如果变量是 String 类型的object - 如果变量是一种引用类型或 Null 类型的null 被认为是对象的占位符字符串字面量\u2233表示了unicode编码为2233的unicode字符。 阅读全文
posted @ 2013-06-04 11:30 farseeraliens 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1.信号(signal)为int类型,处理函数为void (*handler)(int)类型,信号集为sigset_t类型。处理信号的接口,返回值一般规定为:执行成功返回0,执行失败返回SIG_ERR(-1).2.设置信号处理的接口,常用的有signal()和sigaction()。signal()设置的信号处理函数是一次性的,被调用过一次后会被替换为系统默认处理函数。为了实现链式操作,signal()返回值为参数中的handler函数指针。相关定义如下:#include<signal.h>void(*signal(int signumber,void ((*func)(int)) 阅读全文
posted @ 2013-05-30 12:30 farseeraliens 阅读(319) 评论(0) 推荐(0) 编辑