You are on page 1of 60

Διευθύνσεις

Συμβολικές διευθύνσεις

Μετατοπιζόμενες διευθύνσεις

Απόλυτες διευθύνσεις (static)

Απόλυτες διευθύνσεις (dynamic)

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 1
Σκέτη μηχανή (bare machine)
ƒ Χαρακτηριστικά:
9 μέγιστη ευελιξία
9 χαμηλό κόστος
8 προγραμματιστική πολυπλοκότητα
8 μειωμένη ασφάλεια
- εφαρμογή σε εξειδικευμένα συστήματα

ƒ Υποστήριξη υλικού (hardware):


- καμία

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 2
Παραμένων επόπτης
(resident monitor)
ƒ Επόπτης και μία (1) διεργασία
9 προστασία δεδομένων & υπηρεσιών ΛΣ
8 Χωρίς πολυπρογραμματισμό

ƒ Επόπτης και (1) διεργασία με εναλλαγή διεργασιών


9 εξυπηρέτηση πολλών διεργασιών – πολυπρογραμματισμός
8 overhead χρόνου εναλλαγής

ƒ Υποστήριξη υλικού (hardware):


- Καταχωρητής φραγής (στατική μετατόπιση)
- Καταχωρητής βάσης (δυναμική μετατόπιση)

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 3
Πολλαπλές υποδιαιρέσεις (σταθερές)
ƒ Χαρακτηριστικά:
9 εξυπηρέτηση πολλών διεργασιών – πολυπρογραμματισμός
9 εξάλειψη χρόνου εναλλαγής (σε σχέση με τον παραμένοντα επόπτη)
8 εσωτερική κλασματοποίηση
8 αλγοριθμική πολυπλοκότητα (βέλτιστο μέγεθος περιοχών, ανάθεση)
8 ανάγκη για γραμμική θεώρηση της μνήμης
ƒ Υποστήριξη υλικού (hardware):
- Καταχωρητές Κάτω και Άνω Ορίου για κάθε διεργασία (στατική
μετατόπιση)
- Καταχωρητές Βάσης και Ορίου για κάθε διεργασία (δυναμική
μετατόπιση)

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 4
Πολλαπλές υποδιαιρέσεις
(μεταβλητές)
ƒ Χαρακτηριστικά:
9 εξυπηρέτηση πολλών διεργασιών – πολυπρογραμματισμός
9 εξάλειψη εσωτερικής κλασματοποίησης
8 εξωτερική κλασματοποίηση
8 επιβάρυνση διαχείρισης οπών (συμπίεση, κ.λπ.)
8 ανάγκη για γραμμική θεώρηση της μνήμης
ƒ Υποστήριξη υλικού (hardware):
- Καταχωρητές Κάτω και Άνω Ορίου για κάθε διεργασία
(στατική μετατόπιση)
- Καταχωρητές Βάσης και Ορίου για κάθε διεργασία (δυναμική
μετατόπιση)

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 5
Μετατόπιση (relocation)
„ Φυσικές /απόλυτες διευθύνσεις
„ Λογικές / μετατοπίσιμες διευθύνσεις
„ Φυσική διεύθυνση = λογική + βάση,
„ αν προκύπτει μέσα στα όρια.

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 6
Προστασία (protection)

„ Καταχωρητές άνω/κάτω ορίων

„ Καταχωρητές βάσης και ορίου

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 7
Πολυπρογραμματισμός -
δρομολόγηση διεργασιών
„ Χρονοδρομολογητής: υπεύθυνος για
Α - επιλογή διεργασίας από περιφερειακή μνήμη
Β - επιλογή υποδιαίρεσης μνήμης για φόρτωση
διεργασίας
Γ - κατανομή CPU σε διεργασίες

Μνήμη
Επικουρική Μνήμη

CPU

A B Γ

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 8
Χρονοδρομολόγηση
„ Round Robin – εκ περιτροπής
„ Κβάντο χρόνου
„ FCFS –με βάση τη σειρά άφιξης
„ SJF –με βάση τη διάρκεια
„ Προτεραιότητες

„ Συνδυασμοί τους

„ Προεκχωρητικοί (preemptive)
„ Mη-προεκχωρητικοί (non-preemptive)

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 9
FCFS - Εξυπηρέτηση
µε βάση τη σειρά άφιξης

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 10
Εξυπηρέτηση
µε βάση τη διάρκεια

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 11
Round Robin - Χρονοδροµολόγηση
κυκλικής επαναφοράς

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 12
Προγραμματισμός διεργασιών
„ Μονοπρογραμματισμός

