Barrelfish中没有进程的概念。有一个类似的概念叫做Dispatcher。Dispatcher是一个数据结构,它表示了一个应用在一个cpu core上的一个运行实体。Barrelfish中的每一个应用(domain)可以看成是分布在一组core上的Dispatcher和一些其他资源。Dispatcher的运行在用户态,而每一个core上都运行着一个cpu driver在内核态,它负责运行在当前core上的Dispatcher的调度。Dispatcher的调度算法为RBED(Rate-Based Earliest Deadline)。
Barrelfish中有线程的概念,线程是由Dispatcher负责创建与管理的,即一个Dispatcher可以拥有多个thread。thread的调度算法为简单的轮询。如图: