0% found this document useful (0 votes)
21 views

Unit - I

Operating System

Uploaded by

love.vishwakarma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Unit - I

Operating System

Uploaded by

love.vishwakarma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

UNIT – I

Introduction of Operating System


An operating system acts as an intermediary between the user of a computer and computer hardware. In
short it’s an interface between computer hardware and user. The purpose of an operating system is to
provide an environment in which a user can execute programs conveniently and efficiently.

An operating system is software that manages computer hardware. The hardware must provide
appropriate mechanisms to ensure the correct operation of the computer system and to prevent user
programs from interfering with the proper operation of the system. A more common definition is that
the operating system is the one program running at all times on the computer (usually called the
kernel), with all else being application programs.

Concerned with the assignment of resources among programs e.g. memory, processors, devices and
information. Similarly, the operating system has programs to carry out these tasks as with a traffic
controller, scheduler, memory management module I/O program and file system.

Operating System Generations


Operating systems have been evolving over the years. We can categories this evaluation based on
different generations which is briefed below:

0th Generation

The term 0th generation is used to refer to the period of development of computing when Charles Babbage
invented the Analytical Engine and later John Atanasoff created a computer in 1940. The hardware
component technology of this period was electronic vacuum tubes. There was no Operating System
available for this generation computer and computer programs were written in machine language. These
computers in this generation were inefficient and dependent on the varying competencies of the individual
programmer as operators.

First Generation (1951-1956)

The first generation marked the beginning of commercial computing including the introduction of Eckert
and Mauchly’s UNIVAC I in early 1951, and a bit later, the IBM 701.

System operation was performed with the help of expert operators and without the benefit of an operating
system for a time though programs began to be written in higher level, procedure-oriented languages, and
thus the operator’s routine expanded. Later mono-programmed operating system was developed, which
eliminated some of the human intervention in running job and provided programmers with a number of
desirable functions. These systems still continued to operate under the control of a human operator who
used to follow a number of steps to execute a program. Programming language like FORTRAN was
developed by John W. Backus in 1956.
Second Generation (1956-1964)

The second generation of computer hardware was most notably characterized by transistors replacing
vacuum tubes as the hardware component technology. The first operating system GMOS was developed
by the IBM computer. GMOS was based on single stream batch processing system, because it collects all
similar jobs in groups or batches and then submits the jobs to the operating system using a punch card to
complete all jobs in a machine. Operating system is cleaned after completing one job and then continues
to read and initiates the next job in punch card.

Researchers began to experiment with multiprogramming and multiprocessing in their computing services
called the time-sharing system. A noteworthy example is the Compatible Time Sharing System (CTSS),
developed at MIT during the early 1960s.

Third Generation (1964-1979)

The third generation officially began in April 1964 with IBM’s announcement of its System/360 family of
computers. Hardware technology began to use integrated circuits (ICs) which yielded significant
advantages in both speed and economy.

Operating system development continued with the introduction and widespread adoption of
multiprogramming. The idea of taking fuller advantage of the computer’s data channel I/O capabilities
continued to develop.

Another progress which leads to developing of personal computers in fourth generation is a new
development of minicomputers with DEC PDP-1. The third generation was an exciting time, indeed, for
the development of both computer hardware and the accompanying operating system.

Fourth Generation (1979 – Present)

The fourth generation is characterized by the appearance of the personal computer and the workstation.
The component technology of the third generation was replaced by very large scale integration (VLSI).
Many Operating Systems which we are using today like Windows, Linux, MacOS etc developed in the
fourth generation.

Characteristics of Operating Systems

Let us now discuss some of the important characteristic features of operating systems:

 Device Management: The operating system keeps track of all the devices. So, it is also called
the Input/Output controller that decides which process gets the device, when, and for how much
time.

 File Management: It allocates and de-allocates the resources and also decides who gets the
resource.

 Job Accounting: It keeps track of time and resources used by various jobs or users.
 Error-detecting Aids: These contain methods that include the production of dumps, traces, error
messages, and other debugging and error-detecting methods.

 Memory Management: It is responsible for managing the primary memory of a computer,


including what part of it are in use by whom also check how much amount free or used and allocate
process

 Processor Management: It allocates the processor to a process and then de-allocates the processor
when it is no longer required or the job is done.

 Control on System Performance: It records the delays between the request for a service and the
system.

 Security: It prevents unauthorized access to programs and data using passwords or some kind of
protection technique.

 Convenience: An OS makes a computer more convenient to use.

 Efficiency: An OS allows the computer system resources to be used efficiently.

 Ability to Evolve: An OS should be constructed in such a way as to permit the effective


development, testing, and introduction of new system functions at the same time without interfering
with service.

 Throughput: An OS should be constructed so that It can give maximum throughput (Number of


tasks per unit time).

List of common Operating Systems


There are multiple types of operating systems each having its own unique features:

Windows OS

 Developer : Microsoft
 Key Features: User-friendly interface, software compatibility, hardware support, Strong
gaming support.
 Advantages: Easy to use for most users, Broad support from third-party applications, Frequent
