0% found this document useful (0 votes)
2 views22 pages

Understanding System and Application Software

The document provides an overview of different types of software, including system software, application software, and utility software, detailing their functions and examples. It explains the role of operating systems as essential interfaces between hardware and applications, and discusses features of various software types such as antivirus, backup, and security software. Additionally, it covers user interfaces, memory management, and file management, emphasizing the importance of multitasking in modern computing environments.

Uploaded by

Ahmad Khan
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)
2 views22 pages

Understanding System and Application Software

The document provides an overview of different types of software, including system software, application software, and utility software, detailing their functions and examples. It explains the role of operating systems as essential interfaces between hardware and applications, and discusses features of various software types such as antivirus, backup, and security software. Additionally, it covers user interfaces, memory management, and file management, emphasizing the importance of multitasking in modern computing environments.

Uploaded by

Ahmad Khan
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 4

Software
System Software
System software is a type of computer program that is designed to run a computer's
hardware and application programs. If we think of the computer system as a layered
model, the system software is the interface between the hardware and user
applications. The operating system is the best-known example of system software. The
OS manages all the other programs in a computer.
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
Types of System Software
1. operating systems
2. utilities

Page 1 of 22
Application Software
Application software is a type of computer program that performs specific functions.
These functions, performed by application software, can be personal, business as well
as educational. Thus, application software is also known as end-user software or
productivity software.
Each software program is developed to assist users with the particular process related
to productivity, efficiency, and communication. Unlike system software, application
software is specific for its functionality and completes the task that they are developed
to do. The majority of apps that we see on our smartphones are examples of application
software.

Page 2 of 22
Utility Software
Utility software, often referred as utility is a system software that is designed to help
analyze, configure, optimize or maintain a computer and enhance the computer’s
performance. It is a program that performs a specific task, which is usually related to
managing the system resources. Utilities are sometimes also installed as memory-
resident programs.
Utility software usually focuses on how the computer infrastructure that includes
computer hardware, application software, operating system and data storage programs
operates. These utilities could range from the small and simple to the large and complex
that can perform either a single task or a multiple task.
Types of Utility Software
 virus checkers
 defragmentation software
 disk contents analysis and repair
 file compression and file management
 back-up software
 security
 screensavers

Page 3 of 22
Virus Checkers
Antivirus software is a class of program designed to prevent, detect and remove
malware infections on individual computing devices, networks and IT systems. Antivirus
software, originally designed to detect and remove viruses from computers, can also
protect against a wide variety of threats. Antivirus software typically runs as a
background process, scanning computers, servers or mobile devices to detect and
restrict the spread of malware.
Heuristic-based detection uses an algorithm to compare the signatures of known
viruses against potential threats. Anti-virus software compares a possible virus against
a database of known viruses. With heuristic-based detection, antivirus software can
detect viruses that haven't been discovered yet, as well as already existing viruses that
have been disguised or modified and released as new viruses.
Anti-virus software often resorts to using a quarantine when it is unable to clean an
infected file. Once the virus or file has been quarantined, it cannot interact with the
system.
It allows the user to make the decision about deletion (it is possible that the user knows
that the file or program is not infected by a virus - this is known as a false positive and is
one of the drawbacks of anti-virus software).
Anti-virus software needs to be kept up to date since new viruses are constantly being
discovered. Full system checks need to be carried out once a week, for example, since
some viruses lie dormant and would only be picked up by this full system scan.
Functions of Anti-Virus
 Scanning directories or specific files for known malicious patterns
indicating the presence of malicious software

 Allowing users to schedule scans so they run automatically

 Removing any malicious software, it detects. Some antivirus software


programs do this automatically in the background, while others notify
users of infections and ask them if they want to clean the files.
Disk defragmentation
When a file is stored on a hard disk it is actually stored not as a whole file, but as a
series of segments. Sometimes the segments run together in sequence and sometimes
the segments are split up over a disk. This is known as fragmentation. Over time, more
and more files become fragmented, as do individual files. A fragmented disk takes
longer to read from and write to, making a computer run slower.

Page 4 of 22
Defragmentation software takes the fragmented files and rearranges the segments so
that they run contiguously. This decreases read/write time, thereby speeding up
computer performance.
REFER TO EXAMPLE OF DISK DEFRAGMENTATION ON PAGE 152

