SlideShare uma empresa Scribd logo
1 de 7
 
Buffers A buffer is an area of computer memory that is allocated to  transferring data between the computer and a peripheral .  A buffer will be used when a  fast  acting part of the system is  exchanging data  with a  slow  acting device eg a printer
Buffers Most interfaces have buffers to store blocks of data while in transfer between the processor and the peripheral. This ensures that the  processor is not held  up by slow communications to and from the peripherals.  The buffer must also keep the  status  of the peripheral so that the processor knows when it is able to send or receive data and when problems arise.
Buffers Most interfaces have buffers to store blocks of data while in transfer between the processor and the peripheral. This ensures that the  processor is not held  up by slow communications to and from the peripherals.  The buffer must also keep the  status  of the peripheral so that the processor knows when it is able to send or receive data and when problems arise.
Spoolers Another approach to ensuring the processor is not held up by slow peripherals is to send data to be  spooled .  This means that the  data is sent to fast backing storage  (usually the hard disk). Data is then sent from the backing store to the peripheral  in the gaps between processing actions  (an example of this is background printing).
Spoolers The  user can continue operating the computer  while the data is being sent to the peripheral. This is  preferred to buffering when large amounts of data is to be sent  or if the peripheral is shared across a network.
Credits Higher Computing – Peripherals – Buffers and Spoolers Produced by P. Greene for the City of Edinburgh Council 2004 Adapted by M. Cunningham 2010

Mais conteúdo relacionado

Mais procurados

Cache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organizationCache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organizationHumayra Khanum
 
Cache optimization
Cache optimizationCache optimization
Cache optimizationKavi Kathir
 
Secondary storage devices
Secondary storage devices Secondary storage devices
Secondary storage devices Slideshare
 
Computer Organisation and Architecture
Computer Organisation and ArchitectureComputer Organisation and Architecture
Computer Organisation and ArchitectureSubhasis Dash
 
Linux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKBLinux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKBshimosawa
 
CACHE MEMORY
CACHE MEMORYCACHE MEMORY
CACHE MEMORYVENNILAV6
 
pstack, truss etc to understand deeper issues in Oracle database
pstack, truss etc to understand deeper issues in Oracle databasepstack, truss etc to understand deeper issues in Oracle database
pstack, truss etc to understand deeper issues in Oracle databaseRiyaj Shamsudeen
 
Overview of Concurrency Control & Recovery in Distributed Databases
Overview of Concurrency Control & Recovery in Distributed DatabasesOverview of Concurrency Control & Recovery in Distributed Databases
Overview of Concurrency Control & Recovery in Distributed DatabasesMeghaj Mallick
 
How to Reduce Your Database Total Cost of Ownership with TimescaleDB
How to Reduce Your Database Total Cost of Ownership with TimescaleDBHow to Reduce Your Database Total Cost of Ownership with TimescaleDB
How to Reduce Your Database Total Cost of Ownership with TimescaleDBTimescale
 
Thousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/OThousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/OGeorge Cao
 

Mais procurados (20)

Cache memory
Cache memoryCache memory
Cache memory
 
Write miss
Write missWrite miss
Write miss
 
Cache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organizationCache Memory Computer Architecture and organization
Cache Memory Computer Architecture and organization
 
Cache Memory
Cache MemoryCache Memory
Cache Memory
 
cache memory
 cache memory cache memory
cache memory
 
Input & Output
Input & OutputInput & Output
Input & Output
 
Cache memory
Cache memoryCache memory
Cache memory
 
Cache optimization
Cache optimizationCache optimization
Cache optimization
 
Secondary storage devices
Secondary storage devices Secondary storage devices
Secondary storage devices
 
Memory hierarchy
Memory hierarchyMemory hierarchy
Memory hierarchy
 
Computer Organisation and Architecture
Computer Organisation and ArchitectureComputer Organisation and Architecture
Computer Organisation and Architecture
 
Linux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKBLinux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKB
 
CACHE MEMORY
CACHE MEMORYCACHE MEMORY
CACHE MEMORY
 
Cache memory
Cache memoryCache memory
Cache memory
 
Cache memory
Cache memoryCache memory
Cache memory
 
pstack, truss etc to understand deeper issues in Oracle database
pstack, truss etc to understand deeper issues in Oracle databasepstack, truss etc to understand deeper issues in Oracle database
pstack, truss etc to understand deeper issues in Oracle database
 
Overview of Concurrency Control & Recovery in Distributed Databases
Overview of Concurrency Control & Recovery in Distributed DatabasesOverview of Concurrency Control & Recovery in Distributed Databases
Overview of Concurrency Control & Recovery in Distributed Databases
 
Cache Memory
Cache MemoryCache Memory
Cache Memory
 