„ Πολυπρογραμματισμός
„ Με σταθερά τμήματα μνήμης
„ Με μεταβλητά τμήματα μνήμης
OS OS OS OS

process 5 process 5 process 5 process 5


process 9 process 9

process 8 process 10

process 2 process 2 process 2 process 2

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 13
Άσκηση: Αξιοποίηση της CPU
„ Ένα πρόγραμμα όταν τρέχει μόνο του στο υπολογιστικό
σύστημα σπαταλά το 50% του χρόνου του για είσοδο/έξοδο.
„ Έστω ότι τέσσερα παρόμοια προγράμματα βρίσκονται στη
μνήμη του συστήματος και εκτελούνται ταυτόχρονα.
„ Ποιος ο βαθμός μη αξιοποίησης της CPU;

_____________________________
Ἀσκηση αυτοαξιολόγησης: 4.9

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 14
Άσκηση: Αξιοποίηση της CPU
„ Ένα πρόγραμμα όταν τρέχει μόνο του στο υπολογιστικό σύστημα
σπαταλά το 50% του χρόνου του για είσοδο/έξοδο.
„ Έστω ότι τέσσερα παρόμοια προγράμματα βρίσκονται στη μνήμη
του συστήματος και εκτελούνται ταυτόχρονα.
„ Ποιος ο βαθμός μη αξιοποίησης της CPU;
Ένα πρόγραμμα καταναλώνει ένα ποσοστό p (0 <= p < 1) του χρόνου του για
εργασίες εισόδου/εξόδου.
Με n τέτοια προγράμματα συγχρόνως στη μνήμη, η CPU δεν αξιοποιείται
μόνο όταν ΟΛΑ τα προγράμματα περιμένουν για είσοδο/έξοδο ταυτόχρονα.
Το ποσοστό του χρόνου της CPU που σπαταλιέται με αυτόν τον τρόπο είναι
ίσο με την πιθανότητα να συμβαίνει κάτι τέτοιο μια συγκεκριμένη χρονική
στιγμή, δηλαδή είναι ίσο με pn.
Άρα: n=4, p=0,5
Επομένως το ποσοστό του χρόνου που η CPU μένει αδρανής είναι:
(0,5)4 = 0,0625 ή αλλιώς 6,25%.
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 15
Διαχείριση Μνήμης
„ Στατική κατανοµή (static allocation)
„ η µνήµη είναι χωρισµένη από το ΛΣ σε
προκαθορισµένα τµήµατα πριν από την εκτέλεση
των διεργασιών. Όταν ένα πρόγραµµα πρόκειται να
εκτελεστεί, το ΛΣ επιλέγει ένα τµήµα µνήµης που
καλύπτει τις ανάγκες της νέας διεργασίας σε µνήµη
και της το παραχωρεί.
„ Η στατική κατανοµή µνήµης είναι απλή και λύνει το
πρόβληµα της προστασίας της µνήµης.
„ Όµως,
„ τα τµήµατα µνήµης δε χρησιµοποιούνται πλήρως από τις
διεργασίες και έτσι µένουν αναξιοποίητα.
„ Επιπλέον οι διεργασίες δεν µπορούν να χρησιµοποιήσουν
µνήµη από κοινού, κάτι που είναι χρήσιµο όταν πολλές
διεργασίες εκτελούν το ίδιο πρόγραµµα.
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 16
Διαχείριση Μνήμης
„ Δυναµική κατανοµή (dynamic allocation)
„ το ΛΣ κάνει τη διαίρεση της µνήµης κάθε φορά που µία
διεργασία αρχίζει να εκτελείται και της διαθέτει ακριβώς
όση µνήµη χρειάζεται.
„ Η δυναµική κατανοµή της µνήµης είναι ευέλικτη και
µπορεί να αξιοποιήσει µικρές περιοχές της µνήµης. Με
τον τρόπο αυτό βελτιώνεται το πρόβληµα της
αναξιοποίητης µνήµης, χωρίς όµως να λύνεται τελείως.
„ Το βασικό µειονέκτηµα της λύσης αυτής είναι η
αυξηµένη πολυπλοκότητα των µηχανισµών προστασίας
της µνήµης.

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 17
Κλασματοποίηση
(fragmentation)
για μέγεθος διαδικασίας m και περιοχής n

„ Εσωτερική κλασματοποίηση : n ≥ m
„ το υπόλοιπο της περιοχής που μένει
αχρησιμοποίητο (n – m).

