This word by word breakdown can be continued!
The object is clearly the computer. The operating system operates the computer.
The indirect subject is clear. The operating system operates on behalf of its human user community.
The direct subject is less clear. Generally, the human users interact with applications programs of one kind or another, and the operating system operated directly on behalf of these applications.
Posing This question to a class typically generates the following kinds of responses:
With the advent of personal computers, there was even talk about the irrelevance of operating systems, since with only one user, it was easy to imagine that there were no resource contention problems remaining.
This is a hard class. The prerequisites for studying this subject include the following:
I visited the John Deere corporate data processing center in the fall of 2001. Here's a very rough idea of the kind of system they run, giving an idea of the kind of environment in which modern operating systems are expected to run.
Each mainframe has dedicated fiber-optic connections to a 4-terabyte fully redundant RAID disk system on the floor below. Fully redudnant means that the actual capacity of the disk system is over 8 terabytes.
In operation, this system serves basically two purposes. First, some fraction of the Windows NT machines were used as E-mail servers, both gateway machines and machines that could respond to specially formatted E-mail to deliver services to off-web users.
Second, some fraction o the machines served as dial-up hosts for remote sites that dial directly into the corporate system. Apparently, these were mostly at dealerships that don't yet use the internet.
Third, most of the Windows NT and UNIX power is providing web service, to both public corporate web sites, private corporate sites accessed over the public internet, and private corporate sites accessed over the corporate intranet. Most new applications seem to be web-based, with various server-side applications (both UNIX and Windows NT based) providing the required access to corporate resources. Many of these services, in turn, submit jobs on the mainframes to do the actual operatons on corporate databases. The mainframes are, in effect, back-end database machines, although they also run a number of purely mainframe-based applications.
So, the fun puzzle is, how do you design operating systems to run in this kind of environment! This is very different from the world of the purely personal computer with a single CPU and one end user, yet the operating systems they use, Windows NT, a version of UNIX, and a version of IBM's old VM system, are all systems that have also been used in single user settings (curiously, VM was even supported by one short-lived model in the PC family, the PC-XT/370).