updates and support.
 Typical Use Cases: Personal computing, Business environment, Gaming.

macOS
 Developer: Apple.
 Key Features: Sleek, intuitive user interface, Strong integration with other Apple products,
robust security features, High performance and stability.
 Advantages: Optimized for Apple hardware, Seamless experience across Apple ecosystem,
Superior graphics and multimedia capabilities.
 Typical Use Cases: Creative industries (design, video editing, music production), Personal
computing, Professional environments.
Linux

 Developer: Community-driven (various distributions).


 Key Features: Open-source and highly customizable, Robust security and stability,
Lightweight and can run on older hardware, Large selection of distributions (e.g., Ubuntu,
Fedora, Debian).
 Advantages: Free to use and distribute, Strong community support, Suitable for servers and
development environments.
 Typical Use Cases: Servers and data centers, Development and programming, Personal
computing for tech enthusiasts.

UNIX

 Developer: Originally AT&T Bell Labs, various commercial and open-source versions available

 Key Features: Multiuser and multitasking capabilities, Strong security and stability, Powerful
command-line interface, Portability across different hardware platforms

 Advantages: Reliable and robust performance, Suitable for high-performance computing and
servers, Extensive support for networking

 Typical Use Cases: Servers and workstations, Development environments, Research and academic
settings

Functionalities of Operating System


 Resource Management: When parallel accessing happens in the OS means when multiple
users are accessing the system the OS works as Resource Manager, Its responsibility is to
provide hardware to the user. It decreases the load in the system.

 Process Management: It includes various tasks like scheduling and termination of the
process. It is done with the help of CPU Scheduling algorithms .

 Storage Management: The file system mechanism used for the management of the
storage. NIFS , CIFS , CFS , NFS , etc. are some file systems. All the data is stored in various
tracks of Hard disks that are all managed by the storage manager. It included Hard Disk.

 Memory Management: Refers to the management of primary memory. The operating system
has to keep track of how much memory has been used and by whom. It has to decide which
process needs memory space and how much. OS also has to allocate and deallocate the memory
space.

 Security/Privacy Management: Privacy is also provided by the Operating system using


passwords so that unauthorized applications can’t access programs or data. For example,
Windows uses Kerberos authentication to prevent unauthorized access to data.
Components of Operating System

There are various components of an Operating System to perform well defined tasks. Though most of the Operating
Systems differ in structure but logically they have similar components. Each component must be a well-defined portion of
a system that appropriately describes the functions, inputs, and outputs.

There are following 8-components of an Operating System:

1. Process Management
2. I/O Device Management
3. File Management
4. Network Management
5. Main Memory Management
6. Secondary Storage Management
7. Security Management
8. Command Interpreter System

Following section explains all the above components in more detail:

Process Management
A process is program or a fraction of a program that is loaded in main memory. A process needs certain resources
including CPU time, Memory, Files, and I/O devices to accomplish its task. The process management component manages
the multiple processes running simultaneously on the Operating System.

A program in running state is called a process.

The operating system is responsible for the following activities in connection with process management:

 Create, load, execute, suspend, resume, and terminate processes.


 Switch system among multiple processes in main memory.
 Provides communication mechanisms so that processes can communicate with each others
 Provides synchronization mechanisms to control concurrent access to shared data to keep shared data consistent.
 Allocate/de-allocate resources properly to prevent or avoid deadlock situation.

I/O Device Management


One of the purposes of an operating system is to hide the peculiarities of specific hardware devices from the user. I/O
Device Management provides an abstract level of H/W devices and keep the details from applications to ensure proper use
of devices, to prevent errors, and to provide users with convenient and efficient programming environment.

Following are the tasks of I/O Device Management component:

 Hide the details of H/W devices


 Manage main memory for the devices using cache, buffer, and spooling
 Maintain and provide custom drivers for each device.
File Management
File management is one of the most visible services of an operating system. Computers can store information in several
different physical forms; magnetic tape, disk, and drum are the most common forms.

A file is defined as a set of correlated information and it is defined by the creator of the file. Mostly files represent data,
source and object forms, and programs. Data files can be of any type like alphabetic, numeric, and alphanumeric.

A files is a sequence of bits, bytes, lines or records whose meaning is defined by its creator and user.

The operating system implements the abstract concept of the file by managing mass storage device, such as types and
disks. Also files are normally organized into directories to ease their use. These directories may contain files and other
directories and so on.

The operating system is responsible for the following activities in connection with file management:

 File creation and deletion


 Directory creation and deletion
 The support of primitives for manipulating files and directories
 Mapping files onto secondary storage
 File backup on stable (nonvolatile) storage media

Network Management
The definition of network management is often broad, as network management involves several different components.
Network management is the process of managing and administering a computer network. A computer network is a
collection of various types of computers connected with each other.

Network management comprises fault analysis, maintaining the quality of service, provisioning of networks, and
performance management.

Network management is the process of keeping your network healthy for an efficient communication between different
computers.

Following are the features of network management:

 Network administration
 Network maintenance
 Network operation
 Network provisioning
 Network security

