computing revsion a level by sir mazhar javed

64
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. CPU contains control unit and ALU Compiled by: Mazhar Javed Awan 1

Upload: mazhar4m

Post on 27-Apr-2015

207 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingComputer 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 ArchitectureFetch-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.

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

Compiled by: Mazhar Javed Awan 1

Page 2: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingBuses

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) 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 ProgrammingAssembly Code

uses mnemonics (aids to memory)

Compiled by: Mazhar Javed Awan 2

Page 3: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 3

Page 4: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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' 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

Compiled by: Mazhar Javed Awan 4

Page 5: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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 fast and economical for small amounts of data

Compiled by: Mazhar Javed Awan 5

Page 6: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingHandshaking - 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 6

Page 7: Computing Revsion a Level by Sir Mazhar Javed

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)

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

Compiled by: Mazhar Javed Awan 7

Page 8: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 8

Page 9: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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

Compiled by: Mazhar Javed Awan 9

Page 10: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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

Compiled by: Mazhar Javed Awan 10

Page 11: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingBiometric 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 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

Compiled by: Mazhar Javed Awan 11

Page 12: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingRelationship - 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

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

Compiled by: Mazhar Javed Awan 12

Page 13: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingReal-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)

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

Compiled by: Mazhar Javed Awan 13

Page 14: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingSmart 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 £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

Compiled by: Mazhar Javed Awan 14

Page 15: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingSecondary 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

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 CycleFeasibility

operational technological financial

Analysis

Compiled by: Mazhar Javed Awan 15

Page 16: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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

Compiled by: Mazhar Javed Awan 16

Page 17: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingEvaluation

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 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

Compiled by: Mazhar Javed Awan 17

Page 18: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

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

SCR (PC) Sequence Control Register (Program Counter)

Holds address of next instruction to be fetched

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

MBRMDR

Memory Buffer RegisterMemory Data Register

Contains word read from/written to memory

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

Compiled by: Mazhar Javed Awan 18

Page 19: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing1. 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

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

Compiled by: Mazhar Javed Awan 19

Page 20: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingInstruction 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

Shift Instructions

 LEFT RIGHT

LOGICAL MSB is discarded as all other bits move to the left

LSB shifted into carry bit & zero moves in to occupy vacated space

ARITHMETICMultiply by 2; Divide by 2;

Compiled by: Mazhar Javed Awan 20

Page 21: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

Sign bit is preserved Sign bit is preserved, i.e. if sign bit is one, one is moved in from left

CIRCULAR (ROTATE) MSB is moved into carry bit Value of carry bit is moved 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

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

Compiled by: Mazhar Javed Awan 21

Page 22: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 22

Page 23: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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

Compiled by: Mazhar Javed Awan 23

Page 24: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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

Compiled by: Mazhar Javed Awan 24

Page 25: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 25

Page 26: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

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 26

Page 27: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

= + 5¾

Floating point

MANTISSA EXPONENT

-1 1/21/4

1/81/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. normalise:

 0 0 0 0 1 1 0 1 0 1

 0 0 0 0 1 0

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

   ^

                             

Compiled by: Mazhar Javed Awan 27

Page 28: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

 = 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

   ^

                             

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 

Compiled by: Mazhar Javed Awan 28

Page 29: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

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

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

Compiled by: Mazhar Javed Awan 29

Page 30: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingClient-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

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 Compiled by: Mazhar Javed Awan 30

Page 31: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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:

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

Compiled by: Mazhar Javed Awan 31

Page 32: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 32

Page 33: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingDisadvantages 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

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

Compiled by: Mazhar Javed Awan 33

Page 34: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingDevice 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

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

Compiled by: Mazhar Javed Awan 34

Page 35: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingExpert 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

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

Compiled by: Mazhar Javed Awan 35

Page 36: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingRelational database

most common type of DBMS data held in tables (relations) and tables are linked by means of common fields

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 36

Page 37: Computing Revsion a Level by Sir Mazhar Javed

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 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

Compiled by: Mazhar Javed Awan 37

Page 38: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 reading documentation questionnaires interview

Compiled by: Mazhar Javed Awan 38

Page 39: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingData 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)

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:-

Compiled by: Mazhar Javed Awan 39

Page 40: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 40

Page 41: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingSoftware 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:-

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

Compiled by: Mazhar Javed Awan 41

Page 42: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 42

Page 43: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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

Compiled by: Mazhar Javed Awan 43

Page 44: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingTurnaround 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 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

Compiled by: Mazhar Javed Awan 44

Page 45: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingDemultiplexor - 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

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

Compiled by: Mazhar Javed Awan 45

Page 46: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 46

Page 47: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

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 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

Compiled by: Mazhar Javed Awan 47

Page 48: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing

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 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

Compiled by: Mazhar Javed Awan 48

Page 49: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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 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

Compiled by: Mazhar Javed Awan 49

Page 50: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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

Compiled by: Mazhar Javed Awan 50

Page 51: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level ComputingFacilities 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

- 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

Compiled by: Mazhar Javed Awan 51

Page 52: Computing Revsion a Level by Sir Mazhar Javed

Quick Revision Notes A Level Computing 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

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 52