CHAPTER 3:
COMPUTER SOFTWARE AND OPERATING SYSTEM
Introduction of software
➢ Computer software, or just software, is a collection of computer programs and related data that
provides the instructions for telling a computer what to do and how to do it.
➢ Any set of instructions that guides the hardware and tells it how to accomplish each task.
HOW SOFTWARE ENTERS THE COMPUTER SYSTEM?
1. Built into the computer circuit in the form of firmware.
2. Loaded into the computer from a secondary storage device such as CD-ROM or hard disk drives.
3. Typed into the computer with the aid of the keyboard and programming tools.
Relation between Hardware and Software
Software refers to the computer programs that are loaded into a computer system, and hardware refers to
all the visible devices, which are assembled together to build a computer system. The blending of software
and hardware gives life to a computer system. Even though hardware is the physical part of a computer, it
is nothing unless it has software to control it. Hardware and software then share a special relationship. If
hardware is the 'heart' of a computer system, software is its 'soul'. Both are complementary to each other.
Hardware is of no use without software and software cannot be used without hardware.
Types of Computer Software
Based on the type of task they perform; computer software can be divided into:
SOFTWARE
Application
System Software
Software
System System Software Customized
Management
Development Software
Software
Operating Programming Packaged
System Languages Software
Language
Utility Software Translator
Device Driver
System Software:
• Software that enables a computer to run and activates required hardware or other parts of a
computer to run is called system software.
• Set of one or more programs designed to control the operation of our computer system.
• Software is required to convert all human instructions into machine understandable instructions.
• In general system software support the running of other software, communicate with peripheral
device, support the development of other types of software and monitors the use of various
hardware resources.
The system software is categorized into two categories:
I. System Management Software
II. System Software Development
I. System Management Software
It relates to the functioning of different components of the computer like processor, input and
output devices etc. It provides support for various services, as requested by the application
software. All types of management between computer hardware and software is performed by
system management software. There are three types of system management software:
i. Operating System
ii. Utility Software
iii. Device Driver
i. Operating System
It consists of programs, which controls, coordinates and supervises the activities of the various
components of a computer system. Its function is to provide link between the computer
hardware and the user. It performs all internal management functions (disk access, memory
management, task scheduling and user interfacing) and ensures systematic functioning of a
computer system. It provides an environment to run the programs. e.g., MS-DOS, windows
XP/2000/98, Unix Linux, etc.
ii. Utility Software
System software is required for the maintenance of computer. System utilities are used for
supporting and enhancing the programs and the data in computer. Some examples of system
utilities are:
● Anti-virus utility to scan computer for viruses.
● Data Compression utility to compress the files.
● Cryptographic utility to encrypt and decrypt files.
● Disk Partitioning to divide a single drive into multiple logical drives. Each drive is then
treated as an individual drive and has its own file system.
iii. Device Drivers
A software, which is written with the objective of making a device functional when it is
connected to the computer is called device driver. System software that acts like an interface
between the device and the user. Every device, whether it is a printer, monitor, mouse or
keyboard has a driver program associated with it for its proper functioning.
Examples of Device Drivers I/O devices (keyboards, mice, CD/DVD drives, printers, graphics
cards, etc.)
II. System Software Development
It refers to set of programs that are used to develop computer program. This type of software
is not used by a normal user of the computes. They are used by programmers for the
development of new program. It provides services required for the development and execution
of application software. There are two types of system development software:
i. Programming Language
ii. Language Translator
i. Programming Language
A Programming Language consists of a set of vocabulary and grammatical rules, to
express the computations and tasks that the computer has to perform. Programming
languages are used to write a program, which controls the behavior of computer, codify
the algorithms precisely, or enables the human-computer interface. Programming
Language are of further types:
• Machine Language
• Assembly Language
• High Level Language
✓ Machine Language
Machine language is a low-level language made up of binary numbers or bits that a computer can
understand. It is also known as machine code or object code and is extremely tough to comprehend.
The only language that the computer understands is machine language.
✓ Assembly Language
Assembly Language falls in between machine language and high-level language. They are similar
to machine language, but easier to program in, because they allow the programmer to substitute
names for numbers.
✓ High Level Language
High-level languages are programming languages that are used for writing programs or software
that can be understood by humans and computers. High-level languages are easier to understand
for humans because they use a lot of symbols letters phrases to represent logic and instructions in
a program. It contains a high level of abstraction compared to low-level languages.
ii. Language Translator
Translator software is used to convert a program written in high-level language and assembly
language to a form that the computer can understand. Translator software converts a program
written in assembly language, and high-level language to a machine-level language program.
The translated program is called the object code. There are three different kind of translator
software:
● Assembler: It is a software that converts a program written in assembly languages into
machine code.
● Compiler: It is a software that translates the program written in high-level languages to
machine languages.
● Interpreter: It is a software that converts the high-level language program into computer
understandable form.
Note:
❖ Linker: Linker is a program that links several object modules and libraries to a single executable
program. A source code may also include reference to libraries (header) and independent
modules (functions) which may not be stored in a single object file.
❖ Loader: The loader software is used to load and re-locate the executable program in the main
memory. Software has to be loaded into the main memory during execution. Loader assigns
storage space to the program in the main memory for execution.
Application Software:
Application software is a type of computer program designed to perform specific tasks for users. These
tasks can range from productivity and creativity to entertainment and communication. Unlike system
software, which manages the hardware and basic system functions, application software directly assists
users in accomplishing specific goals. There are two different kinds of Application Software. They are:
1. Packaged Software
2. Customized or Tailored Software
1. Packaged Software:
➢ Packaged software, also known as off-the-shelf software, is pre-designed and widely available
for general use. It caters to a broad audience and is not customized for individual users or
organizations.
➢ Examples:
MS Office Suite (Word, Excel, PowerPoint) for productivity
Adobe Photoshop for graphic design.
Google Chrome for web browsing.
Features of Packaged Software:
✓ Designed to perform specific tasks for users, such as document creation, image editing, or data
analysis.
✓ Comes with a graphical user interface (GUI) or other user-centric designs that make it easy to
navigate and operate.
✓ Application software is often designed to run on a specific operating system (e.g., Windows,
macOS, Android).
✓ Some applications allow users to adjust settings, add plugins, or modify functionality to suit their
needs.
✓ Engages the user by responding to commands, inputs, or actions, making the application dynamic
and interactive.
2. Customized/Tailored Software
➢ Customized software is tailored to meet the specific requirements of an individual,
company, or organization.
➢ It is developed with unique features that address specialized tasks or workflows.
➢ Examples:
o Banking Systems for managing customer accounts.
o Inventory Management Systems for retail businesses.
o Hospital Management Software for patient records and billing.
Features of Customized/Tailored Software
✓ Customized/Tailored software is developed to address the unique requirements of a particular user,
business, or organization, ensuring a perfect fit for their processes.
✓ It can be easily scaled or updated as the needs of the user or organization grow, accommodating
future changes or expansions.
✓ Since it is designed for specific workflows, customized software reduces unnecessary steps,
increasing productivity and operational efficiency.
✓ Customized software can be designed to integrate seamlessly with existing systems and tools within
the organization, ensuring smooth operations.
✓ By providing unique features that packaged software may lack, customized software can offer
businesses a distinct edge over their competitors.
Note
❖ Freeware: Freeware software is available without any cost. Any user can download it from the
internet and use it without paying any fee. However, freeware does not provide any liberty for
modifying the software or charging a fee for its distribution. Examples are: Adobe Reader, Skype,
Team Viewer etc.
❖ Shareware: The software is distributed freely to users on a fixed trial basis. It generally comes
with a set time limit, and on the expiration of time limit, the user is finally asked to pay a fixed fee
for the continued services. Few of the examples of shareware are: Adobe Acrobat, WinZip etc.
Operating System
➢ An operating system is a program that acts as an intermediary between a user of a computer and
the computer hardware.
➢ The purpose of an operating system is to provide an environment in which a user can execute
programs. The primary goal of an operating system is thus to make the computer system convenient
to use.
➢ A secondary goal is to use the computer hardware in an efficient manner.
➢ Examples of OS
Some of the commonly used operating systems are Microsoft Disk Operating System (MSDOS),
Windows 7, Windows XP, Linux, UNIX, and Mac OS X Snow Leopard.
➢ It performs all internal management functions (disk access, memory management, task scheduling
and user interfacing) and ensures systematic functioning of a computer system.
User 1 User 2 User n
System Application
Software Software
Software
Operating System
Hardware CPU RAM I/O
Functions of Operating system:
1) Input-Output (I/O) Management: Input-Output is essential to operate any computer. It
allows computer to interact with several peripheral devices such as keyboard, mouse, printer,
scanner etc.
2) User Interface (UI): User Interface means an ideal environment in which user can work on it
so that s/he can interact with the computerized system. Every operating system provides the
feature of user interface in order to enhance the experience and joy of using computer or any
other computerized system. It acts as a bridge between user and computer. There are 2 types of
user Interface.
• Character/Command User Interface (CUI): E.g. MS-DOS
• Graphical User Interface (GUI): E.g. Windows, MAC OS
3) Security: The operating system of a computer has a number of built-in tools to protect against
security threats such as viruses, unauthorized access, suspicious network activity etc. The basic
security in a OS is to control access to your computer by setting users and password.
4) Process Management: The process management allocates a processor to execute a chosen
process. OS acts as a traffic controller, job scheduler, process scheduler and dispatcher.
5) Memory Management: Memory is a large array of bytes, each with its own address. When
the user request CPU for read-write operation. OS determines the amount of memory required
for the program instruction and data. Then OS allocates required memory to load the program
and data into RAM. When the program terminates it frees up the space and new program is
loaded.
6) Data Management: Data management allows organizing their data into logical grouping
called files. Earlier Operating system does not provide features of data management. Hence, they
were inflexible but nowadays, every operating system provides this feature.
7) Command Interpreter: The command interpreter reads the command that a user types in at a
terminal, interprets them and translate them into detail set of instruction that computer hardware
can understand. Every operating system must have command interpreter for its operation.
8) Dead-Lock prevention: During processing a situation can arise in which a resource shared by
two or more process cannot continue because the resources required by a process is held by
other. This situation is known as dead lock. For e.g. If process-1 allocates resources A and later
required resources B and process-2 allocates resources B and later requires resources A. In this
situation neither process-1 nor process-2 will be executed. Such situation is called deadlock.
Operating system ensure prevention of deadlock by taking situation action by careful allocation
of resources.
9) Time sharing: The function of OS that involves CPU to allocate time in a number of users on
same computer. This property generally found in network operating system such as windows
NT.
10) Virtual Memory: Virtual memory is the feature of an operating system that allows a
computer to compensate for shortage of physical memory by transferring temporary files from
RAM to disk. Virtual memory has twice as many addresses as main memory. The process of
translating virtual address into real address is known as mapping. The copying of virtual pages
from disk to main memory is swapping.
Types of Operating System
1) Multitasking Operating System:
Multi-tasking operating systems allow multiple users to perform multiple tasks at the same time.
The allocation of system resources such as input/output devices, CPU and memory among
processes can be easily managed by multi-tasking operating system.
Multitasking is the ability of an OS to execute more than one task simultaneously on a
CPU machine as shown in the below diagram.
MS WORD PAINT EXCEL
OPERATING SYSTEM
CENTRAL PROCESSING UNIT (CPU)
Figure: Multi-tasking process
2) Multi-Programming Operating System
Multiprogramming OS can be simply understood as more than one program is present in the main
memory and any one of them can be kept in the execution. Multiprogramming means more than
one program can be active at the same time. Before the operating system concept, only one program
was to be loaded at a time and run. These systems were not efficient as the CPU was not used
efficiently. For example, in a single-tasking system, the CPU is not used if the current program
waits for some input/output to finish.
3. Multi-processing Operating System
These OS is used in computers having two or more processors for a single running process.
Processing takes place in parallel and is also called parallel processing. Each processor
works on different parts of the same task, or, on two or more different tasks. Since
execution takes place in parallel, they are used for high speed execution, and to increase
the power of computer. Linux, UNIX and Windows 7 are examples of multiprocessing OS.
4. Batch Operating System:
In batch operating system the jobs were performed in batches. This means Jobs having similar
requirements are grouped and executed as a group to speed up processing. Users using batch
operating systems do not interact with the computer directly. Each user prepares their job using an
offline device for example a punch card and submits it to the computer operator.
5. Network Operating System (NOS)
NOS is specialized software designed to manage network resources effectively. It allows computers
within a network to communicate, share files, and resources like printers and internet access. Unlike
traditional operating systems that manage individual computers, NOS is all about making sure
multiple devices can work together seamlessly in a networked environment. NOS facilitates the
connection of multiple devices in a network, enabling them to share and access data among each
other. It controls the network's resources, ensuring that devices like printers and file servers are
efficiently shared.
6. Distributed Operating System
A distributed operating system (DOS) is like a team of computers working together. These
computers are located in different places but work as one big system. This makes things
faster and more efficient.
For example, imagine you have a big task to complete. Instead of one person doing it all,
you can divide the work among a team. Each person works on a part of the task, and
together, they finish it quickly. A DOS works similarly. It divides tasks among different
computers, making things much faster.
7. Real Time Operating System
Real-time operating systems (RTOS) are used in environments where a large number of events,
mostly external to the computer system, must be accepted and processed in a short time or within
certain deadlines. such applications are industrial control, telephone switching equipment, flight
control, and real-time simulations. RTOS are included in devices like air traffic control system,
camera, medical system, satellites and so on.
8. Time Sharing Operating System
Time-sharing is a method of allowing multiple individuals at different terminals to access the same
computer system simultaneously. Multiprogramming is logically followed by time-sharing. Many
processes are assigned to computer resources in time slots in this time-sharing operating system.
The processor’s time is split among numerous users in this scenario. It’s dubbed a time-sharing OS
for this reason. The individual processes have a set time slice. Its primary goal is to improve
interactive reaction time.
On the basis of User Interface (UI), Operating System can be classified as:
I. Graphic User Interface (GUI)
II. Character User Interface (CUI)
I. Graphic User Interface
A GUI operating system lets you use your computer by clicking pictures and menus
instead. It's like having a picture dictionary - you just point and click on what you want
to do. This makes computers much easier to use, even for beginners.
Here's more about the GUI:
• No typing commands: Click pictures and menus instead.
• Easier to learn: Like using a picture dictionary.
• Widely used: Great for everyday computer tasks at home.
• Examples: Windows, Mac OS
Even though GUIs are awesome, they need a bit more memory to run. The first GUI was created
in the 1970s, but it wasn't until the 1980s with the Apple Macintosh that GUIs became super
popular.
Features of GUI
• Visual Interface: GUIs use pictures (icons) and menus to represent actions and information.
• Point-and-Click Interaction: Users interact with the computer by clicking on these visual
elements with a mouse or touchpad.
• User-Friendly: GUIs are designed to be intuitive and easy to learn, even for beginners.
• Efficient: GUIs streamline tasks by providing quick access to functions and information.
• Reduced Errors: Visual cues and confirmation prompts minimize the chance of mistakes.
• Increased Productivity: GUIs can save time and effort by making computer tasks more
efficient.
Basic components of GUI
Windows are rectangular areas on the screen that display information or allow user interaction.
They can be resized, moved, minimized, maximized, or closed.
Icons are small pictures that represent objects, actions, or applications. Clicking on an icon often
triggers a specific action or opens a particular application.
Menus are lists of commands or options that can be accessed by clicking on them. They can be
pull-down, pop-up, or context menus.
Toolbars are rows of icons or buttons that provide quick access to common commands. They are
often customizable to include frequently used tools.
Dialog Boxes are small windows that display information or request user input. They are often
used for error messages, warnings, or to prompt for specific actions.
Text Boxes are rectangular areas where users can input text. They are used for typing in names,
addresses, passwords, or other text-based information.
Buttons are clickable elements that trigger specific actions. They can be used to submit forms,
open files, or execute commands.
Checkboxes allow users to select multiple options from a list. They are often used for preferences
or settings.
Radio Buttons allow users to select only one option from a list. They are often used for mutually
exclusive choices.
Scroll Bars are used to navigate through content that exceeds the visible area of a window or
dialog box. They can be horizontal or vertical.
II. Character User Interface
A Character User Interface (CUI) is an older type of operating system where you
interact with the computer by typing commands. To use a CUI, you need to know
specific commands to perform tasks like opening files, copying information, or running
programs.
CUIs were common in older systems like MS-DOS and UNIX. While they can be
efficient for experienced users who know the commands, they can be quite challenging
for beginners. The lack of visual cues and the need to memorize commands can make
it difficult to learn and use.
One advantage of CUIs is their speed. Since they rely on text-based input, they can be
faster than GUIs, especially for simple tasks. However, for complex tasks, GUIs often
offer a more intuitive and user-friendly experience.
While CUIs are less common today, they still have their place in certain specialized
environments. For example, some system administrators and programmers may prefer
to use CUIs for their efficiency and flexibility.
Open Source Operating System
Computer software or applications where the owners or copyright holders enable the users or third
parties to use, see, and edit the product's source code are called Open Source OS. This is different
from proprietary software, where the source code is kept secret and only the compiled version is
available to users. Open-source software is often licensed under a General Public License (GPL),
which grants users the freedom to use, study, share, and modify the software. This flexibility
allows users to customize the software to their specific needs without having to purchase a license.
Some basic examples of the open-source operating systems are Linux, Open Solaris, Free
RTOS, Open BDS, Free BSD, Minix, etc.
❖ UNIX
Unix -- trademarked as UNIX -- is a multiuser, multitasking operating system (OS)
designed for flexibility and adaptability. Unix was one of the first OSes to be written
in the C programming language. Unix is a modular OS made up of a number of
essential components, including the kernel, shell, file system and a core set of
utilities or programs. At the heart of the Unix OS is the kernel, a master control
program that provides services to start and end programs. It also handles low-level
operations, such as allocating memory, managing files, responding to system calls
and scheduling tasks.
Here are some basic Unix commands:
• cd: Change directory
• pwd: Print working directory
• ls: List files and directories
• mkdir: Make a new directory
• rmdir: Remove an empty directory
❖ LINUX
In 1991, Linus Torvalds a student at the university of Helsinki, Finland, thought to have a freely
available academic version of Unix started writing its own code. Later this project became the
Linux kernel. He wrote this program specially for his own PC as he wanted to use Unix 386 Intel
computer but couldn't afford it.
Linux is one of popular version of UNIX operating System. It is open source as its source code is
freely available. It is free to use. Linux was designed considering UNIX compatibility. Its
functionality list is quite similar to that of UNIX.
Linux has a number of different versions to suit any type of user. From new users to hard-core
users, you’ll find a “flavor” of Linux to match your needs. These versions are called distributions
(or, in the short form, “distros”). Nearly every distribution of Linux can be downloaded for free,
burned onto disk (or USB thumb drive), and installed (on as many machines as you like).
Some of the popular Linux distribution are:
• Ubuntu or Mint: Beginner-friendly with strong community support.
• Fedora or centOS: Focuses on innovation and cutting-edge features.
• Arch Linux: Highly customizable but requires advanced knowledge.
• Kali Linux: Designed for cybersecurity and penetration testing.
Types of Popular Mobile Operating System:
Mobile Operating System: A mobile operating system allows the user to run other different application
software on the mobile, tablets, etc. Moreover, we can say that it is a type of operating system which is
specially designed for mobiles, tablets, smartwatches, etc. Furthermore, they are a mixture of computer
OS with some additional features for mobiles. Also, they are comparatively light and simple.
Types of Popular Mobile Operating System:
Android OS: The Android OS is the most common operating system among the mobile operating
system. Furthermore, Google is the developer of Android. Moreover, it is an open source and free
operating system. This OS is based on the Linux kernel. The name for every new version of update is
based on ‘desserts’ for example Cupcake, Donut, Eclair, Oreo, Kitkat, etc.
Blackberry OS: The developer of this operating system is Research In Motion (RIM). It was
specifically designed for blackberry devices. Furthermore, it is useful for corporate users.
Apple iOS: After android, it is one of the most popular OS. It is designed to run on Apple devices
such as iPhones, iPad tablets, etc. Moreover, like the android devices have the play store for apps
download. Likewise, apple iOS contains the app store. Also, it has very strong security features.
Windows Mobile Operating System:
The developer of this OS is Microsoft. It is basically designed for pocket PCs and smartphones.
Moreover, it has the features of computer-based Windows OS and additional features for mobile
phones.