Main Memory Management


Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared
by the CPU and I/O devices.

Main memory is a volatile storage device which means it loses its contents in the case of system failure or as soon as
system power goes down.

The main motivation behind Memory Management is to maximize memory utilization on the computer system.
The operating system is responsible for the following activities in connections with memory management:

 Keep track of which parts of memory are currently being used and by whom.
 Decide which processes to load when memory space becomes available.
 Allocate and de-allocate memory space as needed.

Secondary Storage Management


The main purpose of a computer system is to execute programs. These programs, together with the data they access, must
be in main memory during execution. Since the main memory is too small to permanently accommodate all data and
program, the computer system must provide secondary storage to backup main memory.

Most modern computer systems use disks as the principle on-line storage medium, for both programs and data. Most
programs, like compilers, assemblers, sort routines, editors, formatters, and so on, are stored on the disk until loaded into
memory, and then use the disk as both the source and destination of their processing.

The operating system is responsible for the following activities in connection with disk management:

 Free space management


 Storage allocation
Disk scheduling

Security Management
The operating system is primarily responsible for all task and activities happen in the computer system. The various
processes in an operating system must be protected from each other’s activities. For that purpose, various mechanisms
which can be used to ensure that the files, memory segment, CPU and other resources can be operated on only by those
processes that have gained proper authorization from the operating system.

Security Management refers to a mechanism for controlling the access of programs, processes, or users to the resources
defined by a computer controls to be imposed, together with some means of enforcement.

For example, memory addressing hardware ensures that a process can only execute within its own address space. The
timer ensures that no process can gain control of the CPU without relinquishing it. Finally, no process is allowed to do its
own I/O, to protect the integrity of the various peripheral devices.

Command Interpreter System


One of the most important components of an operating system is its command interpreter. The command interpreter is the
primary interface between the user and the rest of the system.

Command Interpreter System executes a user command by calling one or more number of underlying system programs or
system calls.

Command Interpreter System allows human users to interact with the Operating System and provides convenient
programming environment to the users.

Many commands are given to the operating system by control statements. A program which reads and interprets control
statements is automatically executed. This program is called the shell and few examples are Windows DOS command
window, Bash of Unix/Linux or C-Shell of Unix/Linux.
Other Important Activities
An Operating System is a complex Software System. Apart from the above mentioned components and responsibilities,
there are many other activities performed by the Operating System. Few of them are listed below:

 Security − By means of password and similar other techniques, it prevents unauthorized access to programs and
data.
 Control over system performance − Recording delays between request for a service and response from the
system.
 Job accounting − Keeping track of time and resources used by various jobs and users.
 Error detecting aids − Production of dumps, traces, error messages, and other debugging and error detecting
aids.
 Coordination between other software and users − Coordination and assignment of compilers, interpreters,
assemblers and other software to the various users of the computer systems.

Resource abstraction
Resource abstraction in an operating system (OS) is the process of hiding the complexity of hardware
resources from the application programs that use them. This makes the hardware easier to use, but it also
limits the level of control that application programmers have over the hardware.

Here are some benefits of resource abstraction:


 Efficient resource use: Resource abstraction allows multiple users to share resources efficiently
and safely.
 Simplified view: Abstraction presents a simplified and consistent view to the users and
applications.
 Uniform access: Abstraction provides a uniform way of accessing devices through application
programming interfaces (APIs).
 Portability: Applications can run on different platforms and devices with minimal changes.

However, resource abstraction also has some disadvantages:


Limited control: Users have no direct control of the hardware.
Performance degradation: A high number of jobs executing simultaneously may degrade the
performance.
Types of Operating Systems
An Operating System performs all the basic tasks like managing files, processes, and memory.
Thus, the operating system acts as the manager of all the resources, i.e. resource manager. Thus,
the operating system becomes an interface between the user and the machine. It is one of the most
required software that is present in the device.
Operating System is a type of software that works as an interface between the system program
and the hardware. There are several types of Operating Systems many of which are mentioned
below. Let’s have a look at them.

Batch Operating System


This type of operating system does not interact with the computer directly. There is an operator which
takes similar jobs having the same requirements and groups them into batches. It is the responsibility of
the operator to sort jobs with similar needs. Batch Operating System is designed to manage and execute a
large number of jobs efficiently by processing them in groups.

Advantages of Batch Operating System

 Multiple users can share the batch systems.


 The idle time for the batch system is very less.
 It is easy to manage large work repeatedly in batch systems.

Disadvantages of Batch Operating System

 Batch systems are hard to debug.


 It is sometimes costly.
 The other jobs will have to wait for an unknown time if any job fails.
 In batch operating system the processing time for jobs is commonly difficult to accurately predict
while they are in the queue.
 It is difficult to accurately predict the exact time required for a job to complete while it is in the
queue.

Examples of Batch Operating Systems: Payroll Systems, Bank Statements, etc.


Multi-Programming Operating System

Multiprogramming Operating Systems can be simply illustrated as more than one program is
present in the main memory and any one of them can be kept in execution. This is basically used
for better utilization of resources.