„ Εξωτερική κλασματοποίηση : n < m


„ Η περιοχή είναι διαθέσιμη αλλά παραμένει
αχρησιμοποίητη λόγω μικρού μεγέθους.
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 18
Αλγόριθμοι δυναμικής
τοποθέτησης
„ Πρώτης τοποθέτησης – first fit
„ Σάρωση της λίστας τμημάτων (από την αρχή) μέχρι να βρεθεί κενό που
να χωράει τη διεργασία
„ Πολύ γρήγορος. Σπατάλη μεγάλων τμημάτων για μικρές διεργασίες
„ Επόμενης τοποθέτησης – next fit
„ Σάρωση της λίστας τμημάτων (από το επόμενο αυτού που χρησιμοποιή-
θηκε τελευταία) μέχρι να βρεθεί κενό που να χωράει τη διεργασία
„ Παραλλαγή του first-fit. Λίγο χειρότερη απόδοση.
„ Καλύτερης τοποθέτησης – best fit
„ Σάρωση ολόκληρης της λίστας τμημάτων και εντοπισμός του πλέον
κατάλληλου κενού
„ Πιο αργός. Αφήνει αχρησιμοποίητα μικρά τμήματα
„ Χειρότερης τοποθέτησης – worst fit
„ Σάρωση ολόκληρης της λίστας τμημάτων και εντοπισμός του
μεγαλύτερου κενού
„ Οπότε απομένει σχετικά μεγάλο τμήμα για χρησιμοποίηση. Ο πιο αργός.
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 19
‘Ασκηση
„ Εστω ένα σύστημα με τα ακόλουθα μεγέθη κενών κατά σειρά:
Α. 10Κ, Β: 4Κ, Γ: 20Κ, Δ: 18Κ, Ε: 7Κ, Ζ: 9Κ, Η: 12Κ, Θ: 15Κ
„ Εστω ότι καταφτάνουν αιτήσεις/διεργασίες με την εξής σειρά:
12Κ 10Κ 8Κ
„ Σε ποιό κενό μνήμης θα εκχωρηθεί κάθε μία από τις παραπάνω
διεργασίες για κάθε έναν από τους αλγορίθμους
„ (i) first fit, (ii) best fit, (iii) worst fit και (iv) next fit

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 20
‘Ασκηση
„ Εστω ένα σύστημα με τα ακόλουθα μεγέθη κενών κατά σειρά:
Α. 10Κ, Β: 4Κ, Γ: 20Κ, Δ: 18Κ, Ε: 7Κ, Ζ: 9Κ, Η: 12Κ, Θ: 15Κ
„ Εστω ότι καταφτάνουν αιτήσεις/διεργασίες με την εξής σειρά:
12Κ 10Κ 8Κ
„ Σε ποιό κενό μνήμης θα εκχωρηθεί κάθε μία από τις παραπάνω
διεργασίες για κάθε έναν από τους αλγορίθμους
„ (i) first fit, (ii) best fit, (iii) worst fit και (iv) next fit

First Fit Best Fit Worst Fit Next Fit


12Κ Γ Η Γ Γ
10Κ Α Α Δ Δ
8Κ Γ Ζ Θ Ζ
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 21
Άσκηση: Χρόνος
διεκπεραίωσης/αναμονής
Διαδικασία Χρόνος Άφιξης Χρόνος εκτέλεσης
Πολιτική χρονοδρομολόγησης P1 1 8
Shortest - Job - First (SJF)
P2 2 4
χωρίς επαναεισαγωγή
P3 3 9
P4 4 5
Υπολογισμός μέσου χρόνου διεκπεραίωσης και μέσου χρόνου αναμονής

P1 P2 P4 P3
1 9 13 18 27

Χρόνοι διεκπεραίωσης : Χρόνοι αναμονής :


P1 : 9-1=8 P1 : 9-1-8=0
P2 : 13-2=11 P2 : 13-2-4=7
P3 : 27-3=24 P3 : 27-3-9=15
P4 : 18-4=14 P4 : 18-4-5=9
και ΜΧΔ=(8+11+24+14)/4=57/4=14,25 και ΜΧΑ=(0+7+15+9)/4=31/4=7,75

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 22
Άσκηση: Σύστημα μεταβλητών
υποδιαιρέσεων (χωρίς συμπίεση)
Διαδικασία Χρόνος Άφιξης Διάρκεια Μνήμη
P1 0 3 100K
Παραμένων AVAILABLE
P2 1 4 40K Επόπτης (FREE)
P3 3 2 120K 32K MEMORY
P4 4 4 60K (224Κ)
P5 6 3 140K

