Professional Documents
Culture Documents
Εισαγωγή Στην Επιστήμη Των Υπολογιστών Μ.στεφανιδάκης Ιόνιο Πανεπιστήμιο
Εισαγωγή Στην Επιστήμη Των Υπολογιστών Μ.στεφανιδάκης Ιόνιο Πανεπιστήμιο
http://mixstef.github.io/courses/csintro/
Μ.Στεφανιδάκης
Σχετικά με το μάθημα
• Εισαγωγή
• Ενότητες μαθήματος
Αρχές λειτουργίας υπολογιστών
• Υλικό (hardware) – Αρχιτεκτονική Η/Υ
Αλγόριθμοι – Χειρισμός δεδομένων
• Δομές δεδομένων – Λογισμικό (software)
πρόγραμμα
ελέγχου
δεδομένα δεδομένα
εισόδου σύστημα εξόδου
; επεξεργασίας
Τι σχέση έχει...
●
το facebook
●
το gaming
●
ένα αυτοκίνητο • Ο «Υπολογιστής» μετασχηματίζει δεδομένα
...με το διπλανό
σχήμα;
εισόδου σε δεδομένα εξόδου,
εξόδου βάσει ενός
προγράμματος ελέγχου
Η «μνήμη»
• Εισαγωγή πρόγραμμα
ελέγχου
δεδομένα
«μνήμη»
εισόδου
επεξεργασία αποθήκευση
δεδομένων δεδομένων
i
δεδομένα
Στην εξόδου
πραγματικότητα
η «μνήμη» είναι • Τα δεδομένα εισόδου και εξόδου αποθηκεύονται
μια ιεραρχία στη «μνήμη»
υποσυστημάτων
(κρυφές μνήμες,
Μπορούν να χρησιμοποιηθούν σε επόμενη φάση
κύρια μνήμη) επεξεργασίας
Και το πρόγραμμα ελέγχου πού βρίσκεται
αποθηκευμένο;
Το μοντέλο “von Neumann”
• Εισαγωγή
πρόγραμμα
ελέγχου
μονάδα
ελέγχου
«Μνήμη»
! δεδομένα
εισόδου
επεξεργασία
Η καινοτομία (την δεδομένων
εποχή των πρώτων
υπολογιστών): το δεδομένα
πρόγραμμα εξόδου
ελέγχου είναι
δεδομένα!
• «Υπολογιστής αποθηκευμένου προγράμματος»
Το πρόγραμμα ελέγχου (εντολές) αποθηκεύεται μαζί με
τα δεδομένα στη μνήμη
Το πρόγραμμα ελέγχου
• Εισαγωγή • Είναι ένα σύνολο «οδηγιών»
Περιγράφει το είδος της επεξεργασίας των
δεδομένων εισόδου
! Κάθε «οδηγία» ονομάζεται εντολή μηχανής
Η εντολή μηχανής
διαφέρει από τις • εκτελεί μια μικρή, αυτοτελή λειτουργία
εντολές υψηλού • το πρόγραμμα (ελέγχου) αποτελείται από πολλές
επιπέδου των
γλωσσών εντολές μηχανής
προγραμματισμού
«Μνήμη»
! δεδομένα
εισόδου
επεξεργασία
Το σχήμα δεδομένων
συμπληρώνεται με
τις μονάδες δεδομένα
εισόδου-εξόδου, εξόδου
για επικοινωνία με
τον έξω κόσμο
• Χρονισμός μέσω ενός σήματος ρολογιού (clock)
Ο «παλμός» του υπολογιστικού συστήματος
Καθορίζει την έναρξη της επόμενης λειτουργίας
Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ)
• Εισαγωγή Central Processing Unit (CPU)
πρόγραμμα
ρολόι ελέγχου
μονάδα
(clock) ελέγχου
; δεδομένα
εισόδου
«μονοπάτι»
Τι σημαίνει όταν δεδομένων
λέμε ότι ένας
επεξεργαστής είναι δεδομένα
32-bit ή 64-bit; εξόδου
Πώς σχετίζεται με «Μονοπάτι» δεδομένων (datapath)
το διπλανό σχήμα;
• Εκτέλεση πράξεων
Μονάδα ελέγχου (control unit)
• Επιλογή πράξης σύμφωνα με κάθε εντολή
4. Store: Αποθήκευσεκαταχωρητές
τα αποτελέσματα (εάν δεδομένα
απαιτείται) εισόδου
; δεδομένα
3. Execute: Εκτέλεσε
Και η μεταφορά την απαιτούμενηεξόδου
δεδομένων πράξη/λειτουργία
από/προς μνήμη;
Σε ποια φάση
εκτελείται;
ψηφιακό ψηφιακό
; στοιχείο στοιχείο
Τι θα συνέβαινε
μεταξύ δύο
αναλογικών
• Δυνατότητα αναγέννησης του αρχικού σήματος
τμημάτων (με Όσο η παραμόρφωση δεν υπερβαίνει κάποια όρια
συνεχές πεδίο
τιμών);
Όσο λιγότερες στάθμες επιτρέπονται, τόσο τα επιτρεπτά
όρια διακύμανσης είναι μεγαλύτερα
• Πλεονέκτημα της δυαδικής τεχνολογίας
Στάθμες ψηφιακού σήματος
• Εισαγωγή • Δυαδική λογική
• Τεχνολογία
2 στάθμες
• V+ και V- (π.χ. 5V και 0V)
• «Τροφοδοσία» και «γείωση»
• Αναπαριστούν το λογικό 1 και 0 αντίστοιχα
Κυματομορφές
• Η στάθμη τάσης σε ένα σημείο του κυκλώματος
στην εξέλιξη του χρόνου
i V+
Στα πρώτα
ολοκληρωμένα
λογικά κυκλώματα
η τάση
τροφοδοσίας ήταν
>15V ενώ σήμερα
βρίσκεται γύρω V-
στο 1V ιδανικά T
στην πραγματικότητα...
p-
υπόστρωμα κανάλι
i (body) (channel)
Το τρανζίστορ
αυτό είναι τύπου • Το τρανζίστορ MOSFET
NMOS. Υπάρχει
και το
Ο μικροσκοπικός διακόπτης των σύγχρονων
συμπληρωματικό κυκλωμάτων
PMOS. Η θεωρία λειτουργίας του είναι γνωστή από το
1925
...αλλά τα πρώτα λειτουργικά κυκλώματα
κατασκευάστηκαν τη δεκαετία του 60
Ημιαγωγοί – σε δύο διαφάνειες!
• Εισαγωγή • Ημιαγωγοί
• Τεχνολογία
Στοιχεία με κρυσταλλική δομή (πυρίτιο,
γερμάνιο...)
• Μεταξύ αγωγών και μονωτών
• Σε θερμοκρασία δωματίου και καθαρή μορφή: όχι
καλοί αγωγοί του ηλεκτρισμού
Προσμίξεις με “ακάθαρτα” υλικά (impurities)
• “Doping”
• Προσθήκη ελεύθερων ηλεκτρονίων (donors)
– n-type
• Προσθήκη “οπών” (acceptors)
– απουσία ηλεκτρονίων
– p-type
• Τα χαρακτηριστικά αγωγιμότητας αλλάζουν!
• Με ορθή πόλωση,
πόλωση και άλλα ηλεκτρόνια μπορούν να
+ - υπερπηδήσουν το εμπόδιο και να φτάσουν στο p-
- n - + -
+ -
p
+ type, οπότε παρατηρείται ροή ρεύματος
•
• Με ανάστροφη πόλωση,
πόλωση νέα ηλεκτρόνια δεν έχουν
+ - την ευκαιρία να φτάσουν στο p-type, οπότε δεν ρέει
n - + - p -
+ + - ρεύμα μέσω της επαφής
– την ανάστροφη πόλωση εκμεταλλεύονται τα
ηλεκτρονικά ψηφιακά κυκλώματα των
υπολογιστών
Λειτουργία του τρανζίστορ MOS(FET)
• Εισαγωγή
V+
• Τεχνολογία
n n
-
p
V-
V+
i
Το τρανζίστορ n n
σήμερα είναι αγώγιμο κανάλι
διαφορετικό (με p
πτερύγια – fins)
για να λειτουργεί V-
σωστά σε πολύ
μικρές διαστάσεις!
Intel P4 processor
microchip (2005)
169 εκ. τρανζίστορ
90nm
SiO2 - μονωτής
Ένα λεπτό επίπεδο SiO2
σχηματίζεται με
οξείδωση σε 1000οC
p-epi – πολύ
καθαρό πυρίτιο
υπόστρωμα πυριτίου
Η μάσκα της
φωτολιθογραφίας είναι επικάλυψη με photoresist
διαφορετική ανά βήμα
επεξεργασίας (ανάλογα
με το επιθυμητό σχήμα).
Εφαρμογή υπεριώδους ακτινοβολίας
• Εισαγωγή
• Τεχνολογία
Εναπόθεση polysilicon
• Εισαγωγή
• Τεχνολογία
polysilicon
Στη συνέχεια
σχηματίζονται οι πηγές
και καταβόθρες των
τρανζίστορ ανάλογα με
τον τύπο τους (NMOS ή n
PMOS) με εμφύτευση n
ιόντων. Δημιουργία των
σημείων επαφής για τους
αγωγούς διασύνδεσης. υπόστρωμα n
υπόστρωμα p
Στη συνέχεια
σχηματίζονται οι πηγές
και καταβόθρες των p
τρανζίστορ ανάλογα με p
τον τύπο τους (NMOS ή n
PMOS) με εμφύτευση n
ιόντων. Δημιουργία των
σημείων επαφής για τους
αγωγούς διασύνδεσης. υπόστρωμα n
υπόστρωμα p
Πρώτο επίπεδο μεταλικών συνδέσεων
• Εισαγωγή
• Τεχνολογία
μεταλλικές επαφές
Τα επίπεδα μετάλλου
δημιουργούνται με
εξάχνωση του p
μεταλλικού υλικού σε p
κενό υπό την επίδραση n
δέσμης ηλεκτρονίων. n
υπόστρωμα n
υπόστρωμα p
Διαδικασία παραγωγής
• Εισαγωγή • Στην πραγματικότητα
• Τεχνολογία
Οι δημιουργούμενες επιφάνειες δεν είναι
απόλυτα επίπεδες – ούτε έχουν κάθετες γωνίες
• τα χαρακτηριστικά είναι πιο ακανόνιστα
Οι αναλογίες διαστάσεων είναι διαφορετικές
• ειδικά μελετημένες για την επιθυμητή ροή
ηλεκτρονίων
Τα επίπεδα μετάλλου είναι πολύ περισσότερα
• καταλαμβάνουν μεγάλο μέρος του ολοκληρωμένου
κυκλώματος
Τα βήματα κατασκευής είναι πολύ
περισσότερα (40+)
• από την απλουστευμένη εικόνα που είδαμε
• οι δομές που κατασκευάζονται είναι
πολυπλοκότερες
Πράξεις με δυαδικούς αριθμούς
(λογικές πράξεις)
Εκτέλεση πράξεων
• Εισαγωγή υπολογιστικό σύστημα
πρόγραμμα
ρολόι ελέγχου
μονάδα
(clock) ελέγχου
“Μνήμη”
δεδομένα
τμήμα εισόδου
επεξεργασίας
δεδομένων
δεδομένα
; εξόδου
• Επεξεργασία: ψηφιακά δυαδικά κυκλώματα
Ποιες κατηγορίες Εκτελούν πράξεις μεταξύ σειρών 0 και 1…
πράξεων;
…οι οποίες αναπαριστούν δυαδικούς αριθμούς
Πράξεις με δυαδικούς αριθμούς
• Εισαγωγή
• Ο υπολογιστής μπορεί να εκτελέσει
Λογικές πράξεις (δυαδικής λογικής)
Αριθμητικές πράξεις
• Οι πράξεις εκτελούνται
Σε ομάδες bits: «δυαδικούς αριθμούς»
C.E.Shannon
Ποσότητες Δυαδικής Λογικής
• Εισαγωγή
• Δυαδική λογική
• Στη δυαδική λογική άλγεβρα
Υπάρχουν 2 «ποσότητες» (σύμβολα):
• Αληθές ή 1 ή ΝΑΙ
• Ψευδές ή 0 ή ΟΧΙ
Ένα δυαδικό ψηφίο (bit)
bit έχει τιμή 0 ή 1
• Στα ψηφιακά ηλεκτρονικά κυκλώματα:
0 ή «χαμηλή τάση» ή «η μια φορά ρεύματος»
1 ή «υψηλή τάση» ή «η άλλη φορά ρεύματος»
είσοδος Α
(1 bit) διμελής
έξοδος
πράξη
είσοδος Β (binary) (1 bit)
(1 bit)
είσοδος Α
έξοδος ΝΟΤ (Α)
ή Α' ή Α
A Y
πιθανές 0 1 αντίστοιχες
τιμές τιμές εξόδου
εισόδου 1 0
Πίνακας Αλήθειας
πηγή καταβόθρα
πύλη
(source) (drain)
πηγή
PMOS:
PMOS άγει n n σύμβολο
όταν στην πύλη
p
εφαρμόζεται ‘0’
NMOS:
NMOS άγει όταν
υπόστρωμα κανάλι στην πύλη
(body) (channel) εφαρμόζεται ‘1’
Το τρανζίστορ NMOS
Από το προηγούμενο μάθημα: ποια η
λειτουργία του;
• Εισαγωγή
• Δυαδική Λογική V+ (‘1’)
A Υ
V- (‘0’)
A Y
0 1 A Υ = NOT A
1 0
V- (‘0’)
A NOT A
X Y AND
0 0 0 X AND Y
X
ή
0 1 0 Y X·Y
1 0 0
σύμβολο πύλης AND
1 1 1
data out
AND
control
control = 0: η έξοδος data_out είναι πάντα 0
control = 1: η έξοδος data_out ισούται με το data_in
data in
control
0 AND X = 0
1 AND X = X data out
Πίνακας Αλήθειας
X Y OR
0 0 0 X X OR Y
ή
Y X+Y
0 1 1
1 0 1 σύμβολο πύλης OR
1 1 1
Παράδειγμα υλοποίησης: η πύλη NOR
• Εισαγωγή
V+ (‘1’)
• Δυαδική Λογική
A
A B Y
0 0 1 B
0 1 0 (A+B)
1 0 0 A B
! 1 1 0
NOR = NOT-OR
V- (‘0’)
Πίνακας Αλήθειας NOR
Υλοποίηση πύλης
OR: χρησιμοποι-
ώντας μια πύλη
NOR και μια πύλη
NOT
σύμβολο πύλης NOR
Συγκέντρωση σημάτων με OR
• Εισαγωγή a
• Δυαδική Λογική
y
OR
b
a
0 OR X = X
1 OR X = 1
b
Προσοχή! y
Ποτέ δεν
συνδέουμε
εξόδους
πυλών μαζί!
• Θα πρέπει ανά πάσα στιγμή όλα τα σήματα
πλην ενός να είναι 0!
Βασικές Λογικές Πράξεις
• Εισαγωγή
• Δυαδική Λογική
• Αποκλειστικό Ή (XOR)
το αποτέλεσμα είναι 1, όταν μόνο το Χ ή μόνο
το Υ είναι 1
1 XOR X = X XOR 1 = NOT X
0 XOR X = X XOR 0 = X
X XOR Y = A·B' + A'·B
Πίνακας Αλήθειας
X Y XOR
0 0 0 X X XOR Y
ή
0 1 1 Y X+Y
X Y XΝOR
! 0 0 1
Υλοποίηση πύλης
XNOR:
χρησιμοποιώντας 0 1 0
συνδυασμούς
άλλων πυλών 1 0 0
X xnor Y = 1 1 1
XY+X'Y'
Λογικές πράξεις σε ομάδες bits
• Λογικές Πράξεις
• Ο υπολογιστής μπορεί να εφαρμόσει
λογικές πράξεις στα δεδομένα μας
Δεδομένα = σειρές από 0 και 1
Όχι όμως σε μεμονωμένα bits!!
bits
Αλλά: σε ομάδες των 8, 16, 32 ή 64 bits
ταυτόχρονα
An .. Ai .. A2 A1 A0 op (=AND, OR,XOR)
Bn .. Bi .. B2 B1 B0
Yn .. Yi .. Y2 Y1 Y0
Yi = Ai op Bi
1 0
0 1
… …
1 0
! 10011000 NOT
Η “μέθοδος” του
υλικού (hardware): 01100111
πολλαπλές ίδιες
μονάδες εκτελούν
την ίδια λειτουργία
παράλληλα
• H έξοδος Yi εξαρτάται μόνο από την είσοδο Ai
Ο τελεστής AND σε δυαδικούς αριθμούς
• Λογικές πράξεις 1… 0 0
0
0
…
0
0… 0 1
10011000 AND
00110101
00010000
1
0
…
1
0… 0 1
10011000 OR
00110101
10111101
Μάσκες
• Λογικές Πράξεις
• Για να αλλάξουμε την τιμή μεμονωμένων
bits μέσα σε μια ομάδα
Για να θέσουμε επιλεγμένα bits σε 1
Για να θέσουμε επιλεγμένα bits σε 0
Για να αντιστρέψουμε επιλεγμένα bits
Χωρίς να επηρεάζουμε τα υπόλοιπα!
• αυτά διατηρούν την τιμή τους, είτε 0 είτε 1
• Η OR μάσκα περιέχει:
1 στα bits που θα γίνουν 1
0 OR X = X 0 στα bits που θα παραμείνουν ως έχουν
1 OR X = 1
b c d e f g h 0 0 a b c d e f g
αριστερή ολίσθηση δεξιά ολίσθηση
1 1 1 1 0 0 1 1
! 1x128 1x64 1x32 1x16 0x8 0x4 1x2 1x1
Εάν ο αριθμός 128 + 64 + 32 + 16 + 0 + 0 + 2 + 1 =
διαθέτει
περισσότερα bits, 243 (δεκαδικό)
χρησιμοποιούμε
μεγαλύτερες Μετατροπή από το δυαδικό στο δεκαδικό
δυνάμεις του 2 σύστημα
Μετατροπή δεκαδικού σε δυαδικό
• Δυαδικοί
αριθμοί
243 2
1 121 2
το λιγότερο 1 60 2
σημαντικό
bit 0 30 2
0 15 2
1 7 2
! 1 3 2
Προσοχή στη θέση
του περισσότερο 243 (δεκαδικό) 1 1
σημαντικού bit! = 11110011
το περισσότερ
σημαντικό bit
Δεκαεξαδικό Σύστημα
• Δυαδικοί
αριθμοί • 16 ψηφία
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
Αντιστοιχία με τους δεκαδικούς 0 έως 15
• Σε δυνάμεις του 16
16n ...164 163 162 161 160
Π.χ. 16F(hex) = 1x162 + 6x161 + 15x160
= 256 + 96 + 15 = 367 (δεκαδικό)
• Χρήσιμο μόνο ως «συντομογραφία»
δυαδικών αριθμών
Δεκαεξαδικό Σύστημα
• Δυαδικοί
αριθμοί • Κάθε 4 δυαδικά ψηφία αντιστοιχούν σε
ένα δεκαεξαδικό ψηφίο
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F
Παράδειγμα: 10000101011110
0010 0001 0101 1110
2 1 5 E = 215E (hex)
• Συμπλήρωση με 0 στα αριστερά
• Δεν αλλάζει τον αριθμό, όπως ακριβώς και στο
δεκαδικό σύστημα
Δεκαεξαδικό Σύστημα
• Δυαδικοί
αριθμοί • Κάθε 4 δυαδικά ψηφία αντιστοιχούν σε
ένα δεκαεξαδικό ψηφίο
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F
Μέγεθος (Ν-1 bits)
(0/1)
Πρόσημο (1 bit)
• Συμπλήρωμα ως προς 2
Τι σημαίνει «συμπλήρωμα ως προς 2»;
Πώς υπολογίζεται;
Συμπλήρωμα ως προς 2
• Δυαδικοί
αριθμοί • Ίσο με το «συμπλήρωμα ως προς 1» + 1
• Φυσικοί αριθμοί
• Ακέραιοι
• Εμπειρικός κανόνας:
Αντιστροφή όλων των bits εκτός από τα
δεξιότερα συνεχόμενα 0 και το πρώτο 1
αριστερά από αυτά
• Συμπλήρωμα ως προς 2: παραδείγματα
001011100 110100100
011111111 100000001
• Προσοχή στο 0000...00 και στο 1000...00
Προσθέτοντας 2 bits
• Αριθμητικές
πράξεις
0+0 0 0
0+1 1 0
1+0 1 0
1+1 0 1
Ημιαθροιστής (half-adder)
• Αριθμητικές
πράξεις
A B S C
A
άθροισμα 0 0 0 0
B (SUM)
0 1 1 0
1 0 1 0
κρατούμενο 1 1 0 1
; (CARRY)
Αν απαιτείται
πρόσθεση αριθμών
με περισσότερα
bits;
Κρατούμενο 1 1 1
Α’ Αριθμός (119) 0 1 1 1 0 1 1 1
Β’ Αριθμός ( 88) 0 1 0 1 1 0 0 0
Άθροισμα (207) 1 1 0 0 1 1 1 1
A
B άθροισμα
(SUM)
κρατούμενο
εισόδου
(Carry in)
;
Ποιος πίνακας
αλήθειας
υλοποιείται;
κρατούμενο
εξόδου
(Carry out)
A2 S2
B2 Πλήρης
αθροιστής Cout
Cin
Κρατούμενο 1 1 1 1 1 1
Α’ Αριθμός (180) 1 0 1 1 0 1 0 0
Β’ Αριθμός ( 78) 0 1 0 0 1 1 1 0
Άθροισμα (258) 1 0 0 0 0 0 0 1 0
ύπαρξη τελικού κρατουμένου = υπερχείλιση διαθέσιμος χώρος
• Πρόσθεση
Όπως σε μη προσημασμένους
Τελικό κρατούμενο αγνοείται
• Πώς γίνεται τώρα ο έλεγχος υπερχείλισης;
Αφαίρεση = πρόσθεση του συμπληρώματος ως προς 2
του αφαιρετέου
• Α – Β = Α + (-Β)
• χωρίς πρόσθετα κυκλώματα για την αφαίρεση!
Προσθέτοντας δυαδικούς αριθμούς
(προσημασμένους)
Κρατούμενο 1
Α’ Αριθμός (+17) 0 0 0 1 0 0 0 1
Β’ Αριθμός (+22) 0 0 0 1 0 1 1 0
Άθροισμα (+39) 0 0 1 0 0 1 1 1
Κρατούμενο 1 1 1 1 1
Α’ Αριθμός (+24) 0 0 0 1 1 0 0 0
Β’ Αριθμός (-17) 1 1 1 0 1 1 1 1
Άθροισμα ( +7) 0 0 0 0 0 1 1 1
• το κρατούμενο αγνοείται
Υπερχείλιση σε προσημασμένους αριθμούς
11111111 (-1) 00000000 (0)
προσημασμένοι
αριθμοί με 8 bits
Κρατούμενο 1 1 1 1 1 1 1
Α’ Αριθμός (+127) 0 1 1 1 1 1 1 1
Β’ Αριθμός ( +3) 0 0 0 0 0 0 1 1
Άθροισμα (-126;) 1 0 0 0 0 0 1 0
Κρατούμενο 1 1
Α’ Αριθμός (-126) 1 0 0 0 0 0 1 0
Β’ Αριθμός ( -5) 1 1 1 1 1 0 1 0
Άθροισμα (+124;) 0 1 1 1 1 1 0 0
Κλασματικοί αριθμοί
• Δυαδικοί
αριθμοί
• Θεωρητικά
• Φυσικοί αριθμοί Θα μπορούσαμε να επεξεργαζόμαστε
• Ακέραιοι ξεχωριστά το ακέραιο και το κλασματικό
• Κλασματικοί μέρος
• Αλλά
Αδυναμία αναπαράστασης πολύ μεγάλων και
πολύ μικρών αριθμών
• Η λύση
Αριθμοί κινητής υποδιαστολής (floating point)
point
Εύκολη αναπαράσταση τόσο του
1.000.000.000.000 όσο και του
0,0000000000000001
Αριθμοί κινητής υποδιαστολής
• Δυαδικοί
αριθμοί • 3 μέρη
• Φυσικοί αριθμοί
• Ακέραιοι
Πρόσημο (Π) (1 bit)
• Κλασματικοί • 0=+ 1=-
Εκθέτης (Ε) (8 ή 11 bits)
• Η βάση είναι το 2 (εννοείται)
• Θετικοί και αρνητικοί εκθέτες με πλεόνασμα 127 ή 1023
(π.χ. αντί -55, Ε= -55+127 = 72! )
A +25 x 1,10110
+B +25 x 0,01011
= +25 x 10,00001
κανονικοποίηση +26 x 1,000001
συνεχείς διακριτές
(αναλογικές) ποσότητες δυαδικοί
σειρές bits
ποσότητες (σύμβολα) αριθμοί
ψηφιοποίηση αναπαράσταση κωδικοποίηση επεξεργασ
! • Ψηφιοποίηση
Διαδικασία μετατροπής συνεχών τιμών σε διακριτά σύμβολα
Δεδομένα:
ανεξάρτητα από • Αναπαράσταση
τύπο και Διαδικασία αντιστοίχισης συμβόλων σε δυαδικούς αριθμούς
προέλευση, στον
υπολογιστή • Κωδικοποίηση
υπάρχουν σε μία Αποθήκευση δυαδικών αριθμών σε σειρές bits
μορφή: 0 και 1
• Μη αριθμητικά δεδομένα
Κείμενο, εντολές μηχανής, ήχος, εικόνα…
• Σύνολο διαφορετικών αντικειμένων (συμβόλων)
συμβόλων
Αντιστοίχιση κάθε συμβόλου σε μοναδικό
δυαδικό αριθμό
• “Αναπαράσταση”
• Η ακριβής αντιστοίχιση ορίζεται σε ένα πρότυπο
(standard)
Διευθύνσεις μνήμης
• Στην πραγματικότητα
Η «μνήμη» είναι μια σύνθετη ιεραρχία πολλών
επιπέδων
Οι μεταφορές δεδομένων δεν γίνονται σε
μεμονωμένα bytes αλλά σε πολλαπλάσιά τους
• Μη εκτυπώσιμοι χαρακτήρες
Χαρακτήρες ελέγχου
• Ιδιαίτερα χρήσιμοι για τις συσκευές εξόδου της εποχής
(εκτυπωτές, τηλέτυπα…)
• Νέα γραμμή (LINE FEED – LF)
• Επιστροφή κεφαλής εκτύπωσης (CARRIAGE RETURN –
CR)
• Καμπανάκι (BELL) κλπ
Κώδικας ASCII
• Αναπαράσταση
δεδομένων • Βασικό αρχικό πρότυπο αναπαράστασης
• Κείμενο κειμένου
7 bits ανά χαρακτήρα
i
ASCII: American
Standard Code for
Information
Interchange
H a v e a n i c e d a y !
72 97 118 101 32 97 32 110 105 99 101 32 100 97 121 33
[Wikipedia]
Γ ε ι α σ ο υ !
195 229 233 225 32 243 239 245 33
Πρότυπο Unicode
• Αναπαράσταση
δεδομένων • Το πρότυπο Unicode περιέχει επίσης
• Κείμενο Πληροφορία ισοδύναμων ή παρόμοιων
χαρακτήρων
Συνδυασμούς τόνων/διακριτικών και
γραμμάτων
Οδηγίες για την ταξινόμηση των γραμμάτων
ανά γλώσσα
Ελληνικά και Unicode
• Αναπαράσταση
δεδομένων
• Κείμενο
Κείμενο σε Unicode
• Αναπαράσταση
δεδομένων • Παράδειγμα
• Κείμενο
Γ ε ι α σ ο υ !
δεκαδικό 915 949 953 945 32 963 959 965 33
δεκαεξαδικό 0393 03B5 03B9 03B1 0020 03C3 03BF 03C5 0021
Κωδικοποίηση big-endian
03 93 03 B5 03 B9 03 B1 00 20 03 C3 03 BF 03 C5 00 21
Κωδικοποίηση little-endian
93 03 B5 03 B9 03 B1 03 20 00 C3 03 BF 03 C5 03 21 00
Unicode σε κωδικοποίηση UTF-8
• Αναπαράσταση
δεδομένων
• Αναπαράσταση μεταβλητού μήκους
• Κείμενο
Unicode Κωδικοποίηση UTF-8
00…7F 0xxxxxxx
80…7FF 110xxxxx
110 10xxxxxx
10
800…FFFF 1110xxxx
1110 10xxxxxx
10 10xxxxxx
10
! 10000…10FFFF 11110xxx
11110 10xxxxxx
10 10xxxxxx
10 10xxxxxx
10
Η κωδικοποίηση
UTF-8 έχει Το βασικό λατινικό αλφάβητο (ASCII)
επικρατήσει σε χρησιμοποιεί 1 byte ανά χαρακτήρα
όλα τα
προγράμματα που • Προς τα πίσω συμβατότητα
χειρίζονται Τα ελληνικά, 2 bytes
κείμενα Unicode
Αλφάβητα Άπω Ανατολής, 3+ bytes
κβάντωση
κωδικοποίηση
110110110001001
Εικόνα: από τον αναλογικό στον ψηφιακό κόσμο
• Αναπαράσταση αισθητήρες
δεδομένων φωτός
• Κείμενο
• Ήχος
• Εικόνα μετατροπή
σήματος από 1001011..
αναλογικό σε
ψηφιακό
• Φωτοευαίσθητα κύτταρα
για τρία χρώματα (κόκκινο-πράσινο-μπλε)
• Μετατροπή σήματος σε ψηφιακή
πληροφορία
R:144 R:193
G:128 G:164
…
B:118 B:179
R:201
G:174
… …
B:134
… … …
Αναπαράσταση βίντεο
• Αναπαράσταση
δεδομένων • “Κινούμενη εικόνα” (καρέ)
• Κείμενο
• Ήχος όπως αναπαριστούμε τις απλές εικόνες
• Εικόνα
• Βίντεο αλλά: με χρήση συμπίεσης
• Για μείωση όγκου δεδομένων
• Γειτονικά καρέ έχουν πολλές ομοιότητες
Κωδικοποίηση εντολών μηχανής
• Αναπαράσταση
δεδομένων opcode operand1 operand2 .. operandN
• Κείμενο
• Ήχος
• Εικόνα
• Βίντεο Περιγράφει το Περιγράφουν την προέλευση των
είδος της δεδομένων εισόδου (αριθμό
• Εντολές
πράξης που θα καταχωρητή, διεύθυνση μνήμης κλπ)
Μηχανής
εκτελεστεί και τον προορισμό των δεδομένων
εξόδου (αποτέλεσμα πράξης)
• ΚΜΕ
ρολόι μηχανής
μονάδα
(clock) ελέγχου
δεδομένα
εισόδου
επεξεργασία
δεδομένων
ΚΜΕ δεδομένα
εξόδου
• Επεξεργασία δεδομένων
Καθοδήγηση από τη μονάδα ελέγχου
• Βάσει του προγράμματος εκτέλεσης (εντολών)
Επεξεργασία δεδομένων
• Εισαγωγή
• ΚΜΕ
• Ποιος εκτελεί τις πράξεις μεταξύ
δεδομένων;
Αριθμητικές-λογικές μονάδες (ΑΛΜ)
Διαφορετικές μονάδες για πράξεις ακεραίων
και αριθμών κινητής υποδιαστολής
• Από πού προέρχονται τα δεδομένα
εισόδου στις ΑΛΜ και πού αποθηκεύεται
το αποτέλεσμα της πράξης;
Καταχωρητές
Μνήμη
Καταχωρητές (registers)
• Εισαγωγή καταχωρητές
• ΚΜΕ
Αριθμητική-
Λογική
ALU
Μονάδα
• Καταχωρητές
Αυτόνομες θέσεις αποθήκευσης μέσα στην ΚΜΕ
• Μία “λέξη” δεδομένων
Γρήγορη προσπέλαση
Προσωρινή αποθήκευση δεδομένων
• Δεδομένα εισόδου και εξόδου ΑΛΜ (ALU)
Καταχωρητές γενικού σκοπού (general purpose)
Έλεγχος εκτέλεσης εντολών
• Εισαγωγή • Μονάδα ελέγχου (control unit)
• ΚΜΕ
Εκτέλεση εντολών μηχανής
• Ποια είναι η επόμενη προς εκτέλεση
εντολή;
Μετρητής προγράμματος (Program Counter –
PC ή Instruction Pointer – IP): καταχωρητής
ειδικού σκοπού,
σκοπού περιέχει τη διεύθυνση στη
μνήμη της επόμενης εντολής
Κατά την εκτέλεση της τρέχουσας εντολής
αυξάνεται αυτόματα για να «δείχνει» στην
επόμενη εντολή
ΑΛΜ
εντολές ΑΛΜ
άλλες πράξεις
load- ακέραιες
πράξεις κινητής
store πράξεις
υποδιαστολής
διεύθυνση δεδομένα
μνήμης εγγραφής
μνήμη αποτελέσματα πράξεων
δεδομένων
δεδομένα
ανάγνωσης
Αρχιτεκτονική συνόλου εντολών
• Εισαγωγή
• ΚΜΕ
• Τι πρέπει να ξέρουμε για να προγραμματίσουμε
έναν επεξεργαστή (instruction set architecture –
ISA)
Ποιες είναι οι διαθέσιμες εντολές μηχανής
Τύποι και προέλευση δεδομένων
Ποιους καταχωρητές χρησιμοποιούμε
Ποιο το μοντέλο της διαθέσιμης μνήμης
• Σήμερα: επίπεδο μοντέλο,
μοντέλο ενιαίος χώρος μνήμης
ανά πρόγραμμα, από τη διεύθυνση 0 έως τη μέγιστη
δυνατή
• Πώς σχηματίζεται μια διεύθυνση μνήμης
Πώς αντιδρά ο επεξεργαστής σε εξωτερικές
διακοπές και καταστάσεις σφάλματος
ΑΛΜ
εντολές ΑΛΜ
άλλες πράξεις
load- ακέραιες
πράξεις κινητής
store πράξεις
υποδιαστολής
διεύθυνση δεδομένα
μνήμης εγγραφής
μνήμη 3. Εκτέλεση
αποτελέσματα πράξεων
δεδομένων εντολής (execute)
δεδομένα
ανάγνωσης
Μνήμη Περιεχόμενα
Διεύθυνση 0 07
Αναγν./Εγγρ. 1 22
2 3F
Δεδομένα
3 65
… 00
Διευθύνσεις μνήμης
Μνήμη Περιεχόμενα
2
διεύθυνση 0 07
! Αναγν.
1 22
Ακόμα κι αν ΚΜΕ 2 3F
μπορούμε να
διαβάσουμε ή
δεδομένα
3 65
γράψουμε
μεμονωμένα bytes, 3F … 00
η φυσική
επικοινωνία με τη
μνήμη γίνεται σε Διευθύνσεις μνήμης
«λέξεις»
(πολλαπλά bytes)
Εγγραφή στη μνήμη
• Εισαγωγή
• Μνήμη
Μνήμη Περιεχόμενα
2
διεύθυνση 0 07
1 22
Εγγρ.
ΚΜΕ 2 99
δεδομένα
3 65
99 … 00
Διευθύνσεις μνήμης
Τεχνολογίες μνημών
• Εισαγωγή • Μνήμη “τυχαίας προσπέλασης”
• Μνήμη
Random Access Memory (RAM)
Ανάγνωση-Εγγραφή
Στατική (SRAM)
SRAM και δυναμική (DRAM)
DRAM
• Διαφορετική μέθοδος υλοποίησης “κελιών”
(cells) μνήμης
i • SRAM:
SRAM πολύ γρήγορη – μικρότερη
“κελί” (cell):
ο χώρος
ολοκλήρωση (χρήση: κρυφή μνήμη)
αποθήκευσης ενός • DRAM:
DRAM αργότερη – μεγάλη ολοκλήρωση
bit.
(χρήση: κύρια μνήμη)
DRAM: 1
●
Απαιτείται περιοδική ανανέωση των δεδομένων
τρανζίστορ/κελί κάθε 16 έως 128 ms (DRAM refresh)
• Και στις δύο χάνονται τα δεδομένα με τη
SRAM: 6 διακοπή της τροφοδοσίας
τρανζίστορ/κελί
Τεχνολογίες μνημών
• Εισαγωγή • Μνήμες μόνιμης αποθήκευσης
• Μνήμη
Διατήρηση δεδομένων χωρίς τροφοδοσία
δεδομένα ανάγνωσης-εγγραφής
Δίαυλος Δεδομένων
ΚΜΕ
DATA
Ελεγκτής
DRAM
Δίαυλος Δεδομένων
ΚΜΕ
DRAM
Δίαυλος Ελέγχου
Ιεραρχία Μνήμης
• Εισαγωγή
• Μνήμη
• Προσέγγιση της ιδανικής μνήμης
• Κρυφή μνήμη Ο επεξεργαστής βλέπει “μνήμη”
Με την ταχύτητα του υψηλότερου επιπέδου
Και το μέγεθος του χαμηλότερου επιπέδου
Κρυφές μνήμες
0,5-5ns ~4-10 κύκλοι ρολογιού
(SRAM)
Κύρια μνήμη
50-70ns ~100 κύκλοι ρολογιού
(DRAM)
Κρυφή μνήμη (cache memory)
Κύρια Μνήμη
• Εισαγωγή 0 07
• Μνήμη
• Κρυφή μνήμη κρυφή
1 22
ΚΜΕ
μνήμη 2 99
3 65
… 00
• Μεταξύ ΚΜΕ και κύριας μνήμης
Περιέχει ένα μέρος μόνο των περιεχομένων της κύριας
μνήμης
• Διαφορετικές θέσεις κύριας μνήμης φορτώνονται στην
ίδια θέση της κρυφής μνήμης
Γρηγορότερη από κύρια μνήμη
Εκμετάλλευση της τοπικότητας των προσπελάσεων
Διαχείριση από υλικό – διαφανής στο λογισμικό!
Σήμερα: κρυφή μνήμη σε πολλά επίπεδα (L1, L2, L3)
μπλοκ
•Το σύστημα κύριας
Οι σύγχρονοι μπλοκ
μνήμης έχει
επεξεργαστές κρυφή μνήμη
διαθέτουν κρυφές βελτιστοποιηθεί
μνήμες με τυπικό αρχιτεκτονικά για
μέγεθος μπλοκ ίσο μεταφορές μπλοκ
με 64 bytes Κύρια μνήμη
Κύρια μνήμη
(DRAM)
Εγγραφή μέσω της κρυφής μνήμης
• Εισαγωγή
• Μνήμη 2α. Η διεύθυνση Α
υπάρχει στην
• Κρυφή μνήμη κρυφή μνήμη (παλιά
1. Εγγραφή στη ΚΜΕ
δεδομένα): Ενημέρωση
διεύθυνση μνήμης Α κρυφής μνήμης με νέα τιμή
Κύρια μνήμη
(DRAM)
M-bus
PCIe “north (mem bus)
σύστημα DRAM
γραφικών bridge”
SATA
USB “south σκληροί
ποντίκι, bridge” … δίσκοι,
πληκτρολόγιο, CD/DVD,
εκτυπωτές, δικτυακή
σαρωτές... σύνδεση
Μαγνητικοί δίσκοι
• Εισαγωγή
• Συσκευές Ε/Ε Αποθήκευση πληροφορίας μαγνητικά στην
επιφάνεια ενός αριθμού παράλληλων δίσκων
• Ο αριθμός εξαρτάται από τον τύπο του δίσκου
Κεφαλές ανάγνωσης-εγγραφής
συσκευή
Ε/Ε
read
συσκευή
διευθύνσεις Ε/Ε
ελεγκτή Ε/Ε
διευθύνσεις
Αντιστοιχισμένη σε μνήμη
ελεγκτή Ε/Ε Ε/Ε (memory mapped I/O)
Διευθύνσεις Ε/Ε στον χώρο
memory-mapped I/O μνήμης
Κοινές εντολές
προσπέλασης μνήμης και
Ε/Ε (π.χ. read, write)
write διευθύνσεις in
μνήμης 100 ελεγκτής
Ε/Ε
Υλοποίηση συσκευή
απομονωμένου Ε/Ε
χώρος διευθύνσεων
χώρου E/E
διευθύνσεων Ε/Ε:
in διευθύνσεις Απομονωμένη Ε/Ε
Στον δίαυλο ελεγκτή Ε/Ε Διαφορετικές εντολές για
διασύνδεσης η προσπέλαση μνήμης και Ε/Ε
out
ΚΜΕ παράγει, διευθύνσεις
ελεγκτή Ε/Ε Ίδια διεύθυνση =
εκτός από τη
διεύθυνση, ένα διαφορετική θέση σε μνήμη
σήμα που επιλέγει και Ε/Ε
χώρο διευθύνσεων isolated I/O
(π.χ. M/IΟ'):
Εξυπηρέτηση αιτήσεων Ε/Ε
• Εισαγωγή
• Συσκευές Ε/Ε
• Ολοκλήρωση αιτήσεων Ε/Ε
• Διασύνδεση Ε/Ε Υπερβολικά αργή λειτουργία συσκευών…
• Αιτήσεις Ε/Ε
…σε σχέση με την ταχύτητα της ΚΜΕ
• Η ΚΜΕ πρέπει να περιμένει!
Πώς γίνεται αντιληπτή η ολοκλήρωση της
εξυπηρέτησης Ε/Ε;
• Στη συνέχεια: μεταφορά δεδομένων
από/προς συσκευές Ε/Ε
Ποιος αναλαμβάνει τη μεταφορά των
δεδομένων προς/από την κύρια μνήμη;
<εκτέλεση
άλλης συσκευή
JobA() { διεργασίας> Ε/Ε
… 1. Ασύγχρονη ειδοποίηση ΚΜΕ (interrupts)
ΑίτησηΕ/Ε();
… • Ο ελεγκτής ειδοποιεί την ΚΜΕ για αλλαγή
} 2. διακοπή κατάστασης της συσκευής Ε/Ε
3.
• Στο μεταξύ η ΚΜΕ μπορεί να εκτελεί άλλη
ISR() { διεργασία
<επιστροφή στο • Η διακοπή θα προκαλέσει την εκτέλεση ρουτίνας
jobA>
εξυπηρέτησης διακοπής (interrupt service routine –
}
ISR)
συσκευή
Ε/Ε
ελεγκτής ελεγκτής
Ε/Ε Ε/Ε
υπολογιστικό
σύστημα
υλικό λογισμικό
λειτουργικό προγράμματα
σύστημα εφαρμογών
Υλικό
Λειτ.Σύστημα
Λειτουργικό
σύστημα
Διαχείριση Διαχείριση
Μνήμης ΚΜΕ
Διαχείριση Διαχείριση
Συσκευών Αρχείων
Πολυπρογραμματισμός
• Εισαγωγή • Πολλά προγράμματα στη
• Διαχείριση μνήμη
μνήμης Λειτουργικό
• «Ταυτόχρονη» εκτέλεση Σύστημα
Στην πραγματικότητα
εναλλαγή εκτέλεσης εντολών Πρόγραμμα1
από κάθε πρόγραμμα (υπήρχε
μόνο μια ΚΜΕ)
Φαινομενικά τα προγράμματα Πρόγραμμα2
εκτελούνται «παράλληλα»
παράλληλα
• Οι υπολογιστικοί πόροι
πρέπει να μοιράζονται Πρόγραμμα3
μεταξύ των προγραμμάτων
Μνήμη, ΚΜΕ, συσκευές...
Αναγκαία η διαιτησία Πρόγραμμα4
Ρόλος του Λειτουργικού
Συστήματος
μνήμη
Πολυπρογραμματισμός (συνέχεια)
• Εισαγωγή • Το Λειτουργικό Σύστημα διατηρεί
• Διαχείριση
μνήμης πληροφορία για κάθε εκτελούμενο
πρόγραμμα (διεργασία)
Process Control Block (PCB) ή Task Control
Block (TCB)
• Όταν διακόπτεται η εκτέλεση:
Αποθήκευση τιμής program counter (PC)
• Τρέχουσα διεύθυνση εκτελούμενης εντολής
Αποθήκευση τιμών καταχωρητών
• Όταν ξεκινά πάλι η εκτέλεση:
Αποκατάσταση αποθηκευμένων τιμών
• Το πρόγραμμα συνεχίζει την εκτέλεση από το
σημείο που διακόπηκε
Σελίδα 1 Πλαίσιο 7
Σελίδα 2
• Διαχείριση MMU
μνήμης
ΚΜΕ
(CPU) εντολές
δεδομένα
Σελιδοποίηση κατ’απαίτηση
• Εισαγωγή Οι σελίδες των προγραμμάτων (κώδικας-δεδομένα)
• Διαχείριση
μνήμης βρίσκονται αρχικά μόνο στον δίσκο
Το ΛΣ τις σημειώνει ως «απούσες»
απούσες από τη μνήμη
Όταν προσπελαστεί μια «απούσα» σελίδα,
δημιουργείται ένα σφάλμα εκτέλεσης (page fault)...
fault
...και το ΛΣ τη φορτώνει σε ένα πλαίσιο στη
μνήμη
Ενδεχομένως εκτοπίζοντας πίσω στον δίσκο μια
άλλη σελίδα από τη μνήμη
• Η τελευταία σημειώνεται ως «απούσα»
απούσα
Page faults:
faults μεγάλο κόστος σε κύκλους αναμονής
• 1-10Mκύκλοι ρολογιού
Προγράμματα, εργασίες και διεργασίες
• Εισαγωγή • Πρόγραμμα (program)
• Διαχείριση
μνήμης Ανενεργό σύνολο εντολών (στον δίσκο)
• Διεργασίες
• Εργασία (job)
Πρόγραμμα που έχει επιλεγεί για εκτέλεση
Στον δίσκο ή στη μνήμη
• Διεργασία (process)
Πρόγραμμα υπό εκτέλεση
Στη μνήμη
Εκτελείται ή αναμένει για χρήση πόρων
Μπορεί να διακοπεί οποιαδήποτε στιγμή
«παρά τη θέλησή της» από το Λ.Σ.
(προεκτοπισμός – preemption)
Χρονοδρομολόγηση (scheduling)
• Εισαγωγή • Καταστάσεις διεργασίας
• Διαχείριση
μνήμης Έτοιμη προς εκτέλεση (ready)
• Διεργασίες Εκτελούμενη (running)
Σε αναμονή (waiting/blocked)
• Για τη χρήση υπολογιστικών πόρων
• Όταν πολλές διεργασίες είναι έτοιμες, ποια
θα εκτελεστεί;
Απόφαση χρονοδρομολογητή (scheduler)
• Μέρος του Λειτουργικού Συστήματος
Κριτήρια Επιλογής
• «Όποιος ήρθε πρώτος» (first-in first-out – FIFO)
• Χρησιμοποιώντας προτεραιότητες
• Ανάλογα με προθεσμίες (συστήματα real-time)
Ουρές διαχείρισης διεργασιών
Ουρά ετοιμότητας
προς
εκκίνηση εκτέλεση ΚΜΕ τερματισμός
ολοκλήρωση
χρονομεριδίου αίτηση που
ολοκλήρωση απαιτεί αναμονή
αίτησης (π.χ. για Ε/Ε)
Ουρά αναμονής
Συγχρονισμός διεργασιών
• Εισαγωγή • Στη χρήση διαμοιραζόμενων πόρων
• Διαχείριση
μνήμης Οι κοινοί πόροι μπορούν να χρησιμοποιούνται
• Διεργασίες μόνο από μία διεργασία κάθε στιγμή
• Αναμονή υπολοίπων διεργασιών
• Εμφάνιση καταστάσεων σύγκρουσης
Αδιέξοδο
Λιμοκτονία
Αδιέξοδο
Έχει ανατεθεί Έχει ζητήσει
Διεργασία Α
Αρχείο 1 Αρχείο 2
Διεργασία Β
Έχει ζητήσει Έχει ανατεθεί
Αδιέξοδο (συνέχεια)
• Εισαγωγή • Συνθήκες εμφάνισης
• Διαχείριση
μνήμης Αμοιβαίος αποκλεισμός στη χρήση των πόρων
• Διεργασίες Παρακράτηση περισσότερων από έναν πόρο
Κυκλική αναμονή
• Αν επιτρέψουμε την εκτέλεση διεργασίας
μόνο εάν όλοι οι πόροι που ζητά είναι
ελεύθεροι;
Κίνδυνος λιμοκτονίας
• Η διεργασία μπορεί να μην εκτελεστεί «ποτέ»
Διαχείριση συσκευών
• Εισαγωγή • Συσκευές εισόδου-εξόδου (Ε/Ε)
• Διαχείριση
μνήμης Διαχείριση από ΛΣ μόνο
• Διεργασίες • Η απευθείας προσπέλαση των συσκευών Ε/Ε
• Διαχείριση
συσκευών
είναι απαγορευμένη στις εφαρμογές χρήστη
Ρύθμιση χρήσης από διεργασίες
• Οι συσκευές Ε/Ε είναι ένα τυπικό παράδειγμα
διαμοιραζόμενων (κοινόχρηστων) πόρων
Παρακολούθηση ολοκλήρωσης αιτήσεων Ε/Ε
• Και επανεκκίνηση των διεργασιών που
αναμένουν τα δεδομένα Ε/Ε
Το εξειδικευμένο πρόγραμμα συστήματος που
«συνομιλεί» με τη συσκευή Ε/Ε ονομάζεται
«οδηγός» της συσκευής (device driver)