Advantages of Multi-Programming Operating System


 Multi Programming increases the Throughput of the System.
 It helps in reducing the response time.
Disadvantages of Multi-Programming Operating System
 There is not any facility for user interaction of system resources with the system.

Time-Sharing Operating Systems


Each task is given some time to execute so that all the tasks work smoothly. Each user gets the time of
the CPU as they use a single system. These systems are also known as Multitasking Systems. The task
can be from a single user or different users also. The time that each task gets to execute is called
quantum. After this time interval is over OS switches over to the next task.
Advantages of Time-Sharing OS

 Each task gets an equal opportunity.


 Fewer chances of duplication of software.
 CPU idle time can be reduced.
 Resource Sharing: Time-sharing systems allow multiple users to share hardware resources such as
the CPU, memory, and peripherals, reducing the cost of hardware and increasing efficiency.
 Improved Productivity: Time-sharing allows users to work concurrently, thereby reducing the
waiting time for their turn to use the computer. This increased productivity translates to more work
getting done in less time.
 Improved User Experience: Time-sharing provides an interactive environment that allows users to
communicate with the computer in real time, providing a better user experience than batch
processing.

Disadvantages of Time-Sharing OS

 Reliability problem.
 One must have to take care of the security and integrity of user programs and data.
 Data communication problem.
 High Overhead: Time-sharing systems have a higher overhead than other operating systems due to
the need for scheduling, context switching, and other overheads that come with supporting multiple
users.
 Complexity: Time-sharing systems are complex and require advanced software to manage multiple
users simultaneously. This complexity increases the chance of bugs and errors.
 Security Risks: With multiple users sharing resources, the risk of security breaches increases. Time-
sharing systems require careful management of user access, authentication, and authorization to
ensure the security of data and software.

Commonly Used Operating System for Personal Computer

There are various types of Operating Systems used throughout the world and this depends mainly
on the type of operations performed. These Operating Systems are manufactured by large
multinational companies like Microsoft, Apple, etc. Let’s look at the few most commonly used OS
in the real world:

1. Windows
2. UNIX
3. LINUX
4. BOSS
5. SOLARIS

Windows
Generally referred to as Microsoft Windows, these OS are manufactured and developed by the
tech-giant Microsoft and are the most commonly used OS for personal computers and to some
extent in mobile phones or the Windows phone. Microsoft Windows is a collection of many
graphics-oriented operating systems, first developed and launched in 1985 by the name Windows
1.0. When it started it had the aim to provide a graphical shell to the then-famous MS-DOS which
had a character user interface, but it didn’t gain much popularity then. Slowly with the
implementation of innovative features, the OS gained popularity and soon dominated the market of
the Computer Industry, owing to its freedom of use and user-friendly environment. Let’s look at
the advantages and disadvantages of using Microsoft Windows.

Advantages of Windows

1. Hardware compatibility: Almost every computer hardware manufacturing industry supports


Microsoft Windows. This makes the users buy any random computer manufacturing brand and
get the latest version of pre-loaded Microsoft Windows 11 in it.
2. Pre-loaded and available Software: Windows comes with much more user-friendly software
to make everyday task easier and if the software is not available then one can easily get it from
the Internet and run it.
3. Ease of Use: Microsoft Windows has developed by far the most user-friendly OS in the market,
keeping in mind that it serves the purpose of most types of markets in the world. It’s the most
preferred OS for personal computers.
4. Game Runner: Windows supports a plethora of games manufactured till date and comes with
all the supporting base software to drive the game engine. So it’s the most popular OS among
the game lovers.

Disadvantages of Windows

 Expensive: Microsoft is a closed-source OS and the license cost is really high. It’s not possible
for every class of society to buy a new license every time one is expired. The latest Windows 11
costs around 8000 to 12000 INR.
 Poor Security: Windows is much more prone to viruses and malware in comparison to other
OS like Linux or Mac in the market (microsoft defender antivirus is also introduced in the nwe
version).
 Not reliable: Windows starts to lag with time and eventually needs booting every time and now
to get back the initial speed.

There are many versions of Windows that have been developed since 1985, but few that
revolutionized the industry of Operating Systems are:
1. Windows 95
2. Windows 98
3. Windows NT
4. Windows XP
5. Windows Vista
6. Windows 7
7. Windows 8
8. Windows 8.1
9. Windows 10
10. Windows 11(latest version)
UNIX

Developed in 1970 in the Bell Lab research center UNIX became a multitasking and multiuser
operating system, reaching numerous platforms for use. It was developed by Ken Thompson, Dennis
Ritchie, and a few others and later AT&T licensed UNIX to the development of many variants of Unix,
serving academic and business purposes at the University of California, Berkley Software Distribution,
IBM, Microsoft, and Sun Microsystem. The OS is totally written in C language allowing it to serve in
various platforms. It provides a set of simple and dedicated tools to perform a well-defined task using
basic functions, shell scripting, and command languages. As of 2014, the Unix version with the largest
installed base is Apple’s macOS.

