进程线程回忆笔记

进程死锁的原因:资源竞争及进程推进顺序非法
死锁4个必要条件:互斥、不可剥夺、环路、请求保持
死锁的处理:鸵鸟策略、预防策略、避免策略、检测与解除死锁
操作系统中进程调度策略有哪几种:FCFS先来先服务,优先级,时间片轮转,多级反馈

进程间同步机制:原子操作、信号量机制、自旋锁、管城,会合,分布式系统
进程之间通信的途径:共享存储系统,消息传递系统,管道:以文件系统为基础
进程与线程区别:
进程是拥有资源的基本单位,线程是指进程内的一个执行单元,也是进程内的可调度实体。
与进程的区别:
1、调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位。
2、并发性:不仅进程之间可以并发执行,统一进程的多个线程也能并发执行。
3、拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但是能访问隶属于进程的资源。
4、系统开销:在创建或撤销进程时,由于系统都要为之分配和回收资源,导致系统的开销要明显大于创建或撤销线程时的开销。
多进程和多线程的区别:
1、数据共享、同步
多进程数据是分开的,共享复杂,需要IPC,同步简单
多线程共享进程数据,共享简单,同步复杂
2、内存、CPU
多进程占用内存多,切换复杂,CPU利用率低
多线程占用内存少,切换简单,CPU利用率高
3、创建销毁、切换
多进程创建销毁代价大,切换复杂,速度慢
多线程创建销毁代价小,切换简单,速度快
4、编程调试
多进程编程简单,调试简单
多线程编程复杂,调试复杂
5、可靠性
进程间不会相互影响
一个线程挂掉将导致整个进程挂掉
6、分布式
多进程适应于多核多机分布,如果一台机器不够,扩展到多台机器比较简单
多线程适应于多核分布

发布了39 篇原创文章 · 获赞 10 · 访问量 735

猜你喜欢

转载自blog.csdn.net/weixin_43393776/article/details/104424825