As a scheduler/allocator:
• The operating system has resources for which it is in charge. Responsible for handing them out (and later recovering them).
• Resources include CPU, memory, I/O devices, and disk space.
As a virtual machine:
• Operating system provides a "new" machine.
This machine could be the same as the underlying machine. Allows many users to believe they have an entire piece of hardware to themselves.
This could implement a different, perhaps more powerful, machine. Or just a different machine entirely. It may be useful to be able to completely simulate another machine with your current hardware. Example of upgrading to a new piece of hardware. This can get out of hand. E.g., 1401 -> 360 -> 370 -> 3081.
As a multiplexor:
• Allows sharing of resources, and provides protection from interference.
• Provides for a level of cooperation between users.
• Economic reasons: we have to take turns.
________________________________________
According to these three views, if:
• we had enough hardware to give everyone too much;
• the hardware was well designed;
• the communications problem -- how to share knowledge -- is solved;
then we would not need operating systems. My view of operating systems says that they will still be needed:
As a servant and provider of services:
• Need to provide things like in the above views, but deal with environments that are less than perfect. Help the users use the computer by:
providing commonly used subroutines;
providing access to hardware facilities;
providing higher-level "abstract" facilities;
providing an environment which is easy, pleasant, and productive to use.
This view as a provider of services fits well with our modern network view of computing, where most resources are services.
________________________________________
What are the desirable qualities of an operating system? We can discuss them in terms of: Usability, Facilities, Cost, and Adaptability.
• Usability:
o Robustness
accept all valid input without error, and gracefully handle all invalid inputs
o Consistency
E.g., if "-" means options flags in one place, it means it in another. Key idea: conventions. Concept: The Principle of Least Astonishment.
o Proportionality
Simple, cheap and frequent things are easy. Also, expensive and disastrous things (rm *) are hard.
o Forgiving
Errors can be recovered from. Reasonable error messages. Example from "rm"; UNIX vs. TOPS.
o Convenient
Not necessary to repeat things, or do awkward procedures to accomplish things. Example copying a file took a batch job.
o Powerful
Has high level facilities.
• Facilities
o Sufficient for intended use.
o Complete.
Dont leave out part of a facility. E.g., protection with
o Appropriate.
Do not use fixed-width field input from terminal.
• Costs
o Want low cost and efficient services.
o Good algorithms.
Make use of space/time tradeoffs, special hardware.
o Low overhead.
Cost of doing nothing should be low. E.g., idle time at a terminal.
o Low maintenance cost.
System should not require constant attention.
• Adaptability
o Tailored to the environment.
Support necessary activities. Do not impose unnecessary restrictions. What are the things people do most -- make them easy.
o Changeable over time.
Adapt as needs and resources change. E.g., expanding memory and new devices, or new user population.
o Extendible-Extensible
Adding new facilities and features - which look like the old ones.
________________________________________
Two main perspectives of an operating system:
• Outside - depends on your level of sophistication.
A system to compile and run Java programs
Your average introductory Computer Sciences student.
A system with many facilities - compilers, databases, file systems, system calls.
• Inside - internals, code, data structures.
This is the system programmers view of an operating system. At this level you understand not only what is provided, but how it is provided.
________________________________________
Go over class information sheet. Initial programming assignment and chapter 1 from Dinosaur book.
Explain teaching and grading philosophy (probably when doing info sheet). Emphasize "come talk to me first" view before cheating.
google ads
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment