You are on page 1of 54

Quick Revision Notes A Level Computing

Computer Fundamental

Operating System Software

• acts as an interface between user and computer hardware


• program which controls running of other programs
• e.g. Windows, DOS, DFS (BBC operating system), MacOS, OS2, Unix

Utility Program

• devised to perform operations on files or data


• e.g. PK Zip

Library Program

• part of library facilities of a computer


• e.g. searches for lost files / restoring corrupted files

Applications Software

• written to perform specific tasks such as payroll and stock control


• e.g. Word, Excel

Bespoke Software

• individual program written for a particular company

Generic Software

• includes all common application packages such as word processing, desktop publishing,
spreadsheet, database, CAD

Processor

• controls transmission of data from input devices to memory


• processes data held in main memory
• control transmission of information from main memory to output devices

Internal Memory - cache, ROM and some RAM

Computer Architecture
Fetch-Execute Cycle

• Clock ticks
• Fetch tick - fetches next instruction
• Decode - decodes it
• Execute tick - executes instruction
• Detect - checks for interrupts

Von Neumann Stored Program Concept - programs are stored in memory, each instruction after
the last in consecutive memory locations. Any deviation is dealt with in a special way.

Compiled by: Mazhar Javed Awan 1


Quick Revision Notes A Level Computing
CPU

• contains control unit and ALU

Control Unit

• contains buses and registers which allow processor to carry out fetch-execute cycle

ALU

• Arithmetic/Logic Unit
• Arithmetic e.g. ‘Add’
• Logic e.g. ‘Compare’
• contains circuits which perform many different operations

Buses

• channels (set of parallel wires) within computer which carry data between independent
components
• shared transmission medium, therefore only one device can transmit along a bus at any
one time

Address Bus

• carries address of memory or I/O port


• unidirectional
• WIDTH DETERMINES MAXIMUM POSSIBLE MEMORY CAPACITY OF SYSTEM

Control Bus

• carries control signals


• bi-directional
• read address location from data bus, write from data bus to address location (in memory)
• ensures access to and use of data and address buses by different components of the
system
• interrupt request, interrupt ACK, bus, reset

Data Bus

• carries data
• bi-directional
• INCREASING WIDTH INCREASES SYSTEM’S SPEED AND PERFORMANCE

Word

• maximum number of bits that a processor can handle simultaneously


• size measured by number of digits it contains
• consists of a predetermined number of characters / bits to be processed as an entity
• WORD SIZE DETERMINES SPEED

Structure of internal buses influenced by:

• amount of memory which needs to be addressed (requires set no. of bits)

Compiled by: Mazhar Javed Awan 2


Quick Revision Notes A Level Computing
• word length (data bus need to be able to transport enough bits)

RAM

• storing programs which are currently running


• volatile (loses all information once machine is switched off)

ROM

• non-volatile
• contents permanently etched into memory chip at manufacturing stage
• contains bootstrap loaded (instructs computer to load OS software as soon as computer is
switched on)

Cache

• used to improve speed of computer


• intermediate store between CPU and main memory
• stores most recently/frequently used data
• 1Kb - 512Kb

Fundamentals of Programming
Assembly Code

• uses mnemonics (aids to memory)


• e.g. OS software, device drivers and encryption/decryption software

Assembler

• assembly code -> machine code

Compiler

• source code (high level language) -> object code (machine code), then executes

Interpreter

• translates then executes each statement


• no object code is produced

Procedure

• completely self-contained subprogram which may be called from the main program
• defined and given an identifier which may be used like any other programming instruction

Function

• a sub-program which returns a value


• name of function is used as a variable which stores the returned value

Compiled by: Mazhar Javed Awan 3


Quick Revision Notes A Level Computing

Variable

• temporary storage space for data, referred to by its name


• data in a variable may vary or change within the program

Event Procedure - procedure which is run when a certain event is triggered by the user

Scope - refers to the range of statements for which a variable (or procedure is valid). A variable
doesn't exist outside its scope

Parameter

• information about a data item being supplied to a function or procedure when it is called
(aka argument)
• variables declared in the heading of a procedure/subroutine whose values can be passed
to and returned from it

Actual parameter - parameter passed to the procedure or function

Formal parameter - parameter which appears in the procedure or function

Passing by value - a copy of the variable is used and is discarded when the subprogram exits

Passing by reference - the memory location of the data is issued and the changes made to the
subprogram affect the variable permanently

Module

• section of code which performs a task


• independent but likely to relate to a number of modules

Array

• finite set of data items of the same type grouped together (referred to) using a single
identifier
• stores data which logically belongs together
• static structure
• each item is addressed using a subscript

List - 1D array, dynamic, infers order

Table - 2D array, dynamic, rows and columns

Stack - a LIFO list, dynamic, implemented with an array, can be empty or full

Queue - a FIFO list, dynamic, implemented with an array

Linear queue - queue works in a line

• 2 pointers to show 'head & tail' / 'start & stop'

Compiled by: Mazhar Javed Awan 4


Quick Revision Notes A Level Computing
• items or elements are added & removed
• can be empty or full

Tree - dynamic data structure, consists of data items and pointers

Linked list - dynamic structure, similar to normal list, pointers rather than physical position used
to point to next item in list

Traversing - looking through a set of data and processing it in some way

Overflow - if you try to add to stack or queue which is already full

Underflow - if you try to remove an item from an empty queue or stack

Algorithm

• series of steps to solve a problem


• create, add, delete, update/amend/edit, sort, search

Standard Modules

• pre-written, pre-tested algorithms which can be included in a situation


• pre-tested, therefore contain fewer errors
• ensures consistency in coding
• saves programming time
• performs standard task e.g. binary search / sort data

Trace - to show state of variables as work through algorithm instruction by instruction

Binary Search

• faster
• split data into two structures and compare search item with middle item
• only works is data items are in order

Fundamentals of Information and Data Representation


Digitised Sound

• Sound is input via a MIDI (Musical Instrument Digital Interface) port to be processed by
computer.
• Analogue to digital converter to transform analogue input into digital form (binary pattern
which can be stored and processed)
• Undesirable sounds can be edited out
• Sound in analogue form may be represented by wave forms with the height represented
by e.g. a 16-bit binary code. More frequent samples -> sound more faithfully represented

Bit-mapped Graphics

• pixel (picture element) -> squares on the grid of a VDU screen


• monochrome -> 1-bit in memory to represent each pixel
• colour screen -> 1-byte in memory to represent each pixel, therefore 256 colours

Compiled by: Mazhar Javed Awan 5


Quick Revision Notes A Level Computing
• memory used for graphics is additional to RAM and is supplied on graphics card
• 1MB graphics card means that 1MB of memory is available to represent a full screen image
• bitmaps -> huge files, bad distortion

Data

• numbers, text, graphics, sound (0s & 1s inside computer)


• information coded and structured for subsequent processing

NB codes are meaningless if they have no context

Information

• data with context and / or meaning

Communication and Networking


Network - two or more computers linked together in order to share resources e.g. software,
hardware, data, information

Data communication - sending and receiving data from one computer or data processing device to
another

Serial transmission

• bits are sent via an interface one bit at a time over a single wire from source to destination
• very high data transfer rates e.g. 1000Mbits per second

Parallel transmission

• used inside the computer for short distances (up to a few metres) e.g. to printer
• parallel port can send 8 / 16 / 32 bits simultaneously down separate lines

Baud rate - (in bits per second) -> speed at which data is transmitted serially

Framing bits - (start, stop, error detection) are transmitted with each character

Bandwidth - the range of frequencies that can be sent / received (measured in Hz)

Synchronous transmission

• timing signals control rate of transmission


• no start and stop bits
• used in main frames
• less error prone

Asynchronous transmission

• characters sent one at a time


• each character has start, parity and stop bit
• baud rate must be same at both ends
• used in PCs

Compiled by: Mazhar Javed Awan 6


Quick Revision Notes A Level Computing
• fast and economical for small amounts of data

Handshaking - exchange of signals between devices to establish their readiness to send / receive
data

Modem (MOdulator DEModulator)

• to send data over telephone line must be in analogue format

ISDN (Integrated Services Digital Network)

• high speed digital communications network to replace current telephone network which
requires digital-to-analogue conversions and to replace traditionally analogue forms of
data, ranging from voice to computer transmissions, music, and video
• requires high bandwidth

Data compression - repeated bytes only sent once with count of repetitions

LAN -> 1 building / site (up to 2 km)

Server

• on a client-server network the server is a computer running administrative software that


controls access to the network and its resources
• on a 'peer-to-peer' network all computers can act as servers to the other computers on the
network but one computer could be designated a printer server etc.

Twisted pair (copper cable) -> telephone line (analogue)

Fibre optic (digital)

Coaxial - insulated so that signals carried don't affect nearby components

Communication satellite - use satellites in geosynchronous orbit

Public lines - dial-up networking

Leased lines - fixed annual fee

WWW is a facility of the Internet -> series of web sites / pages which contain information and are
held on host computers

Internet -> worldwide collection of networks

http / ftp / localhost -> protocol used for connection to server

Domain name -> name of server on which Web resource is held

IP address -> unique address of home page e.g. 177.234.443.968

The domain name system maps the domain name onto the IP address

Compiled by: Mazhar Javed Awan 7


Quick Revision Notes A Level Computing

Applications and Effects


Computer - electronic device for solving problems / processing info automatically using a stored
program capable of modifying itself

Teleworking - carrying out work away from the office and communicating with the employer
through the use of a computer and telecommunications equipment

Computer abuse - acts that are legal but unethical

Hacking

• unauthorised access to data held on a computer system


