摘要:
fork函数:fork函数被调用一次,返回两次,子进程和父进程继续执行fork调用之后的指令。子进程是父进程的副本,也就是说子进程获得父进程数据空间、堆和栈的副本,但是两个进程是共享正文段(通常是read-only的)的。但是在具体的系统实现中,采用写时复制技术(Copy-On-Write, COW)。fork的一个特性是父进程的所有打开文件描述符都被复制到子进程中,也就是说父子进程的每个相同的打开描述符共享一个文件表项,而文件表项内容包含:文件状态标志、当前文件偏移量、指向该文件v节点表项的指针(在linux实现中,并没有v节点,而是使用i节点)。vfork函数:在子进程调用exec或exi 阅读全文
摘要:
寄存器变量:当对一个变量频繁被读写时,需要反复访问内存,从而花费大量的存取时间。为此,C语言提供了一种变量,即寄存器变量。这种变量存放在CPU的寄存器中,使用时,不需要访问内存,而直接从寄存器中读写,从而提高效率。寄存器变量的说明符是register。对于循环次数较多的循环控制变量及循环体内反复使用的变量均可定义为寄存器变量,而循环计数是应用寄存器变量的最好候选者。 (1) 只有局部自动变量和形参才可以定义为寄存器变量。因为寄存器变量属于动态存储方式,凡需要采用静态存储方式的量都不能定义为寄存器变量,包括:模块间全局变量、模块内全局变量、局部static变量; (2) register是一个& 阅读全文