0% found this document useful (0 votes)
4 views14 pages

Chapter3 Computer Software and Operating System

Chapter 3 discusses computer software and operating systems, emphasizing the essential relationship between hardware and software for effective computer operation. It categorizes software into system software, which manages hardware and supports application software, and application software, which fulfills specific user tasks. The chapter also details the functions and types of operating systems, highlighting their roles in resource management, user interfaces, and processing methods.

Uploaded by

neuoaneaayush
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views14 pages

Chapter3 Computer Software and Operating System

Chapter 3 discusses computer software and operating systems, emphasizing the essential relationship between hardware and software for effective computer operation. It categorizes software into system software, which manages hardware and supports application software, and application software, which fulfills specific user tasks. The chapter also details the functions and types of operating systems, highlighting their roles in resource management, user interfaces, and processing methods.

Uploaded by

neuoaneaayush
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 3: Computer software and Operating System

Software - Introduction:
As we know stand-alone hardware cannot do anything, for the smooth operation of
our Computer System, there should be proper coordination between hardware and
software. The software helps to mobilize the hardware and other resources. In
order to mobilize hardware, we have to write several sets of instructions that
instruct computers what to do, and what not to do. These sets of instruction are
collectively known as programs and the term software is the collection of related
programs and associated documents. In Order to produce useful output, hardware
and software must work together. Nothing useful can be done with the hardware
only and software cannot be utilized without hardware. The different types of
software are:

1) System software: System software is a set of one or more programs designed to


control the operation of our computer system. This type of software doesn't fulfill
the specific requirement of the user. They are general programs written to assist
humans in the use of the computer system. In general system software support the
running of other software communicates with a peripheral device, supports the
development of other types of software, and monitors the use of various hardware
resources. Thus, the system software makes the operation of the computer system
more effective and efficient. The system software is categorized into two
categories.
1.1) System Management: It is responsible for the proper management and
functioning of the computer system. All types of management between computer
hardware and software are performed by system management software. There are 3
types of system management software:

1.1.1) Operating System: Operating system is a collection program that controls


the overall operation of the computer system. It is the 1st program that is loaded
into memory when the computer is turned on. It provides a platform for another
application program to run and execute. It provides users with an interface so that
users can easily communicate with the computer. For example; Linux, Windows,
Mac, etc.
1.1.2) Utility software: It is the supporting software that is used to perform a
specific task related to the maintenance of the computer system. Some of the utility
software is included in the operating system whereas some are available as a
separate utility in the market. They are also called service programs. For example;
Norton Utility, PC tools, win zip, etc.
1.1.3) Device driver: A device driver is a software that is responsible for the
smooth functioning of the hardware device that is connected to the computer.
When we add a new device to the computer, we need to install new software called
the device driver. The device driver will coordinate with the operating system and
the newly installed hardware functions properly and smoothly.

1.2) System Development: It refers to a set of programs that are used to develop a
computer program. This type of software is not used by a normal user of the
computer. They are used by programmers for the development of the new program.
There are two types of system development software:
1.2.1) Programming language: The language with which we give instruction to
the computer is known as a programming language. Programming languages are a
set of different keywords, variables, operators, loops, and other symbols, etc. They
help to make communication between computer and user. There are two types of
programming language low-level language and high-level language.
1.2.2) Language translator: It is a special kind of computer software that
translates programs written in one language into another language. It is compulsory
for both low and high-level languages. It is also called a language processor. The
types of language translators are the compiler, interpreter, and assembler.

2) Application Software: Application software is a set of one or more programs


that are designed to do a specific task. It is made to fulfill user demand. This
program directs a computer to solve user-oriented problems such as preparing bills,
calculating mathematical equations, preparing mark sheets, etc. The software that
is developed for user purposes is called application software. These types of
software are generally developed by using a high-level language. for example, MS
Excel, Photoshop, Billing software, etc. There are two types of application
software.
2.1) Packaged software: They are the generalized set of programs designed and
developed for general purposes. It is generally large-sized, error-free, advanced,
and standard software with much more functionality for special work. This type of
software doesn't perfectly match the requirement of many organizations or users.
They cannot be changed easily and are developed and designed by reputed
software Companies so they are trustworthy. They are expensive for a small
organization. for example MS Office Adobe, Macromedia etc.
2.2) Customized /Tailored software: This is a software developed in high-level
language for a special task. This type of software is developed for some specific
purpose for solving a specific problem of a specific user or organization. The
requirement of the user or organization can be perfectly matched. They can be
changed easily since they are made by the local programmer. for example payroll
system, inventory management, school management, billing software, mark sheet
evaluation, etc.

