【操作系统】前趋图,程序的顺序执行和并发执行
来源:互联网 发布:五金店做账用什么软件 编辑:程序博客网 时间:2024/06/05 20:58
在学习操作系统中,我们引入前趋图来对程序的执行先后顺序进行描述。
前趋图:用于描述进程之间的执行顺序的一种有向无循环图(DAG directed acyclic graph)。
结点用来描述,一个进程、程序段、乃至一条语句;而有向边又来表示偏序或前驱关系。
比如:
p1: a = x + 2
p2: b = y + 1
p3: c = a + b
p4: w = c + b
其前趋图为:
有一段时间,我就在想,为什么没有上图中的那条虚线呢? 因为d 的值只需要 b 和 c啊。
后来请教老师,终于明白了。 ---- 》 我们的前趋图,还是强调了程序的顺序执行,并不是需求问题。而且是整体上的顺序执行。
程序的顺序执行
特征:
1,顺序性,所谓顺序性是指,处理机严格的按照程序所规定的顺序执行,一个操作的开始必须在其前一个操作结束之后。
2,封闭性, 所谓封闭性是指,程序在执行的时候独占全机的资源。
3,可再现性,所谓可再现性是指,只要初始条件和运行环境系统,其运行结果一定是一样的。
程序的并发执行
特性:
1,间断性,所谓间断性指的是,由于多个程序对资源的要求产生的制约性,而导致的某一个程序在运行时等待资源的情况。
比如有两个程序都需要使用打印机这个资源,如果其中的一个程序已经占用,而另一个必须等待。这样后者表现出来的就是程序运行时的间断性。
2,失去封闭性,所谓封闭性指的是,由于多个程序并发执行会共享资源,从而导致各个程序运行环境会失去封闭性。
3,不可再现性,所谓不可再现性是指相同的输入,由于资源的共享,导致最后的输出结果不同。
比如,
我们可以看到,程序的顺序执行和并发执行的特性是完全相对的。
为了解决并发执行存在的一些问题,操作系统中引入了线程这个概念。
我并不是说,引入线程就是为了解决并发执行所存在的这种问题;当然,还有其他的一些原因。
- 【操作系统】前趋图,程序的顺序执行和并发执行
- 1、前驱图以及程序顺序执行和并发执行的特点
- 程序的并发执行
- GCD并发的执行顺序
- iOS_概述和程序的执行顺序
- AsyncTask执行顺序,并发执行。
- java程序的执行顺序和赋值顺序
- 什么是程序的并发执行
- MFC的程序执行顺序
- MFC程序的执行顺序
- MFC的程序执行顺序
- MFC的程序执行顺序 .
- MFC的程序执行顺序
- MFC的程序执行顺序
- tinyos的程序执行顺序
- iOS程序的执行顺序
- ios程序的执行顺序
- 程序执行的先后顺序
- Mac OSX 上 Android Studio 编译使用 JAVA8 及 retrolambda 的项目出错解决方案
- hdu5335Walk Out
- 同步和异步的区别
- c++中的vector容器
- vim+cscope时自动更新cscope的数据库文件
- 【操作系统】前趋图,程序的顺序执行和并发执行
- javascript实现ajax
- 来谈谈网络安全,关于Session冒名顶替和cookie防篡改的问题
- 嵌入式软件开发——CVTE 面试+笔试题
- 高效率的安排见面会问题
- Linux或者Windows系统中鼠标点击偶尔无反应?
- 我的C语言入门到精通之路 day03
- Word Search
- cenyos7安装telnet服务器