这次回顾APUE中第三四章的内容,主要是文件I/O操作相关的接口函数。 UNIX系统的文件I/O是不带缓冲的I/O,不带缓冲是指每个read和write都调用系统内核的一个系统调用。1.文件描述符 UNIX I/O的所有函数都是基于文件描述符来操作的。那什么是文件描述符呢?文件描述符是一个非...
分类:
其他好文 时间:
2015-04-06 23:03:38
阅读次数:
267
system函数
system函数用方便在一个进程中执行命令行(一行shell命令)。
用法如下:
#include
#include
int main()
{
printf("Hello\n");
system("sleep 5");
return 0;
}
在程序中通过system调用了命令行 sleep 5。(这里知识举一个例子,当然可以执行一个类似“ b...
分类:
其他好文 时间:
2014-12-25 11:25:43
阅读次数:
199
前言: 前天在看APUE的时候突然想到了这个问题,于是给自己科普一下Linux系统的启动流程。1.加载BIOS 接通电源后,计算机首先加载BIOS(即Basic Input-Output System,该程序被固化在主板上的一个ROM芯片中,包括最基本的输入输出程序、系统设置程序、开机硬件自检程.....
分类:
系统相关 时间:
2014-10-09 02:11:07
阅读次数:
203
线程同步
同属于一个进程的不同线程是共享内存的,因而在执行过程中需要考虑数据的一致性。
假设:进程有一变量i=0,线程A执行i++,线程B执行i++,那么最终i的取值是多少呢?似乎一定是i=2;其实不然,如果没有考虑线程同步,i的取值可能是1.我们先考虑自加操作的过程:a,首先将内存中i的值copy到寄存器;b,对寄存器中i的copy进行自加;c,将寄存器中自加的结...
分类:
编程语言 时间:
2014-09-25 14:13:09
阅读次数:
297
线程标识
线程由线程号进行标识。线程号仅在线程所属的进程环境中有效。也就是说属于不同进程的两个线程可能线程号一样。
线程标识用结构体pthread_t tid表示。与线程Id相关的函数如下:
比较两个线程ID:
#include
int pthread_equal(pthread_t tid1,pthread_t tid2);
...
分类:
编程语言 时间:
2014-09-23 12:56:54
阅读次数:
249