Computer Softwares
Computer Softwares
1. System Software e.g. Operating System, Utility programs and device drivers
2. Application Software e.g. spreadsheet, word processor, data base and internet browser
System Software:
these are a set of programs which control and manage the operations of hardware
Application Software:
maybe a single program (for example, NotePad) or a suite of programs (for example,
Microsoft Office)
user can execute the software when they require, and it is mostly not automatic
Examples
Compiler: Translates high-level language into machine code, allowing for direct use by a
computer to perform tasks without re-compilation.
Linker: Combines object files produced by a compiler into a single program, allowing the use
of separately written code modules in the final program.
Device driver: Software that enables hardware devices to communicate with a computer's
operating system, without which a device like a printer would be unable to work.
Operating system: Software that manages basic computer functions such as input/output
operations, program loading and running, and security management, making computers
more user-friendly.
Utility programs: Software that manages, maintains, and controls computer resources by
carrying out specific tasks, such as virus checking, disk repair and analysis, file management,
and security.
Word Processor: Software used for manipulating text documents, including creating, editing,
and formatting text with tools for copying, deleting, spell-checking, and importing images.
Spreadsheet: Organizes and manipulates numerical data using a grid of lettered columns and
numbered rows, with each cell identified using a unique combination of columns and rows. It
can calculate using formulas, produce graphs, and do modelling and "what if" calculations.
Database: Software used to organize, analyze, and manipulate data consisting of one or more
tables that hold records and fields. It provides the ability to query and report on data and
add, delete, and modify records in a table.
Control and Measuring Software: A program designed to interface with sensors and allow a
computer or microprocessor to measure physical quantities and control applications by
comparing sensor data with stored data and altering process parameters accordingly.
Apps: Software designed to run on mobile phones or tablets, downloaded from an "App
Store" and ranging from games to sophisticated software such as phone banking. Common
examples include video and music streaming, GPS, and camera facilities.
Photo and Video Editing Software: Software that allows users to manipulate digital
photographs or videos, including changing colour, brightness, and contrast, applying filters
and other enhancements, and creating transitions between clips.
Graphics Manipulation Software: Software that allows the manipulation of bitmap and
vector images, with bitmap graphics editors changing pixels to produce a different image,
while vector graphics editors manipulate lines, curves, and text to alter the stored image as
required.
Utility Software
Utility programs can be initiated by the user or run in the background without user input
Common utility programs include virus checkers, defragmentation software, disk analysis and
repair tools, file compression and management software, backup software, security tools,
and screensavers.
Virus checkers or anti-virus software are important for protecting computers from malware.
They should be kept up to date and run in the background to maintain their effectiveness.
Anti-virus software checks files before they are run or loaded and compares possible viruses
against a database of known viruses.
Heuristic checking is used to identify possible viruses that are not yet on the database.
Infected files are put into quarantine for automatic deletion or for the user to decide.
Full system scans should be carried out regularly to detect dormant viruses.
As an HDD becomes full, blocks used for files become scattered all over the disk surface,
making it slower to retrieve data as the HDD read-write head needs several movements to
find the data.
When a file is deleted or extended, new data does not fill the vacant sectors immediately,
causing the files to become more scattered throughout the disk surfaces.
A disk defragmenter rearranges the data blocks to store files in contiguous sectors wherever
possible, allowing for faster data access and retrieval.
The defragmentation process can free up previously occupied sectors and empty some
tracks.
Backup Software
Backup software is a utility software that helps create and manage backup copies of data
files and programs.
Manual backups using memory sticks or portable hard drives are good practices, but
operating system backup utilities are also recommended.
Backup utilities allow scheduling backups and only backup files if changes have been made to
them.
There could be three file versions for total security: the current version stored on the internal
HDD/SSD, a locally backed-up copy on a portable SSD, and a remote backup on cloud
storage.
Security Software
Security software is a utility software that manages access control, user accounts, and links
to other utilities such as virus and spyware checkers.
Security software uses encryption and decryption to ensure intercepted data is unreadable
without a decryption key.
It oversees software updates to verify legitimate sources and prevent malicious software
from being installed.
Access control and user accounts use IDs and passwords to secure user data and prevent
unauthorized access.
Screensavers
Screensavers display moving and still images on the monitor screen after computer inactivity.
They were originally developed to protect CRT monitors from 'phosphor burn'.
Screensavers are now mostly used for customizing a device and as a part of computer
security systems.
They automatically log out of the user after a certain period of inactivity.
Some screensavers activate useful background tasks like virus scans and distributed
computing applications.
Device Drivers
Device drivers translate data into a format that can be understood by the hardware device
they are associated with.
Without the appropriate device driver, a hardware device cannot work with a computer and
may not be recognised by the operating system.
USB device drivers contain descriptors, which include a vendor ID (VID), product ID (PID) and
unique serial number that allow the operating system to identify the device.
Serial numbers must be unique to avoid confusion if two devices with the same serial
number are plugged into a computer simultaneously.
Operating Systems
Operating Systems are designed to establish communication between the user and the
computer
-managing files
– handling interrupts
– providing an interface
– managing memory
– managing multitasking
Memory Management - Manages the RAM and the HDD/SSD during the execution of
programs. Keeps track of all the memory locations.
Hardware Peripheral Management – Communicates with all input and output devices using
device drivers. Ensures each hardware resource has a priority so that they can be used and
released as required.
File Management – Performs specific tasks, maintains the directory structures. Ensures
access control mechanisms are maintained.
Multitasking – Allows the computer to carry out more than one task at a time. Each of the
processes will share the hardware resources under control of the operation system software.
Management of User Accounts - Allows multiple users to log onto the system. Allows a user
to customize their screen layout, use separate folders and files and to manage them
themselves.
Running of Applications
The computer starts its OS (booting up the computer) through the bootstrap loader.
The BIOS (Basic Input/Output System) tells the computer the location of the OS in the
storage.
An interrupt is a signal sent to the microprocessor, either from a device or software, prompting the
microprocessor to pause its ongoing tasks and handle the interrupt temporarily. Various factors can
trigger interrupts, including:
Timing signals: Scheduled signals prompt the microprocessor to pause and handle tasks at
specific intervals.
Input/Output processes: Events such as a disk drive or printer requiring additional data
cause an interruption in the microprocessor's activities.
Hardware faults: Issues like a paper jam in a printer, signalling the microprocessor to halt its
operations and address the hardware problem.
User interaction: Instances like a user pressing specific keys on a keyboard (e.g., ), leading to
an interrupt in the system's operation.
Software errors: Problems such as missing .exe files needed to initiate a program, conflicts
like two processes accessing the exact memory location, or attempts to divide by zero. These
errors trigger interrupts, prompting the microprocessor to handle the issues.
Computers can only understand machine code; therefore, translators are needed.
o Assembly language must be translated into machine code using an assembler to run.
Translators
Translates a low-level
Translates a high-level Executes a high-level language
assembly language
language program into program one statement at a
program into machine
machine code. time.
code.
o Code Editor – allows a program to be written and edited without the need to use a
separate text editor. This speeds up the program development process.
o Debugger – runs the programs under development and allows the programmer to
step through the program a line at a time.
o Error Reports-