Το ότι μία διεργασία έχει Χρόνο Άφιξης ‘i’ σημαίνει ότι έχει φτάσει κατά τη διάρκεια αυτής
της χρονικής στιγμής στο σύστημα, και από την επόμενη χρονική στιγμή (‘i+1’) μπορεί να
αρχίσει να εκτελείται στη CPU (εφόσον είναι δυνατή η εκχώρηση της απαιτούμενης
μνήμης). Το ότι μία διεργασία έχει Διάρκεια ‘t’ σημαίνει ότι για να ολοκληρωθεί η εκτέλεσή
της απαιτείται να βρεθεί στη CPU για ‘t’ (συνολικά) χρονικές στιγμές.

Εκχώρηση μνήμης: Best-fit


Εκχώρηση CPU: Round-robin με κβάντο ‘1’

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 23
Άσκηση: Σύστημα μεταβλητών
υποδιαιρέσεων (χωρίς συμπίεση)
Χρον. Άφιξη Εικόνα Μνήμης CPU Ουρά Τερματισμός
Στιγμή Μνήμης
0 P1 <οπή, 224Κ> ---- P1 ----
1 P2 < P1, 100K>, <οπή, 124Κ> P1 P2 ----
2 ---- < P1, 100K>, < P2, 40Κ>, <οπή, 84Κ> P1 ---- ----
3 P3 < P1, 100K>, < P2, 40Κ>, <οπή, 84Κ> P2 P3 ----
4 P4 < P1, 100K>, < P2, 40Κ>, <οπή, 84Κ> P1 P3, P4 P1
5 ---- < οπή, 100K>, < P2, 40Κ>,< P4, 60Κ>, <οπή, 24Κ> P2 P3 ----
6 P5 < οπή, 100K>, < P2, 40Κ>,< P4, 60Κ>, <οπή, 24Κ> P4 P3, P5 ----
7 ---- <οπή, 100Κ>, < P2, 40Κ>,< P4, 60Κ>, <οπή, 24Κ> P2 P3, P5 ----
8 ---- <οπή, 100Κ>, < P2, 40Κ>,< P4, 60Κ>, <οπή, 24Κ> P4 P3, P5 ----
9 ---- <οπή, 100Κ>, < P2, 40Κ>, < P4, 60Κ>, <οπή, 24Κ> P2 P3, P5 P2
10 ---- < P3, 120Κ>, <οπή, 20Κ>, < P4, 60Κ>, <οπή, 24Κ> P4 P5 ----
11 ---- < P3, 120Κ>, <οπή, 20Κ>, < P4, 60Κ>, <οπή, 24Κ> P3 P5 ----
12 ---- < P3, 120Κ>, <οπή, 20Κ>, < P4, 60Κ>, <οπή, 24Κ> P4 P5 P4
13 ---- < P3, 120Κ>, <οπή, 104Κ> P3 P5 P3
14 ---- < P5, 140Κ>, <οπή, 84Κ> P5 ---- ----
15 ---- < P5, 140Κ>, <οπή, 84Κ> P5 ---- ----
16 ---- < P5, 140Κ>, <οπή, 84Κ> P5 ---- P5
17 ---- <οπή, 224Κ> ---- ---- ----
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 24
Συμπίεση (compaction)
„ Αναδιάταξη της μνήμης ώστε να βρεθεί όλη
η ελεύθερη μνήμη σε μια μεγάλη (ενιαία)
περιοχή.
„ Κόστος: απαιτείται πολύς χρόνος από τη
CPU για να γίνει συμπίεση – όσο συχνότερα
γίνεται τόσο χειρότερα
„ Λύση:Χρήση Ειδικού Υλικού για συμπίεση

Εξετάσεις 2002 – Θέμα 3

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 25
Σελιδοποίηση
„ Διαίρεση της φυσικής μνήμης σε P πλαίσια (frames)
ορισμένου σταθερού μεγέθους 2n bytes.
„ Χρήση του πίνακα πλαισίων (frame table) για να
καταγράφονται
„ ποια πλαίσια χρησιμοποιούνται
„ από ποιές διεργασίες.
„ Διαίρεση της λογικής μνήμης σε L σελίδες (pages)
ορισμένου σταθερού μεγέθους 2n bytes.
„ Διεργασίες μεγέθους m σελίδων φορτώνονται σε k
ελεύθερα πλαίσια.
„ Κάθε διεργασία έχει ένα πίνακα σελίδων (page table)
για τη μετατροπή των αριθμών σελίδων σε αριθμούς
πλαισίων.
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 26
Σελιδοποίηση
„ Οι (λογικές) διευθύνσεις είναι της
μορφής
„ αριθμός σελίδας (page-number) :p
„ μετατόπιση σελίδας (offset) :d

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 27
Σελιδοποίηση

