Operating systems turn ugly hardware into beautiful abstractions.
- An OS
- provides an abstraction layer over the concrete hardware,
- use the computer hardware in an efficient manner (converting hardware into useful form),
- ``hide'' the complexity of the underlying hardware. See Fig. 2.2
- Most computer users sit in front of a PC, consisting of a monitor, keyboard, mouse, and system unit. Such a system is designed for one user to monopolize its resources.
- The goal is to maximize the work (or play) that the user is performing. In this case, the OS is designed
mostly for ease of use.
- Performance is, of course, important to the user; but rather than resource utilization, such systems are optimized for the single-user experience.
- In other cases, a user sits at a terminal connected to a mainframe or minicomputer. Other users are accessing the same computer through other terminals. These users share resources and may exchange information.
- The OS in such cases is designed to maximize resource utilization to assure that all available CPU time, memory, and I/O are used efficiently and that no individual user takes more than her fair share.
- In still other cases, users sit at workstations connected to networks of other workstations and servers. These users have dedicated resources at their disposal, but they also share resources such as networking and servers-file, compute, and print servers.
- Therefore, their OS is designed to compromise between individual usability and resource utilization.
- Recently, many varieties of handheld computers have come into fashion. Most of these devices are standalone units for individual users.
- Their OSs are designed mostly for individual usability, but performance per amount of battery life is important as well.
- Some computers have little or no user view. For example, embedded computers in home devices and automobiles may have numeric keypads and may turn indicator lights on or off to show status, but they and their OSs are designed primarily to run without user intervention.