Processes are stored in and use a single shared memory area. Each processor executes instructions from one process at a time. A ready queue stores processes ready to execute until a CPU becomes available. As a mechanism for process synchronization, semaphores are implemented to block processes, storing them in a blocked queue local to the semaphore performing the block. Parallel programming constructs are available for parallel operations.
All processes are processor independent.
As a result, this model is useful for statistical analysis and reporting of processor use. Scheduling algorithms are compared and analyzed for efficiency. Facilities are provided for display of processor use and efficiency statistics. There are two modes of simulation. In one mode, the skeleton of a program can be laid out so that it may be tested at a higher level of abstraction.