而“并发”在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行运凳销,从宏观外来看,好像是这些进程都在执行
在不同类型的 *** 作系统中并发性的含义会有一些区别。在单处理器 *** 作系统中每个特定时刻只有一个程序在cup中运行。但是一个较长的时间可以被分为很多小的时间段,来运行不同的程序,使得这个较长的时间段内所有的程序都得到了运行。这些程序就具有并发性不具有并行性。,这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两粗笑个小时.
从以上本质不难看出,“并发”执行,在多个进程存在资源冲突时,并没有从根本提高执行效率.
并发性(concurrence)是指两个或两个以上的事件或活动在同一时间间隔内发生。
*** 作系统是一个并发系统,并发性是它的重要特征, *** 作系统的并发性指它应该具有处理和调度多个程序同时执行的能力。多个 I/O设备同时在输入输出;设备 I/O和CPU计算同时进行;内存中同时有多个系统和用户程序被启动交替、穿插地执行,这些都是并发性的例子。发挥并发性能够消除计算机系统中部件和部件之间的相互卖毕等待,有效地改善系统资源的利用率,改进系统的吞吐率,提高系统效率。例如,一个程序等待 I/O时,就出让 CPU,而调度另一个程序占有 CPU执行运行。这样,在程序等待 I/O时,CPU便不会空闲,这就是并发技术。
并发性虽然能有效改善系统资源的利用率,但却会引发一系列的问题,使 *** 作系统的设计和实现变得复杂化。如:怎样从一个运行程序切换到另一个运行程序?以什么样的策略来选择下一个运行的程序?怎样将各个运行程序隔离开来,使之互不干扰,免遭对方破坏?怎样让多个运行程序互通消息和协作完成任务?怎样协调多个运行程序对资源的竞争?多个运行程序共享文件数据时,如何保证数据的一致性? *** 作系统必须具有控制和管理程序并发执行的能力,为了更好的解决上述问题, *** 作系统必须提供机制和策略来进行协调,以使各个并发进程能顺利推进,并获得正确的运行结果。
另外, *** 作系统还要合理组织计算机工作流程,协调各类硬软件设施工作,充分提高资源的利用率,充分发挥系统的并悔配戚行性,这些也都是在 *** 作系统的统一指挥和管理下进行的。采用了并发技术的系统又称为多任务系统( multitasking system),计算机系统中,并发实际上是一个物理 CPU在若干道程序之间多路复用,这样就可以实现运行程序之间的并发,以及CPU与碧陵 内存 I/O设备、I/O设备与 I/O设备之间的并行,并发性的实质是对有限物理资源强制行使多用户共享以提高效率。在多处理器系统中,程序的并发性不仅体现在宏观上,而且体现在微观上(即在多个CPU上)也是并发的,又称并行的。并行性( parallelism)是指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。而在分布式系统中,多台计算机的并存使程序的并发性得到了更充分的发挥。可见并行性是并发性的特例,而并发性是并行性的扩展。由于并发技术的本质思想是:当一个程序发生事件(如等待 I/O)时出让其占用的CPU而由另一个程序运行,据此不难看出,实现并发技术的关键之一是如何对系统内的多个运行程序(进程)进行切换的技术。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)