程序在计算机上运行,目的是为了处理数据。如果这看成是一项工作的话,用户进程就是worker,他工作需要的辅助机器是CPU和内存。数据作为生产的输入,起初的载体是磁盘,网络,其他I/O设备,其他进程。操作系统是主管,管理多个worker,在有需要的时候调度一些special worker(内核 worker),帮助worker处理一些复杂的工作,如在磁盘上读写数据(OS为了让worker为数据管理提供了更直观的视图——文件系统),网络数据传输,与其他worker通信等。worker只需要对操作系统发出请求即可。程序是worker需要遵守的数据处理的流程。
而作为流程的编写人员,想必是拥有较高的技术水平了,称作instructor。不同的流程编写人员可以类比成不同的语言。而编译器/翻译器可以看做是实操培训。C/C++instructor他们是非常了解机器和数据载体,对于每一个工作步骤的操作规范有一个严格的限制,培训时,培训人员根据操作规范来严格限制每个步骤。而有的instructor(如Java)相比之下对操作规范没有那么严格的限制,只是制定了大体的数据处理步骤,培训人员对其解析时可能会增加一些繁冗的操作。所以,前者制定了流程相比于其他instructor会较高的生产效率。Python instructor就是主张零基础现场培训加上机操作。
在主管/Boss为安排不同workers去进行特定的数据处理工作。他们按照一定的策略来共享辅助机器(CPU和内存)。