0% found this document useful (0 votes)
7 views54 pages

4.1 Types of Software and Interrupts

The document provides an overview of software, distinguishing between application software and system software, and detailing their functions and types. It explains the role of operating systems, including their basic functions, multitasking capabilities, and user interfaces. Additionally, it covers utility software and specific examples of various software types, emphasizing the importance of software in operating hardware effectively.
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)
7 views54 pages

4.1 Types of Software and Interrupts

The document provides an overview of software, distinguishing between application software and system software, and detailing their functions and types. It explains the role of operating systems, including their basic functions, multitasking capabilities, and user interfaces. Additionally, it covers utility software and specific examples of various software types, emphasizing the importance of software in operating hardware effectively.
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
You are on page 1/ 54

Software

Unit 4.1 – Types of Software and


interrupts

Computer Science 2210


Compiled By: Bilal Khan
Software
Software cannot be touched or picked up.
This is because software is not physical. It
exists as computer code inside the computer.

All the hardware devices will be useless if you


don’t have the proper software to run on.

Computer Science 2210


Compiled By: Bilal Khan
What is software?
•Software is basically a set of instructions (written in
computer code) that tells the hardware what to do
OR
•All the programs that help the computer hardware to
work are known as software.
OR
•Software consists of programs and procedures that can
be run on a computer system
OR Computer Science 2210
Compiled By: Bilal Khan

•Coded programs that control how the computer works


Types of Software

Software

Application System
Software Software

Computer Science 2210


Compiled By: Bilal Khan
Types of Software
Software

Application System
Software Software

Operating Device
Application Application System (O/S) Drivers
Packages Languages
Translator Utility
Programs Programs

Computer Science 2210


Compiled By: Bilal Khan
Application Software
This is a set of one or more programs designed to carry out
operations for a specified job or application.
OR
An applications program enables a user to perform a specific
function.
OR
Application software provides the services that the user requires
Examples:
• Word processing
• Spreadsheet
• Banking System
• Student Information System
Computer Science 2210
• Computer Game Compiled By: Bilal Khan
General features of application software

• used to perform various applications (apps) on a


computer
• allows a user to perform specific tasks using the
computer’s resources
• may be a single program (for example, NotePad) or a
suite of programs (for example, Microsoft Office)
• user can execute the software as and when they require.

Computer Science 2210


Compiled By: Bilal Khan
Types of Application Software
Application Software

Application Application
Packages Languages

High Level Low Level


Languages (HLL) Languages
Examples:
•Word Processor
•Spreadsheet Examples: Examples:
•Database •Python •Machine

•Graphic packages Language
• •C Language
•Presentation packages •Assembly
• •FORTRAN
•Web Browsers Language

•Communication packages •PASCAL

•Web Design packages •Visual Basic

•Computer Aided Design
• •C++
•Photo Editing Software
•Video Editing Software •Java Computer Science 2210
Compiled By: Bilal Khan
NOTE
If you are asked to name types of software you
should NOT use brand names.

For example:
you should use 'Graphics Editor' rather
than 'PhotoShop'.

Computer Science 2210


Compiled By: Bilal Khan
System Software
•These are programs that allow the hardware to run
properly and allow the user to communicate with the
computer
OR
•System Software is a collection of some complex
programs, which are designed to control and operate the
computer system

Examples:
Operating System
Utility Programs
Device Drivers Computer Science 2210
Compiled By: Bilal Khan
General features of system software

• set of programs to control and manage the


operation of computer hardware
• provides a platform on which other software can
run
• required to allow hardware and software to run
without problems
• provides a human computer interface (HCI)
• controls the allocation and usage of hardware
resources.
Computer Science 2210
Compiled By: Bilal Khan
Types of System Software Device
System Software Drivers
Operating
System (O/S)
Translator Utility
Programs Programs

