Multitasking/Time-sharing Operating Systems
Multitasking/Time-sharing Operating Systems
Time sharing is a technique which enables many people, located at various terminals, to use a particular computer system
at the same time. Time-sharing or multitasking is a logical extension of multiprogramming. Processor's time which is
shared among multiple users simultaneously is termed as time-sharing. The main difference between Multiprogramming
Batch Systems and Time-Sharing Systems is that in case of Multiprogramming batch systems, objective is to maximize
processor use, whereas in Time-Sharing Systems objective is to minimize response time.
Multiple jobs are executed by the CPU by switching between them, but the switches occur so frequently. Thus, the user
can receives an immediate response. For example, in a transaction processing, processor execute each user program in a
short burst or quantum of computation. That is if n users are present, each user can get time quantum. When the user
submits the command, the response time is in few seconds at most.
Operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time.
Computer systems that were designed primarily as batch systems have been modified to time-sharing systems.
Advantages of Timesharing operating systems are following
Problem of reliability.
Question of security and integrity of user programs and data.
Problem of data communication.
Distributed operating System
With resource sharing facility user at one site may be able to use the resources available at another.
Speedup the exchange of data with one another via electronic mail.
If one site fails in a distributed system, the remaining sites can potentially continue operating.
Better service to the customers.
Reduction of the load on the host computer.
Reduction of delays in data processing.
Distributed Operating System is a model where distributed applications are running on multiple computers linked by
communications. A distributed operating system is an extension of the network operating system that supports higher
levels of communication and integration of the machines on the network.
This system looks to its users like an ordinary centralized operating system but runs on multiple, independent central
processing units (CPUs).
These systems are referred as loosely coupled systems where each processor has its own local memory and processors
communicate with one another through various communication lines, such as high speed buses or telephone lines. By
loosely coupled systems, we mean that such computers possess no hardware connections at the CPU - memory bus level,
but are connected by external interfaces that run under the control of software.
The Distributed OS involves a collection of autonomous computer systems, capable of communicating and cooperating
with each other through a LAN / WAN. A Distributed OS provides a virtual machine abstraction to its users and wide
sharing of resources like as computational capacity, I/O and files etc.
The structure contains a set of individual computer systems and workstations connected via communication systems, but
by this structure we cannot say it is a distributed system because it is the software, not the hardware, that determines
whether a system is distributed or not.
The users of a true distributed system should not know, on which machine their programs are running and where their
files are stored. LOCUS and MICROS are the best examples of distributed operating systems.
Distributed systems provide the following advantages:
Sharing of resources.
Reliability.
Communication.
Computation speedup.
Distributed systems are potentially more reliable than a central system because if a system has only one instance of some
critical component, such as a CPU, disk, or network interface, and that component fails, the system will go down. When
there are multiple instances, the system may be able to continue in spite of occasional failures. In addition to hardware
failures, one can also consider software failures. Distributed systems allow both hardware and software errors to be dealt
with.
A distributed system is managed by a distributed operating system. A distributed operating system manages the system
shared resources used by multiple processes, the process scheduling activity (how processes are allocating on available
processors), the communication and synchronization between running processes and so on. The software for parallel
computers could be also tightly coupled or loosely coupled. The loosely coupled software allows computers and users of a
distributed system to be independent each other but having a limited possibility to cooperate. An example of such a
system is a group of computers connected through a local network. Every computer has its own memory, hard disk. There
are some shared resources such files and printers. If the interconnection network broke down, individual computers could
be used but without some features like printing to a non-local printer.
Asymmetric Multiprocessing
Symmetric Multiprocessing
Parallel operating systems are primarily concerned with managing the resources of parallel machines. A parallel computer
is a set of processors that are able to work cooperatively to solve a computational problem. So, a parallel computer may be
a supercomputer with hundreds or thousands of processors or may be a network of workstations.