专栏名称: 代码随想录
认准代码随想录,学习算法不迷路。 刷题网站:programmercarl.com
目录
相关文章推荐
山东省交通运输厅  ·  正式获批! ·  16 小时前  
单向街书店  ·  三打白骨精|皮影戏体验工作坊 ·  2 天前  
德州晚报  ·  杨晓军(副厅级),被逮捕! ·  2 天前  
德州晚报  ·  全德州免费使用! ·  2 天前  
51好读  ›  专栏  ›  代码随想录

并行和并发的区别,我明白了!

代码随想录  · 公众号  ·  · 2025-01-27 11:40

正文

更多优质面试题以及学习笔记,尽在 卡码笔记 https://notes.kamacoder.com

今日优质笔记推荐: https://notes.kamacoder.com/question/100051

并行和并发,应该是我们学习操作系统最先接触到的一对概念了,那如果面试官问我们“ 并行和并发的区别 ”,我们该怎样回答呢?

unset unset 简要回答 unset unset

并行和并发的概念:

  • 并行 :多个任务 同时执行 ,需要多核或多处理器支持。
  • 并发 :多个任务 交替执行 ,不需要多核支持,单核CPU即可实现,通过快速切换模拟“同时执行”。

并行和并发的区分:

  1. 执行方式
  • 并行是多个任务 真正同时执行
  • 并发是多个任务 交替执行 ,通过快速切换模拟“同时执行”。
  • 硬件要求
    • 并行需要多核或多处理器支持。
    • 并发可以在单核CPU上实现。
  • 目标
    • 并行的主要目标是提高计算速度。
    • 并发的主要目标是提高资源利用率和响应性。

    unset unset 详细回答 unset unset

    • 并行 :是指在计算机系统中 同一时刻 有多个程序在 同时运行 ,称这些在同一时刻同时运行的程序是并行执行的。
    • 并发 :是指在计算机系统中 一段时间内 宏观上有多个程序在 同时运行 ,但同一时刻只有一个程序在运行。 在单处理器系统上 ,宏观来看这些程序是同时向前推进的;微观来看并发执行的程序是交替在处理机上运行的。 在多处理器系统上 ,每个处理器都可以实现并发,且不同处理器上的多个程序是并行执行的。
    • 并行是并发的特例,程序有并行性则一定是并发的,反之并发活动不一定是并行执行的 。并行性是指两个或多个事件在同一时刻发生;并发性是指两个或多个事件在同一时间间隔内发生,但同一时刻只有一个事件在发生。
    • 实际上并发性是一种设计思想,即要 尽可能复用计算机中的资源 来提高计算机系统的运行效率。eg:当正在执行的程序要执行I/O操作时,操作系统就会要求其让出处理器资源使其他程序能上处理器运行,使I/O设备可以与处理器并行工作,减少了硬件资源相互等待带来的时间损耗。
    • 程序 并发性体现在两个方面
    1. 用户程序和用户程序之间的并发执行。
    2. 用户程序与操作系统程序之间的并发执行。

    unset unset 知识拓展 unset unset

    操作系统四大基本特性

    1. 并发(Concurrency) :是指计算机系统在一段时间内有多个程序在同时执行。
    2. 共享(Sharing) :是指内存中多个并发执行的进程(线程)同时使用同一个系统资源;将资源的共享使用称为“资源共享”或“资源复用”。并行和共享是多用户操作系统的两个最基本特征,并发是共享的前提,共享是并发的基础。
    3. 虚拟(Virtualization) :是指通过某种技术将一个物理实体变成若干个逻辑上的对应物,常用的虚拟技术是“时分复用技术”和“空分复用技术”。
    4. 异步(Asynchrony) :是指多道程序并发执行时,进程并不是一直不间断地从开始执行到结束,而是以等待 - 执行的循环方式和不可预期的速度向前推进。

    面试突击训练营







    请到「今天看啥」查看全文