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等技术共同实现的。

欢迎访问:个人博客-zobolの计算机操作系统学习札记

1.2 操作系统的第二个功能——并发功能 -《zobolの操作系统学习札记》的更多相关文章

  1. 1.4 操作系统的其余功能 -《zobolの操作系统学习札记》

    1.4 操作系统的其余功能 操作系统除了虚拟化.并发.存储管理三个主要功能,还有许多子功能,我主要介绍几种常见的功能比如 目录 1.4 操作系统的其余功能 稳定性 高性能 隔离保护 易用性(可视化) ...

  2. 1.3 操作系统的第三个功能——存储管理功能 -《zobolの操作系统学习札记》

    1.3 操作系统的第三个功能--存储管理功能 作者zobol:关于操作系统概论-存储管理功能,我给出下列问题: 目录 1.3 操作系统的第三个功能--存储管理功能 问1:操作系统的文件管理系统主要是负 ...

  3. 1.1 操作系统的第一个功能——虚拟化硬件资源 -《zobolの操作系统学习札记》

    1.1 操作系统的第一个功能--虚拟化硬件资源 目录 1.1 操作系统的第一个功能--虚拟化硬件资源 问1:操作系统一般处于计算机系统的哪一个位置? 问2:管理硬件资源为什么要单独交给操作系统? 问3 ...

  4. 2.2 追求并发的极致-线程概论 -《zobolの操作系统学习札记》

    2.2 追求并发的极致-线程概论 为了追求程序运行之间的并发性,计算机科学家们发明了进程.为了进一步的追求进程内部的并发性,工程师们又提出了线程. 正是线程的出现,给予了程序员更多地操纵OS的自由,可 ...

  5. 设计C/S架构应用程序的并发功能

    C/S架构的ERP.CRM程序有的是以并发点(Concurrency)来销售,并发点是指同时在线人数.并发数量大时,理论上程序的运行速度会慢,软件供应商(vendor)也以控制并发的上限以解决客户对系 ...

  6. threading模块和queue模块实现程序并发功能和消息队列

    简介: 通过三个例子熟悉一下python threading模块和queue模块实现程序并发功能和消息队列. 说明:以下实验基于python2.6 基本概念 什么是进程? 拥有独立的地址空间,内存,数 ...

  7. React 并发功能体验-前端的并发模式已经到来。

    React 是一个开源 JavaScript 库,开发人员使用它来创建基于 Web 和移动的应用程序,并且支持构建交互式用户界面和 UI 组件.React 是由 Facebook 软件工程师 Jord ...

  8. ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS)

    ROS(indigo)机器人操作系统学习资料和常用功能包汇总整理(ubuntu14.04LTS) 1. 网站资源: ROSwiki官网:http://wiki.ros.org/cn GitHub    ...

  9. Atiit 常见功能 常用功能与模块的最快速解决方案

    Atiit 常见功能 常用功能与模块的最快速解决方案 一.大力使用第三方API接口 一.导出excel jquery.table2excel 二.Form表单验证,使用h5验证属性 验证发生在form ...

随机推荐

  1. 机器学习---kmeans聚类的python实现

    """ Name: study_kmeans.py Author: KX-Lau Time: 2020/11/6 16:59 Desc: 实现kmeans聚类 " ...

  2. C++---变量、数据类型和运算符

    内存 计算机使用内存来记忆或存储计算时所使用的的数据. 计算机执行程序时, 组成程序的指令和程序所操作的数据都必须存放在某个地方, 而这个地方就是计算机的内存, 也称为主存, 或随机访问存储器(RAM ...

  3. MySQL---char和varchar的区别

    char和varchar的区别 char表示定长, 即长度固定. varchar表示变长, 即长度可变. 当输入数据的长度小于定义的长度时, char会用空格填充, 而varchar则按照实际长度存储 ...

  4. MySQL---drop, delete, truncate的区别

    drop, delete, truncate的区别 删除内容 drop直接删除整个表, 包含表结构和数据; truncate删除表中数据, 表结构及其列, 约束, 索引等不变, 再插入时自增id又从1 ...

  5. 移动安卓App+BurpSuite的渗透测试

    从Android 7.0及以上版本开始,安卓系统更改了信任用户安装证书的默认行为,用户安装的证书都是用户证书,因此不管是filddle还是burp,都是把他们的根证书安装到了用户证书,而有部分移动ap ...

  6. ThinkPHP3.2.3反序列化链子分析

    前言 目前官方已经不再维护ThinkPHP3.2.3,本文仅对ThinkPHP3.2.3反序列化链子进行复现,如有纰漏,还望指正. 环境介绍 MAMP pro PhpStorm Xdebug 利用条件 ...

  7. Java函数的学习

    函数的定义 - 定义的位置:定义在类的内部 - 组成部分: 函数修饰符 类型 函数名(形式参数){ 局部变量: 注释: 函数体: } 函数的调用 - 调用函数时使用 : `函数名():` - 函数在执 ...

  8. 在 ESXi 主机上关闭无响应的虚拟机电源

    使用 ESXi 命令行 使用 SSH 以 root 身份登录到 ESXi. 通过运行以下命令获取所有已注册虚拟机的列表,由其 VMID 和显示名称标识:       vim-cmd vmsvc/get ...

  9. StringBoot整合ELK实现日志收集和搜索自动补全功能(详细图文教程)

    @ 目录 StringBoot整合ELK实现日志收集和搜索自动补全功能(详细图文教程) 一.下载ELK的安装包上传并解压 1.Elasticsearch下载 2.Logstash下载 3.Kibana ...

  10. Glance基础服务运维

    @ 目录 Glance镜像服务介绍 创建镜像 查看镜像 修改镜像 删除镜像 Glance镜像服务介绍 Glance是OpenStack镜像服务,用来注册.登陆和检索虚拟机镜像.Glance服务提供了一 ...