计算机操作系统之并行性与并发性笔记

目录

在计算机操作系统中,并行性与并发性是两个既相似又有区别的重要概念

并行性:

并发性:

可以通过多任务处理和资源共享来具体说明

并发性的例子

并行性的例子

总结


在计算机操作系统中,并行性与并发性是两个既相似又有区别的重要概念

并行性:

它指的是两个或多个事件在同一时刻发生。

这意味着,如果有足够的处理单元(如多核CPU或分布式系统中的多个节点),这些事件可以真正地同时执行,互不干扰。并行性强调的是物理上的同时性,能够显著提高性能,因为多个任务可以同时进行,减少了总体完成时间。

并发性:

它则是指两个或多个事件在同一时间间隔内发生。

虽然从宏观上看,这些事件似乎是在同时运行,但实际上在单核或多核CPU的某一瞬间,通常只能有一道程序执行,各道程序轮流交替地执行。并发性强调的是逻辑上的同时性,通过操作系统的任务调度和时间片轮转等技术,使多个任务交替执行,从而提高了系统的吞吐量和资源利用率。然而,每个任务的实际执行可能并不是连续的,因此可能会引入一些额外的开销,如上下文切换等。

并行性和并发性都是计算机系统中处理多任务的重要策略,但它们在实现方式、效率、性能以及所需资源方面有所不同。选择使用并行性还是并发性,通常取决于具体的应用场景、硬件条件以及性能需求。

可以通过多任务处理和资源共享来具体说明

并发性的例子

在计算机操作系统中,并发性通常体现在单个处理器上通过时间片轮转来同时处理多个任务。假设你正在使用一台个人电脑,同时运行着以下几个程序:

文字处理软件(如Word):你正在编写一篇文章。
网页浏览器:多个标签页同时打开,其中一个在播放在线视频,另一个在浏览新闻。
音乐播放器:在后台播放你喜欢的音乐列表。

尽管从宏观上看,这些程序似乎都在同时运行,但实际上,由于你的电脑只有一个处理器(或多个处理器但操作系统可能将它们视为一个统一的资源池来管理任务),这些程序是通过操作系统的任务调度机制交替执行的。操作系统为每个程序分配一定的时间片,在这个时间片内,程序可以执行其指令。当时间片用完时,程序会被挂起,操作系统将CPU控制权交给另一个程序。由于这个时间片的切换非常快,用户通常不会感觉到程序是在交替执行的。

并行性的例子

并行性在计算机系统中则更多地体现在多处理器或多核处理器环境中。假设你所在的实验室拥有一台高性能计算集群,该集群由多个节点组成,每个节点都有多个处理器核心。在这样的系统中,并行性可以得到充分的利用。

科学计算任务:研究人员提交了一个复杂的物理模拟任务,该任务被分解为多个较小的子任务,每个子任务都可以独立地在集群的一个或多个节点上并行执行。这些子任务之间可能通过消息传递接口(MPI)或其他并行通信机制来交换数据。

数据库查询:在一个大型数据库中,多个查询请求可以同时提交给数据库管理系统。数据库管理系统可以利用并行查询处理技术来同时处理这些查询请求,每个请求可能在不同的处理器核心上并行执行其计算密集型部分,如连接操作、排序操作等。

总结

在计算机操作系统中,并发性允许单个处理器上通过时间片轮转来同时处理多个任务,从而提高系统的吞吐量和资源利用率。而并行性则利用多处理器或多核处理器的计算能力来真正地同时执行多个任务,从而提高系统的整体性能。这两个概念都是现代计算机系统中处理多任务和提高性能的重要手段。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/52916.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitlab无法push(pre-receive hook declined)

如果是个人的项目,托管在官网,可以参考这位大佬的, GitLab新建项目后push reject提交失败的解决办法_push rejected-CSDN博客 如果是公司的项目,去项目成员里看自己的身份,如果只是developer,是无法push到…

