Types of Operating Systems

Single-User Operating Systems

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

Single-User Multi-Tasking Operating Systems

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

 

Multi-User Operating Systems

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

Multi-Processing (Parallel) Systems

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".