1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》
1.2 操作系统的第二个功能——并发功能
在虚拟化技术的基础上,我们可以实现并发功能。
问1:什么是并发功能?并发功能是必要的吗?
粗略地讲,并发功能就是同时做多件事情的能力。
现实中我们遇到的很多问题,都是可以同时计算的,如果我们的计算机操作系统有并发功能那么就可以节省时间,比如GPU的诞生。此外很多操作都是有时间限制要求,这就要求我们必须在做一件事情的同时,也要不断地记录运行时间。最常见的就是计时器功能。

没有并发功能,很多实时性的任务,计算机系统都将无法完成。
我们也无法实现一边听歌,一边上网。

问2:并发功能必须要求拥有多核CPU吗?
不是,并发功能是建立在虚拟化技术的基础上的,并发的进程数和线程数跟CPU的数量无关。就算只有一个单核CPU,操作系统依然可以使用并发功能,实现多线程同步操作。
问3:多核CPU和单核CPU对并发功能的实现,有影响吗?
但是如果计算机系统有多核CPU,操作系统可以拥有更多的线程数量,从而更好地实现并行同步上网听歌功能。此外多核CPU可以实现绝对的并行计算。
比如假如有两个任务,A需要3分钟,B需要5分钟。操作系统都可以实现让用户感觉这两个任务是同时运行的。但是单核CPU的总运行时间一定是大于等于8分钟的,多核CPU却可以实现大于等于5分钟。
毕竟虽然实现了将硬件资源虚拟化,但硬件资源的总量还是固定不变的,单核CPU的计算力未必小于多核CPU,但是底层无法实现真正的多核计算,肯定实际上还是单行计算的。
问4:并发功能的并发性是绝对的,还是相对的?
大多数情况下都是相对于我们人类感知来讲的并行,也有少部分情况下,是绝对的。
假如是单核CPU,那么从硬件层面一定是单向的,无法进行并行计算操作。但是操作系统通过不断的切换线程,可以实现一种伪并行,让用户感觉好像是在同时运行多个线程。其实底层还是计算一会A,停下来,计算一会B,只是间隔短人类感受不到。
假如是多核CPU,那么操作系统可以将两个任务分配个两个计算核心,这样硬件层就实现了绝对的并发性。不过,操作系统的线程数一般都是远大于CPU核心数,所以大多数情况多核也是操作系统提供的相对并发性。
是否能否实现真并发,取决于硬件层能否支持并行计算。硬件的并行计算典型就是GPU
问5:GPU显卡的并发性是如何实现的?
GPU就是我们平常使用的显卡,用来进行图形计算或矩阵计算。我们一般买的CPU上都会赠送一个集成显卡,没有显卡,我们的计算机屏幕会一片漆黑。
GPU就是特异化的CPU,是矩阵化数量核数的CPU。
图形现实本身是要消耗一定计算能力的(实际占比还不小),早期黑框框的DOS界面一般CPU自己的线性计算能力就能承担。但是随着现代的界面可视化和各种三维游戏的出现导致对新的并行图形计算能力的需求出现。
每一个二维图像都可以看作是一个矩阵,如果我们每一个矩阵元素都用一个CPU去并行计算,就可以花费计算一个像素的时间,计算出整个图像的数据。
GPU可以看作是由矩阵化数量(比如300×500个)CPU核心的集成,每一个核心的计算能力有限,专门为图形矩阵计算做了硬件优化。
GPU是并行,并发性的最典型例子。操作系统的并发性主要是靠复用思想,时间片轮转思想,线程进程思想、
虚拟内存思想以及多核CPU等技术共同实现的。
1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》的更多相关文章
- 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》
1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...
- 1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》
1.3 操作系统的第三个功能--存储管理功能 作者zobol:关于操作系统概论-存储管理功能,我给出下列问题: 目录 1.3 操作系统的第三个功能--存储管理功能 问1:操作系统的文件管理系统主要是负 ...
- 1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》
1.1 操作系统的第一个功能--虚拟化硬件资源 目录 1.1 操作系统的第一个功能--虚拟化硬件资源 问1:操作系统一般处于计算机系统的哪一个位置? 问2:管理硬件资源为什么要单独交给操作系统? 问3 ...
- 2.2 追求并发的极致-线程概论 -《zobolの操作系统学习札记》
2.2 追求并发的极致-线程概论 为了追求程序运行之间的并发性,计算机科学家们发明了进程.为了进一步的追求进程内部的并发性,工程师们又提出了线程. 正是线程的出现,给予了程序员更多地操纵OS的自由,可 ...
- 设计C/S架构应用程序的并发功能
C/S架构的ERP.CRM程序有的是以并发点(Concurrency)来销售,并发点是指同时在线人数.并发数量大时,理论上程序的运行速度会慢,软件供应商(vendor)也以控制并发的上限以解决客户对系 ...
- threading模块和queue模块实现程序并发功能和消息队列
简介: 通过三个例子熟悉一下python threading模块和queue模块实现程序并发功能和消息队列. 说明:以下实验基于python2.6 基本概念 什么是进程? 拥有独立的地址空间,内存,数 ...
- React 并发功能体验-前端的并发模式已经到来。
React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件.React 是由 Facebook 软件工程师 Jord ...
- ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)
ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub ...
- Atiit 常见功能 常用功能与模块的最快速解决方案
Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...
随机推荐
- 记录:替换线上springboot项目可执行jar包中依赖jar里的class文件
问题背景: 项目组发现线上版本问题后,定位是由于项目依赖的某个jar包中有个小BUG. 解决方案: 在修改了对应的java文件后,编译出对应的class文件.从生产环境下载项目jar包,解压后,找到对 ...
- JavaWeb学习day3-Maven&安装
1.官网下载:https://maven.apache.org/ 2.解压下载好的压缩包 3.配置环境变量 添加如下图变量 在path变量下添加下图 4.安装完成检测 cmd输入:mvn -versi ...
- 改造@vue/cli项目为服务端渲染-ServerSideRender
VUE SEO方案二 - SSR服务端渲染 在上一章中,我们分享了预渲染的方案来解决SEO问题,个人还是很中意此方案的,既简单又能解决大部分问题.但是也有着一定的缺陷,所以我们继续来看下一个方案--服 ...
- 算法基础⑦搜索与图论--BFS(宽度优先搜索)
宽度优先搜索(BFS) #include<cstdio> #include<cstring> #include<iostream> #include<algo ...
- 2021.08.03 BZOJ 疯狂的馒头(并查集)
2021.08.03 BZOJ 疯狂的馒头(并查集) 疯狂的馒头 - 题目 - 黑暗爆炸OJ (darkbzoj.tk) 重点: 1.并查集的神奇运用 2.离线化 题意: 给一个长为n的序列,进行m次 ...
- 百度飞桨数据处理 API 数据格式 HWC CHW 和 PIL 图像处理之间的关系
使用百度飞桨 API 例如:Resize Normalize,处理数据的时候. Resize:如果输入的图像是 PIL 读取的图像这个数据格式是 HWC ,Resize 就需要 HWC 格式的数据. ...
- ImageKnife组件,让小白也能轻松搞定图片开发
本期我们给大家带来的是开发者周黎生的分享,希望能给你的HarmonyOS开发之旅带来启发~ 图片是UI界面的重要元素之一, 图片加载速度及效果直接影响应用体验.ArkUI开发框架提供了丰富的图像处理能 ...
- 【ACM程序设计】求短路 Floyd算法
最短路 floyd算法 floyd是一个基于贪心思维和动态规划思维的计算所有点到所有点的最短距离的算法. P57-图-8.Floyd算法_哔哩哔哩_bilibili 对于每个顶点v,和任一顶点对(i, ...
- VMware配置与管理DNS服务器
一,安装DNS服务器角色 1,点击[开始]→[管理工具]→[服务器管理器]→"仪表板"选项的[添加角色和功能] 持续单击[下一步],直到出现"选择服务器角色"窗 ...
- PXE实现无人值守批量安装服务器
今天我们使用PXE+Kickstart+TFTP+DHCP+FTP实现无人值守安装服务器. 一.无人值守所需服务介绍: 1)PXE PXE,远程引导技术 功能:使计算机通过网络启动 硬件要求:客户端的 ...