Operating System Types
Operating System Types
Micro Computers
The microcomputer is also recognized as a personal computer, these are comparatively
economical. Microcomputers are small computers incorporating a microprocessor, Central
Processing Unit (CPU), memory, storage area, an input unit, and an output unit.
It is a general-purpose computer that is outlined for personal use. Such computers are made
with minimum circuitry mounting over a single circuit board. They are fit for personal work that
may be making an assignment, at the office for office work, watching a movie, etc. Examples
include Desktop, Laptop, tablets, smartphones, etc.
The Mini Frame or Mini Computer
Minicomputers are comparatively smaller than mainframe computers or can say a
minicomputer lies within the mainframe and microcomputer as it is smaller than the mainframe
but larger than a microcomputer.
Minicomputers are digital and multi-user computer systems with the connection of more than
one CPU. Thus, multiple users can work on these computers simultaneously. Mini-frame
computers are employed in institutes and work units for tasks such as billing, accounting, and
record management.
Mainframe Computer Computers utilized by large organisations to manage bulk data are
designated as Mainframe computers. Mainframe computers are multi-programming, high-
performance and multi-user computers, which implies they can manage the workload of more
than 100 users at a time on the computer. The storage capability of the mainframe is
enormous, with a high-speed data process as well. The main purposes of such a type of
computer include managing customer statistics, census, and other heavy data in a single device.
Mainframe computers, therefore, are mainly employed by departmental and commercial
organizations like Banks, Scientific research centres, companies, and governmental
departments like railways, paying employees, ticket booking, maintaining details of purchases
by users, keeping detailed tax details, etc
Supercomputer
Supercomputers come under the biggest, fastest, powerful, and most expensive type of
computer for processing data type; they are designed to process an immense amount of data. A
supercomputer can treat trillions of instructions/directions in a second. It has thousands of
interconnected processors.
Supercomputers are especially used in scientific and engineering applications such as weather
forecasting, quantum mechanics, climate research, scientific simulations, nuclear energy
research, etc where a high level of performance is required.
Examples: IBM Roadburner, INTEL ASIC RED. PARAM-1000, BM Blue Gene, and CRAY-XMP-14.
Analog Computer
Analog computers are outlined to process analog data. Analog data is continuous data that
varies continuously and cannot have discrete values. Analog computers are utilized primarily to
measure physical units like the voltage, electric current, pressure, temperature and convert
them into digits. Such computers are mostly used for scientific, technology, research,
engineering, and industrial applications.
Speedometer, mercury thermometer, thermometer, operational amplifiers, electric integrators,
etc. Are examples of analog computers.
Digital Computer
The digital computer is outlined to execute calculations and logical operations at a high pace.
Such computers are proficient in solving problems in discrete formats. It acquires the raw data
as input is in the form of digits/binary numbers (i.e 0 and 1) and processes it with programs
stored in its memory to produce the output.
Hybrid Computer
Hybrid computers as the name signify exhibit features of both Analog and Digital computers. It
is fast like an analog computer and has memory and accuracy like those of digital computers. It
can process both continuous and discrete data. It takes analog signals and transforms them into
digital form before processing them.
These types of computers are extensively used in specialized applications where both analog
and digital data are processed. For example, a processor is applied in petrol pumps that
converts fuel flow measurements into quantity and price. Furthermore, they are used in
aeroplanes, hospitals, and scientific applications.
Mainframe System: It is the system where the first computer used to handle many commercial
Scientific applications. The growth of mainframe systems traced from simple batch system
Where the computer runs one and only one application to time shared systems which allowed
For user interaction with the computer system
Batch /Early Operating System: Early computers were physically large machine. The common
Input devices were card readers, tape drivers. The common output devices were line Printers,
tape drivers and card punches. In these systems the user did not interact directly With the
computer system. Instead the user preparing a job which consists of Programming data and
some control information and then submitted it to the computer operator after some time the
output is appeared. The output in these early computer was operator after some time the
output is appeared. The output in these early computer was fairly simple is main task was to
transfer control automatically from one job to next. The operating system always resides in the
memory. To speed up processing operators batched the jobs with similar needs and ran then
together as a group. The disadvantages of batch system are that in this execution environment
the CPU is often idle because the speed up of I/O devices is much slower than the CPU.
Spooling:
• Acronym for simultaneous peripheral operations on line. Spooling Refers to putting jobs in a
buffer, a special area in memory or on a disk Where a device can access them when it is ready.
• Spooling is useful because device access data at different rates. The Buffer provides a waiting
station where data can rest while the slower Device catches up.
• Computer can perform I/O in parallel with computation, it becomes Possible to have the
computer read a deck of cards to a tape, drum or disk And to write out to a tape printer while it
was computing. This process is Called spooling.
These Systems Have more than one processor in close communications which share the
computer bus, clock, Memory & peripheral devices. Ex: UNIX, LINUX. Multiprocessor Systems
have 3 main
Advantages.
a. Increased throughput: No. Of processes computed per unit time. By increasing the no.
Of processors move work can be done in less time. The speed up ratio with N processors
Is not N, but it is less than N. Because a certain amount of overhead is incurred in
Keeping all the parts working correctly.
b. Increased Reliability: If functions can be properly distributed among several processors
Then the failure of one processor will not halt the system, but slow it down. This ability
to Continue to operate in spite of failure makes the system fault tolerant.
c. Economic scale: Multiprocessor systems can save money as they can share peripherals,
Storage & power supplies.
The various types of multiprocessing systems are:
• Symmetric Multiprocessing (SMP): Each processor runs an identical copy of the Operating
system & these copies communicate with one another as required. Ex: Encore’s Version of UNIX
for multi max computer. Virtually, all modern operating system Including Windows NT, Solaris,
Digital UNIX, OS/2 & LINUX now provide support for SMP.
• Asymmetric Multiprocessing (Master – Slave Processors): Each processor is Designed for a
specific task. A master processor controls the system & schedules & Allocates the work to the
slave processors. Ex- Sun’s Operating system SUNOS version 4 Provides asymmetric
multiprocessing.
Networks of devices containing embedded systems make up the internet of things (IoT). The
embedded systems perform basic operations inside IoT devices, such as transferring data over a
network without human interaction.
An embedded OS enables an embedded device to do its job within a larger system. It
communicates with the hardware of the embedded system to perform a specific function. For
example, an elevator might contain an embedded system, such as a microprocessor or
microcontroller, that lets it understand which buttons the passenger is pressing. The embedded
software that runs on that system is the embedded OS.
In the case of a Raspberry PI system on a chip, an SD card acts as the device’s hard drive and
contains the code that runs on the device. The SD card is removable, so its contents can be
modified on demand. Various operating systems can run on Raspberry PI devices. The
embedded OS makes the device’s hardware – such as USB and HDMI ports – accessible to the
application running on top of the OS.
ATMs
Cellphones
Electric vehicles
Industrial control systems (ICS)
Arduino-based devices
Arduino is an open source platform with a microcontroller that processes simple inputs, such as
temperature or pressure, and turns them into outputs. These devices have a basic embedded
OS that acts like a boot loader and a command interpreter. An example of an Arduino-based
device is a remote control car. The Arduino reads inputs from the car’s controller and sends
output information and commands to other components, such as the brakes.
Handheld Systems
Handheld systems include Personal Digital Assistants (PDA’s), such as Palm OS, cellular
telephones with connectivity to a network such as the internet.
Developers of handheld systems and applications face many challenges most of which
are due to the limited size of such devices.
Devices
First issue faced by programmer: Due to this limited size, most handheld devices have a
small amount of memory, include slow processors, and feature small display screens.
Many handheld devices have been limited size of memory.
As a result, the OS and applications must manage memory efficiently. This includes
returning all allocated memory back to the memory manager once the memory is no
longer being used.
Smartphones combine a mobile phone and a handheld computer into a single device.
Examples of smartphones over the years have included the Apple iPhone, Samsung
Galaxy, Microsoft and Nokia Lumia, Sony Ericsson etc.,
Second issue faced by programmer: Speed of processor
Processor for most handheld devices often run at a fraction of the speed of a processor
in a PC.
Third issue faced by programmer: Displaying the content in web pages in we clipping
where only a small subset of web page is delivered and displayed on a handheld device.
Functions of Operating System
The major functions that are done by O.S are:
1) Process Scheduling : it determines and maintains the order in which jobs are to be
Executed in the computer system.
2) Memory-Management : allocation of main memory and other storage areas to the
System programs as well as user programs and data.
3) CPU Management : assignment of processor to different tasks being performed by The
computer system.
4) I/O Management : co-ordination and assignment of the different output and input
Device while one or more programs are being executed.
5) File management : the storage of file of various storage devices to another. It also
Allows all files to be easily changed and modified through the use of text editors or
Some other files manipulation routines.
6) Interpretation of commands and instructions.
Bootstrap Loader: As we turn on the computer there is nothing Meaningful in the main memory
(RAM). A small program is written and Stored in the ROM. This program initially loads the
operating system From secondary storage to main memory. The operating system then takes
The overall control. This program which is responsible for booting up the System is called
bootstrap loader. This is the program which must be Executed first when the system is first
powered on. If the program starts From the location x then to execute this program the
program counter of This machine should be loaded with the value x. Thus the task of setting
The initial value of the program counter is to be done by machine Hardware. The bootstrap
loader is a very small program which is to be Fitted in the ROM. The task of bootstrap loader is
to load the necessary Portion of the operating system in the main memory .The initial address
At which the bootstrap loader is to be loaded is generally the lowest (may Be at 0 th location) or
the highest location.
Linker: A linker is special program that combines the object files, generated by
compiler/assembler and other pieces of code to originate an executable file has .exe extension.
In the object file, linker searches and append all libraries needed for execution of file. It
regulates the memory space that will hold the code from each module. It also merges two or
more separate object programs and establishes link among them.
Generally, linkers are of two types :
1. Linkage Editor
2. Dynamic Linker
Loader is utility program which takes object code as input prepares it for Execution and loads
the executable code into the memory. Thus loader is Actually responsible for initiating the
execution process.Functions of Loader: The loader is responsible for the activities such as
allocation, linking, Relocation and loading
1) It allocates the space for program in the memory, by calculating the Size of the program.
This activity is called allocation.
2) It resolves the symbolic references (code/data) between the object Modules by
assigning all the user subroutine and library subroutine Addresses. This activity is called
linking.
3) There are some address dependent locations in the program, such Address constants
must be adjusted according to allocated space, such Activity done by loader is called
relocation.
4) Finally it places all the machine instructions and data of corresponding Programs and
subroutines into the memory. Thus program now becomes Ready for execution, this
activity is called loading.
Compression Tool:
These tool are used to reduce the size of a file based on the selected
algorithm.
Most operating systems include tools for compressing and
uncompressing files.Linux has tools for both .tar.gz and .zip. Other
compressed files, like .7z and .rar, require a third-party compression
utility to be installed.
DISK DEFRAGMENTER:
It is a utility in Microsoft Windows designed to increase access speed
by rearranging file stored on a disk to occupy contiguous storage
locations, a technique is called
Defragmentation.
Defragmenting a disk minimizes head travel, which reduces the time
it takes to read files from and write files to the disk.
The defragmenter will search your hard drive partition and move
data from one location to other location, so that the files stored
there are one contiguous piece, instead of being throughout multiple
locations on the hard drive’s partition.
Some Disk Defragmenter are:-
• Auslogics Disk Defrag
• MyDefrag
• Perfect disk
• Defraggler
Radare2
WinDbg
Valgrind
Throughput is a measure of how many units of information a system can process in a given
amount of time.
Network latency is an expression of how much time it takes for a data packet to get from one
designated point to another.
Bandwidth is the capacity of a wired or wireless network communications link to transmit the
maximum amount of data from one point to another over a computer network or internet
connection in a given amount of time -- usually one second. Synonymous with capacity,
bandwidth describes the data transfer rate. Bandwidth is not a measure of network speed --
a common misconception.
Burst Time (BT): This is the time required by the process for its
execution.
WT = TAT - BT
Now with Waiting Time and Burst Time, we can also calculate Turn
Around Time via:
TAT = BT + WT
CPU Scheduling is a process that allows one process to use the
CPU while another process is delayed (in standby) due to
unavailability of any resources such as I / O etc, thus making full use
of the CPU. The purpose of CPU Scheduling is to make the system
more efficient, faster, and fairer. Whenever the CPU becomes idle,
the operating system must select one of the processes in the line
ready for launch. The selection process is done by a temporary
(CPU) scheduler. The Scheduler selects between memory processes
ready to launch and assigns the CPU to one of them.
Preemptive Scheduling: Preemptive scheduling is used when a process switches from running
state to ready state or from the waiting state to the ready state.
Non-Preemptive Scheduling: Non-Preemptive scheduling is used when a process terminates , or
when a process switches from running state to waiting state.
Starvation is the problem that occurs when high priority processes keep executing and low
priority processes get blocked for indefinite time.
Problem of starvation can be resolved using Aging. In Aging priority of long waiting processes is
gradually increased.
Deadlock occurs when each process holds a resource and wait for other resource held by any
other process. Necessary conditions for deadlock to occur are Mutual Exclusion, Hold and Wait,
No Preemption and Circular Wait. In this no process holding one resource and waiting for
another get executed.
Deadlock Starvation
1. All processes keep waiting for each other to complete and none get executed
High priority processes keep executing and low priority processes are blocked
2. Resources are blocked by the processes
Resources are continuously utilized by high priority processes
3. Necessary conditions Mutual Exclusion, Hold and Wait, No preemption, Circular Wait
Exit time
Exit time is the time when a process completes its execution
and exit from the system.
Response time
Response time is the time spent when the process is in the
ready state and gets the CPU for the first time.
Response time = Time at which the process gets the CPU for the first time – Arrival time
Waiting time
Waiting time is the total time spent by the process in the ready state waiting for CPU.
Waiting time = Turnaround time – Burst time