How to Reduce Your Database Total Cost of Ownership with TimescaleDB
How to Reduce Your Database Total Cost of Ownership with TimescaleDBHow to Reduce Your Database Total Cost of Ownership with TimescaleDB
How to Reduce Your Database Total Cost of Ownership with TimescaleDB
 
Thousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/OThousands of Threads and Blocking I/O
Thousands of Threads and Blocking I/O
 

Destaque

Apics Pdm Buffer Mgt. 1 09 07
Apics Pdm Buffer Mgt. 1 09 07Apics Pdm Buffer Mgt. 1 09 07
Apics Pdm Buffer Mgt. 1 09 07rbernett
 
Water buffer management, 3R – Retention, Recharge and Reuse
Water buffer management, 3R – Retention, Recharge and Reuse Water buffer management, 3R – Retention, Recharge and Reuse
Water buffer management, 3R – Retention, Recharge and Reuse SamSamWater Foundation
 
5. spooling and buffering
5. spooling and buffering 5. spooling and buffering
5. spooling and buffering myrajendra
 
Services provided by os
Services provided by osServices provided by os
Services provided by osSumant Diwakar
 
Operating system services 9
Operating system services 9Operating system services 9
Operating system services 9myrajendra
 
The slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollarsThe slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollarsBuffer
 

Destaque (11)

Types of computer (CfE)
Types of computer (CfE)Types of computer (CfE)
Types of computer (CfE)
 
Buffer manager
Buffer managerBuffer manager
Buffer manager
 
Apics Pdm Buffer Mgt. 1 09 07
Apics Pdm Buffer Mgt. 1 09 07Apics Pdm Buffer Mgt. 1 09 07
Apics Pdm Buffer Mgt. 1 09 07
 
Comp graphics
Comp graphicsComp graphics
Comp graphics
 
Water buffer management, 3R – Retention, Recharge and Reuse
Water buffer management, 3R – Retention, Recharge and Reuse Water buffer management, 3R – Retention, Recharge and Reuse
Water buffer management, 3R – Retention, Recharge and Reuse
 
Creating perfect harmony asq 2011
Creating perfect harmony asq 2011Creating perfect harmony asq 2011
Creating perfect harmony asq 2011
 
5. spooling and buffering
5. spooling and buffering 5. spooling and buffering
5. spooling and buffering
 
Services provided by os
Services provided by osServices provided by os
Services provided by os
 
Operating system services 9
Operating system services 9Operating system services 9
Operating system services 9
 
All About Print Spoolers
All About Print SpoolersAll About Print Spoolers
All About Print Spoolers
 
The slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollarsThe slide deck we used to raise half a million dollars
The slide deck we used to raise half a million dollars
 

Semelhante a Buffers and spoolers

Unit vos - File systems
Unit vos - File systemsUnit vos - File systems
Unit vos - File systemsdonny101
 
Basics of Operating System
Basics of Operating SystemBasics of Operating System
Basics of Operating SystemSoumit Ghosh
 
File Management in Operating Systems
File Management in Operating SystemsFile Management in Operating Systems
File Management in Operating Systemsvampugani
 
IO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTUREIO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTUREHariharan Anand
 
Introduction to mis
Introduction to misIntroduction to mis
Introduction to misJob Thomas
 
Microprocessor_IO Interfacing.ppt
Microprocessor_IO Interfacing.pptMicroprocessor_IO Interfacing.ppt
Microprocessor_IO Interfacing.pptPratheep Ganesan
 
Introduction to Interfacing Technique
Introduction to Interfacing TechniqueIntroduction to Interfacing Technique
Introduction to Interfacing TechniqueMabeth MaRiyah Ramos
 
Ch # 04 computer hardware
Ch # 04 computer hardware Ch # 04 computer hardware
Ch # 04 computer hardware MuhammadRobeel3
 
Operating system
Operating systemOperating system
Operating systemmak120
 
Kernel I/O subsystem
Kernel I/O subsystemKernel I/O subsystem
Kernel I/O subsystemAtiKa Bhatti
 
CT01 Computer Basics
CT01 Computer BasicsCT01 Computer Basics
CT01 Computer Basicsehillpamlico
 
Performance Tuning
Performance TuningPerformance Tuning
Performance TuningJannet Peetz
 
Lecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdf
Lecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdfLecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdf
Lecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdfAyaulymNurdilda1
 

Semelhante a Buffers and spoolers (20)

Interfaces
InterfacesInterfaces
Interfaces
 
Os structure
Os structureOs structure
Os structure
 
Unit vos - File systems
Unit vos - File systemsUnit vos - File systems
Unit vos - File systems
 
Basics of Operating System
Basics of Operating SystemBasics of Operating System
Basics of Operating System
 