„ Αριθμός σελίδας p: δείκτης στη θέση του πίνακα σελίδων


που περιέχει τη φυσική διεύθυνση του πλαισίου
(διεύθυνση βάσης) όπου είναι αποθηκευμένη η σελίδα.
„ Μετατόπιση σελίδας d: προστίθεται στη διεύθυνση βάσης
για να βρεθεί η πραγματική φυσική διεύθυνση.
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 28
Σελιδοποίηση: παράδειγμα

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 29
Σελιδοποίηση: παράδειγμα

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 30
Σελιδοποίηση: παράδειγμα
page table

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 31
Άσκηση: Σελιδοποίηση
Θεωρούμε ένα χώρο λογικών διευθύνσεων που αποτελείται από
16 σελίδες των 1024 λέξεων η κάθε μια, ενώ η απεικόνιση
γίνεται σε μια φυσική μνήμη των 32 πλαισίων σελίδας
1. Πόσα bits έχει μια λογική διεύθυνση;
2. Πόσα bits έχει μια φυσική διεύθυνση;
3. Περιγράψτε τη δομή του πίνακα σελίδων

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 32
Άσκηση: Σελιδοποίηση
Θεωρούμε ένα χώρο λογικών διευθύνσεων που αποτελείται από
16 σελίδες των 1024 λέξεων η κάθε μια, ενώ η απεικόνιση
γίνεται σε μια φυσική μνήμη των 32 πλαισίων σελίδας
1. Πόσα bits έχει μια λογική διεύθυνση;
2. Πόσα bits έχει μια φυσική διεύθυνση;
3. Περιγράψτε τη δομή του πίνακα σελίδων
1. 14 bits λογική διεύθυνση (4 bits για την κωδικοποίηση των 16 αριθμών
σελίδων και 10 bits για την κωδικοποίηση της μετατόπισης σε μια σελίδα των
1024 λέξεων)
2. 15 bits φυσική διεύθυνση (5 bits για την κωδικοποίηση των 32 αριθμών
πλαισίων και 10 bits για την κωδικοποίηση της μετατόπισης σε ένα πλαίσιο
των 1024 λέξεων)
3. Υπάρχουν 16 στοιχεία στον πίνακα, ένα για κάθε σελίδα. Ο αριθμός σελίδας
είναι ένας δείκτης στον πίνακα, τα στοιχεία του οποίου περιέχουν αριθμούς
των 5 bits που αναπαριστούν τη φυσική διεύθυνση της αρχής ενός πλαισίου.

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 33
Πλεονεκτήματα Σελιδοποίησης

„ Ενιαίος χώρος διευθύνσεων (address space)


„ Τμηματική φόρτωση των διεργασιών στη μνήμη
„ Το σταθερό μέγεθος απλοποιεί τον τοποθέτηση
(allocation)

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 34
Σελιδοποίηση: παράδειγμα
Εστω Φυσική Μνήμη με :

) Μέγεθος Φυσικής Μνήμης: Μ = 2m (π.χ. 64Μ = 226)

) Μέγεθος Πλαισίου σελίδας: P = 2k (π.χ. 4K = 212)

) Αριθμός Πλαισίων σελίδων: M/P = 2m-k (π.χ. 16Κ = 214)

Εστω πρόγραμμα/διεργασία (ιδεατή μνήμη) με:

) Μέγεθος απαιτούμενης μνήμης: N = 2n (π.χ. 2Μ = 221)

) Μέγεθος Σελίδας: P = 2k (π.χ. 4K = 212)

) Αριθμός Σελίδων: Ν/P = 2n-k (π.χ. 512 = 29)


22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 35
Σελιδοποίηση: παράδειγμα
Κάθε ιδεατή διεύθυνση ‘U’ (n bits) είναι στη μορφή:

Αριθμός Ιδεατής Σελίδας ‘p’ (n-k bits) Μετατόπιση ‘d’ (k bits)

Και μετατρέπεται σε φυσική διεύθυνση Φ (σύνολο m bits):