Backup software
Data can be lost accidentally, or deliberately. A user may accidentally delete or
overwrite a file, or a hard disk may fail, preventing access to any files stored on it. A
hacker or malicious user may deliberately delete or overwrite data. To prevent data
loss, regular copies of the data should be made. A copy of data is known as a backup.
Backups can contain a copy of all files on a computer, or just ones specified by a user.
Why backup is needed?
There are many ways you can lose data on your computer, laptop, or mobile device –
including suffering a cyberattack, hardware or software failure, a human-made or
natural disaster, and a power failure. Consider backups as a type of insurance in that no
matter whatever happens, you can recover.
File history
File history is a snapshot mechanism for all files that users store in the primary folders
or directories associated with their user accounts. Over a period of time, File History
builds up a vast library of past versions of files - this allows a user to choose which
version of the file they want to use. File History defaults to backing up every hour and
retains past versions of files for ever unless the user changes the settings.

Time Machine
Time Machine, the built-in backup feature of Mac, automatically back up user’s personal
data, including apps, music, photos, email, and documents. Time machine automatically
makes hourly backups for the past 24 hours, daily backups for the past month, and
weekly backups for all previous months. The oldest backups are deleted when your
backup disk is full.
Security Software
Security software can protect a computer from viruses, malware, unauthorized users
and other security exploits originating from the internet. Types of security software
include anti-virus software, firewall software, network security software, internet security
software, malware/spamware removal and protection software, cryptographic software,
and more.

Page 5 of 22
Screensavers
Screensavers can be written in various programming languages or designed using a
variety of tools. When the system becomes idle, the operating system activates the
screensaver, which causes the physical display screen to either go blank or be overlaid
with graphics as provided in the display settings. The screensaver is terminated when
the mouse is moved or a key on the keyboard is pressed. Sometimes it may ask for a
password before returning control to the user. 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).
Computer settings allow users to set the amount of time of inactivity before activating
the screensaver as well as the type of screensaver to display.
Device Drivers
All USB device drivers contain a collection of information about devices called
descriptors; this allows the USB bus to ask a newly connected device what it is.
Descriptors include vendor id (VID), product id (PID) and unique serial numbers. If a
device has no serial number associated with it, the operating system will treat the
device as new every time it is plugged into a USB port. Serial numbers must be unique
since this could prove rather interesting if two different devices with the same serial
number were plugged into a computer at the same time.
A device driver usually communicates with the hardware by means of the
communications subsystem (the computer bus) to which the hardware is connected. It
is essential that a computer have the correct device drivers for all its parts to keep the
system running efficiently. When first turning on a computer, the OS works with device
drivers and the basic input/output system (BIOS) to perform hardware tasks. Without a
device driver, the OS would not be able to communicate with the I/O device.
Operating system
An Operating System (OS) is a software that acts as an interface between computer
hardware components and the user. Every computer system must have at least one
operating system to run other programs. Applications like browsers, MS Office, Notepad
Games, etc., need some environment to run and perform its tasks.
The OS helps you to communicate with the computer without knowing how to speak the
computer’s language. It is not possible for the user to use any computer or mobile
device without having an operating system.

Page 6 of 22
Human Computer Interface (HCI)
There are two forms of HCI
 Command Line Interface (CLI)
 Graphical User Interface (GUI)
Command-line interfaces
A command-line interface allows the user to interact with the computer by typing in
commands. The computer displays a prompt, the user keys in the command and
presses enter or return.
Features of a command-line interface
 Commands must be typed correctly and in the right order or the command will
not work.
 Experienced users who know the commands can work very quickly without
having to find their way around menus.
 An advantage of command driven programs is that they do not need the memory
and processing power of the latest computer and will often run on lower spec
machines.
 A command-line interface can run many programs, for example a batch file could
launch half a dozen programs to do its task.
 An inexperienced user can sometimes find a command driven program difficult to
use because of the number of commands that have to be learnt.
An example of a common command driven interface is MS-DOS. The MS-DOS
command to display all files on c:\ would be: dir c:\
Advantages of Command Line Interface
 The user is in direct communication with the computer.
 The user is not restricted to a number of pre-determined options.
 It is possible to alter computer configuration settings
 Uses a small amount of computer memory