Operating system jitendra
Operating system jitendraOperating system jitendra
Operating system jitendra
 
File Management in Operating Systems
File Management in Operating SystemsFile Management in Operating Systems
File Management in Operating Systems
 
G143
G143G143
G143
 
IO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTUREIO SYSTEM AND CASE STUDY STRUCTURE
IO SYSTEM AND CASE STUDY STRUCTURE
 
Introduction to mis
Introduction to misIntroduction to mis
Introduction to mis
 
Microprocessor_IO Interfacing.ppt
Microprocessor_IO Interfacing.pptMicroprocessor_IO Interfacing.ppt
Microprocessor_IO Interfacing.ppt
 
Introduction to Interfacing Technique
Introduction to Interfacing TechniqueIntroduction to Interfacing Technique
Introduction to Interfacing Technique
 
Memory hierarchy
Memory hierarchyMemory hierarchy
Memory hierarchy
 
operating system structure
operating system structureoperating system structure
operating system structure
 
Ch # 04 computer hardware
Ch # 04 computer hardware Ch # 04 computer hardware
Ch # 04 computer hardware
 
Operating system
Operating systemOperating system
Operating system
 
Ram iit ppt
Ram iit pptRam iit ppt
Ram iit ppt
 
Kernel I/O subsystem
Kernel I/O subsystemKernel I/O subsystem
Kernel I/O subsystem
 
CT01 Computer Basics
CT01 Computer BasicsCT01 Computer Basics
CT01 Computer Basics
 
Performance Tuning
Performance TuningPerformance Tuning
Performance Tuning
 
Lecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdf
Lecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdfLecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdf
Lecture 2_006ce463f6b1f768ce13b30d3bca6eea.pdf
 

Mais de Forrester High School (20)

Program Design
Program DesignProgram Design
Program Design
 
Database Evaluation
Database EvaluationDatabase Evaluation
Database Evaluation
 
Testing SQL
Testing SQLTesting SQL
Testing SQL
 
SQL
SQLSQL
SQL
 
Database Query Design
Database Query DesignDatabase Query Design
Database Query Design
 
Data Dictionary
Data DictionaryData Dictionary
Data Dictionary
 
Compound Keys
Compound KeysCompound Keys
Compound Keys
 
Entity Occurrence Diagrams
Entity Occurrence DiagramsEntity Occurrence Diagrams
Entity Occurrence Diagrams
 
Entity Relationship Diagrams
Entity Relationship DiagramsEntity Relationship Diagrams
Entity Relationship Diagrams
 
Database Analysis
Database AnalysisDatabase Analysis
Database Analysis
 
Software Evaluation
Software EvaluationSoftware Evaluation
Software Evaluation
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Standard Algorithms
Standard AlgorithmsStandard Algorithms
Standard Algorithms
 
File Handling
File HandlingFile Handling
File Handling
 
Python Predefined Functions
Python Predefined FunctionsPython Predefined Functions
Python Predefined Functions
 
Python Substrings
Python SubstringsPython Substrings
Python Substrings
 
Variable Scope
Variable ScopeVariable Scope
Variable Scope
 
Sub-programs
Sub-programsSub-programs
Sub-programs
 
Records in Python
Records in PythonRecords in Python
Records in Python
 
Parallel arrays in python
Parallel arrays in pythonParallel arrays in python
Parallel arrays in python
 

Último

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 

Último (20)

Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 

Buffers and spoolers

  • 1.  
  • 2. Buffers A buffer is an area of computer memory that is allocated to transferring data between the computer and a peripheral . A buffer will be used when a fast acting part of the system is exchanging data with a slow acting device eg a printer
  • 3. Buffers Most interfaces have buffers to store blocks of data while in transfer between the processor and the peripheral. This ensures that the processor is not held up by slow communications to and from the peripherals. The buffer must also keep the status of the peripheral so that the processor knows when it is able to send or receive data and when problems arise.
  • 4. Buffers Most interfaces have buffers to store blocks of data while in transfer between the processor and the peripheral. This ensures that the processor is not held up by slow communications to and from the peripherals. The buffer must also keep the status of the peripheral so that the processor knows when it is able to send or receive data and when problems arise.
  • 5. Spoolers Another approach to ensuring the processor is not held up by slow peripherals is to send data to be spooled . This means that the data is sent to fast backing storage (usually the hard disk). Data is then sent from the backing store to the peripheral in the gaps between processing actions (an example of this is background printing).
  • 6. Spoolers The user can continue operating the computer while the data is being sent to the peripheral. This is preferred to buffering when large amounts of data is to be sent or if the peripheral is shared across a network.
  • 7. Credits Higher Computing – Peripherals – Buffers and Spoolers Produced by P. Greene for the City of Edinburgh Council 2004 Adapted by M. Cunningham 2010