Αριθμός Φυσικής Σελίδας ‘f’ (m-k bits) Μετατόπιση ‘d’ (k bits)

Εστω ιδεατή διεύθυνση προγράμματος U και μέγεθος σελίδας P

p = U div P d = U mod P | U = (p x P) + d
Και
f = Φ div P d = Φ mod P | Φ = (f x P) + d

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 36
Άσκηση: Effective Access Time
(α) Θεωρείστε ότι σε ένα σύστημα σελιδοποίησης που χρησιμοποιεί
συσχετιστικούς καταχωρητές (μνήμη cache) για πίν.σελίδων:
(α) ο (πραγματικός) χρόνος απευθείας προσπέλασης της μνήμης
είναι 560 ns,
(β) ο χρόνος προσπέλασης των καταχωρητών είναι 40 ns,
(γ) μέσω της χρήσης των καταχωρητών προκαλείται τελικά
(«μέσος χρόνος προσπέλασης» - effective access time)
επιβάρυνση 25% σε σχέση με το χρόνο απευθείας προσπέλασης.
Υπολογίστε το «λόγο επιτυχίας» των συσχετ. καταχωρητών.

_____________________________
Άσκηση αυτοαξιολόγησης: 4.25

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 37
Άσκηση: Effective Access Time
(α) Με τη χρήση των συσχετιστικών καταχωρητών και αν ο λόγος επιτυχίας είναι ‘f’
απαιτείται χρόνος
„ (40+560)=600ns με πιθανότητα ‘f’ (αν βρεθεί η εγγραφή του πίνακα σελίδων στους
καταχωρητές) – δηλαδή 40ns για να βρούμε την εγγραφή του πίνακα σελίδων στους
καταχωρητές και 560 για να προσπελάσουμε την κατάλληλη θέση φυσικής μνήμης, και
„ (40+560+560)=1160ns με πιθανότητα ‘1-f’ (αν δεν βρεθεί η εγγραφή του πίνακα
σελίδων στους καταχωρητές) – δηλαδή 40ns για να ‘μην’ βρούμε τελικά την εγγραφή
του πίνακα σελίδων στους καταχωρητές, 560 για να την βρούμε στον πίνακα σελίδων
που είναι φορτωμένος στη φυσική μνήμη και 560 για να προσπελάσουμε την
κατάλληλη θέση φυσικής μνήμης.
Επιβάρυνση 25% σε σχέση με το χρόνο απευθείας προσπέλασης σημαίνει τελικά
«μέσος χρόνος προσπέλασης» = 560+(560x25%) = 700ns
Αρα συνολικά έχουμε:
(f x 600) + ((1-f) x 1160) = 560+(560x25%) Æ 600f + 1160 – 1160f = 700
Æ 560f = 460 Æ f = 82,14%

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 38
Άσκηση: Effective Access Time
(β) αν ο λόγος επιτυχίας ήταν ίσoς με 95%, πόση θα ήταν η
επιβάρυνση ;

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 39
Άσκηση: Effective Access Time
(β) Ομοίως αν f=95% και συμβολίσουμε την επιβάρυνση με ‘Ε’ τότε
έχουμε:
(0.95 x 600) + (0.05 x 1160) = 560 + (560 x E) Æ
560E = (570 + 58 – 560) Æ E = 12,14%

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 40
Τμηματοποίηση
1
4
1
„ Τμήμα είναι μια λογική μονάδα2
που περιέχει, π.χ.
3 2
„ κυρίως πρόγραμμα 4

„ διαδικασίες/συναρτήσεις 3

„ μεταβλητές
„ σωρούς, πίνακες user space physical memory space

„ Συνεχή τμήματα μεταβλητού μεγέθους


„ Ένα ή περισσότερα τμήματα ανά διεργασία
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 41
Τμηματοποίηση
„ Λογικές διευθύνσεις της μορφής:
„ Αριθμός τμήματος (segment-number) : p
„ Μετατόπιση (offset) :d

„ Κάθε εγγραφή στον πίνακα τμημάτων


περιέχει:
„ Βάση (base) : αρχική φυσική διεύθυνση τμήματος
„ Όριο (limit) : μήκος του τμήματος

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 42
Τμηματοποίηση
„ Απαιτούνται δύο καταχωρητές:
„ Segment Table Base Register: δείχνει στον πίνακα
τμημάτων στην μνήμη
„ Segment Table Limit Register: καταγράφει πόσα
τμήματα χρησιμοποιούνται.

„ Mια λογική διεύθυνση είναι αποδεκτή αν


