精华内容
下载资源
问答
  • 多道程序设计是不是并发
    千次阅读
    2020-10-29 21:42:20

    02进程学习之并发,时钟中断,单道程序设计和多道程序设计的区别

    1 并发的概念
    并发:一个时间段内可以运行多个程序。注意并不是同一时刻运行,即不是并行。

    2 时钟中断
    时钟中断:发送指令使当前占用CPU的进程停止并记录时间,好让其它进程可以执行。
    由于我们程序可以并发执行,所以每个程序都会争夺CPU,当我们需要切换另一个进程时,就是利用时钟中断来暂停它,记录本次时间等待其它进程执行完再回到被中断的那个时刻执行该进程。例如酷狗和微信的切换。

    3 单道程序设计
    单道程序设:“所有进程一个一个排对执行。若A阻塞,B只能等待,即使CPU处于空闲状态。所以已被淘汰。

    4 多道程序设计
    多道程序设计:内存中可以有多个进程轮流执行,不会阻塞,但需要硬件基础支撑。实际上就是并发的思想。

    5 四者的区别
    在不考虑单道程序设计下,多道程序设计是并发的实现,时钟中断是多道程序设计的前提。或者你可以理解为并发就是多道程序设计,毕竟这两个概念并不需要很严谨。

    更多相关内容
  • 并发程序设计

    2021-02-03 22:41:04
    火龙果软件工程技术中心 9.1并发程序的概念大家知道,进程具有并发性。在单处理机环境下,各进程交替占用CPU从而提高了CPU的利用率。在处理机环境下,各进程可独自在自己占用的处理机上与其它进程在指令级上实现...
  • 操作系统原理,多道程序设计并发环境与并发任务,进程定义,进程控制块PCB,PCB维护的进程数据 一、多道程序设计: 1、允许多个程序同时进入内存运行,目的是为了提高系统效率。 2、每个程序有自己的程序计时器,...

    操作系统原理,多道程序设计,并发环境与并发任务,进程定义,进程控制块PCB,PCB维护的进程数据

    一、多道程序设计:
    1、允许多个程序同时进入内存运行,目的是为了提高系统效率。
    2、每个程序有自己的程序计时器,物理上只有一个计时器,每个程序在占用CPU时,会将自己的计时器里的内容推送到物理计时器中,通过这种操作,使得多个应用程序可以同时在内存中执行。
    3、宏观上:多个应用程序在并发进行
    4、微观上:单个CPU任然在串行处理任务。

    二、并发环境:
    1、一段时间间隔内,单个处理器上有两个或两个以上的程序同时处于开始运行但尚未结束的状态并且次序不是事先确定的。
    2、并发环境下执行的程序就是并发程序。

    在这里插入图片描述

    三、进程process的定义:
    进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的独立单位,又叫任务。

    注意:
    1、进程是程序的一次执行,
    2、是正在运行的程序的抽象,
    3、是对CPU的抽象,可以将一个物理CPU变换为多个虚拟的CPU
    4、系统资源以进程为单位分配,如内存,文件,每个进程拥有独立的地址空间
    5、操作系统将物理CPU调度给需要的进程,就是将CPU的控制权交给该进程

    四、进程控制块PCB:
    1、PCB,process control block,又称进程描述符,进程属性。
    2、操作系统用于管理进程的一个专门的数据结构,记录进程的各种属性,描述进程的动态变化过程。
    3、CPB是操作系统感知进程才能在的唯一标志,进程与PCB是一一对应的。
    4、所有进程的PCB集合就是进程表,进程表的大小是固定,其最大值就是操作系统的并发度。

    五、PCB维护的进程数据:
    1、通用信息
    a、进程标识符PID,唯一,整数
    b、进程名,通常基于可执行文件名,不唯一
    c、用户标识符uid
    d、进程组关系,父进程,兄弟进程等关系

    2、进程控制信息:
    a、当前状态
    b、优先级priority
    c、代码执行入口地址
    d、保存的磁盘地址
    e、运行统计信息(执行事件,页面调度)
    f、进程间同步和通信
    g、进程的队列指针
    h、进程的消息队列指针

    3、进程拥有的资源和使用情况:
    a、虚拟地址空间的状况
    b、打开的文件描述符

    4、CPU现场信息,进程不运行时保存在PCB中的进程硬件信息:
    a、寄存器值(通用寄存器,程序计数器PC,程序状态字PSW,栈指针)
    b、指向该进程页表的指针

    展开全文
  • 下面从程序的顺序执行、程序的执行环境和程序的并发执行几方面介绍多道程序设计模型。 一、程序的顺序执行 程序是一个在时间上按严格次序前后相继的操作序列,这些操作是机器指令或高级语言编写的语句。人们习惯的...

    采用多道程序设计可以提高处理器的利用率。多道程序设计技术充分发挥了处理器与外围设备以及外围设备之间的并行工作能力,从而提高处理器和其他各种资源的利用率。下面从程序的顺序执行、程序的执行环境和程序的并发执行几方面介绍多道程序设计模型。

    一、程序的顺序执行

    程序是一个在时间上按严格次序前后相继的操作序列,这些操作是机器指令或高级语言编写的语句。人们习惯的传统程序设计方法是顺序程序设计,计算机也是以顺序方式工作的:处理器一次执行一条指令,对内存一次访问一个字节或字,对处部设备一次传送一个数据块。顺序处理也是人们习惯的思考方法,为了解决一个复杂的问题,人们把它分解成一些较为简单、易于分析的小问题,然后逐个解决。也可以把一个复杂的程序划分为若干个程序段,然后按照某种次序逐个执行这些程序段。

    我们把一个具有独立功能的程序独占处理器直到得到最终结果的过程称为程序的顺序执行。程序的顺序执行具有如下特点。

    1.顺序性

    程序所规定的动作在机器上严格地按顺序执行。每个动作的执行都以前一个动作的结束为前提条件,即程序和机器执行它的活动严格一一对应。

    2.封闭性

    程序运行后,其计算结果只取决于程序自身,程序执行得到的最终结果由给定的初始条件决定,不受外界因素的影响。程序所使用的资源(包括处理器、内存、文件等)是专有的,这些资源的状态(除了初始状态外)只有程序本身的动作才能改变。

    3.程序执行结果的确定性

    也称为程序执行结果与时间无关性。程序执行的结果与它的执行速度无关,即处理器在执行程序时,任意两个动作之间的停顿对程序的计算结果都不会产生影响。

    4.程序执行结果的可再现性

    如果程序在不同的时间执行,只要输入的初始条件相同,则无论何时重复执行该程序都会得到相同的结果。

    程序的顺序性和封闭性是一切顺序程序所应具有的特性,从这两个特性出发,不难引出程序执行时所具有的另外两个特性。顺序程序与时间无关的特性,可使程序的编制者不必去关心不属于他控制的那些细节(如操作系统的调度算法和外部设备操作的精确时间等);顺序程序执行结果的可再现性,则对程序检测和校正程序的错误带来了方便。

    二、程序的并发执行

    所谓程序并发执行,是指两个或两个以上程序在计算机系统中,同时处于已开始执行且尚未结束的状态。能够参与并发执行的程序称为并发程序。程序的并发执行,可以充分利用系统的资源,提高计算机的处理能力。但是,程序的并发执行产生了一些和程序顺序执行时不同的特性。程序的并发执行有如下特征。

    1.在执行期间并发程序相互制约

    资源的共享和竞争存在于多道程序的并发执行中,从而制约了各道程序的执行速度。由于本来并无逻辑关系的程序之间产生了相互制约的关系,而各个程序活动的工作状态与所处环境有密切关系,使并发程序的执行出现了“执行——暂停——执行”的活动现象。

    2.程序与计算不再一一对应

    在并发执行中,允许多个用户进程调用一个共享程序段,从而形成了多个“计算”。如在分时系统中,一个编译程序往往同时为几个用户提供编译服务,该编译程序便对应了几个“计算”。

    3.并发程序的执行结果不可再现

    并发程序执行结果与其执行的相对速度以及并发执行的多道程序之间的相互关系有关,导致并发程序的执行结果不可再现,即执行结果是不确定的。

    4.程序的并行执行与程序的并发执行

    多道程序的并发执行是指它们在宏观上,即在某一段时间周期内是同时进行的(这个时间周期,比处理器的指令处理周期要长得多,但是从操作人员的感觉来看,仍然时一个瞬间)。但从微观上看,除了多处理器系统外,在单处理器系统中,这些程序仍然是顺序执行的。

    程序的并行执行与程序的并发执行,这两者存在着差别。前者是指不论从宏观的时间周期上看,还是从微观上看,若干程序确实在同时运行;而程序的并发执行,如果在单处理器系统中,它们在宏观上是同时进行的,但在微观上,这些程序仍然是顺序执行的

    展开全文
  • 多道程序设计是什么意思?

    千次阅读 2021-07-28 04:14:20
    多道程序设计是指?是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。这就称为多道程序设计多道程序技术...

    多道程序设计是指?

    是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。 两个或两个以上程序在计算机系统中同处于开始到结束之间的状态。这就称为多道程序设计。

    多道程序技术运行的特征:多道、宏观上并行、微观上串行。

    多道程序设计必须有硬件基础作为保证。

    所谓多道程序设计指的是允许多个程序同时进入一个计算机系统的主存储器并启动进行计算的方法。也就是说,计算机内存中可以同时存放多道(两个以上相互独立的)程序,它们都处于开始和结束之间。从宏观上看是并行的,多道程序都处于运行中,并且都没有运行结束;从微观上看是串行的,各道程序轮流使用cpu,交替执行。引入多道程序设计技术的根本目的是为了提高cpu的利用率,充分发挥计算机系统部件的并行性,现代计算机系统都采用了多道程序设计技术。

    多道程序设计的出现,加快了os的诞生

    多道程序设计的基本特征:间断性、共享性、制约性。

    多道程序设计技术

    多道程序设计技术是指在内存同时放若干道程序,使它们在系统中并发执行,共享系统中的各种资源。当一道程序暂停执行时,cpu立即转去执行另一道程序。

    [特点]:多道、宏观上并行(不同的作业分别在cpu和外设上执行)、微观上串行(在单cpu上交叉运行)。

    [多道批处理系统]:将多道程序设计技术应用于批处理系统,就形成多道批处理系统。

    多道程序设计技术 对 操作系统的形成起到的作用:

    操作系统在引入多道程序设计技术后,使得系统具有了多道,宏观上并行,微观上串行的特点。

    多道程序设计主要是使os能更好地对计算机进行管理 。

    使计算机的硬件资源得到更充分的利用 。

    在os中引入多道程序设计技术带来的好处:

    1.提高cpu的利用率

    2.提高内存和i/o设备利用率

    3.增加系统吞吐量

    展开全文
  • 本书主要讲解了一些高并发相关的信息,值得读一读的。。。。
  • 《实战java高并发程序设计》源码整理联系作者十三的java的学习交流QQ群: 881582471 , 658365129(已满)相关文章书籍封面目录第1章走入并行世界1.1何去何从的并行计算1.1.1忘掉那该死的并行1.1.2可怕的现实:摩尔...
  • ( Java并发程序设计教程.zip )高清版 PDF 个人收集电子书,仅用学习使用,不可用于商业用途,如有版权问题,请联系删除!
  • 实战Java高并发程序设计主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助读者...
  • Java并发程序设计教程

    2019-03-14 13:49:35
    Java并发程序设计教程
  • 实战Java高并发程序设计主要介绍基于Java的并行程序设计基础、思路、方法和实战。首先,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助读者...
  • 《实战Java高并发程序设计》 第二版随书代码
  • 《实战java高并发程序设计》源码整理
  • 实战Java高并发程序设计主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助读者...
  • java并发程序设计

    2018-04-09 09:46:29
    java并发程序设计,帮助需求的童鞋们,提高Java技术,不管是新手还是老手,还是很有学习参考价值的。
  • 我感觉很不错的宝贝,现在和大家分享,希望能够帮到大家,如果你需要可以下载看看,很适合喜欢研究技术的人员
  • 《实战Java高并发程序设计》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助...
  • 程序和进程 程序:是指编译好的二进制文件,存放在磁盘上,并不占用系统资源(系统资源包括CPU、内存、打开的文件、设备、锁…) 进程:是一个抽象的概念,与操作系统原理密切相关。进程是活跃的程序,占用系统资源...
  • 由 于 单 核 CPU 的 主 频 逐 步 逼 近 极 限 , 核 CPU 架 构 成 为 了 一 种 必 然 的 技 术 趋 势 。 所 以 , 线 程 并 行 程 序 便 显 得 越 来 越 重 要 。 并 行 计 算 的 一 个 重 要 应 用 场 景 就...
  • 《实战Java高并发程序设计》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助...
  • 通过JMH可以对个方法的性能进行定量分析。比如,当要知道执行一个函数需要多少时间,或者当对一个算法有多种不同实现时,需要选取性能最好的那个。 3.4.2 Hello JMH 要想使用JMH,首先需要得到JMH的jar包,一种...
  • 实战java高并发程序设计,学习java并发编程的一手资料,值得一看。在过去单核CPU时代,单任务在一个时间点只能执行单一程序,随着多核CPU的发展,并行程序开发就显得尤为重要。, 《实战Java高并发程序设计》主要介绍...
  • Java并发程序设计编程

    2018-02-10 23:38:51
    并发编程的目的是为了让程序运行的更快,但是并不是启动更的线程,就能让程序最大限度的并发执行。在进行并发编程时,如果希望通过线程执行任务让程序运行的更快,会面临非常的挑战,比如上下文切换的问题,...
  • 《实战Java高并发程序设计》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并发程序基础,详细介绍Java中进行并行程序设计的基本方法。第二,进一步详细介绍JDK中对并行程序的强大支持,帮助...
  • Java高并发程序设计

    2018-07-20 16:22:45
    Java高并发程序设计,葛一鸣,郭超编著,java系列书籍
  • 实战Java高并发程序设计 电子书下载,如有侵权请联系删除

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 443,761
精华内容 177,504
热门标签
关键字:

多道程序设计是不是并发