Cs Notes CH 4
Cs Notes CH 4
Application software allows various tasks to be performed on a computer using applications (apps).
The software can be a single program or suite of programs
Application Software these are programs that allow the user to do specific tasks
Examples
1 SPREADSHEET: Spreadsheet software is used to organise and manipulate numerical data (in the
form of integer, real, date and so on).
2 DATABASE: Database software is used to organise, manipulate and analyse data. A typical database
is made up of one or more tables.
• Camera facility
4 .CONTROL AND MEASURINGS: Control and measuring software is designed to allow a computer or
microprocessor to interface with sensors so that it is possible to:
5VIDEO EDITING SOFTWARE: Video editing software is the ability to manipulate videos to produce a
new video. It includes:
• Rearranging, adding and/or removing sections of video clips and/or audio clips
6 GRAPHICS MANIPULATION SOFTWARE: Graphics manipulation software allows bitmap and vector
images to be changed
7 PHOTO EDITING SOFTWARE: Photo editing software allows a user to manipulate digital
photographs stored on a computer, for example, change brightness, change contrast, and alter
colour saturation or remove 'red eye'.
8 WORD PROCESSOR: Word processing software is used to manipulate a text document, such as an
essay or a report.
• creating, editing, saving and manipulating text• copy and paste functions
These are programs that allow the hardware to run properly and allow the user to
2 LINKERS: A linker (or link editor) is a computer program that takes one or more object files
produced by a compiler and combines them into a single program which can be run on a computer.
For example, many programming languages allow programmers to write different pieces of code,
called modules, separately. This simplifies the programming task since it allows the program to be
broken up into small, more manageable sub-tasks.
3 DEVICE DRIVERS: A device driver is the name given to software that enables one or more hardware
devices to communicate with the computer's operating system.
4 UTILITIES: Utility programs are software that are designed to carry out specific tasks on a
computer.
Examples include:
• Anti-spyware
• Back-up of files
• Security
• Screensavers
• Disk defragmenter/defragmentation software.
5 OPERATING SYSTEMS (OSs): The operating system (OS) is essentially software running in the
background of a computer system. It manages many of the basic functions.
• Input/output operations
Utility programs
Software tools that allow the user and computer to do specific tasks to maintain the computer
1 Virus checker a small program that replicates itself and can delete or modify important files.
Antivirus software looks formal ware ‘clues’ or recognises it from a database of known viruses. Virus
checkers run in the background and need to be regularly updated. They make use of heuristic
checking (this looks for software behaviour that could indicate a possible virus).Once an infected
files is discovered it is quarantined and then deleted.
2 Security The security system manages access control to a computer. It links into other software
such as virus checkers and firewalls, and uses a firewall to protect the computer when automatic
software updates are requested. It makes use of encryption to safeguard data.
3 Screensavers
Screensavers are moving or still images on a computer screen that are initiated after a period of
inactivity. They are part of the security system since screen savers automatically log out a user if
they have left the computer unlocked and there has been no activity for, for example, 5 minutes; the
user then needs to log back in.They are often used to activate background tasks, such as virus scans,
when initiated.
4 Back-up software
Back-up files are essential in case files/data become corrupted or lost and are needed to recover the
data. They are either done automatically or initiated by the user. Maniocs offer the ability to restore
a computer status to a point in the past using backed up data.
5 Defragmenter
Defragmentation software tidies up the hard disk drive as it begins to reach its maximum capacity.
Disk defragmenter works by rearranging blocks of data so that they can now become contiguous this
frees up disk space and also makes location of data a faster process.
6 Disk repair
Disk repair software verifies if an error has been found in the disk directory; it will then attempt to
correct the error if possible. There pair process will remove or bypass damaged/corrupted data/ disk
sectors and then link blocks of data together to allow files to be read.
7 File compression
File compression can either be loss or lossless. With loss file compression, the original file cannot be
reconstructed following the compression process. With lossless file compression, the original file can
once again be reconstructed. Loss file sizes are much smaller than lossless files.
To enable a computer system to function correctly and allow users to communicate with the
computer, system software known as an operating system is used.
It is possible to alter computer settings directly. Needs very little memory requirement.
The user needs to learn commands and must type them in using the correct format.
There is no need for the user to learn specific commands to carry out actions.
It is an excellent interface for a novice or a user with little knowledge of how computers work.
manages the primary storage (RAM) and allows data to be moved between RAM and HDD/SSD
during the execution of programs keeps track of all the memory locations carries out memory
protection to ensure that two competing applications cannot use the same memory locations at the
same time.
3 Security management
The function of security management is to ensure the integrity, confidentiality and availability of
data. This can be achieved as follows
By 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 by communicating with
Hardware management involves all input and output peripheral devices Hardware management:
‣> communicates with all input and output devices using device drivers uses 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 ensures each hardware resource has a priority so that they can
be used and released as required manages input/output devices by controlling queues and buffers
5 File management
Maintaining the directory structures ensuring access control mechanisms are maintained
Ensuring memory allocation for a file by reading it from the HDD/SSD and loading it into memory
6 Multitasking
Multitasking allows computers to carry out more than one task (i.e. a process) at a time. Each of the
processes will share the hardware resources under the control of the operating system software. To
make sure that multitasking operates correctly
7 Running of applications
Application software requires the operating system to provide a platform on which the software can
run successfully. When a computer starts up, part of the operating system needs to be loaded into
RAM - this is known as booting up the computer. The start-up of the computer's motherboard is
handled by the basic input/output system (BIOS). The BIOS tells the computer where the storage
device that holds the operating system can be found; it then loads the part of the operating system
that is needed and executes it. The BIOS is often referred to as firmware. Firmware is defined as a
program that provides low level control for devices.
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.
8 Interrupts
An interrupt is a signal sent from a device or from software to the microprocessor. This will cause
the microprocessor to temporarily stop what it is doing so that it can service the interrupt. Interrupts
can be caused by:
A hardware fault
User interaction
Interrupts allow computers to carry out many tasks or to have several windows open at the same
time. An example would be downloading a file from the internet at the same time as listening to
some music from a library. Interrupts allow these two functions to co-exist and the user has the
impression that both functions are being carried out simultaneously.
For example, buffers are used when downloading a movie from the internet to compensate for the
difference between download speeds and the data requirements of the receiving device. The data
transmission rate of the movie file from the web server to the buffer must be greater than the rate
at which data is transmitted from buffer to media player. Without buffers, the movie would
frequently 'freeze',
Languages
1 high-level languages
High-level Languages enable a programmer to focus on the problem to be solved and require no
knowledge of the hardware and instruction set of the computer that will use the program. They are
portable and can be used on different types of computer. They are designed with programmers in
mind; programming statements are easier to understand than those written in a low-level language.
This means that programs written in a high-level language are easier to:
‣> write in a shorter time debug at the development stage maintain once in use.
2 Low-level languages
Low-level languages relate to the specific architecture and hardware of a particular type of
computer. Low-level languages can refer to machine code, the binary instructions that a computer
understands, or assembly language that needs to be translated into machine code. Machine code
Programmers do not usually write in machine code as it is difficult to understand, and it can be
complicated to manage data manipulation and storage. The following snippet of program to add two
numbers together is written in typical machine code, shown in both hexadecimal and binary, and
consists of three statements
High level
Low level
.can write code that doesn't take up much space in primary memory
.can write code that performs a task very quickly
Assembly languages
Fewer programmers write programs in an assembly language. Those programmers who do, do so for
the following reasons:
‣> to write code that doesn't take up much space in primary memory
Compiler
One high-level language statement can be translated into several machine code instructions.
Interpreter
One high-level language program statement may require several machine code instructions to be
executed. Interpreted programs cannot be run without the interpreter.
Assembler
One low-level language statement is usually translated into one machine code instruction.
Interpreter
Compiler Programs:
‣‣ Code editors
‣> a translator
Error diagnostics
Auto-completion
> Auto-correction
Code editor a code editor allows a program to be written and edited without the need to separate
text editor. This speeds up the program development process,
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
a program that runs the program under development and allows the programmer to step through
the program a line at a time or to set a breakpoint to stop the execution of the program at a certain
point in the source code.
Finds possible errors as the program code is being typed, alerts the programmer at the time and
provides a suggested correction.
Auto-completion
Code editors can offer context-sensitive prompts with text completion for variable names and
reserved words.
IDEs can provide an auto-documenter to explain the function and purpose of programming code.
Key terms
1 utility programs - part of an operating system which carries out certain functions such as virus
checking, defragmentation and screensaver
2 malware-programs that are installed on user's computer with the aim of deleting. Corrupting or
manipulating data illegally
3 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
4 heuristic checking - checking software for behaviour that could indicate a possible virus
5 quarantine - to isolate in order to later delete a file or program identified by anti-virus software as
being infected by a virus
8 screensaver - software that supplies a still or moving image on a monitor if a computer has been
inactive for a period of time
9 device driver - software that communicates with the operating system and translates data into a
format understood by the device
10 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
11 operating system - software that provides an environment in which applications can run and also
provides an interface between computer and human operator
12 boot up/bootstrap loader-a small program that is used to load other programs to correctly 'start-
up' a computer system
14 human computer interface (HCI) - an interface supplied by the operating system to hide' the
complexities of the software and hardware from the human user
15 command line interface (CLI] - an interface which allows communication with the computer by
typing in commands using a keyboard
16 graphical user interface (GU1) - 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
17 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
18 post-WIMP - a modern touch screen interface system that allows actions such as pinching and
rotating 19 memory management - the part of an operating system that controls main memory
20 security management - the part of an operating system that ensures the integrity, confidentiality
and availability of data
21 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
23 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)
24 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
25 multitasking - a function that allows a computer to process more than one task/process at a time
26 administrator - a person responsible for the upkeep and maintenance of a computer system that
involves multi-user function
27 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
28 error handling routine - a routine in a program or operating system that recognises and recovers
a system from abnormal inputs or hardware faults
30 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
31 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 the interrupt cannot be
removed to-allow the processor to continue
32 interrupt service routine (lSR) - software that handles interrupt requests and sends a request to
the CPU for processing
33 machine code - a binary programming language, a program written in machine code can be
loaded and executed without translation
37 assembler - a computer program that translates programming code written in assembly language
into machine code
38 compiler - a computer program that translates a source program written in a high-level language
to machine code
39 translator - converts a program written in a high-level language program into machine code
40 interpreter - a computer program that analyses and executes a program written in a high-level
language line by Line
41 Integrated Development Environment (IDE) - a suite of programs used to write and test a
computer program written in a high-level language
43 pretty printing - displaying source code using different colours and formatting, which make the
code easier to read and understand
44 report window - a separate window in the runtime environment of an IDE that shows the
contents of variables during the execution of a program