进程的产生过程。
- 复制父进程的环境配置。
- 在内核中建立进程结构
- 将结构插入到进程列表,便于维护。
- 分配资源给此进程。
- 复制父进程的内存映射信息。
- 管理文件描述符和链接点。
- 通知父进程。
终止方式(5种)
终止进程时,系统会释放所有进程所拥有的资源。(如:内存,文件符,内核结构等。)
- 从Main()返回
- 调用exit. (在stdlib.h中,C的库函数)
- 调用_exit.(在unistd.h,系统函数)
- 调用abort.
- 由一个信号终止。
进程间通信
- 管道: 一端到另一端进行传递数据。同文件的读写。
- 共享内存 :将内存的一段地址,多个进程间共享。
- 消息:在内核中建立一个链表,发送方和接受方按照一定协议,进行读取链表。消息是一种完全的异步操作方式。
进程之间的同步
多个进程相互依赖完成任务,而产生进程同步。主要方式有信息,信号量。
进程与线程
- 进程是操作系统分配资源的最小单位,进程拥有完整的虚拟空间。
处理CPU资源之外,不会给线程分配独立的资源,线程所需要的资源需要共享。 - 线程是进程的一部分
- 多进程和多线程可并行完成功能,但是,多个线程之间的像内存、变量等资源在多个线程之间可以通过简单的办法共享,多进程间的共享方式有限。
- 进程有进程控制标PCB,系统通过PCB对进程进行调度。
线程有线程控制表TCB,但是TCB所表示的状态比PCB要少的多。