Typical Computer System
What's an O.S. and What Does it Do? Software extensions to Hardware Provides for efficient control of and access to system facilities Provides a structure for running Programs Acts as a user interface
Different ways of Operating Single-User Environment One User at a time Initially, running only one program at a time Now, Single-User PC allows several Programs to run at the same time (e.g., Windows 95, Mac System 7.x, OS/2) Can have WP and Spreadsheet open at same time and `switch' between them.
Multi-Access/Multi-user Environments Many users logged in at same time (e.g., via campus network or Internet) Same application run several times, or many different application run at the same time Each user appears to have all systems resources available - The Virtual Machine
Multi-tasking/Multi-processing A process is an instance of a program in execution - Definition Processes are run apparently in parallel by sharing system resources Multi-tasking does not imply Multi-user, nor vice versa
Multi-programming Multi-tasking + instructions / data from different processes co-resident in memory Multi-programming implies multi-tasking, but not vice versa
Reasons for different operating requirements Many users interactively using same computer system for many different tasks: Each user could be running a program interactively or in batch editing a file checking system status information At Lunch! But Logged in Needs to provide different levels of service Needs Quick Response Need to Protect users from each other System needs to be robust
Many Users running the same program - e.g., Flight reservations: Needs quick response time Easy to use sharing up-to-date information consistency and protection of data
Few Users, or fully automated system, mainly for checking system status - e.g., real-time system controlling nuclear reactor: Very fast - needs to respond to changing environment No real need for comprehensive user interface Reliable Secure
Batch system - e.g., bureau service only supervisor interacts with system all other programs are JOBS, collections of programs identified by a job card. Little need for extensive user interface must run jobs according to some known set of criteria, as users may be charged for use of the system. reliable secure
General Purpose OS: allows interaction and batch processing reasonable to excellent user interface inherits characteristics of like environments already described.