Advantages of UNIX

 The OS is available on a wide variety of machines that are the most truly portable operating system.
 It has a Very efficient virtual memory system, which allows many programs to run simultaneously
with a modest amount of physical memory and time.
 The OS was primarily built to serve the complete multitasking purpose without crashing of data,
and it served well along with the protected memory.
 Has a high-level authentication system along with a fully secured environment.

Disadvantages of UNIX

 This OS was primarily designed for programmers and techies and not for personal and casual use.
 It is a command-driven OS with commands being supplied by the shell kernel and often has cryptic
names which normal users find difficult to keep up with.
 To work comfortably with the UNIX system, one needs to understand the main design features and
how to command and interact with the OS.

Linux
Primarily derived from the concept of Unix, Linux became the most-prominent free and open-
source OS available to everyone in the world. It is built around the Linux kernel and served for
both desktop and server use. Linux was originally developed for personal computers based on the
Intel x86 architecture but since then it was ported to more platforms than any other operating
system. Linux has the largest installed base of all general-purpose operating systems. It is also the
leading operating system on servers and other big iron systems such as mainframe computers, and
the only OS used on TOP500 Supercomputers. The top Linux OS are Ubuntu, Fedora, OpenSUSE,
RedHat, and many more.

Advantages of LINUX

 The OS is open-source and available free of cost to every computer user. There are large
repositories from which anyone can freely download high-quality software for almost any task.
 Linux provides high performance for a longer time and does not require a periodic reboot to
maintain the system.
 It is one of the most secure OS and does not permit any unwanted malware and virus into the
system.
 It is designed to multitask and can perform multiple processes at the same time, without
hampering the performance of the OS.
 The OS is highly compatible and flexible to run on all modern PCs and networks.

Disadvantages of LINUX

 It is not as user-friendly as Windows and users need to struggle for a few days before adapting
to the behavior of OS.
 It is not meant for gamers since it does not support any high graphics game.
 Since there are no standard editions available for Linux, it comes with many versions, confusing
the users about what to adapt and what not.

Solaris
This OS was originally developed by Sun Microsystems and is a type of Unix OS. Solaris was
developed as proprietary software. Solaris is known for its scalability, especially on SPARC
systems, and for originating many innovative features such as DTrace, ZFS, and Time Slider. It is
registered as compliant with the Single UNIX Specification. As of today, Solaris is supported by
HP, Dell, Intel and Fujitsu Siemens architecture. OpenSolaris is the available open-source version
of Solaris OS. Oracle Solaris 10 is the latest version of Solaris OS.

Advantages of Solaris

 It provides good and high performance.


 It provides complete protection against viruses and malware.
 It is a multitasking OS and allows multiple tasks at the same time.
 Known for its good and powerful backup tools.

Disadvantages of Solaris

 Although the OS provides a graphic interface, it is not as good as other graphical user
interfaces.
 The OS is available free of cost but the updates are not available for free, so not completely
open-source.
 The OS is not user-friendly.

Workstation
A workstation operating system (OS) is specialized software that powers computers designed for high-
end computing tasks. These systems are designed to be stable and efficient for professionals working in
fields such as engineering, scientific research, and design.

Some characteristics of workstation operating systems include:


Reliability: Workstations are designed to be reliable and provide out-of-box performance.
Expandability: Workstations are designed to be flexible and expandable to meet the needs of future
workloads.
Tight integration: Workstation vendors design both the hardware and the operating system that runs on
it, which allows for more rigorous testing.

A workstation is a high-performance computer built for professional tasks, delivering more power than
typical personal computers. It features faster processors which handle complex jobs swiftly. With lots
of RAM and extra storage, these computers can run multiple intensive programs at once without slowing
down.

Workstations often come with one or more high-resolution screens, ideal for professions like engineering,
architecture, and graphic design, where users often work with large, complex files and software.

These systems are also great for graphics work. They have powerful graphics adapters, making them
suited for tasks like CAD, creating animations, and multimedia production, where detailed visuals and 3D
models are frequently used.

Features of Workstations

 High-Performance Processors: Workstations have powerful CPUs with multiple cores and high
clock speeds, enabling them to efficiently manage tasks that require a lot of resources, like complex
calculations, simulations, and data processing.

 Large Memory Capacity: These systems usually come with a lot of RAM, which helps professionals
handle tasks that use a lot of memory smoothly. This is especially important for working with
big datasets, running several programs at the same time, and processing them without any slowdowns.

 Professional-Grade Graphics: Workstations are equipped with advanced graphics processing units
(GPUs) designed for professional use. These GPUs deliver superior graphics rendering, crucial for
tasks such as 3D modeling, animation, and precise video editing.

 Storage Options: Workstations typically use high-performance hard disk drives (HDDs) or solid-state
drives (SSDs) for storage. SSDs, which do not have moving parts, offer quicker access to data and are
more reliable. On the other hand, HDDs are a more cost-effective choice for storing large amounts of
data.

 Expansion Slots and Connectivity: Workstations come with various expansion slots for adding