Disadvantages of Command Line Interface
 The user needs to learn a number of commands to carry put basic operations
 All commands need to be typed in which makes time and can be error-prone
 Each command must be typed in using correct format, spelling and so on.
Graphical User Interface (GUI)
A graphical user interface (GUI) is an interface through which a user interacts with
electronic devices such as computers and smartphones through the use of icons,
menus and other visual indicators or representations (graphics). GUIs graphically

Page 7 of 22
display information and related user controls, unlike text-based interfaces, where data
and commands are strictly in text. GUI representations are manipulated by a pointing
device such as a mouse, trackball, stylus, or by a finger on a touch screen.
A good user interface should
 be attractive and pleasing to the eye
 allow the user to try out different options easily
 be easy to use
 use suitable colors for key areas
 use words that are easy to understand aimed at the type of user
 have help documentation
WIMP (Windows Icons Menu and Pointing device)
Windows, icons, menus and pointing device (WIMP) denotes a style of computer-
human interaction involving the above-mentioned elements of the graphical user
interface (GUI) which is the most common interaction method being used by desktop
computers today.
Windows, icons, menus and pointing device (WIMP) interaction is what the general
public is used to in computing, because it is the most common interaction used in
popular operating systems such as Windows, Apple' OS and even in modern Linux and
UNIX-like operating systems.
Characteristics of WIMP
 A window isolates programs from each other, which allows a user to switch
between running programs by giving focus to specific windows.
 Icons act as shortcuts to various programs, locations and actions possible in the
OS.
 A menu which can be text-based, icon-based or a combination of both can be
used as a selection system for various tasks.
 A pointer represents the location of a device movement, typically a mouse used
to make selections in the GUI.
CLI: a programmer, analyst or technician; basically somebody who needs to have a
direct communication with a computer to develop new software, locate errors and
remove them, initiate memory dumps (contents of the computer memory at some
moment in time), and so on
GUI: the end-user who doesn't have or doesn't need to have any great knowledge of
how the computer works; a person who uses the computer to run software or play
games or stores/manipulates photographs.

Page 8 of 22
Memory Management
Memory management is the functionality of an operating system which handles or
manages primary memory and moves processes back and forth between main memory
and disk during execution. Memory management keeps track of each and every
memory location, regardless of either it is allocated to some process or it is free. It
checks how much memory is to be allocated to processes. It decides which process will
get memory at what time. It tracks whenever some memory gets freed or unallocated
and correspondingly it updates the status.
Security management
A security management system is a tool for ensuring confidentiality, availability, and
integrity of information. It is important to have an effective information security
management system to reduce the risk of a crisis. The features of security management
include:
 carrying out operating system updates as and when they become available
 ensuring that anti-virus software (and other security software) is always up to
date, preserving the integrity, security and privacy of data
 communicating with, for example, a firewall to check all traffic to and from the
computer
 making use of privileges to prevent users entering 'private areas' on a computer
that permits multi-user activity (this is done by setting up user accounts and
making use of passwords and user IDs); this helps to ensure the privacy of data
 maintaining access rights for all users
 offering the ability for the recovery of data (and system restore) when it has been
lost or corrupted
 helping to prevent illegal intrusion into the computer system (also ensuring the
privacy of data).
Hardware peripheral management
Operating systems manages hardware, software resources, and provide common
services. In addition to performing basic tasks, it handles input and output, controls
peripheral devices such as disk drives and printers, and manages memory and
processes. Functions of hardware peripheral management includes:
 communicating with all input and output devices using device drivers
 using a device driver to take data from a file (defined by the operating system)
and translates it into a format that the input/output device can understand
 ensuring each hardware resource has a priority so that they can be used and
released as required
 managing input/output devices by controlling queues and buffers; consider the
role of the printer management when printing out a document:

Page 9 of 22
- first of all, the printer driver is located and loaded into memory
- then the data is sent to a printer buffer ready for printing
- if the printer is busy (or the printing job has a low priority) then the data is sent to
a printer queue before it can be sent to the printer buffer
- it will send various control commands to the printer throughout the printing
process
- it receives and handles error messages and interrupts from the printer.
File Management
The file handling software allows users to:
 create, modify and delete files and folders
 copy and duplicate files and folders
 move files and folders
 rename files and folders
 sort items into different orders, according to name, file type, date created and
