In some ways the operating system is merely a huge collection of subroutines. There is one for ending a job's existence. Another subroutine exists for sending and receiving messages and yet another for creating children programs and so forth. User programs call these subroutines when they need them, like any program calls a subprogram when it needs it. (Remember that the terms subroutine, subprogram, function and procedure are all synonymous in this discussion.) There must also be a tiny core of program in the OS that starts the whole system going but once it is going, it is more or less in the hands of the user programs. After all, OS's exist for the pleasure and benefit of the user programs, don't they?
|