Examples: Examples:
•Microsoft Windows •Screen savers
•MS-DOS (Microsoft Compilers Interpreters Assemblers •Back-up of files
Disk Operating •Disk Defragmenter
System)
•UNIX
•Scandisk/ Disk Check
•Linux (Ubonto) •Disk Cleaners
•iOS • Anti -virus Protection
•Andriod •Copy/Paste
•File Compression
Software
•Encryption Software
•Security
Computer Science 2210
Compiled By: Bilal Khan
Software
Device
Drivers
Application Software System Software

Application Application Operating Translator Utility


Packages Languages System (O/S) Programs Programs

High Level Low Level


Languages Languages Compilers Interpreters Assemblers
•Examples:
•Word Processor
•Spreadsheet Examples: Example: Examples:
Examples: •Backup Utility
•Database •Python •Machine
• •Microsoft Program
•Graphic packages Language
• •C Language Windows •Disk Defragmenter
•Presentation packages
• •Assembly •MS-DOS •Scandisk/ Disk Check
•Web Browsers •FORTRAN (Microsoft Disk
• Language •Disk Cleaners
•Communication packages Operating
• •PASCAL •Virus Protection
•Web Design packages System)
• •Copy/Paste
•Computer Aided Design •Visual Basic •UNIX
• •Compression
•Photo Editing Software •Linux (Ubonto)
•Video Editing Software
•C++ Software
•iOS •Encryption Software
•Java •Andriod
Computer Science 2210
Compiled By: Bilal Khan
Utility software (utilities)
Computer users are provided with a number of utility
programs that are part of the system software.

• virus checkers
• defragmentation software
• disk contents analysis and repair
• file compression and file management
• back-up software
• security
• screensavers
• device drivers
•Virus checkers (anti-virus software)
Running anti-virus software in the background on a computer
will constantly check for virus attacks.
Features:
• check software or files before they are run or loaded on a
computer
• compares a possible virus against a database of known
viruses
• needs to be kept up to date since new viruses are constantly
being discovered
• carry out heuristic checking (checking of software for types
of behaviour that could indicate a possible virus)
• files or programs which are infected are put into quarantine
(allows the virus to be automatically deleted or allows the
user to make the decision about deletion)
• full system checks need to be carried out once a week
•Back-up software
This utility will:
• allow a schedule for backing up files to be made
• only carry out a back-up procedure if there have been
any changes made to a file.

For total security there should be three versions of a file:


1. the current (working) version stored on the internal
HDD or SSD
2. a locally backed up copy of the file (stored on a
portable SSD, for example)
3. a remote back-up version stored well away from the
computer (for example, using cloud storage).
•Security software:
• manages access control and user accounts (using user
IDs and passwords)
• links into other utility software, such as virus checkers
and spyware checkers
• protects network interfaces (for example, through the
use of firewalls)
• uses encryption and decryption to ensure any
intercepted data is meaningless without a decryption
key
• oversees the updating of software (does the update
request come from a legitimate source, for example).
•Screensavers:

Programs that supply moving and still images on


the monitor screen after a period of inactivity by
the computer.
Some screensavers are often used to activate useful
background tasks that can only go on when the
computer is in an ‘idle’ state. For example:
• virus scans
• distributed computing applications – these allow
apps to use the computer’s resources only when
it is idle (for example, an online gaming app).
•Device drivers:

• software that communicate with the operating system and


translate data into a format understood by a hardware
peripheral device. Without device drivers, a hardware
device would be unable to work with a computer – a
message such as ‘device not recognised’ would appear on
the screen. As soon as a device is plugged into a USB port
(for example, a memory stick, printer or camera), the
operating system looks for the appropriate device driver.
•Defragmentation software:
Blocks used for files will become scattered all over the disk
surface (potentially different sectors and tracks as well as different surfaces).

This will happen because files will


become deleted, partially-deleted,
extended and so on over time.
The consequence of this is slower data
access time.

A disk defragmenter will rearrange the blocks of data to


store files in contiguous (next to each other) sectors
wherever possible considerably reducing HDD head
movements.
Example:
In this example we have three files (1, 2 and 3) stored
on track 8 of a disk surface covering all 12 sectors:

