Introduction To Operating Systems
Introduction To Operating Systems
A computer system has many resources (hardware and software), which may be require to complete a task. The
commonly required resources are input/output devices, memory, file storage space, CPU etc. The operating
system acts as a manager of the above resources and allocates them to specific programs and users, whenever
necessary to perform a particular task. Therefore operating system is the resource manager i.e. it can manage the
resource of a computer system internally. The resources are processor, memory, files, and I/O devices. In
simple terms, an operating system is the interface between the user and the machine.
Early Evolution
1945: ENIAC, Moore School of Engineering, University of Pennsylvania.
1949: EDSAC and EDVAC
1949: BINAC - a successor to the ENIAC
1951: UNIVAC by Remington
1952: IBM 701
1956: The interrupt
1954-1957: FORTRAN was developed
Operating Systems - Late 1950s
By the late 1950s Operating systems were well improved and started supporting following usages:
And as the research and development work continues, we are seeing new operating systems being developed
and existing ones getting improved and modified to enhance the overall user experience, making operating
systems fast and efficient like never before.
Also, with the onset of new devies like wearables, which includes, Smart Watches, Smart Glasses, VR
gears etc, the demand for unconventional operating systems is also rising.
3. Multiprocessor System
4. Desktop System
6. Clustered System
8. Handheld System
The user has to submit a job (written on cards or tape) to a computer operator.
Then a special program, the monitor, manages the execution of each program in the batch.
The monitor is always in the main memory and available for execution.
Advantages of Simple Batch Systems
Once this job needs an I/O operation operating system switches to another job (CPU and OS always busy).
Jobs in the memory are always less than the number of jobs on disk(Job Pool).
If several jobs are ready to run at the same time, then the system chooses which one to run through the process
of CPU Scheduling.
In Non-multiprogrammed system, there are moments when CPU sits idle and does not do any work.
Time Sharing Systems are very similar to Multiprogramming batch systems. In fact time sharing systems are
an extension of multiprogramming systems.
In Time sharing systems the prime focus is on minimizing the response time, while in multiprogramming the
prime focus is to maximize the CPU usage.
Multiprocessor Systems
A Multiprocessor system consists of several processors that share a common physical memory. Multiprocessor
system provides higher computing power and speed. In multiprocessor system all processors operate under
single operating system. Multiplicity of the processors and how they do act together are transparent to the
others.
1. Enhanced performance
2. Execution of several tasks by different processors concurrently, increases the system's throughput without
3. If possible, system divides task into many subtasks and then these subtasks can be executed in parallel in different
Desktop Systems
Earlier, CPUs and PCs lacked the features needed to protect an operating system from user programs. PC
operating systems therefore were neither multiuser nor multitasking. However, the goals of these operating
systems have changed with time; instead of maximizing CPU and peripheral utilization, the systems opt for
maximizing user convenience and responsiveness. These systems are called Desktop Systemsand include PCs
running Microsoft Windows and the Apple Macintosh. Operating systems for these computers have benefited in
several ways from the development of operating systems for mainframes.
Microcomputers were immediately able to adopt some of the technology developed for larger operating
systems. On the other hand, the hardware costs for microcomputers are sufficiently low that individuals have
sole use of the computer, and CPU utilization is no longer a prime concern. Thus, some of the design decisions
made in operating systems for mainframes may not be appropriate for smaller systems.
1. As there are multiple systems involved, user at one site can utilize the resources of systems at other sites for
resource-intensive tasks.
2. Fast processing.
1. Client-Server Systems
2. Peer-to-Peer Systems
Client-Server Systems
Centralized systems today act as server systems to satisfy requests generated by client systems. The general
structure of a client-server system is depicted in the figure below:
Server Systems can be broadly categorized as: Compute Servers and File Servers.
Compute Server systems, provide an interface to which clients can send requests to perform an action, in
response to which they execute the action and send back results to the client.
File Server systems, provide a file-system interface where clients can create, update, read, and delete files.
Peer-to-Peer Systems
The growth of computer networks - especially the Internet and World Wide Web (WWW) – has had a profound
influence on the recent development of operating systems. When PCs were introduced in the 1970s, they were
designed for personaluse and were generally considered standalone computers. With the beginning of
widespread public use of the Internet in the 1990s for electronic mail and FTP, many PCs became connected to
computer networks.
In contrast to the Tightly Coupled systems, the computer networks used in these applications consist of a
collection of processors that do not share memory or a clock. Instead, each processor has its own local memory.
The processors communicate with one another through various communication lines, such as high-speed buses
or telephone lines. These systems are usually referred to as loosely coupled systems ( or distributed systems).
The general structure of a client-server system is depicted in the figure below:
Clustered Systems
Like parallel systems, clustered systems gather together multiple CPUs to accomplish computational work.
Clustered systems differ from parallel systems, however, in that they are composed of two or more individual
The definition of the term clustered is not concrete; the general accepted definition is that clustered computers
A layer of cluster software runs on the cluster nodes. Each node can monitor one or more of the others. If the
monitored machine fails, the monitoring machine can take ownership of its storage, and restart the application(s)
that were running on the failed machine. The failed machine can remain down, but the users and clients of the
Asymmetric Clustering - In this, one machine is in hot standby mode while the other is running the applications.
The hot standby host (machine) does nothing but monitor the active server. If that server fails, the hot standby
Symmetric Clustering - In this, two or more hosts are running applications, and they are monitoring each other.
This mode is obviously more efficient, as it uses all of the available hardware.
Parallel Clustering - Parallel clusters allow multiple hosts to access the same data on the shared storage. Because
most operating systems lack support for this simultaneous data access by multiple hosts, parallel clusters are
Clustered technology is rapidly changing. Clustered system's usage and it's features should expand greatly
as Storage Area Networks(SANs). SANs allow easy attachment of multiple hosts to multiple storage units.
Current clusters are usually limited to two or four hosts due to the complexity of connecting the hosts to shared
storage.
Handheld Systems
Handheld systems include Personal Digital Assistants(PDAs), such as Palm-Pilotsor Cellular Telephones with
connectivity to a network such as the Internet. They are usually of limited size due to which most handheld
devices have a small amount of memory, include slow processors, and feature small display screens.
Many handheld devices have between 512 KB and 8 MB of memory. As a result, the operating system and
applications must manage memory efficiently. This includes returning all allocated memory back to the memory
Currently, many handheld devices do not use virtual memory techniques, thus forcing program developers to
Processors for most handheld devices often run at a fraction of the speed of a processor in a PC. Faster processors
require more power. To include a faster processor in a handheld device would require a larger battery that
The last issue confronting program designers for handheld devices is the small display screens typically available.
One approach for displaying the content in web pages is web clipping, where only a small subset of a web page is
Some handheld devices may use wireless technology such as BlueTooth, allowing remote access to e-mail and
web browsing. Cellular telephones with connectivity to the Internet fall into this category. Their use continues
to expand as network connections become more available and other options such as cameras and MP3 players,
expand their utility.