Operating Systems Operating Systems - Winter 2010 Chapter 3 – Input/Output Vrije Universiteit Amsterdam
Chap 3 - Overview Operating Systems 2010 Vrije Universiteit AmsterdamSlide 1 Principles of I/O Hardware Principles of I/O Software Deadlocks Lots of MINIX
Input / Output Operating Systems 2010 Vrije Universiteit AmsterdamSlide 2
Device Controllers (1/3) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 3
Example: Parallel Port Operating Systems 2010 Vrije Universiteit AmsterdamSlide 4
Example: Parallel Port Operating Systems 2010 Vrije Universiteit AmsterdamSlide 5
Example: Parallel Port Operating Systems 2010 Vrije Universiteit AmsterdamSlide 6
Device Controllers (2/3) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 7
Example: Memory Mapped I/O Operating Systems 2010 Vrije Universiteit AmsterdamSlide 8
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 9 Courtesy of:
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 10
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 11
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 12
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 13
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 14
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 15
Device Controllers (3/3) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 16
Direct Memory Access Operating Systems 2010 Vrije Universiteit AmsterdamSlide 17
Principles of I/O Software (1/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 18
Principles of I/O Software (2/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 19
Interrupt Handlers Operating Systems 2010 Vrije Universiteit AmsterdamSlide 20
Device Drivers Operating Systems 2010 Vrije Universiteit AmsterdamSlide 21
Device Independent I/O Software Operating Systems 2010 Vrije Universiteit AmsterdamSlide 22
User Space I/O Operating Systems 2010 Vrije Universiteit AmsterdamSlide 23
User Space I/O - Daemons Operating Systems 2010 Vrije Universiteit AmsterdamSlide 24
I/O Layering Operating Systems 2010 Vrije Universiteit AmsterdamSlide 25
Deadlock Operating Systems 2010 Vrije Universiteit AmsterdamSlide 26
Deadlock – Conditions Operating Systems 2010 Vrije Universiteit AmsterdamSlide 27
Avoiding Deadlock Operating Systems 2010 Vrije Universiteit AmsterdamSlide 28
Dealing With Deadlocks Operating Systems 2010 Vrije Universiteit AmsterdamSlide 29
Avoidance: Banker’s Algorithm Operating Systems 2010 Vrije Universiteit AmsterdamSlide 30
Banker’s Algorithm (2/3) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 31
Banker’s Algorithm (3/3) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 32
Overview of I/O in MINIX Operating Systems 2010 Vrije Universiteit AmsterdamSlide 33
Positioning Device Drivers Operating Systems 2010 Vrije Universiteit AmsterdamSlide 34
Device Drivers in Linux Operating Systems 2010 Vrije Universiteit AmsterdamSlide 35
Principle of Device Task Operating Systems 2010 Vrije Universiteit AmsterdamSlide 36
Main Driver Task Operating Systems 2010 Vrije Universiteit AmsterdamSlide 37
Read / Write Operation Operating Systems 2010 Vrije Universiteit AmsterdamSlide 38
RAM Disk Operating Systems 2010 Vrije Universiteit AmsterdamSlide 39
Read/Write to RAM Disk (1/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 40
Read/Write to RAM Disk (2/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 41
Disk Hardware Operating Systems 2010 Vrije Universiteit AmsterdamSlide 42
Disk Arm Scheduling Operating Systems 2010 Vrije Universiteit AmsterdamSlide 43
Disks – Error Handling (1/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 44
Disks – Error Handling (2/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 45
Disk I/O Transfer (1/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 46
Disk I/O Transfer (2/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 47
Transferring Data (1/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 48
Transferring Data (2/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 49
Floppy Disks Operating Systems 2010 Vrije Universiteit AmsterdamSlide 50
Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 51
Memory-Mapped Terminals Operating Systems 2010 Vrije Universiteit AmsterdamSlide 52
Keyboard Driver Operating Systems 2010 Vrije Universiteit AmsterdamSlide 53
Character Buffering Operating Systems 2010 Vrije Universiteit AmsterdamSlide 54
Character Echoing Operating Systems 2010 Vrije Universiteit AmsterdamSlide 55
Special Characters Operating Systems 2010 Vrije Universiteit AmsterdamSlide 56
Controlling the Display Operating Systems 2010 Vrije Universiteit AmsterdamSlide 57
Terminal Input (1/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 58
Terminal Input (2/2) Operating Systems 2010 Vrije Universiteit AmsterdamSlide 59
Questions? Operating Systems 2010 Vrije Universiteit AmsterdamSlide 60