深圳.net培训
达内深圳罗湖中心

186-8884-0703

热门课程

操作系统 - 多道程序设计的概念

  • 时间:2016-06-01
  • 发布:达内
  • 来源:达内

操作系统 - 多道程序设计的概念

一、程序的顺序执行

程序:在时间上严格有序的指令集合。它独占使用系统中的一切资源,包括CPU、内存、外设以及软件等等,没有其他竞争者同它争夺与共享。因此,在单CPU的计算机系统中,一段时间内只有一个程序在运行。程序独占了计算机的全部资源,不受外来影响。
二、单道程序设计环境下系统的四个特点
1. 资源独占性
任何时候,位于内存中的程序可以使用系统中的一切资源,不可能有其他程序与之竞争
2. 执行的顺序性
内存中只有一个程序,各个程序是按次序执行的。在做完一个程序的过程中,不可能夹杂进另一个程序执行
3. 结果的可再现性
只要执行环境和初始条件相同,重复执行一个程序,获得的结果总是一样的
4. 运行结果的无关性
程序的运行结果与程序执行的速度无关。系统中的作业以串行的方式被处理,无法提高CPU、内存的利用率
三、多道程序设计
1. 程序的并发执行
程序的并发执行指的是两个以上的程序在计算机系统中运行,一个程序结束之前,另一个已经开始执行,并且次序不是事先确定的
引入并发后,可以解决资源不被充分利用的问题,提高CPU、内存的利用率
并发和并行的区别:并发在宏观上是同时进行的,微观上是顺序执行的;并行在宏观和微观上都是同时执行的。并发环境中,多个程序在执行时间上是重叠的,程序的执行序列不可确定

2. 多道程序设计的概念

把一个以上的作业存放在内存中,并且同时处于运行状态,这些作业共享CPU和外设等其他资源(包括系统资源)

对于一个单CPU系统来说,作业同时处于运行状态只是一种宏观上的概念,他们虽然都已经开始运行,但就微观而言,任意时刻,CPU上运行的作业只有一个
3. 引入多道程序设计的目的
提高CPU的利用率。充分发挥并行性(包括程序之间、设备之间、设备与CPU之间均并行工作)
提高系统吞吐率(系统吞吐率指的是在给定时间内,所完成的作业数量)。
4. 多道程序设计技术的特点
内存中多个程序存在,轮流使用CPU
a. “资源独占性”被破坏。例如:CPU不再只由一个程序占用;单道程序设计中,当程序进入I/O操作时,CPU只能空转,等待I/O操作的完成,在多道程序设计中,如果一个程序进入I/O操作,CPU接着运行另一个程序
b. “执行的顺序性”被破坏。根据定义,当一个程序进入I/O操作,不再使用CPU时,另一个程序开始使用CPU,程序执行的顺序性被打破
c. “结果的可在现性”被破坏。书上举的例子没看懂,我再理解理解
5. 多道程序设计的问题
可能延长耽搁程序的执行时间
系统效率的提高有一定的限度
上一篇:如果你不知道自己的职业生涯该怎么规划,请戳进来!
下一篇:达内专家:excel中最浪费时间的9件事,你犯了吗?

【达内.NET教程】必须会的10项.NET技术

【达内职场秀】.NET面试重点知识

【达内.NET教程】使用C#和.NET的原因

【达内.NET教程】.NET开发常会忽略的几个错误

选择城市和中心
贵州省

广西省

海南省

台湾