Operating system - Introduction


An operating system (OS) is an integrated set of programs that controls overall
resources such as CPU, memory, and input-output device of the computer system.
The major objective of the operating system is to improve the performance and
efficiency of a computer system. Like the manager of a company, an operating
system is responsible for the smooth and efficient functioning of the entire
computer system. The operating system provides the platform for other application
program/software to run and execute. It provides users with an interface so that
user can easily communicate with computers, which is more convenient to use and
operate.
An operating system is a collection of programs that controls the overall operation
of the computer system. It also controls and coordinates the use of hardware,
among the various application program for various users. So, it acts as an interface
between the user and the computer hardware. The other major functions of the
operating system are:
• It controls, monitors, and coordinates the overall operation of our computer
system.
• It acts as an interface between the user and the computer.
• It provides a platform to develop, run and execute another computer
program.
• It manages hardware resources such as CPU, memories, input-output
terminals, networking equipment etc.
• It hides programming and hardware complexity from the user.

The primary goal of an operating system is to maximize the productivity of a


computer system by operating it in the most efficient manner and maintaining the
amount of human intervention. Some examples of the operating system are MS-
DOS, Windows, LINUX, MACOS, UNIX, Chrome, Fedora, Ubuntu etc.

Functions / Features / Advantages of Operating System (OS) - [Link]


1) Input-Output (I/O) Management: Input-Output is essential to operate any
computer. It allows the computer to interact with several peripheral devices such as
a keyboard, mouse, printer, scanner, etc.

2) User Interface (UI): User Interface means an ideal environment in which the
user can work on it so that s/he can interact with the computerized system. Every
operating system provides the feature of the user interface in order to enhance the
experience and joy of using a computer or any other computerized system. It acts
as a bridge between the user and the computer. There are 2 types of user Interfaces.
Character/Command User Interface (CUI): Eg: MS-DOS
Graphical User Interface (GUI): Eg: 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 an OS is to control access to your
computer by setting users and passwords.

4) Process Management: 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. The OS allocates
the required memory to load the program and data into RAM. When the program
terminates it freezes up the space and a new program is loaded.

6) Data Management: Data management allows organizing their data into a logical
grouping called files. Earlier Operating systems do 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 a detailed set of
instruction that computer hardware can understand. Every operating system must
have a command interpreter for its operation.

8) Dead-Lock prevention: During processing a situation can arise in which


resources shared by two or more process cannot continue because the resources
required by a process is held by another. This situation is known as deadlock. For
eg: 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 a situation is called deadlock. The
operating system ensures the prevention of deadlock by taking situation action by
careful allocation of resources.

9) Time sharing: The function of OS involves the CPU allocating time for a
number of users on the same computer. This property is generally found in
network operating systems such as Windows NT.

10) Virtual Memory: Virtual memory is the feature of an operating system that
allows a computer to compensate for the 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 a virtual address into a real
address is known as mapping. The copying of virtual pages from the disk to the
main memory is swapping.

Types of Operating System (OS) - [Link]


Types of Operating Systems (OS)

Basis of Processing Basis of User Interface (UI) Basis of the mode of user

Multiprogramming OS Character User Interface Single user

Multi-tasking OS Graphical User Interface Multi-user


Multiprocessing OS
Time-sharing OS
Batch processing OS
Multi-threading OS
Online processing OS
Real-time OS

A) On the basis of processing


