在虚拟化技术的基础上,咱们能够实现并发功能。html
粗略地讲,并发功能就是同时作多件事情的能力。git
现实中咱们遇到的不少问题,都是能够同时计算的,若是咱们的计算机操做系统有并发功能那么就能够节省时间,好比GPU的诞生。此外不少操做都是有时间限制要求,这就要求咱们必须在作一件事情的同时,也要不断地记录运行时间。最多见的就是计时器功能。github
没有并发功能,不少实时性的任务,计算机系统都将没法完成。
咱们也没法实现一边听歌,一边上网。
复制代码
不是,并发功能是创建在虚拟化技术的基础上的,并发的进程数和线程数跟CPU的数量无关。就算只有一个单核CPU,操做系统依然能够使用并发功能,实现多线程同步操做。markdown
可是若是计算机系统有多核CPU,操做系统能够拥有更多的线程数量,从而更好地实现并行同步上网听歌功能。此外多核CPU能够实现绝对的并行计算。多线程
好比假若有两个任务,A须要3分钟,B须要5分钟。操做系统均可以实现让用户感受这两个任务是同时运行的。可是单核CPU的总运行时间必定是大于等于8分钟的,多核CPU却能够实现大于等于5分钟。并发
毕竟虽然实现了将硬件资源虚拟化,但硬件资源的总量仍是固定不变的,单核CPU的计算力未必小于多核CPU,可是底层没法实现真正的多核计算,确定实际上仍是单行计算的。app
大多数状况下都是相对于咱们人类感知来说的并行,也有少部分状况下,是绝对的。ide
假如是单核CPU,那么从硬件层面必定是单向的,没法进行并行计算操做。可是操做系统经过不断的切换线程,能够实现一种伪并行,让用户感受好像是在同时运行多个线程。其实底层仍是计算一会A,停下来,计算一会B,只是间隔短人类感觉不到。oop
假如是多核CPU,那么操做系统能够将两个任务分配个两个计算核心,这样硬件层就实现了绝对的并发性。不过,操做系统的线程数通常都是远大于CPU核心数,因此大多数状况多核也是操做系统提供的相对并发性。学习
是否可否实现真并发,取决于硬件层可否支持并行计算。硬件的并行计算典型就是GPU
复制代码
GPU就是咱们日常使用的显卡,用来进行图形计算或矩阵计算。咱们通常买的CPU上都会赠送一个集成显卡,没有显卡,咱们的计算机屏幕会一片漆黑。
GPU就是特异化的CPU,是矩阵化数量核数的CPU。
图形现实自己是要消耗必定计算能力的(实际占比还不小),早期黑框框的DOS界面通常CPU本身的线性计算能力就能承担。可是随着现代的界面可视化和各类三维游戏的出现致使对新的并行图形计算能力的需求出现。
每个二维图像均可以看做是一个矩阵,若是咱们每个矩阵元素都用一个CPU去并行计算,就能够花费计算一个像素的时间,计算出整个图像的数据。
GPU能够看做是由矩阵化数量(好比300×500个)CPU核心的集成,每个核心的计算能力有限,专门为图形矩阵计算作了硬件优化。
GPU是并行,并发性的最典型例子。操做系统的并发性主要是靠复用思想,时间片轮转思想,线程进程思想、
虚拟内存思想以及多核CPU等技术共同实现的。
复制代码