进程简介
并发和并行
并发:在一个时间段中多个程序都启动运行在用一个处理机中
并行:两个进程分别由不同的CPU管理执行,两个进程不抢占CPU的资源,且可以同时运行,叫做并行
区别在于是否同时
多进程的优点
各个进程有自己的内存空间,所以具有更强的容错率,不至于一个错了导致系统崩溃
具有更好的多核可伸缩性,因为进程将地址空间,页表等进行了隔离,在多核的系统上可伸缩更强。
同步、异步、阻塞、非阻塞
同步异步、阻塞非阻塞是两个不同层面的问题,一个是operation层一个是kernal层。
同步和异步最大的区别就是是否需要底层的响应再执行。
阻塞和非阻塞最大的区别就是能否立即给出响应
同步:当一个同步调用发送后,调用者要一直等待返回结果。通知后,才能进行后续的执行。
异步:当一个异步过程调用发出后,调用者不能立刻得到返回结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。
阻塞:是指调用结果返回前,当前线程会被挂起,即阻塞。
非阻塞:是指即使调用结果没返回,也不会阻塞当前线程。
进程的状态与变迁
进程有五种状态:
运行状态:该进程占用CPU
就绪状态:可运行,但是由于其他进程正在运行而暂停
阻塞状态:该进程正在等待某一事件发生而暂停运行,此时,即使给他CPU控制权,它也无法运行
创建状态:进程正在被创建时的状态
结