1) Multi-programming OS:
Multi-programming is used in a multi-user environment. It is the technique in
which multiple user programs are executed simultaneously by a single processor.
Multi-programming means when two or more two programs are provided to the
CPU for processing or loaded in the internal storage of the CPU at the same instant
of time. From the loaded program once the portion of one program is executed and
the portion of another program is executed and so on. Thus, multi-programming
refers to the concurrent execution of several programs. The main purpose of multi-
programming is to increase the utilization of computers and its resources. Different
forms of multi-programming OS are multi-tasking, multi-processing, and multi-
user.
2) Multi-tasking OS:
Multi-tasking OS allows more than one program to run concurrently mainly in a
single-user system. These computers are capable of executing several tasks or
programs at the same time. Executing several tasks can be a single or multi-
processing system. In some multi-tasking systems, one of the processes is called
fore-ground (active) other is called background (inactive). Multi-tasking OS
increases the productivity of the user by executing many tasks simultaneously.
Some of the most common examples are MS-Windows, Linux, MAC OS, etc.
3) Multiprocessing OS:
Multi-processing system has more than one processor linked in a coordinated way.
Multiprocessing OS supports running a program on more than one CPU.
Generally, super servers are especially designed to support multiple processor.
UNIX is commonly used multi-processing OS. Multi-programming and
multiprocessing are no the same concept. Multi-programming involves concurrent
execution of two or more programs by a single CPU, whereas multi-processing
involves two or more processor (CPU) for controlling the different activities or
execution of many program simultaneously. Multi-processing concept is also
known as parallel processing. It is more costly and complex technique the multi-
programming which dramatically increases the program execution speed of the
computer.

4) Time-Sharing OS:
Time sharing is a technique which enable many people located in various terminal
to use a particular computer system at a same time. Processors time which is
shared among multiple user simultaneously is termed as time sharing. Multiple
jobs are executed by the CPU by switching between then, but the switches occurs
so frequently that user can receive a immediate response.

Advantages:
Provide quick response.
Reduce CPU idle time.
Disadvantages:
Problem of reliability.
Less security.
Integrity.
5) Batch processing OS:
Batch processing is a technique that requires the grouping of similar jobs, which
consists of programs, data, and system commands. It is also known as offline
processing. This type of processing is suitable in program with large completion or
involvement. For example, Payroll, Weather forecasting, Statistical analysis and
many more. User need not wait while the job is being processed. They can submit
their program to the operator and collect them later which means, the jobs are
entered stored on a disk in a batch or queue and is executed one after another under
the control of the OS.
Major disadvantage of batch processing is that it does not allow interaction
between user and program during execution.
6) Multi-threading OS:
A program in execution is known as process and can be divide into multiple
smaller sub process. This sub-process are known as thread. Multi-threading OS has
the ability to divide process into threads and execute them concurrently. Threads
are individual process that execute simultaneously in multi-tasking OS.
7) Real-time OS:
Real-time processing method is one that controls the environment by receiving
data and taking action quickly to affect the functioning of the environment at the
same instant of time. It is an online processing system in which processing time is
critical. The entire processing task has to be completed in the predefined time. The
real-time OS is suitable for the following type of operation.
Airlines or flight seat availability.
Rocket Launching system
Whole sell supplier and manufacturer. etc
8) Online processing OS:
It is a popular processing technique at present. In this method transaction are
processed as soon as it happen at the place of its origin. It is quite simple compare
to real time OS. In this type, user can interact or provides input during processing
as well. The output is provided back to the user as soon as processing is completed.

B) On the basis of User Interface ( UI )


A user interface allows user to interact with the computer system. It provides user
with an ideal environment so that user can experience better computing. It brings
structure to the interaction between user and computer. Without user interface it is
almost impossible to operate a computer smoothly. Hence, in order to enhance the
experience of using computer, UI plays vital role. Mainly there are 2 types of User
Interface (UI).
Character User Interface (CUI)
Graphical User Interface (GUI)
1) Character User Interface (CUI): It is a type of operating system in which
whole computer operates or depend upon the command issued by user. All the
operations that take place in CUI have their own specific command. Hence, they
are known as Character User Interface. User have to remember all the command
need to operate the computers. So, they are nonuser friendly. Only the people
people having technical knowledge would operate this type of operating system. It
is primitive type of OS, in which graphics, pictures, icons, drop-down menu,
dialogue box etc are not used which make it more difficult to use. It uses the
character or text mode of computer such as DOS and UNIX. A command prompt is
a sequence of character used in CUI. Commands are typed in to instruct computer.
MS-DOS is a Character User Interface operating system.
The major advantage of this type of OS is they can have quick response as long as
user enters correct command whereas, the disadvantages of command driven User
Interface is that, they are very difficult to use if the user is beginner and doesn't
know correct command. However, it can be used in older system with no
processing capabilities and low storage.
Features of CUI
• It is single user and single tasking operating system.
• Less user friendly than GUI.
• Commands are used to instruct the computer.
• User needs to remember the command for operating this system.
• It cannot display graphics, icon, pictures and multimedia.
• It is faster then GUI system
• Pointing devices such as mouse, joystick, track-pad are not recognize.
• It can be used in low memory and low processing computer.