specialized hardware components as needed. This includes additional network adapters, RAID
controllers, and graphics cards, enhancing the system’s versatility.

 Error-Correcting Code (ECC) Memory: Some workstations incorporate ECC memory, which can
detect and correct data corruption in real-time. This feature significantly boosts system stability and
reliability by reducing memory-related crashes and downtime.

 Enhanced Cooling Systems: To handle extended periods of high-performance usage, workstations


often employ sophisticated cooling technologies. These systems help maintain optimal operating
temperatures, minimizing the risk of overheating and performance degradation.

 Professional Software and Certification: Workstations typically come bundled with professional-
grade software tailored to specific industries and may also undergo rigorous testing and certification.
This ensures they perform reliably and are compatible with specialized software packages used in
fields like engineering, architecture, and graphic design.
Technologies in a Workstation

1. Processor: Workstations typically have high-performance processors with multiple cores to manage
intense computational tasks efficiently. Intel’s Xeon processors are a popular choice, offering stability,
reliability, and the power for multitasking with heavy applications.

2. Graphics: Unlike standard PCs, workstations generally have high-end, discrete graphics cards. These
are crucial for rendering complex graphics and performing resource-intensive tasks that are common in
design and media production.

3. Memory: Workstations often support Error Correcting Code (ECC) memory, which prevents data
corruption and system crashes by automatically correcting data errors. This is vital in professional
environments where data integrity is crucial.

4. Storage: Workstations use advanced storage technologies like RAID for redundancy to protect data
against loss and PCIe SSDs for faster data access and transfer speeds.

Advantages of Workstations

Workstations offer several benefits that make them particularly suitable for demanding professional and
technical tasks. Here’s a look at some of their main advantages:

 High Processing Power: Equipped with powerful, multi-core processors, workstations can efficiently
manage complex and resource-intensive tasks that are beyond the scope of regular desktops.

 Advanced Graphics Performance: They include high-end graphics processing units (GPUs) that are
excellent for tasks requiring detailed visual work, such as 3D modeling, computer-aided design
(CAD), video editing, and animation.

 Large Memory and Storage Options: Workstations typically come with more RAM and both fast
SSDs for quick data access and large HDDs for extensive data storage, facilitating better multitasking
and handling of large files.

 Enhanced Reliability: Features like error-correcting code (ECC) memory help detect and correct data
corruption, adding a layer of reliability important in fields where data accuracy is critical.

 Expandability: They often feature multiple expansion slots that allow upgrades and additions of new
components, such as extra GPUs and specialized network cards, making them adaptable to changing
needs.

 Optimized for Specific Applications: Workstations are usually optimized for compatibility and
performance with professional software commonly used in engineering, research, and creative
industries.

 Professional Cooling Systems: With advanced cooling systems designed to handle prolonged high-
performance use, workstations can operate at optimal temperatures, minimizing the risk of overheating
and component damage.
Handheld Operating System
Handheld operating systems are available in all handheld devices like Smartphones and tablets. It is
sometimes also known as a Personal Digital Assistant. The popular handheld device in today’s world is
Android and iOS. These operating systems need a high-processing processor and are also embedded
with various types of sensors.

Some points related to Handheld operating systems are as follows:

1. Since the development of handheld computers in the 1990s, the demand for software to operate and
run on these devices has increased.
2. Three major competitors have emerged in the handheld PC world with three different operating
systems for these handheld PCs.
3. Out of the three companies, the first was the Palm Corporation with their PalmOS.
4. Microsoft also released what was originally called Windows CE. Microsoft’s recently released
operating system for the handheld PC comes under the name of Pocket PC.
5. More recently, some companies producing handheld PCs have also started offering a handheld
version of the Linux operating system on their machines.

Features of Handheld Operating System:

1. Its work is to provide real-time operations.


2. There is direct usage of interrupts.
3. Input/Output device flexibility.
4. Configurability.

Types of Handheld Operating Systems:

Types of Handheld Operating Systems are as follows:

1. Palm OS
2. Symbian OS
3. Linux OS
4. Windows
5. Android

Palm OS:

 Since the Palm Pilot was introduced in 1996, the Palm OS platform has provided various mobile
devices with essential business tools, as well as the capability that they can access the internet via a
wireless connection.

 These devices have mainly concentrated on providing basic personal-information-management


applications. The latest Palm products have progressed a lot, packing in more storage, wireless
internet, etc.
Symbian OS:

 It has been the most widely-used smartphone operating system because of its ARM architecture
before it was discontinued in 2014. It was developed by Symbian Ltd.
 This operating system consists of two subsystems where the first one is the microkernel-based
operating system which has its associated libraries and the second one is the interface of the
operating system with which a user can interact.
 Since this operating system consumes very less power, it was developed for smartphones and
handheld devices.
 It has good connectivity as well as stability.
 It can run applications that are written in Python, Ruby, .NET, etc.

Linux OS:
 Linux OS is an open-source operating system project which is a cross-platform system that was
developed based on UNIX. It was developed by Linus Torvalds. It is a system software that
basically allows the apps and users to perform some tasks on the PC.
 Linux is free and can be easily downloaded from the internet and it is considered that it has the best