„ seg-number < STLR και
„ offset < limit(seg-number).

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 43
Τμηματοποίηση

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 44
Τμηματοποίηση: παράδειγμα

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 45
Τμηματοποίηση: παράδειγμα
Sharing of Segments

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 46
Πλεονεκτήματα Τμηματοποίησης

„ Δεν υπάρχουν page faults

„ Δεν υπάρχει εσωτερική κλασματοποίηση

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 47
Τμηματοποιημένη Σελιδοποίηση

„ Τμηματοποίηση του πίνακα σελίδων

„ Λογική διεύθυνση
„ Αριθμός σελίδας :p
„ Μετατόπιση μέσα στη σελίδα : d

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 48
Τμηματοποιημένη Σελιδοποίηση
„ Ο αριθμός σελίδας περιλαμβάνει
„ Αριθμό τμήματος :s
„ Μετατόπιση τμήματος : p’
„ Ο αριθμός τμήματος δείχνει στον πίνακα τμημάτων
που περιέχει
„ Διεύθυνση βάσης (base) του πίνακα σελίδων του τμήματος
„ το μήκος του πίνακα σελίδων (range)
„ Η μετατόπιση τμήματος προστίθεται στη διεύθυνση
βάσης για να δώσει τον αριθμό πλαισίου.
„ Ο αριθμός πλαισίου f συνδυάζεται με την μετατόπιση
σελίδας για να δώσει τη φυσική διεύθυνση.

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 49
Τμηματοποιημένη Σελιδοποίηση
CPU p d

Φυσική
s p' Μνήμη

f d
+

Μήκος Βάση ΠΣ
STΒR
s
+ f

p'

Πίνακας
Τμημάτων
Μέρος του
Πίνακα Σελίδων

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 50
Σελιδοποιημένη Τμηματοποίηση

„ Διευθύνσεις τμημάτων
„ Σελίδες μέσα σε τμήματα
„ Τα τμήματα μοιράζονται σε σελίδες που
είναι λογικά (όχι φυσικά) συνεχόμενες.
„ Λογική διεύθυνση
„ Αριθμός τμήματος : s
„ Μετατόπιση μέσα στο τμήμα : d

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 51
Σελιδοποιημένη Τμηματοποίηση

„ Ο αριθμός τμήματος s
δείχνει στον πίνακα
τμημάτων που
περιέχει:
„ Διεύθυνση βάσης
(base) του πίνακα
σελίδων του τμήματος
„ το μήκος τμήματος
(range)

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 52
Σελιδοποιημένη Τμηματοποίηση
„ Η μετατόπιση τμήματος d
περιέχει:
„ αριθμό σελίδας: p

„ μετατόπιση σελίδας: d’

„ Ο αριθμός σελίδας p

προστίθεται στη διεύθυνση


βάσης για να δώσει τον
αριθμό πλαισίου f.
„ Ο αριθμός πλαισίου f

συνδυάζεται με την
μετατόπιση σελίδας d’ για
να δώσει τη φυσική
διεύθυνση.

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 53
Πλεονεκτήματα Σελιδοποιημένης
Τμηματοποίησης
„ Μειώνει την εξωτερική κλασματοποίηση
„ Επιτρέπει μικρότερα πεδία διευθύνσεων
στις εντολές

Εξετάσεις 2002 – Θέμα 2

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 54
Αριθμητικά συστήματα
B a se 1 0 B in a r y O c ta l H e x a d e c im a l
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 55
Μετατροπές αριθμητικών συστημάτων
ƒ δυαδικό Å Æ οκταδικό
ƒ Ανά τρία bit, σχηματίζεται ένα ψηφίο του
οκταδικού (ξεκινώντας από το LSB)
ƒ Κάθε ψηφίο στο οκταδικό, σχηματίζει τρία bit
ƒ δυαδικό Å Æ δεκαεξαδικό
ƒ Ανά τέσσερα bit, σχηματίζεται ένα ψηφίο του
δεκαεξαδικού (ξεκινώντας από το LSB)
ƒ Κάθε ψηφίο στο δεκαεξαδικό, σχηματίζει τρία bit
ƒ οκταδικό Å Æ δεκαεξαδικό
ƒ Μέσω του δυαδικού

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 56
Άσκηση: Τμηματοποιημένη
σελιδοποίηση
Θεωρείστε μία λογική διεύθυνση των 36 bits σε ένα σύστημα διαχείρισης
μνήμης με Τμηματοποιημένη Σελιδοποίηση (segmented paging).
Σε αυτή τη διεύθυνση:
„ τα 4 πιο αριστερά bits ορίζουν τον αριθμό τμήματος του πίνακα σελίδων,
„ τα επόμενα 10 σηματοδοτούν τη μετατόπιση στο συγκεκριμένο τμήμα,
„ τα υπόλοιπα 22 προσδιορίζουν τη λέξη μέσα στη σελίδα.