2) Graphical User Interface (GUI): It is a type of operating system in which


computer are operated just by clicking or selecting the required icon or dialogue
box instead of writing a direct command to the system. Since graphics like icons,
pictures, drop-down menus, dialogue boxes etc are used which makes it more user-
friendly than CUI. Since, user doesn't have to remember a single command, every
user without technical knowledge can also use this type of OS. Due to user friendly
interface, they are simple to use and widely used for domestic application. The
goal of graphical operating system is to create a system that the computer user can
turn on and operate in right way without any training or by remembering
commands. The main advantage of GUI is that they are easy to use especially for
beginners. The main disadvantage of GUI is they consume more memory for
operation. Windows, MAC OS, etc are example of GUI.
The first Graphical User Interface was designed by Xerox corporation’s Palo's Alto
research center in 1970s, but it was not popular whereas until the 1980's the
emergence of Apple Macintosh that use GUI became popular.
Features of GUI
• It is user-friendly. So, it is easy to use.
• Users don't have to remember to support full multimedia and animation.
• It requires larger memory for its processing.
• GUI environments support full multimedia and animation.
• It can be used in a network environment.
• It is a multi-tasking, multi-programming, multi-user operating system.
Every type of peripheral device can be used.
GUI environment has the following basic components.
Icon: Icons are small pictures that represent commands, files, or windows.

Pointer: A symbol (usually angled arrow) that appears on the display screen and
that is moved to select objects and commands. They are controlled by a pointing
device such as a mouse, trackpad, light pens, etc.

Desktop: The area on the display screen where icons are grouped is referred to as
the desktop.

Windows: Windows are displayed on the screen and we can change their shape and
size at will. Each window can run a different program or display different
information.

Menus: Most graphical user interfaces let us execute commands by selecting a


choice from a menu.

Folders: Graphical representation of a directory.

Differentiate between Character User Interface and Graphical User Interface [ CUI
v/s GUI ] V. imp

Character User Interface [ CUI ] Graphical User Interface [ GUI ]

In CUI has to interact with the It is a user interface in which users interact
applications by making use of with applications by making use of graphics
commands.

CUI stands for Character User GUI stands for Graphical User Interface.
Interface.

In CUI only one task can run at a In GUI more than one task can run at a time
time i.e. Single-tasking simultaneously.
It is not a user-friendly interface. It is a very user-friendly interface.

The user does everything by using Everything is interacted with by pointing the
commands. application using devices like a mouse.

Faster than GUI. Slower than CUI.

Older computers were operated on


Modern computers use GUI.
CUI.

eg DOS, UNIX etc eg, Windows, MAC-OS

C) On the mode of user:


There are two types of OS on the basic of mode of user.
Single User.
Multi User.
1) Singe User: A single user OS is a type of OS that is develop and intended for
use on a computer or similar machine that will only have a single user at any given
time. This is the most common type of OS used on a home computer as well as on
computer in office or other work environment. There are two general type of single
user system. Single user single tasking and another is single user multi tasking. The
example of single user single tasking are not much ore feasible for general purpose
computing. For eg MS-DOS, PC-DOS etc
2) Multi User: Multi user OS is computer operating system that allows multiple
user on different terminal to access a single system with one OS in it . A multi
user OS differs from a single user system on network, in that each user is accessing
same OS at different machine. The multi user OS shares computer resources
among different users, allowing each user a small slice of the processor time. This
concept is also known as time sharing. Due to that, it gives the user the impression
that they are all being served simultaneously even though the OS serves them one
at a time for example: Linux, UNIX etc.

Some important Operating System in use:


Open source Operating System: Open source generally refers to those applications
which source code is freely available in the internet to the world wide user.
Basically, the software that falls under general public license are open source
software. User can customize the source code of the open source software
according to the user requirements. They need not buy the license to use the
software. Source code can be modified and re-distributed to any other person
legally. This software are free of cost. Some of the examples of Open Source
Software are Linux, Unix, Mozilla, Apache etc. Similarly, Open Source operating
system are those operating system whose program code are open to all the user.
Some common examples of open source operating system are Linux, Unix, Minix,
Open Solaris etc.