more
 search for particular files and folders
 restore deleted files
 set access rights to files such as read only or edit
The file system also assigns metadata to each file including:
 date created
 date modified
 last date accessed
 last backup
 file creator user ID
 access permissions
 file size
Multitasking
Multitasking means to be able to run more than one program simultaneously. In the
past, computers with CLIs were unable to multitask - the operating systems of the day
only allowed one program to run at a time. Modern operating systems are multitasking
in that they allow several programs to run side-by-side. It is not uncommon for a user to
be streaming music while entering text into a word processor, or streaming a video
while making a backup of files.
Multitasking is possible only if:
 the operating system can support multitasking
 the computer has enough memory to hold more than one program in primary
memory at the same time

Page 10 of 22
To make sure that multitasking operates correctly (in other words, the processes don't
clash with each other), the operating system needs to constantly monitor the status of
each or the process under its control:
 resources are allocated to a process for a specific time limit
 the process can be interrupted while it is running
 the process is given a priority so it can have resources according to its priority
(the risk here is that a low priority process could be starved of resources).
Management of user accounts
Computers allow more than one user to log onto the system. It is therefore important
that users' data is stored in separate parts of the memory for security reasons. Each
person logging onto the computer will be given a user account protected by a user
name and password. The operating system is given the task of managing these
different user accounts.
They allow:
 individual users to be created and deleted
 access levels to be given to users, such as administrator rights or standard user
rights
 auditing (keeping a log) of files a user creates, accesses, edits and deletes
BIOS
BIOS (basic input/output system) is the program a computer's microprocessor uses to
start the computer system after it is powered on. It also manages data flow between the
computer's operating system (OS) and attached devices, such as the hard disk, video
adapter, keyboard, mouse and printer. The BIOS firmware is also what performs the
Power On Self-Test to test those pieces of hardware, and what ultimately runs the
bootloader to launch the operating system.
The BIOS program is stored in a special type of ROM, called an EEPROM (Electrically
Erasable Programmable ROM). EEPROM is a flash memory chip, which means its
contents remain even when the computer is powered down. However, it also means the
BIOS can be rewritten, updated or even deleted by a user.
However, while the BIOS is stored on an EEPROM, the BIOS settings are stored on a
CMOS chip (Complementary Metal Oxide Semi-conductor). The CMOS is powered up
at all times via a rechargeable battery on the motherboard. Therefore, the BIOS settings
would be reset if the battery was removed or disconnected for some reason. Once the
CMOS is re-started, it will access the same BIOS program from EEPROM, but the
settings will now be the default factory settings. 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.

Page 11 of 22
When BIOS boots up a computer, it first determines whether all of the necessary
attachments are in place and operational. Any piece of hardware containing files the
computer needs to start is called a boot device. After testing and ensuring boot devices
are functioning, BIOS loads the OS -- or key parts of it -- into the computer's random
access memory (RAM) from a hard disk or diskette drive (the boot device).
Interrupts
An interrupt is a signal which is sent from a device or from software to the operating
system. The interrupt signal causes the operating system to temporarily stop what it is
doing and ‘service’ the interrupt. The interrupt handler is the part of the operating
system which is responsible for dealing with interrupt signals. The interrupt handler
prioritizes interruptions as they are received, placing them into a queue as necessary.
Why interrupts are caused?
 a timing signal
 an input/output process (for example, a disk drive or printer requiring more data)
 a hardware fault (for example, a paper jam in the printer)
 user interaction (for example, the user presses a key (or keys) on a keyboard,
such as <CTRL><ALT><BREAK>, which causes the system to be interrupted)
 software errors that cause a problem (for example, an .exe file that cannot be
found to initiate the execution of a program, two processes trying to access the
same memory location, or an attempt to divide by zero).
Buffers
Buffers are used in computers as a temporary memory area, and they are essential in
modern computers because hardware devices operate at much slower speeds than the
processor. A buffer accepts a stream of data at a certain rate, stores it temporarily, and
then streams it out again at a different rate. Buffers are used for example, when
streaming a video from the Internet. This ensure that the video playback does not keep
stopping to wait for data from the Internet. In the same way, many other processes
taking place inside the computer may output and leave data through a buffer, which
enables each process to be performed at its own rate.
Role Interrupts and Buffers
Buffers and interrupts are often used together to allow standard computer functions to
be carried out. These functions are often taken for granted by users of modern
computer systems. The following diagram shows how buffers and interrupts are used
when a document is sent from memory to a printer. The important thing to remember
here is the time taken to print out a document is much longer than the time it takes for
the microprocessor to send data to the printer. Without buffers and interrupts, the
microprocessor would remain idle waiting for a document to be printed. This would be
an incredible waste of microprocessor time; the buffers and interrupts allow the