community support.
 Linux is portable which means it can be installed on different types of devices like mobile,
computers, and tablets.
 It is a multi-user operating system.
 Linux interpreter program which is called BASH is used to execute commands.
 It provides user security using authentication features.

Windows OS:
 Windows is an operating system developed by Microsoft. Its interface which is called Graphical
User Interface eliminates the need to memorize commands for the command line by using a mouse
to navigate through menus, dialog boxes, and buttons.
 It is named Windows because its programs are displayed in the form of a square. It has been
designed for both a beginner as well professional.
 It comes preloaded with many tools which help the users to complete all types of tasks on their
computer, mobiles, etc.
 It has a large user base so there is a much larger selection of available software programs.
 One great feature of Windows is that it is backward compatible which means that its old programs
can run on newer versions as well.

Android OS:
 It is a Google Linux-based operating system that is mainly designed for touchscreen devices such as
phones, tablets, etc. There are three architectures which are ARM, Intel, and MIPS which are used
by the hardware for supporting Android. These lets users manipulate the devices intuitively, with
movements of our fingers that mirror some common motions such as swiping, tapping, etc.

 Android operating system can be used by anyone because it is an open-source operating system and
it is also free.
 It offers 2D and 3D graphics, GSM connectivity, etc.
 There is a huge list of applications for users since Play Store offers over one million apps.
 Professionals who want to develop applications for the Android OS can download the Android
Development Kit. By downloading it they can easily develop apps for android.

Advantages of Handheld Operating System:


Some advantages of a Handheld Operating System are as follows:

1. Less Cost.
2. Less weight and size.
3. Less heat generation.
4. More reliability.

Disadvantages of Handheld Operating System:


Some disadvantages of Handheld Operating Systems are as follows:

1. Less Speed.
2. Small Size.
3. Input / Output System (memory issue or less memory is available).
Process Control in OS
Process control in an operating system (OS) is the management of a process's lifecycle, which includes its
creation, execution, and termination. This is done to maintain system stability and performance by
ensuring efficient resource allocation, synchroniz
synchronization, and process scheduling.

A process control block (PCB) is a data structure that stores information about a process. It's created
when a process is initialized or installed, and it tracks the process's state, such as whether it's new, ready,
running, waiting, or terminated. The PCB is a key part of context switching because it's used to track
process information.

Structure of the Process Control Block

A Process Control Block (PCB) is a data structure used by the operating system to manage information
about a process. The process control keeps track of many important pieces of information needed to
manage processes efficiently. The diagram helps explain some of these key data items.

 Pointer: It is a stack pointer that is required to be saved when the process is switched from one state
to another to retain the current position of the process.
 Process state: It stores the respective state of the process.

 Process number: Every process is assigned a unique id known as process ID or PID which stores
the process identifier.

 Program counter: Program Counter stores the counter, which contains the address of the next
instruction that is to be executed for the process.

 Register: Registers in the PCB, it is a data structure. When a processes is running and it’s time slice
expires, the current value of process specific registers would be stored in the PCB and the process
would be swapped out. When the process is scheduled to be run, the register values is read from the
PCB and written to the CPU registers. This is the main purpose of the registers in the PCB.

 Memory limits: This field contains the information about memory management system used by the
operating system. This may include page tables, segment tables, etc.

 List of Open files: This information includes the list of files opened for a process.

Additional Points to Consider for Process Control Block (PCB)

 Interrupt Handling: The PCB also contains information about the interrupts that a process may
have generated and how they were handled by the operating system.

 Context Switching: The process of switching from one process to another is called context
switching. The PCB plays a crucial role in context switching by saving the state of the current
process and restoring the state of the next process.

 Real-Time Systems: Real-time operating systems may require additional information in the PCB,
such as deadlines and priorities, to ensure that time-critical processes are executed in a timely
manner.
 Virtual Memory Management: The PCB may contain information about a process’s virtual
memory management, such as page tables and page fault handling.

 Inter-Process Communication: The PCB can be used to facilitate inter-process communication by


storing information about shared resources and communication channels between processes.

 Fault Tolerance: Some operating systems may use multiple copies of the PCB to provide fault
tolerance in case of hardware failures or software errors.

Advantages

 Efficient Process Management: The process table and PCB provide an efficient way to manage
processes in an operating system. The process table contains all the information about each process,
while the PCB contains the current state of the process, such as the program counter and CPU
registers.

 Resource Management: The process table and PCB allow the operating system to manage system
resources, such as memory and CPU time, efficiently. By keeping track of each process’s resource
usage, the operating system can ensure that all processes have access to the resources they need.

 Process Synchronization: The process table and PCB can be used to synchronize processes in an
operating system. The PCB contains information about each process’s synchronization state, such as
its waiting status and the resources it is waiting for.

 Process Scheduling: The process table and PCB can be used to schedule processes for execution.
By keeping track of each process’s state and resource usage, the operating system can determine
which processes should be executed next.

Disadvantages

 Overhead: The process table and PCB can introduce overhead and reduce system performance. The
