computing revsion a level by sir mazhar javed
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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