Page 12 of 22
microprocessor to carry on with other tasks while the document is being printed thus
maximizing its processing power and speed.

Computer Program
Computer program, a series of instructions that a computer can interpret and execute.
These programming instructions cause the computer to perform arithmetic and logical
operations or comparisons or to input or output data in a desired sequence. Computer
programs can be written in high-level languages and low-level languages depending on
the task to be performed and the computer to be used.

Page 13 of 22
Machine Code
Machine code is a computer programming language comprising of binary instructions
which computers are able to respond to directly. Machine code is written in a machine
language. Therefore, a machine, i.e., a computer, can execute it without any translation
or conversion.
High Level Language
High level languages are written in a form that is close to our human language, enabling
to programmer to just focus on the problem being solved. No particular knowledge of
the hardware is needed as high level languages create programs that are portable and
not tied to a particular computer or microchip. These programmer friendly languages are
called ‘high level’ as they are far away from the machine code instructions understood
by the computer
Commonly used high-level languages
Many types of high-level language exist and are in common use today, including:
 Python
 Java
 C++
 C#
 Visual Basic
 JavaScript
Advantages of High Level Language
 Easier to modify as it uses English like statements
 Easier/faster to write code as it uses English like statements
 Easier to debug during development
 Portable code – not designed to run on just one type of machine
Disadvantages of High Level Language
 programs can be larger
 programs can take longer to execute
 programs may not be able make use of special hardware
Low Level Languages
Low level languages are used to write programs that relate to the specific architecture
and hardware of a particular type of computer. They are closer to the native language of
a computer (binary), making them harder for programmers to understand.

Page 14 of 22
Examples of low level language
 Assembly Language
 Machine Code
Advantages of Low Level Languages
 can make use of special hardware
 includes special machine-dependent instructions
 can write code that doesn't take up much space in primary memory
 can write code that performs a task very quickly
Disadvantages of Low Level Languages
 it takes a longer time to write and debug programs
 programs are more difficult to understand
Assembly Language
Assembly language sits between machine code and high-level language in terms of
ease of use. While high-level languages use statements to form instructions, assembly
language uses mnemonics - short abbreviations. Each mnemonic directly corresponds
with a machine code instruction.
Assembly is called a low-level programming language because there's (nearly) a one-
to-one relationship between what it tells the computer to do, and what the computer
does. In general, one line of an assembly program contains a maximum of one
instruction for the computer.
Here are some examples of mnemonics:

Mnemonic Action

LDA Loads a value from a memory address

STA Stores a value in a memory address

Adds the value held in a memory address to the value held in the
ADD
accumulator

SUB Subtracts from the accumulator the value held in a memory address

MOV Moves the contents of one memory address to another

Page 15 of 22
Translator
A translator is a programming language processor that converts a computer program
from one language to another. It takes a program written in source code and converts it
into machine code. It discovers and identifies the error during translation.
Generally, there are three types of translator:
 compilers
 interpreters
 assemblers
Compiler
A compiler is a translator used to convert high-level programming language into
machine code. It converts the whole program in one session and reports errors
detected after the conversion. The compiler takes time to do its work as it translates
high-level code to machine code all at once and then saves it to memory. Once a
program is compiled, the machine code can be used again and again to perform the
same task without re-compilation.
Advantages of compiler
 Compiled programs run quickly, since they have already been translated.
 A compiled program can be supplied as an executable file. An executable file is a
file that is ready to run. Since an executable file cannot be easily modified,
programmers prefer to supply executables rather than source code.
 Compilers optimize code. Optimized code can run quicker and take up less