Now file 2 is deleted by the user and file 1 has data


added to it; however, the file 2 sectors which
become vacant are not filled up straight away by new
file 1 data since this would require ‘too much effort’
for the HDD resources.
File 1 has now been extended to write data is sectors
10 and 11
Now suppose file 3 is extended with the equivalent of 3 blocks
of data; this now requires filling up sector 9 and then
finding some empty sectors to write the remainder of the
data – suppose the next free sectors are on track 11:

After defragmentation Track 8 would now become:

This obviously allows for much faster data access and retrieval
since the HDD will now require fewer read-write head
movements to access and read files 1 and 3.
Operating System (OS)
An operating system (or 'OS')
controls the general operation of
a computer, and provides an easy
way for us to interact with
computers and run applications.
In order to communicate with the hardware
devices we need an interface which
could translate the instructions we give
into a format that the hardware
understands and vice versa. Operating
system is the software program that is
capable of this task.

Without the operating system the computer


would be useless.
Computer Science 2210
Compiled By: Bilal Khan
Examples:
– Microsoft Windows

– DOS (Disk Operating System)

– Linux (Ubuntu)

– UNIX

– Mac OS

– iOS

– Andriod

Computer Science 2210


Compiled By: Bilal Khan
Devices do not need an operating system

• Some house hold devices, such as microwave ovens


or washing machines, do not require an operating
system.
• This is because they carry out simple, unchanging
tasks which are initiated by the user pressing a
button or selecting from a touch screen.

Computer Science 2210


Compiled By: Bilal Khan
Basic functions/operations/tasks /role of
Operating System
• providing an interface • processor management

• managing multi-tasking • managing memory


• managing multiprogramming
• handling interrupts
• error handling/reporting
• providing system security(e.g. password,
• providing a platform for running
username, access rights, firewalls etc)
applications
• managing peripherals and drivers
• managing user accounts

• managing files • batch processing

• providing file utilities (such as • real-time processing

save, copy, delete) Computer Science 2210


Compiled By: Bilal Khan
Multi-programming
Multi-programming is a method of operating
such that several programs appear to be
running at once.

The operating system switches jobs in and out


of processor time according to priority.

For example, while one job is being allocated


printer time, another will be being processed
in memory. The processor is so fast that it
seems that many jobs are being processed at
the same time.

Computer Science 2210


Compiled By: Bilal Khan
Multi-tasking
This isn't just about running more than
one application at the same time.
Multi-tasking allows multiple tasks to
run concurrently, taking turns using
the resources of the computer.

This can mean running a couple of


applications, sending a document to
the printer and downloading a web
page.

Computer Science 2210


Compiled By: Bilal Khan
Single-user multitasking operating system

Windows is an example of a single-user


multitasking operating system – this means
only one user can use the computer at a time
but can have many applications open
simultaneously.

Computer Science 2210


Compiled By: Bilal Khan
Multi-access or Multi-user operating System
Modern personal computers can allow multi-
user access. A multi-access (or multi-user)
system is one where several users can use
the same system together via a LAN.

The CPU deals with users in turn; clearly the


more users, the slower the response time.

Generally, however, the processor is so fast


that the response time at the most is a
fraction of a second and the user feels they
are being dealt with immediately.

Computer Science 2210


Compiled By: Bilal Khan
Real-time Processing
Where all details of the transaction are recorded and
changes at the same time as it occurs. e.g. ATMs
Any control system which uses sensors requiring
immediate response e.g.
• Computer Controlled Air Conditioning
• Central Heating
• Burglar Alarm
• Computer Controlled Greenhouses
• Robots

When the computer has to react within a guaranteed time to an


input, a real-time operating system (RTOS) is used.
A real-time operating system does not necessarily have to be
fast. It simply has to be quick enough to respond to inputs in
a predictable way.
Computer Science 2210
Compiled By: Bilal Khan
Interactive Processing or Interactive Real-time Processing

An interactive processing system is where


