Because the SCO OpenServer system is designed to be open, it is necessary for any application or user-written program running on it to ``see'' the same environment and be able to call upon the same services, regardless of the specific computer that the UNIX system is running on. To this end, the system provides programs with an API that assumes an almost unlimited extent of memory (up to 4GB or 4096MB per process), and various other facilities; for example, the exclusive use of the computer.
Because contemporary computer technology does not lend itself to creating machines with an unlimited quantity of memory or number of processors, the kernel maps the demands of the application or user program to the resources available.
Several programs may be
executed concurrently by scheduling each process to run for a
fraction of a second; a round robin arrangement is used so that each
process appears to be running continuously and the users see no
indication that their instance of vi, for example, is
spending most of its time in a state of suspension. The kernel keeps
track of how much time each process spends running, so that no
processes are ignored; however, the more processes are running
concurrently, the less time each process spends being
processed by the CPU, and the systems appears
to run more slowly.