Features:
Early operating systems
One program run by one user at a time
MS-DOS best known O/S
I/O directed mainly towards keyboard, monitor & disk storage
Benefits:
Easily used/learned command language
Run a variety of Software Application packages
Simple file storage systems
Disadvantages:
All system resources dedicated to running a single program
CPU remains idle if slow I/O is being waited on
Unable to easily swap data between applications
Features:
Recent operating systems
Load & run several programs by one user at a time
O/S2 and Windows95 are best known examples
I/O still directed mainly towards keyboard, monitor & disk storage
System of "threads" used to run parts of processes
Benefits:
Mainly run a Graphical User Interface (GUI) environment
Run a variety of Software Application packages at the same time
More complex file storage systems
System resources are shared thru' time-slicing for programs and
processes that are running
Each process appears to have the CPU to itself
Programs are "isolated" - if one fails, others should not
Disadvantages:
User can run more processes or programs that can make the system seem
very slow
Operating System must be careful to prevent programs accessing other
program's resources
Features:
Operating systems are generally quite mature
Load & run programs for several users at a time
UNIX, SNA, VMS are best known examples
Much more complex than Single-User O/S
O/S has to keep track of many programs at same time
O/S allocates & schedules use of shared resources
CPU (could be several in the system)
Memory available in total and to
each user
Disk and tape drives (storage
systems)
Printers & other peripherals
(eg: comms devices)
O/S provides security for user data
O/S prevents unauthorised access to system or other users' data files
Benefits:
Highly secure file storage system
Can allow up to thousands of users at a time (depending on hardware)
Rapid responses to each user - each seem to have system to themself
Programs are "isolated" - if one fails, others should not
Disadvantages:
CPU can run more processes or programs that can make the system seem
very slow
Operating System must be careful to prevent programs accessing other
program's resources
Difficult to learn command language
Features:
More than one CPU is installed
Each CPU has its own separate memory, or shares access to a common
internal memory area
Each CPU can run identical copies of O/S (Symmetric)
Operating system can assign specific tasks to each CPU (Asymmetric) -
usually only on very large systems
Network OS may use multiple CPUs
Benefits:
Provides an increase in overall processing speed and performance
Failure of one CPU means the O/S transfers workload to other CPUs - this
is called fault tolerance
Fault Tolerance actually permits disasters as the system can
recover easily (post-recovery)
Disadvantages:
Programming instructions are often very complex
Modes of Operation of Operating Systems
Each of these different types of O/S allows the
computer to be used in a number of modes: interactive, batch and real-time.
Interactive:
Serves on-line users via on-line terminals
POS (Point of Sale terminals)
Engineering design
Airline reservation systems
Banking service systems
Batch:
Runs large, time-consuming jobs that do not require interactive user
input/output.
Queued up and run at specific times
eg: when usage is low
Less likely to be interrupted or have data loss
Payroll
Backups
File maintenance
Real-Time:
Able to react immediately to key events and take action
Often used to control machines
Automated manufacturing systems
Aircraft avionics
Engine management
Medical equipment
Operating System Sub-Systems
Process
Management:
A Process is a unit of work in a system
Monitoring the state of the system
Selecting jobs to be run by the system
Manageing threads (portions of processes)
Memory
management:
A Process must be in main memory (primary storage) to run
Allocating and de-allocating memory to processes
Facilitating memory sharing
Facilitating memory protection
File
(Storage) management:
Storing details of every file in the system
Accessing files for program execution
Accessing files for data retrieval and saving
Enforcing file security
Device
management:
Controlling allocation of system resources to peripherals -
Console (main system monitor)
Disk drives and other storage
systems (eg: tape)
Printers
Terminals
Characteristics of an Operating System
There are a number of characteristics that distinguish
a good operating system from a "not-so-good" one.
Should be reasonably easy to modify to meet future needs.
Should process all user programs and utilise system resources in
efficient manner.
Should treat all users of the system fairly (does not necessarily mean
treat them equally). Users may be granted different levels of access or job
priorities.
Should degrade predictably and "gracefully".