the tasks on the computer system require
a continual exchange of information
between the user and the computer
system.
It can be seen as the opposite of batch
processing. e.g.
• Booking concert tickets
• Ordering books online
• Handling bank accounts
• ATMs

Note: (all above examples are also considered as


interactive real time processing)
Computer Science 2210
Compiled By: Bilal Khan
Batch Processing
A batch processing system is
where programs or data are
collected together in a batch
and processed in one go.

Typically the processing of payrolls, electricity bills, invoices and daily


transactions are dealt with this way.

This method of operation lends itself to jobs with similar inputs, processing and
outputs where no human intervention is needed.

Jobs are stored in a queue until the computer is ready to deal with them.

Often batch processed jobs are done overnight.


Computer Science 2210
Compiled By: Bilal Khan
User Interface (UI)
The OS provides a user interface (UI), an environment for the
user to interact with the machine.

Operating systems usually provide a graphical user interface


(GUI) to help users to interact with the computer, however
successful operating systems can also function from a
command line interface (CLI).

Computer Science 2210


Compiled By: Bilal Khan
Graphical User Interface (GUI)
• The main features of a GUI are Windows,
Icons, Menus and Pointers. This is often
abbreviated to WIMP.

• The OS on most computers and smart


phones provides an environment with
tiles, icons and/or menus. This type of
interface is called the graphical user
interface (GUI) because the user
interacts with images through a mouse,
keyboard or touch screen.

Computer Science 2210


Compiled By: Bilal Khan
Command Line Interface (CLI)
An OS also provides a method of interaction that
is non-graphical, called the command line
interface (CLI). This is a text-only service with
feedback from the OS appearing in text.
Using a CLI requires knowledge of the
commands available on a particular machine.

Advantages of using the command line include:


 a faster way to get tasks done
 it is more flexible than a GUI
 it uses less memory

Some games, such as Minecraft, also make use of


a command line tool which allows the user to
bypass the main interface and alter the
game’s mechanics or environment. Computer Science 2210
Compiled By: Bilal Khan
Advantages and disadvantages of GUI

Computer Science 2210


Compiled By: Bilal Khan
Advantages and disadvantages of CLI

Computer Science 2210


Compiled By: Bilal Khan
A good user interface should have the following
features

 Ease of learning.
 Use of clear and simple language with no technical
terms.
 Use of easy to understand menus.
 Not display too much text on the screen at the same
time.
 Easy-to-use help-functions.

Computer Science 2210


Compiled By: Bilal Khan
Interrupts
An interrupt is a signal sent from a device or
from software to the microprocessor
requesting its attention.
ISR
(Interrupt
The interrupt will cause the processor to Service
Routine/
temporarily stop what it is doing and Interrupt
Handler)
service the interrupt, using interrupt
handler

For example
•A printer wants to talk to the processor it needs to get the processor’s attention
and also its permission. The way that it does this is to send an interrupt signal
asking the processor to stop what it is doing and do something else. It is called
this because it is asking the processor to interrupt what is being processed at the
moment.
•A phone call on a mobile device
Computer Science 2210
Compiled By: Bilal Khan
Interrupt Service Routine/Handler
(ISR)
• Handles the interrupt
signals as they are received.

• Prioritises the interruptions

• Places them into a queue to


be handled

Computer Science 2210


Compiled By: Bilal Khan
Types of Interrupt
• Hardware Interrupt – e.g.
hardware fault such as printer out of
paper, paper jam in a printer, pressing a
key on the keyboard and moving the
mouse.

• Software Interrupt – e.g.


two processes trying to access the
same memory location, software error
has occurred i.e. can’t find .exe file and
division by zero.

• User Interrupt – e.g.


user interaction for example press
<CTRL><ALT><DEL> keys on keyboard
to interrupt the current process.
Computer Science 2210
Compiled By: Bilal Khan
Interrupts are important
• A computer can technically only run one program
at a time (the processor can’t process all their
demands at once)

• The ability for applications to interrupt each


