多线程(笔记)

虚拟分层思想

     在计算机时代早期,只有任务,后来有了批处理,但是本质上还是一个任务,后来为了更加密集的应用资源产生了多道程序设计,这就开始了多进程时代,世界开始热闹了。
     多进程(多道程序设计)本质上是在一台硬件机器上虚拟N台硬件机器,有了N台机器,那么很自然的就可以跑N个进程了,这样,计算机领域的最伟大的 思想诞生了-----虚拟分层思想。

该思想本质上是在某层(n层)通过外加一个下层(n-1层)的管理模块,向上层(n+1层)提供一个完整的抽象,这个 抽象可以让上层(n+1)的模块认为自己完全运行在下层(n-1)。这很拗口,我用实例说明一下:我把机器硬件设想为n-1层,多进程操作系统作为n层, 而应用软件为n+1层,我们看看是不是这个道理,每个进程(应用软件)都认为自己享有了整个机器,其他进程被操作系统这个管理者给隔离了,进城间通信被假象成两台不同机器的通信,所以古老又伟大的unix把套接字作为进程间通信的手段的一种。分层虚拟思想有两个很重要的层面,一个是隔离,一个是共享,很矛盾,但却是共存的,也许这就是我们的世界吧。隔离和共享再抽象一点就是个性和共性,隔离的是个性,共享的是共性。在我举的例子里面,共享的是硬 件,隔离的是进程私有的东西。按照科学界的做法,总是出一个量化的东西,那么我说:共享的是n层往下包括n层的东西(共享n-1层往下的层就没多大意义了,概念上是共享,但是注意,分层思想的另一个核心就是屏蔽,n层会为n+1层屏蔽掉n层下面层次的异构性),隔离的是n+1层的东西。这么说就很简单 了,但是这只是个开始,随着讨论的深入,我会把层次进一步的分割或合并,最终产生我们正 在用的windows或linux,或者,我的皮肤,我的家庭,或者,我们的世界…(或者,世界之外…)。虚拟分层包括两层含义,一是虚拟,而是分层,虚拟指的是类似分形的我中有你,你中有我的一个总体结构,而分层是一个部分的,低耦合高内聚的组成实体,它对上层屏蔽下层,使用下层的接口服务为上层提供统一接口服务。

猜你喜欢

转载自blog.csdn.net/qq_42435514/article/details/82902093