In order for the mvBase system to serve multiple users all at the same time, its system software must manage the activity of:
User processes that allow the user to communicate with the database
System processes that are invoked by users to perform various tasks
Phantom processes that perform various tasks not associated with any particular user
On uniprocessor systems, only one process at any given time can be active. Naturally, as the number of CPUs increases on multiprocessor systems, more and more mvBase processes may be simultaneously active. By using the facilities of the underlying Windows operating system, the mvBase environment takes care of scheduling processes for execution so that it appears as though these processes are executing simultaneously.
Before looking at how mvBase manages the activity within the environment, consider an alternative where access to the environment is given strictly on a first- come, first-serve basis. In this instance, the first process executes until it is finished. Then the next process gains control of the environment. If each process had to execute from start to finish before another process began executing, only one user at a time could work on the computer.
The mvBase application is a multitasking, multiuser, multithreaded Windows application. Each mvBase process runs during a time-slice of time, which is allocated to it by the host Windows operating system. This is a fixed amount of time during which it executes. After that time is up, another process is given access to the CPU. In this way, processes take turns executing, using up as many time-slices as are needed to finish. Because a time-slice is a very small fraction of a second, it appears to users that all user processes are active simultaneously.
See Also