• motive often mischievous rather than sinister

Theft of data - data stolen by illegally accessing it or by stealing the computer on which it is
stored

Viruses

• generally developed with definite intention to cause damage to computer files or cause
inconvenience and annoyance to computer uses
• virus usually occupies the first few instructions of a particular program on an 'infected' disk
• when program is executed, virus is the first series of instructions to be performed
• virus copies itself from diskette to PC and 'hides' within obscure files, OS code or within
unused disk blocks which are then marked as being 'bad' and are unavailable for reuse.
• REPRODUCTION - when another floppy is inserted into the computer's disk drive the virus
copies itself to the floppy disk
• INFECTION - the virus may display messages, use up all the computer's memory, destroy
data files or cause serious system errors

'Logic bomb'

• written to destroy or subtly change the contents of an organisation's computer system, but
only when signalled to do so by the hacker or if a cancelling signal fails to arrive
• huge sums of money may be handed over to hacker by vulnerable institutions

The Computer Misuse Act, 1990

• unauthorised access to computer programs or data


• unauthorised access with a further criminal intent
• unauthorised modification of computer material (programs or data)

There have been relatively few prosecutions since organisations are reluctant to admit their
security procedures have been breached (which could lead to a loss in confidence by clients)

Compiled by: Mazhar Javed Awan 8


Quick Revision Notes A Level Computing
Advanced 'Information Warfare' Techniques

• learnt from military


• use 'logic bombs', electromagnetic pulses, 'high emission radio frequency guns' etc. to
blow electronic 'wind' through computer system

Copyright Designs & Patents Act, 1988

• illegal to copy software (bootlegged / programming ideas and methods stolen)


• illegal to run pirated software
• illegal to transmit software over telecommunications line thereby creating a copy

Data Protection Act, 1984 - 8 data principles of good info handling practice

Data must be:

1. obtained and processed fairly and lawfully


2. held for lawful purposes only
3. used for those purposes and only disclosed those people described in register entry
4. adequate, relevant and non excessive in relation to purposes for which they are held
5. accurate and up to date
6. held no longer than necessary
7. accessible to individual
8. surrounded by proper security

Personal data - data about living, identifiable individuals

Automatically processed - processed by computer or other technology

Data subjects - individuals to whom personal data relates

Data Protection Registrar

• promote compliance with Data Protection Principles


• disseminating information about the act and how it works
• maintain register of data users and make it publicly available
• consider complaints about breaches of the act
• prosecute offenders

Health and Safety

Stress - information overload -> managers bombarded with more information than they can
assimilate -> information anxiety

Repetitive Strain Injury (RSI) - neck, shoulders and upper limbs

Eye strain

Extremely low frequency (ELF) radiation - from monitor -> may influence miscarriages

Ergonomics - refers to the design and functionality of the environment

Compiled by: Mazhar Javed Awan 9


Quick Revision Notes A Level Computing
General Purpose Packages

Spreadsheets

• used in planning and budgeting


• 'What If' calculations determine effect of several different hypothetical changes of data

Integrated package

• e.g. MS Works combines a spreadsheet module, a database module and a word processing
module
• cannot buy one module separately
• data can be readily transferred between modules

Software suite

• e.g. MS Office
• data can be readily transferred between modules

Records and Files


Field - group of characters e.g. surname

Record - e.g. all the information about one person

