Multi-programming
Definition: the apparent simultaneous execution of two or more programs.
A multi-programming operating system allows each active program a slice of processor time in turn; it uses interrupts to regain control of the processor to switch between programs.
Resource Management
A technique called virtual memory divides each program and its data into fixed length parts called pages, and only loads into memory the pages of the program and data which are in use, the rest are stored on backing store in a pagefile or swapfile. As a program progresses, or processing is passed to another program, the operating system has to move pages between the pagefile and memory.
It is possible to 'see' the processes currently being executed, by looking at the Windows Task Manager. This is not always available on networked systems, so make sure your tutor gives you a demonstration. It will show the allocation map for the processes that are currently running.
For security reasons, each program runs inside it own "Virtual machine" this ensures that a big in Program A cannot crash Program B. Early versions on DOS and Windows did NOT employ this architecture hence it was possible for a rogue program to crash the entire machine. (Incidentally this can still happen occasionally on more "advanced" OS e.g. Windows XP ! ). This system is known as storage protection.