面向進程編程

面向進程(process-oriented)編程,是一種編程范型,它將對數據結構的關切與對作用在其上的並發進程的關切分離開來。在這種情況下,數據結構典型的是持久的、複雜的和大規模的,是通用應用程序的主題,截然相反於在高產能應用(HPC)中所見的那種特殊數據集的特殊處理。這個模型允許建立部份的分享公共數據集的大規模應用。程序在功能上解構成建立並作用在邏輯上共享的數據上的並行進程。

這個範式最初在1980年代為並行計算機而發明,特別是INMOStransputer微處理器建造的計算機,或類似的架構。Occam語言是為Transputer開發的早期的面向進程語言。

Occam消息傳遞範式已經演變出了一些派生語言,用來在分布式內存英語Distributed memory共享內存並行計算機之間遷移應用程序的時候,等夠達成一致的效能。第一個這種派生實例出現在耶魯大學於1990年設計的編程語言Ease之中[1][2]。此後類似的模型陸續出現,鬆散的結合了SQL數據庫面向對象語言比如Java,經常稱為對象關係英語Object-relational database模型,並廣泛的用於現在的大規模分布式系統中。隨着微處理器增加每芯片的處理器數目(多核),這個範式也出現在桌面計算機上。

演員模型可有效的描述為一類特殊化的面向進程系統,在其中消息傳遞模型被限制為一種簡單固定的情況,即每個進程(也就是演員)都有一個無限輸入隊列,任何其他進程都可以向它發送消息。

參見

引用

  1. ^ Ericsson-Zenith. Programming with Ease; Semiotic definition of the language. Yale University, Computer Science Technical Report YALEU/DCS/RR-809. 1990. 
  2. ^ Ericsson-Zenith. Process Interaction Models. Paris University. 1992. 

外部連結