PowerPoint-presentatie

advertisement
Operating Systems
11. I/O-beheer en schijfscheduling
12. Bestandsbeheer
Module code:
1
I/O-apparaten
Apparaat
Partner
Snelheid (B/s)
Toetsenbord
mens
10
Muis
mens
100
Luidsprekers
mens
150 K
CD-rom
machine
1M
DVD-ROM
machine
2M
USB 2.0
machine
50 M
Netwerk (1GB)
machine
100 M
USB 3.0
machine
500 M
Harddisk
machine
1G
Werkgeheugen
machine
10 G
Module code:
2
I/O-communicatietechnieken
•
•
•
•
I/O-instructies
Geprogrammeerde I/O
Interruptgestuurde I/O
Directe geheugentoegang (DMA)
Module code:
3
I/O-instructies
• Speciale I/O-instructies
(speciale poorten op cpu)
MOV
DX, poortnummer
OUTDX, 56h
• Memory mapped I/O
(op bepaalde adressen zit speciale hardware)
MOV
MOV
Module code:
AL, 56h
400h, AL
4
Geprogrameerde I/O
Processor geeft signaal aan I/O-module en wacht tot
deze klaar is
check:
MOV
AL, 08h
OUT
10h, AL
IN
AL, 11h
CMP
AL, 01h
JNE check
IN
AL, 12h
Module code:
; zet byte op poort 16
; lees byte van poort 17
; klaar?
; lees byte van poort 18
5
Interrupt-gestuurde I/O
Processor geeft signaal aan I/O-module en gaat
meteen verder. I/O resulteert later in interrupt.
MOV AL, 08h
OUT 10h, AL
…
RET
Handler:
IN
AL, 12h
MOV buf, AL
…
IRET
Module code:
6
DMA
1.
CPU geeft opdracht aan DMA-module:
apparaat#, blok#, r/w, geheugenadres, datalengte
2.
CPU gaat verder,
DMA-module werkt zelfstandig
3.
DMA-module geeft interrupt
Module code:
7
DMA-modes
•
Cycle stealing
CPU en DMA mogen beurtelings op de bus
•
Burst mode
DMA doet blok in één keer.
(deel van) geheugen tijdelijk geblokkeerd
Module code:
8
Mogelijke DMA-configuraties
Losgekoppelde
DMA
Geïntegreerde
DMA-I/O
Processor
DMA
Processor
DMA
...
I/O
I/O
DMA
Memory
Memory
I/O
I/O
I/O
System Bus
I/O Bus
Processor
Memory
I/O Bus
I/O
Module code:
DMA
I/O
I/O
9
Geen buffer / enkele buffer
Stroom- versus blokgerichte
dataoverdracht
Operating System
I/O Device
User Process
In
No buffering
Vooruitlezen
Operating System
Invoer  systeembuffer
Voltooid
I/O Device
In
User Process
Move
Systeembuffer adresruimte
Verzoekt onmiddellijk om een
nieuw blok Module code:
Single buffering
10
Dubbele buffer
Operating System
I/O Device
User Process
Move
In
Double buffering
Cyclische buffer
Operating System
In
I/O Device
User Process
Move
.
.
Circular buffering
Module code:
11
Parameters voor schijfprestaties
Module code:
De overdrachtstijd T is T = B / (R x N)
B = aantal over te dragen bytes
N = aantal bytes op een spoor
12
R = rotatiesnelheid in omwentelingen
Strategie voor schijfscheduling
Verzoek: 10, 67, 15, 40, 110
(Spoor 70)
• FIFO
• LIFO !
• Shortest service time first (SSTF)
• Scan (Look, Elavator)
• C-Scan (C-Look)
Module code:
13
Raid
• Een verzameling fysieke schijfstations die door het besturingssysteem
worden behandeld als één logisch station.
• Gegevens worden verdeeld over de fysieke schijven
• Er wordt redundantie toegevoegd om gegevens die corrupt raken te
herstellen.
Module code:
14
Raid
0.
1.
2.
3.
4.
5.
6.
Striping zonder redundantie
Spiegelen
Parallel redundant
Parallel pariteit
Pariteit per blok
Gedistribueerde pariteit per blok
Dubbel gedistribueerde pariteit
Module code:
15
12. Bestandsbeheer
Module code:
16
Soorten files
Module code:
17
Filetypen
•
•
•
•
•
Normale bestanden
Symbolic link
Directory
Character special files
Block special files
Module code:
18
Hiërarchische
directorysystemen
Master Directory
System
User A
User B
User C
Directory
“User A’
Directory “User B’
Directory
“User C”
Draw
Word
Directory “Word”
Directory “Draw”
Unit A
ABC
Directory “Unit A”
ABC
File
“ABC”
File
“ABC”
Module code:
Pathname: /User B/Word/Unit A/ABC
19
Blokvorming van records
R5
R6
R7
Track 2
R8
Vaste Blokvorming
R1
R6
R2
R7
R3
R8
R4
R9
R4
R9 R10
R5
R6
Track 1
R11 R12 R13
Track 2
Variabele Blokvorming
R1
R2
R6
R4
R3
R7
R8
Variabele Blokvorming:
niet aaneengesloten
Module code:
Track 1
R5
R9
R10
Track 2
Data
Gaten door hardwareontwerp
record aanpassen aan blokgrootte
Verspilling door beperkte
blokgrootte
Verspilling door aanpassen van Voor vaste recordgrootte
20
blokken aan de spoorgrottte
Aaneengesloten bestandstoewijzing
File Allocation Table
FileA
0
5
1
6
2
3
7
4
8
9
13
14
FileB
10
15
11
16
12
17
18
19
23
24
27
28
29
32
33
34
FileC
20
21
22
FileE
25
26
FileD
30
31
Module code:
File Name
FileA
FileB
FileC
FileD
FileE
Start Block Length
2
9
18
30
26
3
5
8
2
3
Alle blokken worden
achtereenvolgens aansluitend
weggeschreven.
Voordelen:
zGemakkelijk te administreren
zSnel
Nadelen:
zDe filegrootte moet tevoren bekend
zijn en mag niet veranderen.
zVeel fragmentatie of men moet
verschuiven.
21
Geketende bestandstoewijzing
Directory
FileB
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Module code:
File Name
...
FileB
...
Start Block Length
...
1
...
...
5
...
22
Gelinkte lijsten met index
Module code:
23
Opgave
USB-stick met 8192 MB geheugen, verdeeld in blokken van 16KB.
• Hoeveel ingangen heeft de tabel voor gelinkte lijsten met index?
• Hoeveel geheugenruimte neemt deze tabel in beslag (in KB).
Module code:
24
Administratie van vrije blokken
Module code:
25
Unix / Linux
Module code:
26
I-nodes
Module code:
27
Opzoeken van /usr/ast/mbox
Module code:
28
Download