一、顺序执行:
好处是封闭性、其结果具有可再现性,但是缺点因为是顺序执行,所以下一个步骤就一i的那个要等待上一个步骤执行完了才可以执行。 哪怕他们之间并无资源冲突或相关关系。系统资源的利用率很低。
二、并发执行:
技术:多道程序技术。
并发的是程序和程序。
特点:系统资源利用率提高;具备间断性,不能连续的执行,是因为在等待其他段运行的结果或者占用的资源;失去封闭性,因为资源共享和没有顺序性的原因,共享资源被先后占用的顺序未知,即程序在运行过程中会受到其他运行程序的影响;不可再现性,因为受到其他程序的影响,若读入和写入的顺序不同,可能结果就不同。
三、如何解决并发执行的不可再现性?
程序->进程:并发每次执行的都是一个进程。进程是程序的一次执行。并有进程同步机制。
进程和程序的区别:
- 进程有进程控制块(PCB),程序段和相关的数据段。程序只有程序段和数据段。
- 进程具有动态性,进程的实质是进程实体的执行过程,系统自己创建、系统调度决定执行、撤销PCB后,进程就消失了。有生有死,仿佛有生命,故称动态性;程序是一组有序指令的集合,是静态的。
- 进程具有并发性,进程有PCB,多个进程实体存于内存中,可以并发执行。程序没有PCB,不能参与到并发执行。
- 进程具有独立性,进程能够独立的获取资源、运行、接受调度。程序因为没有PCB ,所以不能独立的获取资源、运行和接受调度。
- 进程具有异步性,进程是走走停停的运行的,有进程同步机制来保障结果是可再现的。CPU的现场信息保留在PCB中。