UNIX: UNIX is a powerful flexible and manageable operating system with good
utilities and communication abilities. It is multi-user, multi-tasking and multi-
processing operating system. It is used in bigger size machine like mainframe and
mini computer. It was develop by AT&T Bell lab around 1970 AD. UNIX is
developed in C and Assembly language. The development of the UNIX has given
birth to many operating system such as Linux, Solaris etc. These operating system
inherits its main feature from UNIX.

Linux: It is open source powerful UNIX based operating system, that can run on
variety of platform including Intel, Power PC, DEC Alpha processor as well as
multiprocessing system. It was developed by Linux Torvalds at the university of
Helsinki as a college project. He release the version of Linux including all the
source code. It is user develop product, meaning that user around the world who
ran this OS for their own use have develop many of its components and drivers. It
is multi-user, multi-tasking and multi-programming OS mainly popular for server
system. It is distributed through different distributor such as Red Hat, Open USE,
Ubuntu, Fedora, Debian, Granular Linux, Mandriva etc

MAC OS: MAC OS is a popular GUI based OS for Apple Inc. It is used in Apple
Macintosh computer. It has very high quality graphical user interface. Earlier
version of this OS were only compatible with motorola 68000 series of processors
but now they are compatible with Intel processors also.

Some terminologies related with OS.


Spooling: These process is used to balance the difference in speed of high speed
CPU and slow speed input-output device. It is primarily used for printing purpose.
When we provide multiple file to print to printer together, although printer can
print one file at a time. But, all file get lined up in a queue and get printed one by
one. In this process, CPU remains free and user can work on other application.
These technique of printing is possible through a capability of operating system
known as spooling. The term spooling is derive from the term SPOOL (
Simultaneous Peripheral Operation On Line ).
Process: A process is basically a program in execution. It doesn't mean a program.
Program itself is a static while process is dynamic. For simplicity we can define
program as a job that resides into the secondary storage (which is not loaded in
main memory ). A process is a program which is currently in running or ready state
( which is loaded in main memory ). A process in a computer maybe in a different
possible state.

Running state: A process is said to be in running state if it is currently running in


the processor.

Ready state: A process is said to be in ready state if it is temporary stopped to let


other process run in the processor.

Blocked state: A process is said to be in blocked state if it is unable to run until


some external events happens.

Thread: A single process is divided into multiple sub-process and even once of
process goes for input-output operation another piece of same process start
executing. This minimize the burden of context switching to some extend. When
multiple process are loaded in a memory at once. When one process goes in
blocked or ready state, another process is chosen by the scheduler to be in running
state. During this phase, the current state of previously running process must be
stored somewhere, so that it can resume from that state at the next time. This
mechanism is known as context switching. It is very costly operation and it reduces
efficiency. To solve such a problem newer operating systems, use the mechanism
of threading (Lightweight process).

Scheduling: When more than one process is run the operating system must decide
which one to run first. This part of OS concerned with this decision is called the
scheduler and the algorithm it uses is called the scheduling algorithm. Scheduling
can be of two types.

Priority scheduling: Each program or job is assigned a priority set program. In this
scheduling jobs or programs having the highest priority are treated first or selected
to run. The only demerit of this scheduling is that small jobs may have to wait for
longer periods of time due to having less priority.
Time-sharing scheduling: Each program loaded in memory is given a fixed amount
of time to execute. Every program that is to be executable has equal processing
time. So that none of the jobs depends upon the time taken by another job while
processing.

Buffering: A buffer is a small, high-speed storage device, located in I/O units, used
to hold data at the time of input/output operations. So it is divided into the input
buffer and output buffer. Input buffer accepts data at low speed and releases at high
speed at CPU, output buffer works in reverse order, it accepts data at high speed
from main memory and releases at low speed to the output device. Buffering is the
process of using a buffer during I/O operation. The term buffering is also used
while accessing files like audio/video through the internet. Here, it is the process of
holding downloaded data before it can be played.

Virtual Memory: In a multi-programming system, when we use multiple programs


at the same time, the space of primary memory (RAM) may not be enough to store
all the programs. In this case, the operating system uses free space of secondary
memory to store these data. This free space in secondary memory used to store the
contents of primary memory temporarily is known as virtual memory. An
operating system is responsible for creating, managing, and operating virtual
memory.
It is not actual memory but it is a technique used by the operating system to
execute the large-size program with small-size available primary memory. This is
done by dividing the larger program into small size segments known as pages.

You might also like