【我的笔记】进程管理(一)进程操作

进程创建 、进程执行映像和加载、进程运行(进程调度)、进程间的互斥与同步、进程间通信、进程终止


1、进程创建

PCB 的内容——通常从父进程拷贝 PCB,然后修改部分域。

进程的资源 (eg:内存空间)——Windows 是全部新建;Linux 是全部复制或部分复制

不能父子进程共用所有资源 --> eg:堆栈不能共用

(1)内存复制的方法:(程序、数据、堆栈等)

①父进程将自己的内存空间暂借给子进程 --> 子进程运行、父进程等待、知道子进程终止或换程序。

②父子双方共用内存空间,知道一方进行写操作,才真正复制,写多少复制多少 Copy on Write。

(2)Linux 三种创建进程的系统调用:

①  vfork( ) —— 借用方式

② fork( ) ——写时复制方式

③ clone( ) —— 两者之间,父进程指定需共用和复制的资源,内存复制方法也是 Copy on Write

(3)子进程创建后,必须要运行一个程序,如果未为其明确指定,只能运行父进程的程序。

(4)区分进程 —— 返回值:子进程返回0,父进程返回子进程的 ID 号

子进程继续父进程运行到的那里往下运行。

你可能感兴趣的:(【我的笔记】进程管理(一)进程操作)