other gives the illusion of multitasking – a feeling
that many programs/tasks are actually running at
once

• In reality, there are time sharing, using scheduled


interruptions
Computer Science 2210
Compiled By: Bilal Khan
Purpose of an interrupt in a computer system
• Used to attend to certain tasks/issues

• Used to make sure that vital tasks are dealt with immediately

• The interrupt/signal tells the CPU/processor (that its attention is required)

• A signal that can be sent from a device (attached to the computer)

• A signal that can be sent from software (installed on the computer)

• The interrupt will cause the OS/current process to pause

• The OS/CPU/ISR (Interrupt Service Routine/interrupt handler) will service/handle the


interrupt

• They have different levels of priority

• After the interrupt is serviced, the (previous) process is continued

• It enables multi-tasking to be carried out on a computer


Computer Science 2210
Compiled By: Bilal Khan
Buffers
• A buffer is a temporary storage/memory area in a
device.
• compensates for the difference in speed of peripherals (i.e.
printer) and processor
• e.g. holds data whilst computer completes a job, recovering
from error (e.g. paper jam)

• Buffers allow a processor to carry on with other tasks whilst,


for example, a print job is being carried out in the
background.

• They are also used when streaming music or videos from the
internet to ensure that playback doesn't keep pausing waiting
for the data transfer/download to take place
Computer Science 2210
Compiled By: Bilal Khan
Firmware
Firmware is a special software that is
permanently stored/burned/embedded
onto hardware device by the vendor.

It is a software designed for a specific


hardware

Unlike normal software, firmware cannot


be changed or deleted by an end-
user without using special programs,
and remains on that device whether it's
on or off.
Computer Science 2210
Compiled By: Bilal Khan
Difference between
software and firmware
• Firmware handles very low level functions
without which the devices will become non-
functional.

• Software on the other hand is used to address


high level applications. (Can be copied,
changed and deleted easily)

Computer Science 2210


Compiled By: Bilal Khan
Firmware (Bootloader)
Firmware is data or/and instructions that are permanently
stored on a computer’s or other hardware device’s
read-only memory (ROM) at the time of manufacturing.

Firmware provides instructions on how that hardware


device should function.

Firmware is part of devices (or device components) such as


a video card, sound card, disk drive and even the
motherboard.

BIOS ROM Chip


Computer Science 2210
Compiled By: Bilal Khan
BIOS
Motherboard
ROM
Chip
BIOS
Basic Input Output System – the basic firmware that is
embedded in the computer ROM chip used to start a
computer.

The BIOS runs as soon as the computer is switched on.


It checks that the hardware is functioning correctly,
then runs a second program known as the bootup or
bootstrap program that loads the computer's
operating system from the hard drive into the RAM.

Computer Science 2210


Compiled By: Bilal Khan
Booting up process

• When a computer is first powered up, the initiating programs


are loaded into memory from the ROM.

• These programs run a checking procedure to make sure the


hardware, processor, internal memory and BIOS (basic input-
output system) are all functioning correctly.

• If no errors are detected, then the operating system is loaded


into memory.

Computer Science 2210


Compiled By: Bilal Khan
Computer Startup Process
CMOS chip
(Complementary Metal Oxide Semi-conductor)
The BIOS settings are stored on a CMOS chip.
The CMOS is powered up at all times via a
rechargeable battery on the motherboard.
Therefore, the BIOS settings would be reset to
default factory settings if the battery was removed
or disconnected for some reason.
Consequently, if a user has changed the BIOS
settings (for example, the clock speed), the
settings will revert to those settings made at the
factory once power is restored to the CMOS.
Key definitions
Term Definition

Operating System The software running in the background of a computer


system. It manages many of the basic functions.

Interrupt An interrupt is a signal sent from a device (or from


some software) to the processor requesting its
attention.

Buffer A buffer is a temporary memory area in a device.

Interface Allow the user to communicate with a computer or


operating system
Computer Science 2210
Compiled By: Bilal Khan

You might also like