απαντήστε αιτιολογημένα στις ακόλουθες ερωτήσεις:

„ Ποιο είναι το μέγεθος σελίδας του συστήματος σε λέξεις;


„ Ποιο είναι το μέγιστο μέγεθος τμήματος ενός πίνακα σελίδων σε θέσεις;
„ Ποιος είναι ο μέγιστος αριθμός σελίδων που μπορεί να υποστηρίξει το
σύστημα;
„ Ποιος είναι ο μέγιστος αριθμός τμημάτων ενός πίνακα σελίδων;
„ Ποιο είναι το μέγιστο μέγεθος λογικού προγράμματος που μπορεί να
υποστηρίξει το σύστημα σε λέξεις;

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 57
Άσκηση: Τμηματοποιημένη
σελιδοποίηση
Θεωρείστε μία λογική διεύθυνση των 36 bits σε ένα σύστημα διαχείρισης
μνήμης με Τμηματοποιημένη Σελιδοποίηση (segmented paging).
Σε αυτή τη διεύθυνση:
„ τα 4 πιο αριστερά bits ορίζουν τον αριθμό τμήματος του πίνακα σελίδων,
„ τα επόμενα 10 σηματοδοτούν τη μετατόπιση στο συγκεκριμένο τμήμα,
„ τα υπόλοιπα 22 προσδιορίζουν τη λέξη μέσα στη σελίδα.

απαντήστε αιτιολογημένα στις ακόλουθες ερωτήσεις:

„ Ποιο είναι το μέγεθος σελίδας του συστήματος σε λέξεις; 222


„ Ποιο είναι το μέγιστο μέγεθος τμήματος ενός πίνακα σελίδων σε θέσεις; 210
„ Ποιος είναι ο μέγιστος αριθμός σελίδων που μπορεί να υποστηρίξει το
σύστημα; 24 x 210 = 214
„ Ποιος είναι ο μέγιστος αριθμός τμημάτων ενός πίνακα σελίδων; 24
„ Ποιο είναι το μέγιστο μέγεθος λογικού προγράμματος που μπορεί να
υποστηρίξει το σύστημα σε λέξεις; 24 x 210 x 222 = 236

22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 58
Άσκηση: Τμηματοποιημένη
σελιδοποίηση (συνέχεια…)
(ii) Εστω ότι δίνονται τα ακόλουθα στοιχεία:
„ η λογική διεύθυνση 7000222222228
„ στις τελευταίες 2 θέσεις του Πίνακα Τμημάτων της
διεργασίας περιέχονται οι διευθύνσεις βάσης ‘Α’ και ‘Β’
αντίστοιχα
„ στις θέσεις Α, Α+1, Α+2 του Πίνακα Σελίδων Α
περιέχονται αντίστοιχα οι αριθμοί 11168, 77018, 34118,
„ στις θέσεις Β, Β+1, Β+2 του Πίνακα Σελίδων Β
περιέχονται αντίστοιχα οι αριθμοί 17778, 66008, 04018

„ Ποια είναι η ‘φυσική’ διεύθυνση (οκταδικό) που


αντιστοιχεί στην παραπάνω λογική;
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 59
Άσκηση: Τμηματοποιημένη
σελιδοποίηση
Ποια είναι η ‘φυσική’ διεύθυνση (οκταδικό) που αντιστοιχεί στην παραπάνω λογική;

A 1116 7000222222228 =
0 1110000000000100100100100100100100102
7701
… 3411
Αριθμός τμήματος = 11102 = Ε16
Βάση πίνακα σελίδων: Α

D Μετατόπιση: 00000000012 = 1
Θέση στον πίνακα σελίδων: Α+1
E A B 1777
Αριθμός πλαισίου: 77018 (1111110000012)
6600
F B Μετατόπιση στο πλαίσιο:
0401 00100100100100100100102

… Φυσική διεύθυνση: 1760222222228


Πίνακας τμημάτων
Τμήματα
πίνακα
σελίδων
22/4/2007 ΤΟΜΟΣ_Β'-Ch4-5 60

You might also like