一、进程:
1、处于执行期的程序以及相关资源的总称。
2、包括一段可执行程序代码,打开的文件,挂起的信号,内核内部数据,处理器状态,一个或多个具有内存映射的内存地址空间及一个或多个执行线程。
3、提供两种虚拟机制:虚拟处理器和虚拟内存
4、通常创建新的进程都是为了立即执行新的、不同的程序
二、线程:
1、在进程中活动的对象
2、拥有一个独立的程序计数器、进程栈和一组进程寄存器
3、内核调度的是线程,而不是进程
4、一个进程可以包含多个线程
三、fork()
1、该系统调用通过复制一个现有进程来创建一个全新的进程
2、调用fork()的进程为父进程,新产生的进程为子进程
3、在调用结束时,在返回点这个相同位置上,父进程继续执行,子进程开始执行
4、从内核返回两次:一次回到父进程,另一次回到子进程
5、调用exec()组函数可以创建新的地址空间,并把新的程序载入其中
6、程序通过exit()终结进程,并将占用的资源释放掉
7、父进程可以通过wait()、waitpid()查询子进程是否终结