File - collection of records (extended to mean source code program written in high level language,
word processed letter, bitmapped graphics file, ASCII text file

Variable length records

• no. of characters in a field varies between records


• records have varying no. of fields

File Organisation

Transaction files - contain details of all transactions that have occurred in the last period

Master files - permanent files kept up-to-date by applying transactions that occur during the
operation of the business

Reference file - contains data used by a program during processing

SERIAL

• records are not in any particular sequence


• used as temporary files to store transaction data
• add to end
• to delete, re-write whole file to another disk

SEQUENTIAL

• records sorted into key sequence


Compiled by: Mazhar Javed Awan 10
Quick Revision Notes A Level Computing
• fast and efficient (may not have to read whole tape)
• to add, copy up to where record is to be inserted, insert record, then copy rest of file
• to delete, re-write whole file to another disk

RANDOM FILES

• records are stored and retrieved according to their disk address / relative position within
file
• to add, use the hashing algorithm to work out the appropriate memory location
• to delete, set flag = 0 but leave the value there, therefore space can be reused but is not
actually empty
• to search for a record continue until either the record is found or empty space is
encountered

Hashing algorithm - used to translate record key into an address

Synonyms - two record keys generate the same address -> use overflow area and flag

File Processing

Operations carried out on files:

• interrogating / referencing
• updating
• maintaining
• sorting

'Updating by copying' - transaction file must be sorted in same order as master file

'Updating by overlay'

• only one copy of file therefore security implications


• FOR RANDOM FILES ONLY since record is accessed by means of an address therefore can
be written back to same address

File maintenance - updating more permanent fields on each record, adding / deleting records

Hit rate - proportion of records being accessed on any one run

File Security Methods

Data security - keeping data safe from the various hazards to which it mat be subjected

Call-back procedure - when a remote user logs on the computer automatically calls them back at
a prearranged number to verify their access request before allowing them to log on

Methods of encryption:

• transposition -> characters are switched around


Compiled by: Mazhar Javed Awan 11
Quick Revision Notes A Level Computing
• substitution -> characters are replaced by other characters

Cryptography

• helps identify authentic users


• prevents alteration of the message
• prevents unauthorised users from reading the message

Access rights

• read-only
• write-only
• no access
• only allow access from particular terminals or at certain times of the day

Biometric security methods

• finger-print recognition techniques


• voice recognition
• face recognition
• iris recognition technology

Periodic backups - copy files regularly and keep them in a safe place

Contingency plan

• identify alternative equipment and security facilities or implement a service agreement


which provides replacement equipment if needed
• have provision for alternative communication links

Data Processing Integrity Methods

Data integrity - correctness of data

'Direct data capture' - data entered automatically e.g. bar-code scanning

Hash total - sum of values calculated purely for validation purposes (use ASCII codes)

Control total - sum which has meaning

Validation checks - check data is likely

Check digit

• self-checking
• calculated from the digits of the code no.
• e.g. modulus-11 traps over 99% of all errors

Verification - entering data twice

Checksum

• checks blocks of data e.g. every 256 bytes


Compiled by: Mazhar Javed Awan 12
Quick Revision Notes A Level Computing
• uses a no. of digits
• calculated by adding together the numeric value of all the bytes in a block

Entity Relationship Modelling

Conceptual data model - describes how data elements in a system are grouped

Entity - thing of interest about which data is to be held

Attribute - property or characteristic of an entity

Relationship - link / association between entities

Database Concepts

Unproductive maintenance - programs still dependent of record structure and all departments
affected by minor changes in another department

Problems of security - confidential information accessible by every application since held centrally

Database - consists of many different files linked so that information can be retrieved from
several files simultaneously

Primary Key - unique identifier given to each individual record in a file

Secondary Key - not unique to each record but may be used to quickly locate a group of records

Foreign Key - key field from one table used in a second table (common field)

Index - list of numerical values which gives the order of the records when they are sorted on a
particular field

Query by example (QBE)

• combine into one table info from two or more related tables
• select field in 'Answer' table
• specify search criteria
• save query and results

Operating Systems
Operating system software - to control and monitor the running of application programs and to
allow users to communicate with the computer

Memory management - allocate memory to each application as well as to itself

Compiled by: Mazhar Javed Awan 13


Quick Revision Notes A Level Computing
Resource allocation and scheduling - allocate processing time, memory and input/output
resources to programs to make best possible use of computer's resources

Backing store management - controls transfer of data between disk and memory and maintains
directory of disk so files can be located quickly

Interrupt - signal to CPU requesting attention

Multiprogramming - more than one program in memory appearing to operate simultaneously

Virtual memory - OS stores only a few pages of each program in memory at any one time so that
memory appears to be larger than it is

Virtual machine - OS functions in such a way as to hide from the user all the complexities of the
hardware

Batch processing - processing carried out from beginning to end without user interaction

Interactive OS - user and computer in direct two-way communication

Real-time OS

• support application programs which are non-sequential in nature (not START - PROCESS -
END structure)
• carry out processing and produce response within specified time interval
• can deal with many events happening in parallel at unpredictable moments
• fail-safe (if safety critical - see above)

On-line processing - user interacts directly with main computer

Off-line processing - computer devices not under immediate control of main computer

Network OS - controls who logs on to network and access rights etc.

File manager - holds info about each file/folder saved

Drive - hardware that seeks, reads and writes info to and from disk

Archive

1. Normally, making backup which will not be changed


2. In case of Windows, attribute used by OS to decide which files to backup when

Backup - making copies of data or programs in case the originals are corrupted or lost

Differential backup - copies only those files that have changed since the last normal backup (e.g.
every day)

Normal backup - copies all selected files (do e.g. once a week)

Compiled by: Mazhar Javed Awan 14


Quick Revision Notes A Level Computing

Input Devices
Optical Character Recognition (OCR)

Key-to-disk system - many data entry operators key in data from source documents. Batch data
stored on disk. Source data passed to second data entry operator who, in verify mode, enters
data a second time. Any discrepancy causes machine to beep. Data either downloaded to main
computer over communications link or transferred to magnetic tape and taken to main computer
room.

Mouse, joystick, touch screen

Light pen - uses light sensor to move characters or part of graphics

Magnetic Ink Character Recognition (MICR)

Magnetic stripe

• encoded with up to 220 characters of data


• characters are easy to copy -> fake magnetic stripe cards

Smart cards - contain 1mm square microprocessor

Optical Mark Recognition (OMR) - detects marks made in pre-set positions on form

Hand-held input devices - e.g. for reading gas / electricity meters - displays customer name,
address and location of meter - at end of day all readings are downloaded by communication link
to main computer for processing

Digitiser (graphics tablet) - data can be transferred to a computer

Output Devices

Dot matrix printer - impact printer (pins strike ribbon)

• for NQL (near letter quality) each line is printer twice


• noisy (need cover in office)
• colour is not very good quality

Ink jet printer (fires drops of ink at page by boiling in microscopic tube and letting steam eject
droplet)

• compact
• quiet
• slow (average 3 pages per min)
• colour can cost up to 75p per page
• resolution almost as good as laser printer

Laser printer (toner transferred to page then fused onto it by heat and pressure)

• 10 pages per minute


• virtually silent
Compiled by: Mazhar Javed Awan 15
Quick Revision Notes A Level Computing
• £75 per cartridge (5000 copies)

Plotter

• produces high quality line drawings such as building plans and electronic circuits
• 2 types - pen (vector plotters) and penless (raster plotters)
• pen plotters use point-to-point data
• penless plotters include electrostatic, thermal and laser (for higher densities)

Visual Display Unit (VDU)

• 3 basic attributes - size, colour, resolution


• fixed amount of RAM to store image being displayed - determines resolution and max. no.
of colours that can be displayed
• resolution determined by no. of pixels used to represent full screen image
• no. of colours displayed determined by no. of bits per pixel (2 bits -> 4 colours, 8 bits ->
256 colours)
• if you have a higher resolution you can't have as many colours

Storage Devices

Primary storage - RAM (computer's main memory) - volatile

Secondary storage

• magnetic tape
• magnetic disks
• CD-ROM
• microfilm

3½" Floppy disk

• 1.44MB
• flexible plastic disk coated in metal oxide
• two surfaces each with 80 concentric circles called tracks
• tracks near centre store same amount of data as outer tracks

Hard disks for microcomputers

• one or more disk platters permanently sealed inside casing


• each surface has its own read-write head
• capacity of between 2GB and 100GB

Hard disks for minis and mainframes

• several hard disks


• fixed or removable
• data stored in concentric tracks
• cylinder:- all tracks accessible from one position of read-write head
• data recorded cylinder by cylinder to minimise access time

Compiled by: Mazhar Javed Awan 16


Quick Revision Notes A Level Computing
Magnetic tape

• data recorded in 'frames' across the tape


• cheap and convenient medium for backup

CD-ROM

• store around 680MB data


• laser beam burns holes into surface of disk -> read-only
• single spiral track divided into sectors

WORM disks (Write Once, Read Many) - optical laser disks

Magneto-optical disks

• integrate optical and laser technology to enable read and write storage
• 5½" disk can store 1GB
• at the moment are expensive, slow and unreliable

Systems Life Cycle


Feasibility

• operational
• technological
• financial

Analysis

• background
• analyse
• detailed specification for requirements of new system
• Data Flow Diagram
• Entity-Relation diagram for current system

Design

• HCI
• input
• output
• help
• error messages
• data storage
• record structure
• security and integrity
• E-R model
• method of data entry and validation
• list fields
• module structure chart
• test strategy including test data
• Top down design - break large problems down into smaller problems which can be written
as self-contained modules
• Jackson structure diagram - shows how modules all relate to form the whole solution

Compiled by: Mazhar Javed Awan 17


Quick Revision Notes A Level Computing
• Entity-Relation diagram to describe solution

Implementation

• build solution
• test it
• technical documentation
• user documentation
• train
• install

Dry run testing

• programmer follows through code manually using test data to check algorithm is correct
• for locating run time errors

Unit testing - test each individual subroutine or module in a suite of programs

Integration testing - test a complete suite of programs to ensure that they all function correctly
when put together

Maintenance

• corrective - problems which occur after system has been in use for a short time and were
missed by the testing
• adaptive e.g. changes in VAT
• perfective

Evaluation

• effectiveness
• usability
• maintainability

HCI - interaction between user and computer

• safely
• effectively
• efficiently
• enjoyably

Command-line interface

• quick and concise


• requires user to know the commands

Menus

• full screen menu e.g. front end of an application


Compiled by: Mazhar Javed Awan 18
Quick Revision Notes A Level Computing
• pull-down menu
• pop-up menu

Natural language

• too ambiguous
• no training necessary
• less concise than 'artificial language'

Forms and dialogue boxes

• title
• not cluttered
• indicate length of words to be input
• opportunity to go back and make changes
• logical order

GUI

WIMP interface (Windows, Icons, Mouse Pointers)

Common User Interface

• increase speed of learning


• greater range of software available to average user

Speech/sound output

• e.g. used by bank computer connected by telephone which could read out a customer's
account balance
• use phonemes (individual sounds from which all words are constructed in any particular
language)

Machine Level Structure, Operation and Assembly Language Programming

Structure of Processor

Abb. Full Meaning Purpose and other details

ALU Arithmetic Logic Unit Carries out arithmetic and logic operations

CU Control Unit Decodes instructions and sends signals to other


units/registers/peripherals

IAS Immediate Access Store Main Memory - stores data and instructions

Acc Accumulator Special register; storage for one word of data.


While in register data can be modified

Compiled by: Mazhar Javed Awan 19


Quick Revision Notes A Level Computing
SCR (PC) Sequence Control Register Holds address of next instruction to be fetched
(Program Counter)

MAR Memory Address Register Holds address of memory location to be read


from/written to

MBR Memory Buffer Register Contains word read from/written to memory


MDR Memory Data Register

CIR Current Instruction Register Current instruction is held while it is being decoded

SR Status Register Holds state of accumulator etc. Bits used to record


state of CPU e.g. -ve, carry, overflow, BCD,
interrupt disabled

X Index Register

Fetch-Execute Cycle
Fetch-execute cycle - complete process of retrieving an instruction from store, decoding it and
carrying it out

Fetch Phase

1. The address of the next instruction to be executed is copied from the SCR to the MAR
2. The instruction held at that address is copied to the MDR
3. Simultaneously the contents of the SCR is incremented so that it holds the address of the
next instruction
4. The contents of the MDR are copied to the CIR

Execute Phase

5. The instruction held in the CIR is decoded


6. The instruction is executed

Interrupts

Interrupt - signal from a device or source seeking the attention of the processor

Interrupt register - special register in CPU which is checked at the beginning of each fetch-
execute cycle. Each bit represents a different type of interrupt. If a bit is set the state of the
current process is saved and OS routes control to appropriate interrupt handler

Interrupt priorities - when two interrupts are received simultaneously, the one with the highest
priority is dealt with first

Hardware failure e.g. power failure has the highest priority of interrupt to allow the OS to shut
down as gracefully as possible

An I/O device which signals normal completion or that an error has occurred would have the
lowest priority

Compiled by: Mazhar Javed Awan 20


Quick Revision Notes A Level Computing
Vectored interrupt mechanism - the interrupting device supplies an offset that is added to the
base address. New ISRs can therefore be placed at any appropriate memory location and the
interrupting device only need supply the correct offset for the vector to be located.

Von Neumann stored program concept - instructions are fetched and executed one at a time in a
serial manner. Data, instructions and addresses are transmitted between memory and the
processor along data and address buses. Control bus used to send control and timing signals
between various components of CPU and main memory.

Features of processor design which improve processor performance:

• Word size - increasing word size increases speed of processor


• Width of data bus
• Clock rate - all processor activities must begin on a clock pulse
• Reduced Instruction Set Computer (RISC) - simplified control unit -> machine instructions
only require one machine cycle
• Pipelining - fetch next instruction while current instruction is being executed
• Cache - accessing cache is quicker than accessing main memory

Buses - transmit data and instructions between system components

Address bus - the width determines the maximum address that can be directly referenced

Data bus - the width determines how many bits can be transferred simultaneously

Assembly language

Instruction set - set of machine instructions that a processor recognises and can execute

Examples of assembly language instructions:

LDA Load accumulator with contents of specified address

STA Store contents of accumulator in specified address

LDN Load specified number into accumulator

ADD Add contents of specified address from accumulator

SUB Subtract contents of specified address from accumulator

ADN Add given number to accumulator

SUN Subtract given number from accumulator

AND Perform Boolean AND

OR Perform Boolean OR

JAZ Jump if accumulator zero

JMP Unconditional jump

Compiled by: Mazhar Javed Awan 21


Quick Revision Notes A Level Computing

Shift Instructions

LEFT RIGHT

LOGICAL MSB is discarded as all LSB shifted into carry bit &
other bits move to the left zero moves in to occupy
vacated space

ARITHMETIC Multiply by 2; Divide by 2;

Sign bit is preserved Sign bit is preserved, i.e. if


sign bit is one, one is
moved in from left

CIRCULAR MSB is moved into carry bit Value of carry bit is moved
(ROTATE) into vacated position

Zero address instruction - does not require operand e.g. HALT

One address instruction - one byte for operand e.g. STA X

Two address instruction - two bytes for operand, either because 2 operands are involved or
because the operand is too large to fit into one byte e.g. MOV R1, R2

Addressing modes

Immediate (literal) addressing - operand is the data used

Direct addressing - operand is the address where the data can be found

Indirect addressing - operand is the address of a location which in turn holds the address of the
data required

Indexed (modified) addressing - operand is modified by adding the contents of the index register
to give an address of the data

Relative addressing - operand contains an offset to a known (or implied) base address e.g. SCR

Base register addressing - operand is added to base address to give address of data

Programming Concepts
Low level languages - e.g. assembly language

• machine oriented
• each assembly code statement translates to one machine code instruction
• used when there is a requirement to manipulate individual bits and bytes, write code that
executes as fast as possible, or occupies as little memory as possible
Compiled by: Mazhar Javed Awan 22
Quick Revision Notes A Level Computing
High level languages

• human oriented
• statements resemble English sentences or mathematical expressions
• easier to learn and understand
• each statement in a high level language will translate into several machine code
instructions
• built in functions, selection, iteration and data structures such as string, array, record

Procedural (imperative) languages - e.g. Pascal, C, COBOL, BASIC

• program consists of a sequence of instructions which the computer will execute in a


specified order

Pascal • developed to teach structured programming

FORTRAN • developed for use in scientific, engineering and mathematical


applications
• inbuilt mathematical functions
• library of statistical, engineering and scientific routines readily
available
• double precision arithmetic -> more accurate calculations

• good array handling -> suitable for solving large sets of


simultaneous equations

COBOL • suitable for data processing applications


• facility to access databases from within a COBOL program
• excellent file handling capabilities
• 'sort' verb to allow files to be sorted into sequence
• good report-formatting facilities

• good validation facilities

C • developed for systems programming for UNIX OS


• relatively low-level -> efficient programs for OS and compilers

• also easy to learn and portable

Object-oriented (imperative) languages - e.g. Java, C++, Delphi

• used for developing Windows applications

Declarative languages - e.g. Prolog

• consist of a series of facts and rules about a particular subject

Compiled by: Mazhar Javed Awan 23


Quick Revision Notes A Level Computing
Embedded systems - where the computer is just one component within a larger engineering
system

Real-time system - system whose processing time is within that of the problem so that it can
influence the source of the data

Criteria for selecting a programming language:

• nature of the application


• expertise of programmers
• availability of suitable compiler/interpreter for hardware
• availability of facilities within language for implementing the software design

Object-Oriented Programming

• program must be viewed as a collection of discrete objects that are self-contained


collections of data structures and routines that interact with each other
• collection of data fields; procedures and functions operate on these fields
• a definition of data and permitted operations. Objects can pass messages between each
other on request

Object class - collection of characteristics and procedures that an object within the classification
can have or perform

Class - set of objects which share a common behaviour

Object - e.g. form, dialogue box, command button

Encapsulation - process of bundling together procedures and data

Inheritance - a relationship among classes wherein one class shares the structure and behaviour
of another class

Polymorphism - two or more classes derived from the same base class but with some unique
features of their own

Inherited polymorphism - objects of different classes process same message because they inherit
it from common ancestor

Independent polymorphism - different classes use same field or method name for different values
or activities

Containment - objects can contain other objects

Prolog (PROgramming LOGic)

• logic programming language


• programmer declares facts and rules
• during execution a goal is stated and Prolog determines whether the goal can be achieved
with the given facts and rules
Compiled by: Mazhar Javed Awan 24
Quick Revision Notes A Level Computing
• well suited to programming expert systems

Expert systems - e.g. NHS direct

• one which mimics a human expert


• consists of a knowledge base and user interface
• user can query the program to obtain answers to problems given certain facts/conditions
are true

Natural language processing

• trying to get a computer to understand normal English/Chinese


• each language has its own syntax rules which can be stated in the program to help the
computer decide whether a group of words makes a sentence and what it means

Iteration - a statement in a program that causes the program to repeat one or more statements

Recursively defined - an object which is defined in terms of itself. It calls itself and is therefore re-
entrant

When a subroutine is called the return address and the values of any parameters in the
subroutine are stored in a stack.

Advantages of recursion

• mathematically neat
• small amount of code if solution suited to recursion

Disadvantages of recursion

• non-recursive solution is more efficient in terms of computer time and space


• if the recursion continues too long the stack containing return addresses may overflow and
the program will crash
• recursive routines can be difficult to follow and debug
• recursive routines may be slow in execution and the computer may run out of memory

List - dynamic 1D array

A list may be implemented using an array. Two extra variables are used to hold the current size
of the list and the size of the array. An empty list is denoted by [ ]

Linked list - dynamic structure used to hold a sequence

• items need not be held in contiguous locations or in the order they occur in the sequence
• each node contains an information field and a next address/link field which contains the
address of the next item in the sequence

Queue - e.g. print queue, keyboard buffer

• first in first out (FIFO), dynamic data structure


• can be implemented with an array

Compiled by: Mazhar Javed Awan 25


Quick Revision Notes A Level Computing
• 4 variables - two pointers for front and rear of queue, an integer to hold the size of the
array and the number of items currently in the queue

Uses of queues

• holding jobs waiting to be run by the computer


• a keyboard buffer, to allow a whole line to be typed and edited while the processor is busy
doing something else
• spooling output onto a disk to await printing

Stack

• last in first out (LIFO), dynamic data structure


• may be implemented using an array
• 2 pointers - MaxStackSize and Top

Uses of stacks

• to store return addresses, parameters and register contents when subroutines are called.
When the subroutine ends, the address at the top of the stack is popped and the computer
continues execution from that address
• in evaluating mathematical expressions held in reverse Polish notation (used by
compilers). A stack can be used to convert infix notation to Postfix (reverse Polish)
notation

Binary tree

• dynamic data structure


• leaf/terminal nodes - nodes with no children
• branches - lines connecting nodes
• appropriate when a large number of items need to be held in such a way that any item
may be quickly accessed, or sequenced lists need to be produced
• with traversal, items can be stored in one sequence and retrieved in a different sequence

Linear search

• used if items are not in any particular order


• items searched one by one until required item is found or end of list is reached
• inefficient for all but a few items
• maximum number of comparisons for a structure of size n is n

Binary search

• used for searching an ordered array


• maximum number of comparisons for a structure of size n is log2n

Bubble sort

• used to sort a small no. of items (i.e. less than 50)


• to sort an array of n items, maximum no. of passes is (n - 1)

Quicksort
Compiled by: Mazhar Javed Awan 26
Quick Revision Notes A Level Computing
• quick for long lists of numbers

Insertion sort

• faster than the bubble sort, but not as fast as the quicksort

Data Representation in Computers


e.g. denary 751

binary 1 0 1 1 1 0 1 1 1 1

hex 2 E F

oct 1 3 5 7

Two's complement

Copy digits from the LSB towards the MSB, up to and including the first "1" digit and then invert
the rest.

5 0 0 0 0 0 1 0 1

-5 1 1 1 1 1 0 1 1

14 0 0 0 0 1 1 1 0

-14 1 1 1 1 0 0 1 0

OR add one to the one's complement

e.g. 5 = 0 0 0 0 0 1 0 1

1 1 1 1 1 0 1 0

+ 0 0 0 0 0 0 0 1

-5 1 1 1 1 1 0 1 1

Fixed point notation

e.g. (taking radix point between 4th and 5th bits)

5CHEX = 0 1 0 1 1 1 0 0

Compiled by: Mazhar Javed Awan 27


Quick Revision Notes A Level Computing
= + 5¾

Floating point

MANTISSA EXPONENT

1 1 1 1
-1 /2 /4 /8 /16 -4 2 1

radix point

e.g.

73HEX = 0 1 1 1 0 0 1 1

7
= /8 x 23 = 7

Normalisation

In normalised form the first two bits are distinct

Overflow - when a number is too large for the exponent to be expressed (positive exponent)

Underflow - when a number is too near zero for the exponent to be expressed (negative
exponent)

e.g. 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0
normalise:

= 0 0 0 0 1 1 0 1 0 1 Exponent = 2

= 0 1 1 0 1 0 1 0 0 0 Exponent = 2 - 3

= 0 1 1 0 1 0 1 0 0 0 1 1 1 1 1 1

Compiled by: Mazhar Javed Awan 28


Quick Revision Notes A Level Computing
Adding two normalised floating point numbers

1. Unnormalise largest (exponent) and make exponents the same


2. Add mantissa (keep exponents)
3. Normalise

e.g. 2.6 x 102 + 8.9 x 103

= 2.6 x 102 + 89 x 102

= 91.6 x 102

= 9.16 x 103

Multiplying two normalised floating point numbers

1. Multiply mantissas
2. Add exponents
3. Normalise

e.g. 2.6 x 102 x 8.9 x 103

= 23.14 x 105

= 2.314 x 106

Operating Systems

Operating system - program or set of programs which manages the operation of the computer
and provides interface between user, hardware and programs

Control program (aka nucleus, monitor, control program, supervisor, executive, kernel) - portion
of the OS - most frequently used instructions stored in main memory while other programs are
being executed

Booting - process of loading the OS from disk to main memory once the computer has been
switched on but before any other programs can be run. A small program (loader) held in ROM
instructs the computer how to load all or part of the OS into memory

Single-user single-process - OS supervises the loading and running of one program at a time and
the input and output of data to and from peripheral devices

Compiled by: Mazhar Javed Awan 29


Quick Revision Notes A Level Computing
Multi-programming - the apparent simultaneous execution of two or more programs (or running
more than one instance of the same program). Two or more programs may be held in memory at
the same time with each program being given a small amount of processor time in term. To make
efficient use of processor time, OS maximises throughput while ensuring that all jobs are
completed in a reasonable time

Multi-user (multi-access) OS - allows two or more users to communicate with the computer at
any one time

Multi-tasking - multi-programming on a single user machine

Batch OS - job runs from beginning to end without intervention from the user. Job Control
Language (JCL) specifies for example job priority, maximum memory, print lines and execution
time required

Multi-user and batch - batch processing jobs run at times of low interactive demand e.g. during
the night when few users are active on the system

Real-time - e.g. process control, information and retrieval, transaction processing

• data input must be processed immediately


• has to be able to respond to events happening at unpredictable times and which may
happen in parallel

Safety critical systems - e.g. on-board computer in aircraft

• must be fault-tolerant and guarantee a response within a specified time interval

Built-in redundancy - processor may not be used at its full capacity for a large part of the time so
that it can respond instantly when required. In addition, components may be duplicated

Client-server system - network where server provides resources to client workstations e.g. file
storage, web access

Printer server - allows all networked machines to have access to a variety of different printers

Spooling - printing jobs sent to server from client workstations held in queue on disk and sent to
printer when free

Distributed computer systems - system resources e.g. processors, disk storage, printers exist in
separate nodes of a network with transparent access to these resources by users being possible

User interface - way in which human user and computer communicate

Command line interface - interactive terminal allows system to prompt the user to type a
command to initiate program execution or perform housekeeping tasks

Advantages:- quicker, greater variety of commands, user less memory, more useful error
messages

Compiled by: Mazhar Javed Awan 30


Quick Revision Notes A Level Computing
Disadvantages:- not user friendly, difficult for beginner

Command line interpreter (CLI) performs the actual task of identifying and executing the
command

Job control language - user has no direct interaction with the computer system. User prepares a
series of instructions off-line using JCL to describe to the system the requirements of the task.
After execution, results are made available via an off-line medium e.g. line printer paper

JCL specifies:

• who owns the job


• job priority
• maximum processor time to allow job
• maximum lines to be printed
• names of files to be used
• resources to be used e.g. magnetic tape, compiler/interpreter
• what to do if program fails

Graphical user interface - user interacts with system using windows, icons, menus and a pointer
to control the operating system. Selection is achieved by moving a pointer with a mouse and
clicking a mouse button

Advantages:- easier for novices to use since more intuitive, only valid options are available,
consistency of layout and command representation in applications, comprehensive on-line help
available

Disadvantages:- uses more immediate access store and secondary store, requires more powerful
processor and better graphics display, slower when executing a command because much more
interpretation takes place, can be irritating for simple tasks because greater number of operations
required

Operating systems functions

• process management
• memory management
• I/O control
• file management

Process - program actually running on the CPU, even though it may be waiting for I/O at a
particular moment

Process states

• running - program actually using CPU


• runnable - program could make use of CPU if it were available
• blocked - program is waiting for I/O and could not use the CPU even if it were free

Process control block - holds the details of where a program was in its execution when it was
interrupted so that it can resume from exactly that place later on

The process control block holds:


Compiled by: Mazhar Javed Awan 31
Quick Revision Notes A Level Computing
• process ID
• job priority
• current state of process
• register save area
• pointer to processor’s allocated memory area
• pointer to allocated resources (printer etc.)
• estimated time to completion
• status (e.g. blocked, running)

Types of interrupt

• generated by running process - e.g. process may need to perform I/O


• I/O interrupts - generated by I/O hardware to signal to CPU that status of a channel or
device has changed
• external interrupts - e.g. expiry of time-slice
• restart interrupts - when operator presses restart button
• program check interrupts - e.g. division by zero
• machine check interrupts - caused by malfunctioning hardware

Interrupt register - special register in CPU checked at the beginning of each fetch-execute cycle.
Each bit represents a different type of interrupt

In some cases if an interrupt occurs during data transfer, some data could be lost so the OS will
disable other interrupts until it completes the task

Program Status Word (PSW) - special register which indicates the types of interrupts currently
enabled and disabled (disabled interrupts remain pending or are ignored)

Job priorities

• in multiprogramming, users can allocate priorities to their jobs


• e.g. short program compilation may be given a higher priority than less urgent batch jobs
• the scheduler allocates priorities to jobs in accordance with a scheduling policy

Scheduling policy

• maximise throughput
• maximise number of interactive users receiving acceptable response times
• balance resource use
• avoid pushing low priority jobs to back of queue indefinitely
• enforce priorities
• achieve balance between response time and utilisation of resources

Round robin scheduling

• processes dispatched on FIFO basis with each process being given a limited amount of CPU
time called a time slice or quantum
• interrupting clock generates interrupts at specific times
• helps guarantee a reasonable response time to interactive users

Memory manager - primarily concerned with the allocation of the physical main memory to
processes. No process may exist until a certain amount of main memory is allocated to it
Compiled by: Mazhar Javed Awan 32
Quick Revision Notes A Level Computing
Objectives of memory management

• to allocate memory space to enable several processes to be executed at the same time
• to protect processes from each other when executing concurrently
• to enable sharing of memory space between processes when required
• to provide a satisfactory level or performance
• to make the addressing of memory space as transparent as possible to the programmer

Absolute loader - loads the program into a single fixed area of memory. Address references in the
program are fixed at translation time. The program will only work properly when loaded into one
specific position in main memory

Relocating loader - can load the program anywhere in main memory because the program has
been translated in such a way that all addresses are relative to the start of the program. The start
address of the program is held in a special register called the base register

Static relocation - once the relocatable object program has been loaded into main memory,
relocatability is lost and the program cannot be moved again

Dynamic relocation - relocatability is maintained and a process can be moved to a different


memory area during its execution. The logical to physical mapping is done at run-time using base
register addressing

Limit register - holds the highest addressable location of the process to allow memory manager to
protect other programs’ memory space from being accidentally addressed by program error

Virtual memory - technique for making the computer appear to have more memory than it
actually has. Small portions of a process are loaded as and when they are needed and are
swapped out when it is the turn for the next process. Many processes can effectively share the
same memory space

Paging - each process is divided into a number of fixed length pages (usually 4KB in length).
When a processes is to be executed, only pages that are immediately required are loaded into
memory

Page management table (PMT) - indicates whether a particular page of the process is loaded or
not and which page frame it is occupying in memory

Disadvantages of paging:-

• may not be efficient e.g. storing 1KB of data in 4KB page frame
• thrashing may occur (if virtual memory system spends almost all its time swapping pages
in and out of memory rather than executing applications)

Advantages of paging:-

• allows process to be relocatable since address of a location in a program states the page
frame (obtained from PMT) and the displacement from the start of the page (remains the
same wherever the page is)

Dynamic linked library (DLL) - collection of small executable programs which run in the presence
of another program
Compiled by: Mazhar Javed Awan 33
Quick Revision Notes A Level Computing
• enables code sharing
• makes operation of program more efficient (DLL does not need to be loaded into memory
when main program is loaded)

General protection fault (GPF) - occurs if a DLL is called incorrectly e.g. by passing the wrong
number of parameters

Allocation units - addressable blocks on a storage device e.g. 512 or 1204 bytes

File management

• allocate space on the storage device to hold each file stored


• keep track of allocation units occupied by each file (files may be split over several
allocation units which are not contiguous)
• control file access rights and permissions
• map logical file address to physical disk address

File Allocation Table (FAT) - maintained by the file management system and details the contents
and status of each addressable block on the disk

Data is transferred to and from disk in units of the physical block size e.g. 512 bytes. If the first
100 bytes of a file are requested by a program, the OS reads the whole block of 512 bytes into a
buffer in memory and the 100 bytes requested are extracted from the buffer. This process
minimises the number of disk transfers at the expense of a small amount of memory space and
some extra processing complexity

I/O management

• each I/O device has its own address and hardware controller unit attached to the I/O bus
system which can transmit data to and from main memory
• the device sends an interrupt signal to the processor when it has completed its task and
the processor initiates further data transfer if required

Device controller

• provides a hardware interface between the computer and the I/O device
• conforms in interface terms with the requirements of the I/O device, therefore different
types of computers do not require different controllers

Device driver

• software module which manages the communication with a specific I/O device
• converts I/O request from the user into specific commands to the device

Applications and Effects


Conventional data processing - inputting and processing data in the form of facts and figures in
order to produce operational or management information

Compiled by: Mazhar Javed Awan 34


Quick Revision Notes A Level Computing
Artificial intelligence

• based on knowledge
• the science of making machines perform tasks that would require intelligence if done by
people
• includes expert systems, problem solving, robot control, intelligent database querying and
pattern recognition (speech comprehension, image processing, robot vision)
• computer capable of learning and improving performance at a given task

Turing test - consider two identical terminals in a room, one connected to a computer and the
other operated remotely by a person. If someone using the two terminals is unable to tell which is
connected to the computer and which is operated by the person, the computer can be credited
with intelligence

Expert systems

• computer programs that attempt to replicate the performance of a human expert on some
specialised reasoning task
• can store and manipulate knowledge so that they can help a user solve a problem or make
a decision
• consists of a knowledge base (facts and rules), an inference mechanism (a means of using
the knowledge) and a human computer interface
• can explain its reasoning to the user
• limited to a specific area of expertise
• PROLOG is one language developed for the creation of expert systems
• used in medical diagnosis, fault diagnosis, geological surveys (to find oil and mineral
deposits), financial services (to predict stock market movement), social services (to
calculate benefits to claimants), industrial uses (e.g ELSIE)

Case study: ELSIE

• built in the 1980s for use in the construction industry


• details entered using a simple menu-driven interface -> system gives a total cost for the
building along with a detailed breakdown
• knowledge base also contains current building regulations for all areas of the country to
ensure the proposed building stays within the law
• can perform calculations in seconds which would previously have taken days or weeks of a
quantity surveyor's time

Expert system shell

• special software program that allows a user to build an expert system without having to
learn a programming language
• provides a straightforward user interface for the expert to enter facts and rules and for the
end-user to use the system to solve a problem

Compiled by: Mazhar Javed Awan 35


Quick Revision Notes A Level Computing

Databases
Conceptual data model - describes how data elements in the system are to be grouped

Entity - thing of interest about which data is to be held

Attribute - property or characteristic of an entity

Relationship - link or association between entities

Entity-relationship diagram - diagrammatic way of representing the relationship between the


entities in a database

Problems with the traditional file approach:-

• Data redundancy - same data duplicated in many different files


• Data inconsistency - when the same items of data are held in several different files, the
data should be updated in each file when it changes (if not -> data inconsistency)
• Program-data dependence - file format (i.e. which data fields constitute a record) must be
specified in each program. Changes to the format of the data fields mean that every file
which uses that program has to be changed
• Lack of flexibility - for non-routine data it could take weeks to assemble data from various
files and write new programs to produce the required reports
• Non-sharable data - if two departments need the same data, either a second copy of the
data would be made (-> data inconsistency) or the same file used (adding extra fields
would mean programs would need to be changed to reflect the new file structure)

Database - collection of non-redundant data sharable between different applications

• all data is centralised and accessible by all applications

Problems with the database approach:-

• Unproductive maintenance - programs still dependent on the structure of the data (when
one department needs to add a new field to a file, all programs accessing that file need to
be changed)
• Lack of security - all data in the database is accessible by all applications

Database Management System (DBMS)

• layer of software between the applications and the data to improve security and eliminate
unproductive maintenance
• the storage structure of the data is hidden from each application/user (program data
independence)
• each user is given a limited view of the data according to need

Relational database

• most common type of DBMS


• data held in tables (relations) and tables are linked by means of common fields

Compiled by: Mazhar Javed Awan 36


Quick Revision Notes A Level Computing
Foreign key - primary key from one table used as foreign key in a second table (common field)

Normalisation

• process used to come up with the best possible design for a relational database
• no data is unnecessarily duplicated
• data is consistent throughout the database
• the structure of each table is flexible such that as few or as many items as are required
may be entered
• the structure enables users to make complex queries relating data from different tables

First normal form - no repeating attributes or groups of attributes

Second normal form - in first normal form and no attribute that is not part of the primary key is
dependent on only a portion of the primary key

Third normal form - no non-key dependencies (Boyce-Codd Normal Form - BCNF)

• a relational database can create links between tables representing different entities
through the use of foreign keys
• it is impossible to normalise a database in a flat file system (since links between tables are
not possible)
• flat file systems do not allow individual access rights to be set or multi-user access

SQL (Structured Query Language) - data access language which deals with the manipulation of
tables and data

DML (Data Manipulation Language) - the part of SQL concerned with asking questions of a
database

Schema - different levels or views from which a database may be considered

• External/user schema - individual's view of the database


• Conceptual/logical schema - overall view of the entire database, including entities,
attributes and relationships, as designed by the database designer
• Internal/storage schema - how data will be stored (concerned with file organisation and
access methods)

DDL (Data Definition Language)

• language used to define the logical structure and the files within the database
• alternative way of creating tables, forms, reports
• e.g. CREATE TABLE Friends

Compiled by: Mazhar Javed Awan 37


Quick Revision Notes A Level Computing
([FriendID] integer,
[LastName] text,
[Notes] memo,
CONSTRAINT[Index] PRIMARY KEY[FriendID]);

DML (Data Manipulation Language) - provides comprehensive set of commands to allow


modification of the data within a database

• enables users to execute queries


• allows advanced users to write programs to carry out sophisticated processing of the
database
• e.g. INSERT INTO Employees(FirstName, LastName, Title).

VALUES ('Harry', 'Washington', 'Trainee')

Open systems - provide a standard by which applications may be written to allow portability to
multiple systems

OBDC (Open Database Connectivity)

• provides a means of accessing data held in one type of database from another database,
spreadsheet etc.
• ODBC driver translates ODBC requests to the correct format for a particular data source

Database Mnagement System (DBMS)

• application program that provides an interface between the OS and the user in order to
make access of the data as simple as possible
• allows users to store, retrieve and update information without having to be aware of the
structure of the database
• creates and maintains the data dictionary
• ensures that problems do not arise when two people simultaneously try to access and
update a record
• ability to recover database in event of system failure
• handles password allocation and access rights

Data dictionary - a database about the database

• what tables and columns are included in the present structure


• characteristics of each item of data (e.g. length, data type)
• restrictions on the values of certain columns
• relationships between items of data
• which program access which items of data (and whether read or write access)

Multi-access database - more than one person can view and update the same tables concurrently

Ensuring integrity - ensuring no data is lost or corrupted (making sure updates are not lost)

• opening entire database in exclusive mode - prohibits all simultaneous access (software
does not have to check for potential conflicts)
• lock all records in the table being modified - (other users could only open the table in
read-only)
• lock the record currently being edited

Compiled by: Mazhar Javed Awan 38


Quick Revision Notes A Level Computing
• no locks - the software makes the users aware of the situation if a record is being
simultaneously updated from two or more workstations, and the users must resolve the
problem
• open table in read-only mode - (if you don't need to update the table)

Deadlock (Deadly embrace)

• if two users are attempting to update two related records in the same table, this can lead
to a situation where neither can proceed
• the DBMS must recognise when this situation has occurred and one of the two tasks must
be aborted to allow the other to proceed

Software protection techniques

• allocate users to named groups and assign different permissions/privileges to each group
• each user will have password which they should change regularly
• the database me be encrypted

Client-server database

• DBMS server software runs on the network server and DBMS client software runs on
individual workstations
• server software processes requests for data searches, sorts and reports that originate from
individual workstations (the entire database does not need to be copied to each
workstation)
• expensive resource (powerful computer and large database) can be made available to a
large number of users
• client stations can update the database rather than just view that data
• consistency of database is maintained (only one copy of data is held)
• communication time between the client and server is minimised because only the query
results are sent back to the client station (not the whole database)

Object-oriented database - stores the data and methods as objects that can be automatically
retrieved and shared (more suited to handling graphics based or multimedia applications)

Systems Development
Analysis

Consider existing system:-

• data - origin, uses, volume, characteristics


• procedures - what, when, where, how and how errors are handled
• future - development plans, expected growth rates
• management reports - requirements for new reports (content and frequency)
• problems with existing system

Fact finding:-

• observation

Compiled by: Mazhar Javed Awan 39


Quick Revision Notes A Level Computing
• reading documentation
• questionnaires
• interview

Data dictionary

• file that stores definitions of data elements and data characteristics such as usage,
physical representation, ownership, authorisation and security
• shows which programs and reports in the database system use the data

Volumetrics

• the volume of data to be processed and the characteristics of the users


• consider the number of input documents or online requests to the system each day
• consider the number of users and whether online or batch processing is required

Design

Considerations:-

• output (content, format, sequence, frequency, medium)


• input (volume, frequency, documents used, input methods)
• user interface
• type of system (e.g. batch, online, real-time)
• files (contents, record layout, organisation, access methods)
• processing (programs and procedures needed and their detailed design)
• security
• testing strategies
• hardware

Prototyping

• building a working model of a system in order to evaluate it, test it or have it approved
before building the final product
• user can experience 'look and feel' of the input process and suggest alterations
• spiral model - life cycle model which spirals towards a final solution

Throwaway prototyping - prototype is discarded before the real system is started

Evolutionary prototyping - prototype developed into a working system

Systems flowchart - diagram showing an overview of a complete system (pictorial representation


of how the system will work)

Compiled by: Mazhar Javed Awan 40


Quick Revision Notes A Level Computing
• tasks to be carried out in the new system

• devices (disk drives, tape drives, terminals) to be used in the system


• media used for input, storage and output
• files used by system

User interface:-

• consider who will use it, what tasks, the environment, what is technically feasible
• screen display should have title, not too cluttered, indicate size and format of data to be
entered, logical sequence, default values where possible, facility to go back and correct
previous entries, full exit and help facilities

Development - coding and testing of the programs which make up the system and the testing of
the system as a whole

Testing strategies:-

• Bottom-up testing
o each individual module is tested as soon as it is written using pre-prepared data
o each complete program is tested (data chosen to ensure every route is tested,
every statement is executed at least once and to verify the accuracy of the
processing and that it meets the original specifications)

Top-down testing - skeleton of complete system is tested with individual modules being replaced
by stubs which display a message to say a certain procedure has been executed

Unit testing - testing each part of the system (as individual modules are completed)

Black box (functional) testing - carried out independently of the code but considered all inputs
and outputs

White box (structural) testing - program code is studied and each possible path is tested at least
once (will not detect missing functions)

Integration testing - when all modules have been individually tested, they are tested to ensure
they work together correctly

Implementation

Methods of conversion:-

• direct changeover - user stops using the old system one day and starts using the new one
the next
o fast and efficient
o minimum duplication of work involved
o normal operation could be seriously disrupted if the new system had errors or does
not work as expected

• parallel conversion - old system continues alongside the new system for a few weeks or
months

Compiled by: Mazhar Javed Awan 41


Quick Revision Notes A Level Computing
o results from new system can be checked against known results
o operations can continue on old system while errors on new system are corrected
o more effort required to keep both systems running

• phased conversion - with larger systems, different modules can be implemented


separately at different times
o also when a few customers are processed under the new system while the rest
remain under the old system for a time

• pilot conversion - new system will be used for a time by only a portion of the organisation
e.g. one branch

Software testing:-

• unit testing - each individual component of the new system is tested


• module testing - each module (collection of dependent components) is tested
• subsystem testing - collections of modules which have been integrated into subsystems
are tested
• system testing - subsystems are integrated to make up the entire system and are tested
to reveal errors from the interaction of different subsystems (also to ensure the system
meets all the requirements of the original specification)
• acceptance testing - before the system is accepted for operational use it is tested with test
data provided by the purchaser to confirm the system meets the original specification, to
find out whether any major changes in operating procedures will be needed and to test the
system in the environment in which it will run with realistic volumes of data

Alpha (acceptance) testing - testing continues until an agreement is reached between the
developer and the system purchaser that the system works correctly and fulfils all the system
requirements

Beta testing - involves giving the package to a number of potential users who agree to use the
system and report any problems to the developers -> detects errors that may not have been
anticipated by the developers

Post implementation review

• critical examination of the system three to six months after it has been put into operation
• comparison of system's actual performance with anticipated performance objectives
• assessment of each aspect of the system against pre-set criteria
• analyse errors made during system development
• consider unexpected benefits and problems

Software maintenance:-

• perfective maintenance - making the system better without changing its functionality e.g.
made to run faster
• adaptive maintenance - due to changing needs in the company e.g. adapting a single-user
system to multi-user or due to changes in hardware
• corrective maintenance - correction of previously undetected errors

Laws of software maintenance:-

Compiled by: Mazhar Javed Awan 42


Quick Revision Notes A Level Computing
1. A program used in the real-world environment must change or become less useful over
time
2. As programs evolve, the structure becomes more complex. Extra resources should be
devoted to simplifying the structure
3. Program evolution is a self-regulating process. The number of changes which may be
implemented at any one time is limited.
4. Rate of program development is approximately constant for the life of a program (and is
independent of the resources devoted to system development)
5. The incremental change in each release of a system is approximately constant

Factors affecting maintainability:

• good program design


• well-structured, modular programs, well commented, meaningful variable names
• use of appropriate high level language
• good system and program documentation
• record of all maintenance work carried out, when, why and by whom

Installation manual:-

• hardware requirements
• OS requirements
• details of how to install
• how to customise system
• special instructions for multi-user or networked versions
• how to set up new data files or set parameters for first time
• software registration instructions
• upgrade instructions if upgrading from previous versions

Operations manual - used by anyone concerned with the day-to-day operation of the computer
system

• details of how to start program


• details of disks or tapes required
• special stationary to be used
• number of copies of each report and who is to receive them
• backup procedures
• recovery procedures (in event of hardware failure)

User manual - aimed at various levels of end-user (senior managers, middle managers, clerical
workers) who will be using the system

• menu structure
• how to navigate around package
• how to enter data
• format or reports and how to print them
• how to undo actions when an error has been made
• how to get on-line help
• user support telephone number

Training

• users at different levels of the company may require different levels of training

Compiled by: Mazhar Javed Awan 43


Quick Revision Notes A Level Computing
e.g. clerical worker may need to know how to enter daily or weekly sales figures; sales
staff may need to know how to enter customer details and put through a sale; managers
need to be able to extract information for decision-making

Methods of training:-

• training manual
• on-line tutorial
• video training course
• formal, instructor-led training course

Hardware Devices
Scanner

• shines bright light onto image being scanner while scan head moves from top of document
to bottom at constant rate
• scan head measures intensity of light reflected back from document -> converted to digital
information
• resolution measured in dots per inch
• for colour scanning, three passes of scan head are required (using red, green and blue
filters)

Touch screen

• user touches area of screen in order to enter data


• used in industrial environments such as manufacturing, warehousing and security systems
and in avionics and medicine
• suitable in situations where the operator is moving about and can quickly and easily enter
commands by touching the screen
• hand-held portable model used by airlines to record receipts for bar sales, by hospitals to
collect information on maternity patients and by local authorities for door-to-door
collection of taxes

Pressure sensitive/capacitive overlay screens

• consists of a glass substrate covered with a tight fitting plastic sheet


• conductive coatings applied to inner surface of both elements
• separator dots separate cover sheet from glass substrate
• light finger pressure -> internal electrical contact at point of touch -> controller supplied
with analogue voltage needed for digitisation

Acoustic wave technology

• screen is single glass panel with electrical transducers in the corners


• interfacing controller sends electrical signal to transducers which convert the signal into
surface acoustic waves

Compiled by: Mazhar Javed Awan 44


Quick Revision Notes A Level Computing
• waves are reflected across the active area of the glass by an array or reflector stripes
located on the outer edges of the glass
• when a finger or pen touches the screen, a portion of the wave is absorbed and the
change in the received signal is analysed by the microprocessor in the interfacing
controller
• digitised co-ordinate pairs are transmitted to the computer

Analogue to digital conversion

• input signal range divided up into a number of discrete levels (number of levels
determines the resolution with which analogue signal can be reproduced)
• samples of analogue signals taken at frequent intervals and converted to digital values

Interrupt-driven system e.g. traffic lights

• computer receives a signal as soon as data is collected and can then decide what action to
take if any

Polled system - computer periodically checks the input level from a device

Turnaround documents - produced as output for one computer process and can be used as input
for another

Networking
WAN - collection of computers spread over a wide geographical area. Communication may be via
microwave, satellite link or telephone line (typically transitory)

Communication links

• Twisted pair (copper cable) -> telephone line (analogue) - cheap, slow transmission rates,
electronic interference

• Coaxial cable - high quality, well insulated, high speeds, more accurate

• Fibre optic cable - pulses of light sent in digital form

• Microwave - cannot be more than 30 miles apart due to Earth's curvature

• Communications satellite - geosynchronous orbit 22000 miles above the Earth

Types of coaxial cable

• Baseband
o carries one signal at a time

Compiled by: Mazhar Javed Awan 45


Quick Revision Notes A Level Computing
o signals can travel very fast but can only be sent over short distances (booster
equipment required after 1000 feet)

• Broadband e.g. ISDN -> broadband digital communications technology


o can carry multiple signals on a fixed carrier wave
o faster transmission rates than with a modem and telephone line
o enables transmission of voice, video and computer data simultaneously ->
videoconferencing

Synchronous data transmission e.g. LAN

• timing signals synchronise the transmission at the sending and receiving end
• no need for start and stop bits for each character (only at beginning and end of whole
block)
• higher transfer rates (but may be more errors)

Multiplexor - combines more than one input signal into a stream of data that can be transmitted
over a communication channel

• increase efficiently of communication and saves cost of individual channels

Demultiplexor - separates the single stream of data into separate components at the receiving
end

Time-division multiplexing - transmission time split up into tiny time-slices

• each user can transmit a small amount of data in turn


• high bandwidth -> thousands of users can transmit digital data/have telephone
conversations apparently simultaneously down a single high speed wire

Circuit switching e.g. public telephone system

• set fixed message path for the duration of the call by operating switches in all exchanges
involved in the path
• electrical interference produced

Packet switching e.g. Internet

• messages are divided up into packets (fixed length blocks of data)


• packets contain:
o data
o source and destination address
o packet sequence number (so that the whole message can be correctly
reassembled)
o checksum for error checking
• packets may be sent along different routes and are reassembled by the packet switching
system (PSS) at the receiving end
• computers in PSS can perform error checking -> request transmission of packets found to
be in error or perform error correction
• each user requires a network user identity

Compiled by: Mazhar Javed Awan 46


Quick Revision Notes A Level Computing
Virtual circuit - temporary 'dedicated' pathway between two points on a PSS -> bandwidth
allocated for a specific transmission pathway

Advantages of packet switching:-

• more efficient use of lines


• cost depends on number of packets sent, not distance, so all data can be transmitted at
local call rates
• less likely to be affected by network failure because of multiple routes available to transmit
data packets
• better security (data less likely to be intercepted because the packets may be sent along
different routes or interleaved with other unrelated packets)

Asynchronous Transfer Mode (ATM)

• type of packet-switching system which can support a wide range of different data types
(e.g. computer data, voice, fax, CD-quality audio, real-time video)
• packets referred to as cells
• digital lines -> noise-free and error-free communication -> high transmission rates

Standard (network) protocols - in order for two computers on a network to communicate


successfully, they must share a common set of rules about how to communicate

• how to interpret signals


• how to identify 'oneself' and other computers on a network
• how to initiate and end networked communications

Protocol stack - provides software that enables computers to communicate across a network

e.g. Transmission Control Protocol/Internet Protocol (TCP/IP)

• protocol governing the transmission of data


• data is divided into packets to which addressing information, error correction code and
identification are added
• the packets travel to their destination over the network and the receiving PC checks for
mistakes and pieces the data together in the right order

Open Systems Interconnection (OSI) Model

• Application Layer - initiates or accepts a request


• Presentation Layer - adds formatting, display and encryption information
• Session Layer - adds traffic-flow control information
• Transport Layer - adds error-handling information
• Network Layer - adds sequencing and address information
• Data Link Layer - adds error-checking information and formats data for physical
transmission
• Physical Layer - sends data as a bit stream

Local Area Network

Network topology

Compiled by: Mazhar Javed Awan 47


Quick Revision Notes A Level Computing
• refers to the physical layout of computers, cables and other resources and to how these
components communicate with each other
• has an impact on a network's performance and growth

Bus network

• all components are connected via a backbone (a single cable segment connecting all the
computers in a line)
• entire network will be brought down by a single cable break
• terminator at the end of the line absorbs all signals that reach it to clear the network for
new communication
• data is sent in packets across the network and received by all connected computers; only
the computer with the packet destination address accepts the data
• only one computer can send information at a time
• Ethernet uses a collision system - carrier sense multiple access with collision detection
(CSMA-CD) - if transmitted messages collide, both stations abort and wait a random time
period before trying again
• network performance degrades under heavy load

Ring network

• signals travel in one direction only


• fast topology
• if one computer fails, the whole network will go down

Token passing

• a small packet called a token is passed around the ring to each computer in turn
• to send information, a computer modifies the token, adds address information and sends it
down the ring
Compiled by: Mazhar Javed Awan 48
Quick Revision Notes A Level Computing
• information travels around the ring until it reaches its destination or returns to the sender
• when a packet is received by the destination computer, it returns a message to the sender
indicating its arrival

Star topology

• computers connected by cable segments to a central hub


• a signal sent from a computer is received by the hub and retransmitted down every other
cable segment to all other computers on the network
• only the computer the signal is addressed to acts upon the data
• if one computer fails, the others are unaffected
• if the hub goes down, the whole network goes down

Ethernet - network architecture with several different implementations using different types of
cable

Segmentation - networks can be segmented to reduce traffic on each segment by inserting a


bridge or router between each network segment -> better network performance

Server-based network e.g. Novell's NetWare

• used when there are more than 3 or 4 computers on a network (can support hundreds of
users)
• client devices send requests for service (e.g. printing, retrieval of data) to specific server
devices
• central backing store available to all users
• software and data centrally held and distributed to clients as they request them
• some processing tasks are performed by the desktop computer and others handled by the
file server
• servers provide network with more speed and power but add expense and complication
• servers may be physically located in a secure office
• user IDs and passwords can be controlled by the central computer
• backup facilities are centralised
• if the central facility goes down, all users are affected

Peer-to-peer network e.g. Microsoft Windows 98

• suitable for a small company (under 10 computers) which does not need the power and
speed of client-server architecture
• data can be easily accessed from any computer
Compiled by: Mazhar Javed Awan 49
Quick Revision Notes A Level Computing
• each workstation can communicate directly with every other workstation on the network
without going through a server
• appropriate when the network users mostly do their own work but occasionally need to
share data or communicate with each other
• if a user wishes to retrieve data from a workstation that is switched off, the data cannot be
retrieved
• storage facilities are distributed throughout the network
• copies of software may be held on individual machines
• security is not centrally controlled
• backup is the responsibility of individual computer users
• easy and cheap to set up and requires no special network OS

Wide Area Network

Dial-up networking

• user pays for the amount of time spent using the telephone link
• less expensive
• more appropriate for low-volume applications requiring only occasional transmission

Dedicated/leased line

• line is continually available for transmission and the user pays a flat rate for total access to
the line
• transmit data at higher speeds
• more appropriate for high volume transmission

Value-added network (VAN)

• private, multipath, data-only, third-party managed network


• used by multiple organisations
• may use ISDN lines, satellite links etc.
• set up by a firm in charge of managing the network
• subscribers pay a subscription fee and for data transmission time
• cost of using the network shared among many users
• subscribers do not have to invest in network equipment or perform their own error
checking, routing and protocol conversion

Electronic data interchange (EDI)

• e.g. transmitting A level results to schools using BT's CampusConnect


• virtually instantaneous electronic transmission of business data from one firm's
computerised information to that of another firm
• increases accuracy and eliminates delays

Modem

• converts digital signal received from a computer into an analogue signal that can be sent
along ordinary telephone lines, and back to digital at the other end
• speed measured in bits per second e.g. 56K bps
• parameters must be specified when a modem is installed:
o the telephone number of the ISP
o baud rate of modem
o number of data bits per block
Compiled by: Mazhar Javed Awan 50
Quick Revision Notes A Level Computing
o number of stop bits
o whether odd or even parity is used

ISDN line - requires a network adapter and a network termination device (no modem required)

Cable modems - employ broadband transmission across regular cable television wires

Asymmetric Digital Subscriber Line (ASDL) - offers Internet connection up to 30 times faster than
dial-up modems still using traditional copper wires but allocating more bandwidth to the data flow
from the ISP to the PC than is allocated from the PC to the ISP

Internetwork

• created when two or more independent networks are connected but continue to function
separately e.g. Internet
• in larger networks it is common to supply multiple paths through the network to provide
fault tolerance

Bridge

• device that connects networks using the same communications protocols


• cannot handle multiple paths for data

Router

• can route packets of the same protocol (e.g. TCP/IP) over networks with dissimilar
architectures (e.g. Ethernet to token ring)
• receives transmitted messages and forwards them to their correct destinations over the
most efficient available route
• used to form complex networks with multiple paths between network segments (subnets)
-> each subnet and each node on each subnet is assigned a network address

Gateway

• device that connects networks with different architectures and different protocols
• when packets arrive at a gateway, the software strips all networking information from the
packet, leaving only the raw data
• gateway translates the data into the new format and sends it on using the networking
protocols of the destination system

The Internet

Internet backbone - major Internet communications links maintained by network service


providers (NSPs)

World Wide Web

• part of the Internet which allows people to view information stored on participating
computers
• consists of pages that contain information on a particular topic and links to other Web
pages which may be stored on other computers in different countries

Compiled by: Mazhar Javed Awan 51


Quick Revision Notes A Level Computing
Internet Service Provider (ISP)

• provides users with a connection to the Internet and the software needed to navigate
• routes data between computers and Internet backbone

On-line Service Provider - provides users with access to the Internet and its own private network
of services

Usenet newsgroups - different newsgroup devoted to specific areas or interest

Email

• send a message anywhere in the world for the price of a local call (cheaper than fax or
telephone for long distances)
• attach files (e.g. documents, photographs)
• send the same letter to a group of people simultaneously
• much quicker than mail
• helps effective communication (rules of how to set out a letter don't apply)
• you will be automatically notified if the message doesn't reach the address
• pick up your email from anywhere in the world

Telnet - software program that allows users to connect to a remote computer via the Internet and
use the programs on that computer

Disadvantages of email:-

• viruses can be spread in email attachments


• junk mail can be a problem
• direct and informal -> easy to offend people
• can be depressing if overloaded with emails

Web browser - software used to view and download Web pages

Facilities include:-

• bookmark pages for quick reference later


• save most recently visited pages for viewing off-line
• browse back and forward through most recently viewed pages
• play video clips and sounds if appropriate plug-in software is installed
• download files to a local hard disk
• fill in an online form and submit it via email
• netcasting - have pages pushed at you rather than requesting them
• keep a history of pages visited within a specified period

Search engine - enables users to search the contents of millions of Web pages simultaneously

Java applets - small Java programs with the extension .class, which can be executed though Web
browsers

Java script - allows fast creation of Web page events


Compiled by: Mazhar Javed Awan 52
Quick Revision Notes A Level Computing
- creates interaction between the user and the Web page

HTML (Hypertext Markup Language) - programming language behind every Web page, controlling
how the text and graphics are displayed

FTP (File Transfer Protocol) - used to download files from the Web or upload pages to a Web site

On-line banking e.g. Smile (on-line bank with no branch network to support customers)

• four times cheaper to operate than telephone banking and 10 times cheaper than high
street banking
• fewer high street banks, less office space (fewer overheads), fewer staff

Online shopping

• save on overheads
• 'virtual shop' can have more stock
• 'Just In Time' delivery from suppliers
• list of customers, purchases etc. -> valuable market research tool
• customers can shop at any hour of the day
• customers can hear snatches of music before they buy it
• no jostling crowds

e.g. Tesco for weekly shopping

• save customer time once list initially set up


• £5 charge includes delivery (delivery day confirmed, not time)

Internet registry - to register a domain name (e.g. Nominet)

Cybersquatting - speculating domain names in order to try to earn a profit by selling the names
they have registered

Digital certificate

• used to prevent others from viewing incoming mail


• to send an encrypted message you must know the receiver's public key and how to use it
• receiver user private key to decrypt massage
• Outlook express can automatically send your public key with outgoing emails

Digital signature

• authenticates the sender, proves that the message has not been tampered with and
prevents the sender from denying having sent it
• mathematical summary (hash code) of document generated and appended to document,
transmitted with it and checked at the receiving end. The slightest difference to the
document will not generate the same hash code
• a programmer signs a program by attaching their digital signature; programs which have a
digital signature are therefore less likely to contain viruses

Encryption

Compiled by: Mazhar Javed Awan 53


Quick Revision Notes A Level Computing
• the scrambling of data so that it becomes very difficult to unscramble and interpret
• performed using cryptographic algorithm (public) and key (private)
• longer key -> greater keyspace (range of possible values)
• used to make it unlikely that ciphertext (scrambled data) could be broken within the period of
time during which the contents should remain secret

Decryption - unscrambling ciphertext back to the original plaintext

Strong encryption - implies it would effectively be impossible to find the key within the effective
lifetime of the secret

• limits ability of governments to monitor messages by suspected terrorists


• some governments would like to ban it unless a back door is made available to Law
Enforcement or a decryption key is lodged with a Trusted Third Party (TTP)

Weak encryption - implies that the key could be found with a realistic amount of processing
capacity and a reasonable amount of time

Factoring - attempting to find the two prime factors of a product (used in encryption)

Firewall - mechanism for protecting a corporate network from external communications systems
e.g. Internet

• consists of a computer containing two network interface cards (NICs) and running a special
firewall program
• one NIC is connected to the company's LAN and the other is connected to the Internet
• computer acts as a barrier through which all information passing between the two
networks must travel
• firewall software analyses each packet of information and rejects it if it does not confirm to a
preconfigured rule
Viruses e.g. Melissa (1999 macro virus) - mailed itself as attachment to first 50 addresses in
Outlook Express Address Book

Compiled by: Mazhar Javed Awan 54

You might also like