进程创建 、进程执行映像和加载、进程运行(进程调度)、进程间的互斥与同步、进程间通信、进程终止
1、进程创建
PCB 的内容——通常从父进程拷贝 PCB,然后修改部分域。
进程的资源 (eg:内存空间)——Windows 是全部新建;Linux 是全部复制或部分复制
不能父子进程共用所有资源 --> eg:堆栈不能共用
(1)内存复制的方法:(程序、数据、堆栈等)
①父进程将自己的内存空间暂借给子进程 --> 子进程运行、父进程等待、知道子进程终止或换程序。
②父子双方共用内存空间,知道一方进行写操作,才真正复制,写多少复制多少 Copy on Write。
(2)Linux 三种创建进程的系统调用:
① vfork( ) —— 借用方式
② fork( ) ——写时复制方式
③ clone( ) —— 两者之间,父进程指定需共用和复制的资源,内存复制方法也是 Copy on Write
(3)子进程创建后,必须要运行一个程序,如果未为其明确指定,只能运行父进程的程序。
(4)区分进程 —— 返回值:子进程返回0,父进程返回子进程的 ID 号
子进程继续父进程运行到的那里往下运行。