memory space.
Disadvantages of compiler:
 The source code must be re-compiled every time the programmer changes the
program.
 It takes longer time to write, test and debug programs during development
Interpreters
Just like a compiler, it is a translator used to convert high-level programming language
to low-level programming language. It converts the program statement one at a time
and reports errors detected at once while doing the conversion. With this, it is easier to
detect errors than in a compiler. An interpreter is faster than a compiler as it
immediately executes the code upon reading the code.
It is often used as a debugging tool for software development as it can execute a single
line of code at a time.

Page 16 of 22
Advantages of Interpreters
 Instructions are executed as soon as they are translated.
 Errors can be quickly spotted - once an error is found, the program stops running
and the user is notified at which part of the program the interpretation has failed.
This makes interpreters extremely useful when developing programs.
Disadvantages of Interpreters
 Interpreted programs run slowly as the processor has to wait for each instruction
to be translated before it can be executed.
 Additionally, the program has to be translated every time it is run.
 Interpreters do not produce an executable file that can be distributed. As a result,
the source code program has to be supplied, and this could be modified without
permission.
 Interpreters do not optimize code - the translated code is executed as it is.
Assemblers
An assembler is a translator used to translate assembly language to machine language.
It is like a compiler for the assembly language but interactive like an interpreter.
Assembly language is difficult to understand as it is a low-level programming language.
An assembler translates a low-level language, an assembly language to an even lower-
level language, which is the machine code. The machine code can be directly
understood by the CPU.
Compiler Interpreter Assembler
Translates a high-level Executes a high-level Translates a low level
language program into language program one assembly language
machine code. statement at a time. program into machine code.
An executable file of machine No executable file of machine An executable file of
code is produced. code is produced. machine code is produced
One high-level language One high-level language One low-level language
statement can be translated program statement may statement is usually
into several machine code require several machine code translated into one machine
instructions. instructions to be executed. code instruction.
Compiled programs are run Interpreted programs cannot Assembled programs are
without the compiler. be run without the interpreter. used without the assembler.
A compiled program is usually An interpreter is often used An assembled program is
distributed for general use. when a program is being usually distributed for
developed. general use.

Page 17 of 22
Integrated Development Environment (IDE)
An IDE enables programmers to consolidate the different aspects of writing a computer
program. IDEs increase programmer productivity by combining common activities of
writing software into a single application: editing source code, building executables, and
debugging.
IDEs usually have these features:
 code editors
 a translator
 a runtime environment with a debugger
 error diagnostics
 auto-completion
 auto-correction
 an auto-documenter and prettyprinting
Code Editor
The environment where the user can write code is called the shell. The code editor is a
text edit area that allows developers to write, edit and save a document of code. It has
features that assist with the writing and editing of code.
Translator
Most IDEs usually provide a translator, this can be a compiler and/or an interpreter, to
enable the program to be executed. The interpreter is often used for developing the
program and the compiler to produce the final version of the program to be used.
A runtime environment with a debugger
No programmer avoids writing bugs and programs with errors. When a program does
not run correctly, IDEs provide debugging tools that allow programmers to examine
different variables and inspect their code in a deliberate way. IDEs also provide hints
while coding to prevent errors before compilation.
A debugger is a program that runs the program under development and allows the
programmer to step through the program a line at a time (single stepping) or to set a
breakpoint to stop the execution of the program at a certain point in the source code. A
report window then shows the contents of the variables and expressions evaluated at
that point in the program. This allows the programmer to see if there are any logic errors
in the program and check that the program works as intended.
Error diagnostics and auto-correction
Dynamic error checking finds possible errors as the program code is being typed, alerts
the programmer at the time and provides a suggested correction. Many errors can

Page 18 of 22
therefore be found and corrected during program writing and editing before the program
is run.
Auto-completion
This is designed to save time while writing code. As you start to type the first part of a
function, it suggests or completes the function and any arguments or variables.
Auto-documenter and prettyprinting:
IDEs can provide an auto-documenter to explain the function and purpose of
programming code. Most code editors color code the words in the program and lay out
the program in a meaningful way - this is called prettyprinting

