临界区发散
文章作者:我爱苹果
临界区,是计算机界很重要的一个概念。每个进程中访问临界资源的那段代码,称为临界区。一次只允许一个进程使用的共享资源,称为临界资源。这里的一次是指,从使用开始,到使用结束。
在这里,文章清晰的给出了临界区和与之相关的临界资源的概念。希望之前对临界区概念还不清晰的人,看到这篇文章,看到这里,对临界区能有一个清晰的认识,不要再不清晰下去了。
下面,文章将对临界区的概念进行一个发散。
试想,若是计算机界没有临界区会怎样?
没有临界区,计算机界还可以继续保持现在的面貌,更清晰的说,计算机还可以继续并发执行进程吗?
怎么才可以没有临界区呢?
临界区,是进程中访问临界资源的那段代码。那没有临界资源够不到?够了,没有了临界资源,临界区就没有了访问对象,那临界区自然也就没有了。
又怎样才能没有临界资源呢?临界资源,是一次只允许一个进程使用的共享资源。那要想没有临界资源,有两个方案。一个是:让共享资源一次允许足够多的进程使用。另外一个是,所有资源都不共享,所有资源全部私有。
先来看第一个方案,让共享资源一次允许足够多的进程使用。
多少算够?10个够么?100个够么?1000个?10000个?这个数量不好定,我们假设数量少一点,以2个进行讨论。
让共享资源一次允许2个进程使用。打印机是共享资源,打印机一次允许两个进程使用。那打印机就得升级,升级到可以在打印过程中随时切换打印纸,切换以后还要回到原来的位置。或者打印机再加一个打印端,并且可以识别两个不同的进程,针对不同的进程使用不同的打印端,在不同的纸张上进行打印。
无疑,这样对打印机的要求提高了很多,对共享资源的要求提高了很多。而且,随着共享资源一次允许访问的进程数越多,计算机对共享资源的要求就越高。从当前现实环境来看,对共享资源的这个要求还是很难承受的,对社会主流来说,这种要求无法承受。
第一个方案基本不可行,再来看第二个方案。“所有资源都不共享,资源全部私有”,这个更可怕。还是以打印机来说,一个进程要访问打印机,就得给一个进程配一个打印机;两个进程要访问打印机,就得给两个进程配两个打印机;有多少个进程要访问打印机,就得配多少个打印机。除了打印机以外,其它所有一次只允许一个进程使用的资源,也都得是每个进程配置一个。
两个方案都不可行。使用这两个方案,让计算机保留并发执行进程的功能代价太高。那看来,要想保留计算机并发执行进程的功能,临界资源还是得存在,要想没有临界区,得从别处下手。
临界资源存在着,要想没有临界区,那就只有让进程不访问临界资源了。临界区不访问临界资源,临界区也就不是临界区了,也就没有临界区了。这显然不可行,临界资源要使用。所以,要想保留计算机并发执行进程的功能,临界区还是得存在。
那临界区可以不存在吗,没有临界区会是什么样?
DOS!DOS系统是单任务操作系统,1个任务中不会同时启动多个用户进程,不会有用户进程的并发,不会有多个用户进程进行访问一个资源的情况。没有临界区,计算机安装的就会是DOS系统。
临界区可以不存在,代价是,绝大多数计算机都安装DOS系统,只能进行单任务。
看清了临界区在计算机界的作用,我们再来看看临界区在此界——我们生活的世界中的投影是怎样的,看一看我们生活的世界中是否也有着临界区的投影。
在我们的世界中,有出租的自行车、有图书馆的图书等等,一次只能被一个人使用的资源。出租的自行车,租一辆自行车,要在没人使用这辆自行车,或者等别人使用完这辆自行车时,才可以租到这辆自行车。图书馆的图书,借或者看一本图书,要在没人借、看这本书,或者等别人借完、看完这本书时,才可以借、看这本书。这些出租的自行车与图书就是临界资源,我们去使用它们的行为就是临界区。而我们人,就像是计算机中的进程,配备着独立CPU的进程。
在计算机界,进程有着必须遵循的规则。
在我们的世界中,我们每个人都有着必须遵守的原则。
在计算机界,进程要遵循于CPU。
在我们的世界中,是否也有着那惟一,是我们要遵循的?
发表日期:2014年11月18日
网友评论(0)
当前1/1页 首页 上一页下一页 尾页