操作系统基本原理

操作系统用于管理系统的硬件、软件和数据资源,控制程序的运行,是应用软件与硬件之间的接口,也是人机之间的接口。操作系统的职能包括进程管理、存储管理、文件管理、设备管理、作业管理等。


在进程管理中,PV操作在处理进程的同步与互斥问题方面非常重要,当多个进程需要同时访问共享资源时会用到。PV是用荷兰语表示的简写,P表示通过,V表示释放,据说这是计算机领域为数不多的非英语简写。


PV操作由P操作原语和V操作原语组成,原语也叫原子操作,表示不可中断的过程,这两个原语要操作信号量S。

P操作将S的值减1,如果S<0,则将该进程置为等待状态并加入进程队列中,否则继续执行。

V操作将S的值加1,如果S<=0则唤醒等待队列中的第一个进程,否则继续执行。

接下来使用单缓存区生产者、消费者问题来描述PV操作的运用,由于只有一个单缓存区,生产速度过快会使缓存区溢出,而消费速度过快会从缓存区拿到空值,如图所示,在加入PV操作后就能解决这些问题


有生产者、消费者两个进程,使用两个PV操作,S1的初值为1,S2的初值为0。生产者第一次执行,S1=0,送产品到缓存区,S2=1;第二次执行时S1=-1,生产者进程转为等待状态并加入进程队列。对于消费者进程,第一次执行过程中S2=0,从缓存区取产品,S1=0,消费产品,由于S1=0,生产者进程便被唤醒了,此时正好缓存区的产品被消费完。同理,如果消费者进程先执行,也照样能保证两个进程的配合无间。

PV操作便是通过这样的过程来协调几个需要同步的进程的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容