Sometimes the fact that device servers are `` dumb'' beasts which sleep most of the time is too limiting for the performance requirements or other requirements demanded of the device server. It is also sometimes not possible to satisfy the requirements of the device server by using a classic design (mono-process) and the two calls described above. In cases like this it is no problem to implement the device server using multiple processes. One process, the device server proper, will be dedicated to dealing with client requests while the other process(es) can be dedicated to other tasks e.g. data taking, monitoring etc. To communicate between the processes shared memory is normally used. A library of basic calls exist for creating and synchronising processes via shared memory called the dataport (see D.Carron, 1993). Two process device servers are supported in a standard way by the class generator.