分享一个基于微信小程序的居家养老服务小程序 养老服务预约安卓app uniapp(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…

【苍穹外卖】总结

1 pom 依赖 1.1 MyBatis Spring 用于简化 MyBatis 与 Spring Boot 的集成,提供了对 MyBatis 框架的自动配置支持,简化了数据访问层的开发 1.2 Lombok Lombok 是一个 Java 库,能够通过注解自动生成常见的代码(如 getter、setter、…

AI教你学Python :详解Python运算符(补充)

详解Python运算符(补充) 在Python编程中,运算符用于执行特定的操作,比如数学计算、逻辑判断、位操作等。了解和灵活运用各种运算符能帮助我们提高编程效率和代码的可读性。 1. 运算符的分类 运算符主要可以分为以下几类&#x…

flink实战--如何基于java-agent技术增强Flink功能

Agent实现Flink流动数据的监听 一个Flink程序的运行,会依赖到一个或多个Connector(连接器),而这些连接器分为Source(主要用于读)和Sink(主要用于写),那么如果要监听到Flink作业流动的数据,我们这里可以简单尝试去查看支持Sink的Connector(例如:flink…

看Threejs好玩示例,学习创新与技术(三)

本文接上篇内容,继续挖掘应用ThreeJS的一些创新算法。 1、获得鼠标移动对应的地理位置 这个算法如果放在几年前,那肯定会难倒一帮人的。因为是三维投影涉及矩阵变换及求逆,而且还是投影模式下的。在Project Texture这个示例中,作…

Ubuntu下Git使用教程:从入门到实践

引言 在软件开发和版本控制领域,Git无疑是最为流行的工具之一。它不仅能够帮助我们高效地管理代码,还能促进团队协作,确保项目的持续集成与交付。对于使用Ubuntu操作系统的开发者而言,掌握Git的使用技巧尤为重要。本文将带您一步…

Apache-wed服务器环境的安装

一。安装httpd并且开启httpd yum install httpd systemctl start httpd 二。关闭防火墙 systemctl stop firewall 三。常规配置wed服务 mkdir /www vim index.html(里面写入自己的内容) chmod 755 index.htm chmod 755 /www vim /etc/httpd/co…

从冯唐的成事心法 看SAP协助企业战略落地到信息化

冯唐的《成事心法》是一部结合古代智慧和现代管理理念的著作,通过分析和解读古代名臣张居正的管理方法,提出了一套实用的成事之道。这本书的结构循序渐进,讲解了如何在工作和生活中实现目标、解决问题。以下是《成事心法》的主要结构和内容概…

【Node.js】初识微服务

概述 Node.js 的微服务架构是一种通过将应用程序分解为独立的、松耦合的小服务的方式进行系统设计。 每个微服务负责处理一个特定的业务功能,并且这些服务可以独立开发、部署、扩展和管理,并且可以通讯。 它的核心思想就是解耦。 微服务和微前端是类…

FastText 和 Faiss 的初探了解

概览 大模型目前已经是如火如荼的程度,各个大厂都有推出面向大众的基础大模型,同时诸多行业也有在训练专有大模型,而大模型的发展由来却是经过多年从文本检索生成、深度学习、自然语言处理,在Transformer架构出来后,才…

前端基础知识+算法(一)

文章目录 算法二分查找条件注意方式基本原理左闭右闭正向写法 左闭右开正向写法 前端基础知识定时器及清除盒子垂直水平居中的方式垂直水平1.flex布局2.grid布局3.定位对于块级元素 解决高度塌陷的方式1.给父元素一个固定的高度2.给父元素添加属性 overflow: hidden;3.在子元素…

ip映射域名,一般用于mysql和redis的固定映射,方便快捷打包

举个例子 192.168.3.101mysql映射到mysql.smartlink.com 192.168.3.101redis redis.smartlink.com 要将IP地址映射到域名,可以通过几种方式实现,包括修改本地主机文件(仅适用于本地开发环境)、设置DNS解析(适用于生产环…

java enum code-label模式的使用方法

通常我们定义的枚举类都会有两个字段:code、label,然后我们有会需要两个方法: 1.根据code获得枚举实例对象:getByCode 2.根据code获得对应的label:getLabelByCode 当然可以在每个枚举类中实现这两个方法,…

【字幕】恋上数据结构与算法之019动态数组07打印数组

是吧?什么意思呢?你看啊我们刚刚已经加了三个东西了,我现在希望能够打印一下这个速度,希望能把它里面所有元素打出来,那我们试一下,看它默认是怎么打,这个时候我们右击你会发现它打出来长这样子…

IDEA-调用Restful接口

告别Swagger3/Apifox/Postman Swagger3(丝袜哥) 地址:REST API Documentation Tool | Swagger UI简介:在java代码里面增加注解生成接口文档 在代码里面增加注解 RestController RequestMapping("api/v1/user") Api(ta…

Java外卖小程序管理系统

技术架构: springboot ssm mysql redis 有需要该项目的小伙伴可以添加我Q:598748873,备注:CSDN 功能描述: 商品管理:新增商品、所有商品 菜单管理:菜单管理、菜单分类 订单管理&#x…

<<编码>> 第 12 章 二进制加法器--8位加法器 示例电路

8 位加法器内部结构 info::操作说明 鼠标单击逻辑输入切换 0|1 状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/code-hlchs-examples/assets/circuit/code-hlchs-ch12-08-8-bit-adder-internal.txt 8 位加法器 info::操作说…

只要不逾期就行了吗?如何守护好你的“第二张身份证“!

在这个时代,信用记录已远远超越了金融交易的范畴,它如同一根无形的纽带,将我们生活的各个领域紧密相连。近闻有人甚至在步入婚姻殿堂前,也要细致核查对方的信用状况,毕竟,这关乎到共同生活的基石与未来幸福…

影刀RPA实战:自动化同步商品库存至各大电商平台(二)

在当今的电商世界中,多平台运营已成为常态。商家需要在多个电商平台上维护商品库存的一致性,以确保顾客体验的流畅性和库存管理的高效性。运营人员每天面临的问题,就是把公司的商品库存数据,间断性的同步到电商平台上,…