OS复习

程序:程序描述计算机所要完成的具有独立功能的,并在时间上按严格次序前后相继的计算机操作序列集合,是一个静态的概念。他体现了编程人员要求计算机完成相应功能时所应该采取的顺序步骤。

程序的执行分为:顺序执行、并发执行。

程序的顺序执行的特点:
1.顺序性
2. 封闭性
3. 可再现性

程序的并发(concurrent)执行分为2种:
1.多道程序系统的程序执行环境变化所引起的多道程序的并发执行。在多道程序系统环境下,各道程序在逻辑上独立,具备了多道程序独立执行的条件。
2.并发执行是在某道程序的几个程序段中(例如几个程序)包含着一部分可以同时执行或顺序颠倒执行的代码。
例子:
read(a);
read(b);
如上语句既可以同时执行,也可以颠倒次序执行。也就是说,对于这样的语句,同时执行不会改变顺序程序所具有的逻辑性质。因此,可以采用并发执行来充分利用系统资源以提高计算机的 处理能力。

综上,程序的并发执行可以总结为:一组在逻辑上互相独立的程序或者程序段在执行过程中,其执行时间在客观上相互重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。

注意!程序的并发执行不等于程序的并行执行。
并发执行:一组程序按独立的、异步的速度执行。
并行执行:不等于时间上的重叠。

并发执行带来的影响:
1.优点:充分利用了系统资源,从而提高了系统的处理能力。
2.缺点:由于资源有限,并发执行必然导致资源共享和资源竞争,从而该笔那程序的运行速度。

为了控制程序段执行过程中的软、硬件资源的共享和竞争,必须有一个描述各程序段执行过程和共享资源的基本单位。由于程序的顺序性、静态性、孤立性,程序段不能作为描述其执行过程和共享资源的基本单位。

由此引出了进程的概念!

我最喜欢的Dijkstra对进程的描述是:行为的规则成为程序,程序在处理机(cpu)上执行的活动称为进程。

区分进程和程序是重点

1.程序静态,进程动态;
2.进程又并发性,程序没有;
3.进程是竞争计算机系统资源的基本单位;
4.不同的进程可以包含同一程序,只要该程序所对应的数据及不同。

进程是分配资源的基本单位。
进程的静态描述有三部分:
1.PCB
2.有关程序段
3.该程序段对其进行操作的数据结构集


用于进程间通讯(IPC)的四种不同技术:
1. 消息传递(管道,FIFO,posix和system v消息队列)
2. 同步(互斥锁,条件变量,读写锁,文件和记录锁,Posix和System V信号灯)
3. 共享内存区(匿名共享内存区,有名Posix共享内存区,有名System V共享内存区) 4. 过程调用(Solaris门,Sun RPC)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值