operating system must maintain the process table and PCB for each process, which can consume
system resources.

 Complexity: The process table and PCB can increase system complexity and make it more
challenging to develop and maintain operating systems. The need to manage and synchronize
multiple processes can make it more difficult to design and implement system features and ensure
system stability.

 Scalability: The process table and PCB may not scale well for large-scale systems with many
processes. As the number of processes increases, the process table and PCB can become larger and
more difficult to manage efficiently.

 Security: The process table and PCB can introduce security risks if they are not implemented
correctly. Malicious programs can potentially access or modify the process table and PCB to gain
unauthorized access to system resources or cause system instability.

 Miscellaneous Accounting and Status Data – This field includes information about the amount of
CPU used, time constraints, jobs or process number, etc. The process control block stores the
register content also known as execution content of the processor when it was blocked from
running. This execution content architecture enables the operating system to restore a process’s
execution context when the process returns to the running state. When the process makes a
transition from one state to another, the operating system updates its information in the process’s
PCB. The operating system maintains pointers to each process’s PCB in a process table so that it
can access the PCB quickly.

Real Time Operating System ((RTOS)


A real-time operating system (RTOS) is a special kind of operating system designed to handle
tasks that need to be completed quickly and on time. Unlike general-purpose operating systems
(GPOS), which are good at multitasking and user interaction, RTOS focuses on doing things in real
time.
The idea of real-time computing has been around for many years. The first RTOS was created by
Cambridge University in the 1960s. This early system allowed multiple processes to run at the
same time, each within strict time limits.
Over the years, RTOS has improved with new technology and the need for reliable real-time
performance. These systems are now more powerful, efficient, and full of features, and they are
used in many industries, including aerospace, defense, medical science, multimedia, and more.

Types of Real-Time Operating System


The real-time operating systems can be of 3 types –

Hard Real-Time Operating System

These operating systems guarantee that critical tasks are completed within a range of time. For
example, a robot is hired to weld a car body. If the robot welds too early or too late, the car cannot be
sold, so it is a hard real-time system that requires complete car welding by the robot hardly on time.,
scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots,
air traffic control systems, etc.
Soft Real-Time Operating System

This operating system provides some relaxation in the time limit. For example – Multimedia systems,
digital audio systems, etc. Explicit, programmer-defined, and controlled processes are encountered in
real-time systems. A separate process is changed by handling a single external event. The process is
activated upon the occurrence of the related event signaled by an interrupt.

Multitasking operation is accomplished by scheduling processes for execution independently of each


other. Each process is assigned a certain level of priority that corresponds to the relative importance of
the event that it services. The processor is allocated to the highest-priority processes. This type of
schedule, called, priority-based preemptive scheduling is used by real-time systems.

Firm Real-time Operating System

RTOS of this type have to follow deadlines as well. In spite of its small impact, missing a deadline can
have unintended consequences, including a reduction in the quality of the product. Example:
Multimedia applications.

What is the Purpose of RTOS?

Unlike general-purpose operating systems (GPOS) like Windows or Linux, which are good at
multitasking and handling various applications, a real-time operating system (RTOS) is designed to
manage time-sensitive tasks precisely.

The main goal of an RTOS is to perform critical tasks on time. It ensures that certain processes are
finished within strict deadlines, making it perfect for situations where timing is very important. It is
also good at handling multiple tasks at once.

An RTOS provides real-time control over hardware resources, like random access memory (RAM), by
ensuring predictable and reliable behavior. It uses system resources efficiently while maintaining high
reliability and responsiveness. By managing multiple tasks effectively, an RTOS ensures smooth
operation even when the system is under heavy use or changing conditions.

Uses of RTOS

 Defense systems like RADAR.

 Air traffic control system.

 Networked multimedia systems.

 Medical devices like pacemakers.

 Stock trading applications.

Advantages

The advantages of real-time operating systems are as follows:

 Maximum Consumption: Maximum utilization of devices and systems. Thus more output from all
the resources.
 Task Shifting: Time assigned for shifting tasks in these systems is very less. For example, in older
systems, it takes about 10 microseconds. Shifting one task to another and in the latest systems, it
takes 3 microseconds.

 Focus On Application: Focus on running applications and less importance to applications that are
in the queue.

 Real-Time Operating System In Embedded System: Since the size of programs is small, RTOS
can also be embedded systems like in transport and others.

 Error Free: These types of systems are error-free.

 Memory Allocation: Memory allocation is best managed in these types of systems.

Disadvantages

The disadvantages of real-time operating systems are as follows:

 Limited Tasks: Very few tasks run simultaneously, and their concentration is very less on few
applications to avoid errors.

 Use Heavy System Resources: Sometimes the system resources are not so good and they are
expensive as well.

 Complex Algorithms: The algorithms are very complex and difficult for the designer to write on.

 Device Driver And Interrupt Signals: It needs specific device drivers and interrupts signals to
respond earliest to interrupts.

 Thread Priority: It is not good to set thread priority as these systems are very less prone to
switching tasks.

 Minimum Switching: RTOS performs minimal task switching.

You might also like