操作系统基础知识

进程与线程

操作系统面对的情形是, 可使用操作的计算、存储等资源是有限的, 但要同时处理多个任务,而每个任务又可能有多个执行流程。

目的:实现多任务的并发运行,在硬件资源有限的条件下, 尽量提高硬件资源的利用效率。 问题:防止共享资源的访问冲突。

  1. 以多进程形式,允许多个任务同时运行:每个进程自己有独立的虚拟地址空间、全局变 量和系统资源。每一个进程至少有一个主执行线程,它无需由用户去主动创建,是由系 统自动创建的。用户根据需要在应用程序中创建其它线程,多个线程并发地运行于同一 个进程中。
  2. 以多线程形式,允许单个任务分成不同的部分运行;
  3. 提供协调机制,一方面防止进程之间和线程之间产生冲突,另一方面允许进程之间和线程之间共享资源。

互斥锁(Mutual exclusion,Mutex): 只需要一把钥匙 信号量(Semaphore):门口挂 n 把钥匙

https://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

“并行”概念是“并发”概念的一个子集, 并发是多个动作的同时存在, 并行是多个动作同时 执行。

并发就是指代码逻辑上可以并行,有并行的潜力,但是不一定当前是真的以物理并行的方式运行 并发指的是代码的性质,并行指的是物理运行状态

Reference

《并发的艺术》 — 〔美〕布雷谢斯

results matching ""

    No results matching ""