进程是操作系统分配资源和调度的功能的单元,一个进程中可以有一个或多个线程,线程是操作系统的一个独立运算单元。通常可以认为一个应用软件对应一个进程,当多个软件一起运行也就是并行,并行实际是采用了分时复用技术。
为了充分利用CPU的巨大潜能,并行和并发都是完成多任务更加有高效的方式。简单来说,并发是交替做不同的事情,并行是同时做不同的事情。对于计算机而言,并发是不同的代码交替执行,并行是不同的代码同时执行。
![4933701-292d1f7467bb64eb.png](https://img-blog.csdnimg.cn/img_convert/c506bf0457f0898ea9b5941ab77a3140.png)
计算机的核心是CPU
![4933701-8f04951c52c6a6ce.png](https://img-blog.csdnimg.cn/img_convert/ab376a84f86472c6a875c9ee87af6d8c.png)
单个CPU一次只能运行一个任务
![4933701-ef4f36d4e04a9f51.png](https://img-blog.csdnimg.cn/img_convert/67454aab8427e1cb80cefd68803e414b.png)
进程
![4933701-d7a05bf3c429a696.png](https://img-blog.csdnimg.cn/img_convert/34133114a9958fba33ca0428934ad69a.png)
进程中的线程
![4933701-2718bc0db558febe.png](https://img-blog.csdnimg.cn/img_convert/95bcd4b2d0287990d05d440aef9eb268.png)
线程
![4933701-5aa45b9c416b4c63.png](https://img-blog.csdnimg.cn/img_convert/b58cb83a8260b563f59e65ca93de8942.png)
共享内存
![4933701-bf8ad0c3823999f7.png](https://img-blog.csdnimg.cn/img_convert/a4aef01e2d30a6673c646e44102ca423.png)
共享内存使用
![4933701-26203c102d2a5766.png](https://img-blog.csdnimg.cn/img_convert/7fdd1a6cfea8ab7a752343b11ff17c52.png)
互斥锁
![4933701-bc4a1d07ee2e6e52.png](https://img-blog.csdnimg.cn/img_convert/d78215c33a1ca5022a95634a77dbfa28.png)
线程排队
![4933701-7d211388e8ef113c.png](https://img-blog.csdnimg.cn/img_convert/6d1a66b493882a8341feb390303ab06c.png)
线程的数量
![4933701-f706f5a2447113c8.png](https://img-blog.csdnimg.cn/img_convert/c78f77aa50943d1ae2357bb6b3c53e8a.png)
信号量
![4933701-bcdf465e14423502.png](https://img-blog.csdnimg.cn/img_convert/d854744eba18e354d933867c9d35a5db.png)
操作系统的设计