Page 19 of 22
Key terms
utility programs (utilities) - part of an operating system which carries out certain functions such
as virus checking, defragmentation and screensaver
malware - programs (such as viruses, worms and Trojan horses) that are installed on a user’s
computer with the aim of deleting, corrupting or manipulating data illegally
anti-virus software - software that quarantines and deletes files or programs infected by a
computer virus; the software can run in the background or be initiated by the user
heuristic checking - checking software for behaviour that could indicate a possible virus
quarantine - to isolate (in order to later delete) a file or program identified by anti-virus
software as being infected by a virus
defragmentation - a process that reorganises sectors on an HDD by rearranging blocks of data
so that they are contiguous
contiguous - next to each other
back-up - make copies of files onto another storage media in case the original file becomes
corrupted or is deleted
screensaver - software that supplies a still or moving image on a monitor if a computer has
been inactive for a period of time
device driver - software that communicates with the operating system and translates data into
a format understood by the device
descriptor - a collection of information about a device plugged into a USB port; this can be
vendor ID (VID), product ID (PID) or serial number
operating system - software that provides an environment in which applications can run and
also provides an interface between computer and human operator
boot up/bootstrap loader - a small program that is used to load other programs to correctly
'start-up’ a computer system
EEPROM - stands for electronically erasable programmable ROM
human computer interface (HCI) - an interface supplied by the operating system to hide' the
complexities of the software and hardware from the human user
command line interface (CLI) - an interface which allows communication with the computer by
typing in commands using a keyboard
graphical user interface (GUI) - an interface that uses icons to represent apps and tasks which
the user can select/launch by clicking on a mouse or using a touch screen

Page 20 of 22
windows icons menu and pointing device (WIMP) - an interface that uses a pointing device
such as a mouse to select options from screen icons or a menu
post-WIMP- a modern touch screen interface system that allows actions such as pinching and
rotating
memory management - the part of an operating system that controls main memory
security management - the part of an operating system that ensures the integrity,
confidentiality and availability of data
hardware management - the part of an operating system that controls all input and output
devices; it is made up of sub-systems such as printer management
buffer - a memory area used to store data temporarily
file management - part of an operating system that manages files in a computer (for example,
the ability to create, delete, copy, open, close and rename files)
interrupt - a signal sent from a device or software to a microprocessor requesting its attention;
the microprocessor suspends all operations until the interrupt has been serviced
multitasking - a function that allows a computer to process more than one task/process at a
time
administrator - a person responsible for the upkeep and maintenance of a computer system
that involve multi-user function
user account - an agreement that allows an individual to use a computer; the user needs a user
name and password to enter the user's area
error handling routine - a routine in a program or operating system that recognises and
recovers a system from abnormal inputs or hardware faults (for example, recovery from an
attempt to divide by zero)
firmware - a program that provides low level control for devices
interrupt priority - the priority assigned to an interrupt are given a priority so that the
microprocessor knows which one needs to be serviced first and which interrupts are to be dealt
with quickly
service (an interrupt) - when an interrupt is received, some action needs to be taken by the
processor depending on what caused the interrupt; until this is resolved (that is. it is serviced),
the interrupt cannot be removed to allow the processor to continue
interrupt service routine (ISR) - software that handles interrupt requests (for example, when
the printer out of paper) and sends a request to the CPU for processing

Page 21 of 22
machine code - a binary programming language, a program written in machine code can be
loaded and executed without translation
high-level language (HLL) - a programming language that is independent of computer
hardware, a program written in a HLL needs to be translated into machine code before it is
executed.
low-level language (LLL) - a programming language that is dependent on computer hardware,
both machine code and assembly language are LLLs
assembly language - a programming language that is dependent on computer hardware, a
program written in an assembly language program needs to be translated into machine code
before it is executed
assembler - a computer program that translates programming code written in assembly
language into machine code
compiler - a computer program that translates a source program written in a high-level
language to machine code
translator - converts a program written in a high-level language program into machine code
interpreter - a computer program that analyses and executes a program written in a high-level
language line by line
Integrated Development Environment (IDE) - a suite of programs used to write and test a
computer program written in a high-level language
debugging - finding errors in a computer program by running or tracing the program
prettyprinting - displaying source code using different colours and formatting, which make the
code easier to read and understand
report window - a separate window in the runtime environment of an IDE that shows the
contents of variables during the execution of a program

Page 22 of 22

You might also like