Σημειώσεις Λειτουργικών. μια ανοικτή φοιτητική προσέγγιση

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Σημειώσεις Λειτουργικών. μια ανοικτή φοιτητική προσέγγιση"

Transcript

1 1 Σημειώσεις Λειτουργικών μια ανοικτή φοιτητική προσέγγιση

2 2 Περιεχόμενα Περιεχόμενα Άδεια 2. Διεργασίες και νήματα ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Σύστημα Δέσμης αλγόριθμοι σε συστήματα δέσμης: Αλληλεπιδραστικά συστήματα αλγόριθμοι σε αλληλεπιδραστικά συστήματα Χρονοπρογραμματισμός εκ περιτροπής (round robin) χρονοπρογραμματισμός με βάση την προτεραιότητα Πολλαπλές ουρές Εξυπηρέτηση με βάση τη μικρότερη διάρκεια αλγόριθμος γήρανσης Εγγυημένος χρονοπρογραμματισμός Χρονοπρογραμματισμός με λοταρία Χρονοπρογραμματισμός δίκαιης διανομής ΧΡΟΝΟΠΡΟΓΡΑΜΑΤΙΣΜΟΣ ΝΗΜΑΤΩΝ ΑΣΚΗΣΕΙΣ 1 Άσκηση 2.6 ΚΕΦΑΛΑΙΟ 3 Χωρίς Αφαιρέσεις μνήμης Χώροι διευθύνσεων Εναλλαγή Εικονική Μνήμη Διαχείριση ελεύθερης μνήμης Διαχείριση με χάρτες bit Διαχείριση με συνδεδεμένες λίστες Αλγόριθμοι Αντικατάστασης Σελίδας Βέλτιστος αλγόριθμος Αλγόριθμος NRU Μη πρόσφατα χρησιμοποιούμενες Ο αλγόριθμος FIFO Ο αλγόριθμος FIFO δεύτερης ευκαιρίας Ο αλγόριθμος σελίδας ρολογίου Ο αλγόριθμος LRU(Least Recently Used) NFU με aging SW Συνόλου εργασίας αλγόριθμος WSClock Διαχείριση και βελτιστοποίηση συστήματος αρχέιων Διαχείριση δίσκου μέγεθος block

3 3 Σημείωση για επίλυση άσκησης Παλαιότερα Διαγωνίσματα Διαγώνισμα 1 Διαγώνισμα 2 Θέμα 1ο: Άδεια This work is licensed under the Creative Commons Αναφορά Δημιουργού 3.0 Ελλάδα License. To view a copy of this license, visit

4 4 2. Διεργασίες και νήματα ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Χρονοπρογραμματισμός είναι το τμήμα του λειτουργικού συστήματος που είναι υπεύθυνο να επιλέξει ποια διεργασία απο τις διαθέσιμες θα εκτελεστεί πρώτη. Αλγόριθμος χρονοπρογραμματισμού είναι ο αλγόριθμος που χρησιμοποιείται για την παραπάνω επιλογή. Δύο βασικές κατηγορίες αλγορίθμων χρονοπρογραμματισμού: στους μη προεκτοπιστικούς αλγόριθμους που επιλέγουν μια διεργασία και της επιτρέπουν να εκτελεστεί μέχρι να μπλοκαριστεί ή μέχρι να επιστρέψει εθελοντικά. στους προεκτοπιστικούς αλγόριθμους που επιλέγουν μια διεργασία και της επιτρέπουν να εκτελεστεί για ένα καθορισμένο μέγιστο χρονικό διάστημα. Γενικοί Στόχοι αλγορίθμων Δικαιοσύνη Να εκχωρείται σε κάθε διεργασία δίκαιο μερίδιο της cpu Επιβολή της πολιτικής να παρακολουθείτε αν εφαρμόζεται η καθορισμένη πολιτική Ισορροπία να διατηρούνται ενεργά όλα τα τμήματα του συστήματος Στο βιβλίο γίνετε μελέτη αλγόριθμων χρονοπρογραματισμού για τρία περιβάλλοντα: Δέσμης Αλληλεπιδραστικά Πραγματικού Χρόνου Σύστημα Δέσμης στόχοι αλγορίθμων σε συστήματα δέσμης: Διεκπεραιωτική ικανότητα μεγιστοποίηση αριθμού εργασιών ανά ώρα. Χρόνος διεκπεραίωσης να ελαχιστοποιηθεί ο χρόνος που μεσολαβεί ανάμεσα στην υποβολή και την ολοκλήρωση μιας εργασίας.

5 5 Αξιοποίηση της CPU να διατηρείται η CPU συνεχώς ενεργός αλγόριθμοι σε συστήματα δέσμης: μη προεκτοπιστικός FIFO εξυπηρέτηση με βάση σειρά άφιξης: Υπάρχει μια ουρά οι εργασίες που φτάνουν τοποθετούνται στο τέλος της ουράς. Όταν η εργασία που εκτελείτε μπλοκαριστεί ή παραχωρήσει το χρόνο της τότε επιλέγετε η πρώτη εργασία που βρίσκετε στην ουρά πλεονεκτήματα: ευκολία στην κατανόηση και στον προγραμματισμό, δικαίως ( από την οπτική της αναμονής τω διεργασιών). μειονεκτήματα: Αδικούνται οι διεργασίες που είναι εξαρτημένες από Ε/Ε, αφού λόγο της μη προεκτοπιστικότητας η εργασία που είναι εξαρτημένη από Ε/Ε θα τρέξει ελάχιστα και θα μπλοκαριστεί ( λόγο Ε/Ε ), ενώ η εξαρτημένη από cpu θα τρέξει πολύ περισσότερο χρόνο. εξυπηρέτηση με βάση την μικρότερη διάρκεια SJF: Επιλέγετε πρώτη η διεργασία με την μικρότερη διάρκεια. Μη προεκτοπιστικός αλγόριθμος. πλεονεκτήματα: Έχουμε το μικρότερο δυνατό μέσο χρόνο διεκπεραίωσης. μειονεκτήματα : Αυτός ο αλγόριθμος μπορεί να χρησιμοποιηθεί μόνο όταν γνωρίζουμε εκ των προτέρων την διάρκεια των διεργασιών. Για να δουλέψει κατά τον βέλτιστο τρόπο αν εξαρχής είναι διαθέσιμες όλες οι εργασίες που πρόκειται να εκτελεστούν, αν κατά την διάρκεια προστεθούν διεργασίες δεν είναι βέβαιο ότι θα έχουμε το μικρότερο χρόνο διεκπεραίωσης. παράδειγμα: έχουμε τις παρακάτω διεργασίες Α : διάρκεια εκτέλεσης 5t B: διάρκεια εκτέλεσης 6t Γ: διάρκεια εκτέλεσης 8t Δ: διάρκεια εκτέλεσης 2t οι διεργασίες εισέρχονται με την ακόλουθη σειρά: Α, Β, Γ, Δ αν είχαμε FIFO η σειρά εκτέλεσης θα ήταν : Α, Β, Γ, Δ ο μέσος χρόνος αναμονής θα ήταν: ( χρόνος αν. A + χρόνος αν. Β + χρόνος αν. Γ + χρόνος αν. Δ) 4 = ( ( ) + ( ) ) 4 = 20.75t σημείωση για να υπολογίσουμε το χρόνο αναμονής μίας διεργασίας αρκεί να προσθέσουμε την διάρκεια τον

6 6 διεργασιών που εκτελούνται πρωτύτερα από αυτή. Εξυπηρέτηση με βάση την μικρότερη διάρκεια που απομένει: Μια προεκτοπιστική έκδοση του αλγορίθμου SJF. Όπως και στον SJF επιλέγετε για εκτέλεση πρώτη η διεργασία που χρειάζεται λιγότερο χρόνο για να ολοκληρωθεί. Όταν όμως καταφτάνει μια καινούργια διεργασία τότε γίνετε σύγκριση μεταξύ του χρόνο εκτέλεσης της νέας διεργασίας και του χρόνου που απομένει στην εκτελούμενη διεργασία. Αν ο χρόνος της νέας διεργασίας είναι μικρότερος από τον εναπομένοντα χρόνο της εκτελούμενης τότε αναστέλλεται η εκτελούμενη και εκτελείται απο την cpu η νέα. μειονεκτήματα: Όπως και στον SJF πρέπει να γνωρίζουμε εκ τον προτέρων την διάρκεια των διεργασιών. πλεονέκτημα: Σε αντίθεση με τον SJF δεν υπάρχει πρόβλημα αν μια διεργασία προστεθεί κατά την διάρκεια της εκτέλεσης. παράδειγμα: την χρονική στιγμή 0t είναι διαθέσιμες οι διεργασίες Α με διάρκεια 8t B με διάρκεια 4t την χρονική στιγμή 2t προστίθεται η διεργασία Γ με διάρκεια 1t. Την χρονική στιγμή 0t επιλέγεται η B και εκτελείται την χρονική στιγμή 2t όμως καταφτάνει η Γ. μετά από 2t η διάρκεια που απομένει στην Α είναι 2t γίνεται σύγκριση μεταξύ του χρόνου που απομένει στην Α και την διάρκεια της Γ αφού η διάρκεια της Γ είναι μικρότερη, η Α διακόπτεται και την θέση της στο cpu θα πάρει η Γ. Αλληλεπιδραστικά συστήματα στόχοι σε αλγορίθμους στα αλληλεπιδραστικά συστήματα : Χρόνος Απόκρισης η απόκριση στης αιτήσεις να είναι ταχύτατη

7 7 Τήρηση αναλογιών να ικανοποιούνται οι προσδοκίες των χρηστών αλγόριθμοι σε αλληλεπιδραστικά συστήματα Χρονοπρογραμματισμός εκ περιτροπής (round robin) Είναι προεκτοπιστικός αλγόριθμος. Σε κάθε διεργασία εκχωρείται κάποιο χρονικό διάστημα το οποίο ονομάζεται κβάντο χρόνου, μέσα στο οποίο επιτρέπεται η εκτέλεση της. Αν η εκτέλεση της διεργασίας υπερβεί το χρόνο του κβάντου τότε η διεργασία διακόπτεται και στην θέση της εκτελείτε κάποια άλλη. Αν η διεργασία μπλοκαριστεί ή ολοκληρωθεί δίνεται η cp σε κάποια άλλη διεργασία πριν τελειώσει το κβάντο χρόνου της. Για την υλοποίηση του, γίνεται χρήση μιας ουράς, τα κβάντα τοποθετούνται με την σειρά που καταφτάνουν στο τέλος της ουράς ενώ επιλέγετε ένα κβάντο προς εκτέλεση από την αρχή της ουράς. Όταν εκπονείται ο χρόνος ενός κβάντου ή μπλοκάρεται αυτό μεταφέρεται στο τέλος της ουράς. πλεονεκτήματα: ένας απο τους παλαιότερους, απλούστερους, δικαιότερους, ευρύτατα χρησιμοποιούμενος μειονέκτημα: σπατάλη χρόνου cpu κατά την εναλλαγή διεργασιών. Η εναλλαγή διεργασιών ή θεματική αλλαγή είναι μια χρονοβόρα διεργασία. ζήτημα: μέγεθος κβάντου. λόγοι για μεγάλο κβάντο: Λόγο της σπατάλης χρόνου κατά την εναλλαγή, το κβάντο χρόνου δεν θα πρέπει να είναι πολύ μικρό, το ⅕ του χρόνου θ σπαταλιέται σε εναλλαγες. Αν για παράδειγμα είναι 4ms, έχουμε επιβάρυνση 1ms για κάθε εναλλαγή. Αν όμως επιλέξουμε 100ms κβάντου χρόνου τότε το 1/101 θα σπαταλιέται σε εναλλαγές. Εάν επιλεγεί μεγάλο κβάντο οι περισσότερες διεργασίες θα μπλοκάρονται και δεν θα προεκτοπίζονται. Η μείωση των

8 8 προεκτοπισμών βελτιώνει την απόδοση του συστήματος. λόγοι για μικρό κβάντο: Στην περίπτωση που επιλέξουμε κάποιο μεγάλο κβάντο, ο μέσος χρόνος αναμονής των εργασιών θα αυξηθεί, με αποτέλεσμα η απόκριση των αλληλεπιδραστικών εφαρμογών να υποφέρει. χρονοπρογραμματισμός με βάση την προτεραιότητα Είναι μια επέκταση του προηγούμενου αλγόριθμου, οπού τα κβάντα προς εκτέλεση επιλέγονται με βάση την προτεραιότητα τους και έπειτα με την σειρά άφιξης τους. Η προτεραιότητα μπορεί να είναι είτε στατική είτε δυναμική και μπορεί να καθορίζετε ή απο τον χρήστη ή απο το συστήμα. Με περίπτωση αυτού του αλγόριθμου είναι να δίνεται δυναμικά μεγαλύτερη προτεραιότητα στις διεργασίες που είναι εξαρτημένες από Ε/Ε. Η διεργασίες αυτές έχουν την ιδιότητα ότι μπλοκάρουν για Ε/Ε και έτσι δεν θα χρησιμοποιούν όλο το κβάντο χρόνου. Η περίπτωση του αλγορίθμου βλέπει το υπολειπόμενο αυτό και με βάση αυτόν του δίνει ανάλογη προτεραιότητα. Πίο συγκεκριμένα αν η διεργασία χρησιμοποίησε f χρόνου την τελευταία φορά, η προτεραιότητα της θα γίνει 1/f. κλάσεις προτεραιοτήτων: Κάθε κβάντο αντιστοιχείται σε μια κλάση προτεραιοτήτων. Ο χρονοπρογραμματιστής επιλέγει την εκτέλεση κβάντων απο την κλάση με την μεγαλύτερη προτεραιότητα. Αν η κλάση αυτή δεν έχει αλλά διαθέσιμα κβάντα προχωράει στην επόμενη. παράδειγμα : Πολλαπλές ουρές Γίνεται χρήση των κλάσεων προτεραιοτήτων με την διαφορά ότι δίνονται πολλαπλάσια κβάντα χρόνου στις κλάσεις με μικρότερη προτεραιότητα. Αυτό σημαίνει ότι αν μια διεργασία βρίσκεται σε μια κλάση με υψηλή προτεραιότητα αυτή θα εκτελείτε πιο συχνά αλλά για λιγότερο χρόνο. Αυτό είναι καλό για της διεργασίες που είναι εξαρτημένες από Ε/Ε. Αντίθετα αν μια διεργασία βρίσκεται σε κλάση με χαμηλότερη προτεραιότητα θα εκτελείτε σπανιότερα αλλά για περισσότερο χρόνο που είναι καλό για διεργασίες που είναι αναρτημένες από Ε/Ε.

9 9 όταν μια διεργασία αξιοποιεί όλο το χρόνο κβάντου της κατεβαίνει κλάση ( μικρότερη προτεραιότητα ) θα εκτελεστεί πιο σπάνια αλλά για περισσότερο συνεχόμενο χρόνο. Αντίθετα όταν μία διεργασία δεν αξιοποιήσει όλο το χρόνο ανεβαίνει κλάση. πλεονεκτήματα: μειονεκτήματα: Εξυπηρέτηση με βάση τη μικρότερη διάρκεια αλγόριθμος γήρανσης Προσαρμογή του αλγορίθμου που συναντήσαμε στα συστήματα δέσμης, επειδή δεν μπορούμε να ξέρουμε το χρόνο διάρκειας μιας διεργασίας προσπαθούμε να τον εκτιμήσουμε με βάση προηγούμενες εκτελέσεις. Για να γίνει αυτό γίνετε χρήση του αλγορίθμου γήρανσης. που περιγράφετε από το σταθμισμένο άθροισμα των δύο προηγούμενων τιμών ατ0 + ( 1 α ) Τ1 όπου Ti ο χρόνος των προηγούμενων ι οστών εκτελέσεων και α ο συντελεστής που εκφράζει πόσο γρήγορα θα ξεχνιούνται οι παλιότερες τιμές. αν για παράδειγμα α=1/2 και οι χρόνοι εκτέλεσης T0 = 2, T1 = 4, T2 = 5, T3 = 10 ποίος είναι ο προβλεπόμενος χρόνος διάρκειας; έχουμε Τ4 = Τ3 /2 + Τ2 /2 (1) όμως Τ2 = Τ2 /2 + Τ1 /2 όμως Τ1 = Τ1/2 + Τ0/2 άρα (1) = Τ3/2 + Τ2/4 + Τ1/8 + Τ0/8 = 10/2 + 5/4 + 4/8 + 2/8 =...

10 10 Εγγυημένος χρονοπρογραμματισμός Χρονοπρογραμματισμός με λοταρία Στα προγράμματα μοιράζονται λαχνοί και κάθε φορά επιλέγεται τυχαία ένας λαχνός και το πρόγραμμα που τον έχει εκτελείτε. Μπορούν να δοθούν παραπάνω λαχνοί σε διεργασίες με υψηλότερη προτεραιότητα ώστε να αυξηθεί η πιθανότητα εκτέλεσης τους. Χρονοπρογραμματισμός δίκαιης διανομής Εδώ για χρονοπρογματισμό των διεργασιών λαμβάνουμε υπόψιν τον χρήστη στον οποίο ανήκουν, διασφαλίζοντας ότι θ κατανείμουμε ισότιμα τον χρόνο του επεξεργαστή ανάμεσα στους χρήστες. παράδειγμα: Χρονοπρογραμματισμός σε συστήματα πραγματικού χρόνου Ως σύστημα πραγματικού χρόνου (real time system) θεωρείται αυτό στο οποίο ο χρόνος παίζει πρωταρχικό ρόλο. Συνήθως, μία ή περισσότερες φυσικές συσκευές, οι οποίες βρίσκονται έξω από το υπολογιστικό σύστημα, δημιουργούν μία σειρά από ερεθίσματα στα οποία ο υπολογιστής πρέπει να αποκριθεί κατάλληλα μέσα σε σταθερό χρονικό διάστημα. Υπάρχουν 2 είδη: α) αυστηρά συστήματα πραγματικού χρόνου (απόλυτη τήρηση προθεσμιών) β) ήπια συστήματα πραγματικού χρόνου (ύπαρξη ανοχής σε μη απόλυτη τήρηση προθεσμιών, βέβαια όχι επιθυμητή). Τα γεγονότα χωρίζονται σε περιοδικά και απεριοδικά, το σύστημα είναι υποχρεωμένο να αποκρίνεται και στα δύο. Για να είναι ένα σύστημα χρονοπρογραμματίσιμο πρέπει m Ci, όπου m το πλήθος τον περιοδικών συμβάντων, και το i=1 Pi 1 συμβάν i εμφανίζεται με περίοδο Pi και απαιτεί Ci δευτερόλεπτα χρόνο από την CPU για επεξεργασία. Ουσιαστικά για να έχει την δυνατότητα να χειριστεί το συνολικό φορτίο. ΧΡΟΝΟΠΡΟΓΡΑΜΑΤΙΣΜΟΣ ΝΗΜΑΤΩΝ (σελίδες ) Ο χρονοπρογραμματισμός στα νήματα διαφέρει αν το σύστημα υποστηρίζει νήματα επιπέδου χρήστη ή νήματα επιπέδου πυρήνα ή και τα δύο. Νήματα Επιπέδου χρήστη: Ο χρονοπρογραμματισμός γίνεται με βάση τη διεργασία και όχι τα νήματα που μπορεί να περιέχει. Ο πυρήνας δεν γνωρίζει τίποτα για αυτά. Η διεργασία αποφασίζει πιο νήμα της θα εκτελείται, κάθε φορα που

11 11 της έχει παραχωρηθεί η CPU Νήματα επιπέδου πυρήνα: Εδώ ο πυρήνας έχει γνώση για την ύπαρξη των νημάτων μέσα στις διεργασίες. Ο χρονοπρογραμματισμος γίνεται με βάση το νήμα αδιαφορώντας για το σε πια διαδικασία ανηκεί. Παρατήρηση Στα νήματα επιπέδου πυρήνα το μπλοκάρισμα ενός νήματος λόγο Ε/Ε δεν αναστέλλει ολόκληρη την διεργασία όπως στα νήματα επιπέδου χρήστη. Για παράδειγμα αν ένας text editor που γράφει στην οθόνη, αποθηκεύει, και ζητά είσοδο από το πληκτρολόγιο. Η συγκεκριμένη διεργασία έχει 3 νήματα, ένα για κάθε εργασία. Αν δεν είχαμε νήματα επιπέδου πυρήνα, όταν τον νήμα που ζητά είσοδο από το πληκτρολόγιο μπλοκαριζόταν και περίμενε είσοδο, όλη η διεργασία θα μπλοκαριζόταν, πράγμα που δεν το θέλουμε. σελίδα ΑΣΚΗΣΕΙΣ 1 Άσκηση 2.6 Εκφώνηση: Να συγκρίνετε την ανάγνωση ενός αρχείου με τη χρήση μονονηματικού διακομιστή αρχείων (single threaded server) και με τη χρήση πολυνηματικού διακομιστή (multi threadedserver). Εάν τα δεδομένα που απαιτούνται βρίσκονται στην κρυφή μνήμη (cache hit), χρειάζονται 15 msec για να ληφθεί μια αίτηση εργασίας, να διεκπεραιωθεί, και να γίνει η υπόλοιπη

12 12 επεξεργασία. Στο 1/3 των περιπτώσεων χρειάζεται λειτουργία δίσκου, και απαιτούνται επιπλέον 75 msec, στη διάρκεια των οποίων το νήμα είναι σε λήθαργο. Ποια η διεκπεραιωτική ικανότητα (αιτήσεις ανά sec) για έναν μονονηματικό και ποια για έναν πολυνηματικό διακομιστή; Μονονηματικός εξυπηρετητής: Όταν συμβαίνει ευστοχία κρυφής μνήμης, η διεκπεραίωση μίας αίτησης απαιτεί 15 msec. Η αστοχία κρυφής μνήμης και η εξυπηρέτηση μέσω του δίσκου, απαιτεί 75 msec. Ο μέσος χρόνος εξυπηρέτησης είναι: (2/3 15 msec) + (1/3 (15+75) msec) = 40 msec, άρα 25 αιτήσεις /sec. Πολυνηματικός εξυπηρετητής: Σε αυτή την περίπτωση, όταν ένα νήμα αναμένει Ε/Ε από το δίσκο, κάποιο άλλο νήμα μπορεί να εξυπηρετεί ένα άλλο αίτημα. Συνεπώς η αναμονή για Ε/Ε από το δίσκο επικαλύπτεται. Κάθε αίτηση διεκπαιρεώνεται σε 15 msec, και ο server εξυπηρετεί 66 2/3 αιτήσεις/sec. 2 Άσκηση 2.11 (Πρ. 2 36) Εκφώνηση: Πέντε εργασίες περιμένουν να εκτελεστούν. Οι αναμενόμενοι χρόνοι εκτέλεσης τους είναι 9, 6, 3, 5, και Χ. Με ποιο αλγόριθμο και με ποιά σειρά πρέπει να εκτελεστούν ώστε να ελαχιστοποιηθεί ο μέσος χρόνος απόκρισης; (Η απάντηση πρέπει να είναι συνάρτηση του Χ.) απάντηση:

13 13 Ο αλγόριθμος SJF (shortest job first) δίνει το μικρότερο μέσο χρόνο απόκρισης. Συνεπώς θα ισχύει: Αν 0 < X 3: X, 3, 5, 6, 9. Αν 3 < X 5: 3, X, 5, 6, 9. Αν 5 < X 6: 3, 5, X, 6, 9. Αν 6 < X 9: 3, 5, 6, X, 9. Αν X > 9: 3, 5, 6, 9, X. 3 Άσκηση 2.12 (Πρ. 2 37) Εργασίες δέσμης Α, Β, Γ, Δ, Ε, καταφθάνουν σε ένα κέντρο υπολογιστών την ίδια περίπου χρονική στιγμή. Οι χρόνοι εκτέλεσής τους εκτιμώνται σε 10, 6, 2, 4, και 8 λεπτά αντίστοιχα. Oι προτεραιότητές τους (που καθορίστηκαν εξωτερικά) είναι 3, 5, 2, 1, και 4 αντίστοιχα, (όπου 5 η υψηλότερη). Για τον καθέναν από τους επόμενους αλγόριθμους χρονοπρογραμματισμού, υπολογίστε το μέσο χρόνο διεκπεραίωσης των διεργασιών. Αγνοήστε την επιβάρυνση λόγω εναλλαγής των διεργασιών. (α) Εξυπηρέτηση εκ περιτροπής. (β) Χρονοπρογραμματισμός προτεραιοτήτων. (γ) Εξυπηρέτηση με βάση τη σειρά άφιξης (εκτέλεση με τη σειρά 10, 6, 2, 4, 8). (δ) Εξυπηρέτηση με βάση τη μικρότερη διάρκεια. Για την περίπτωση (α), υποθέστε ότι το σύστημα είναι πολυπρογραμματιζόμενο και ότι κάθε εργασία παίρνει δίκαιο μερίδιο του χρόνου της CPU. Για τις περιπτώσεις (β) έως (δ), υποθέστε ότι ο αλγόριθμος είναι μη προεκτοπιστικός. Όλες οι εργασίες είναι τελείως εξαρτημένες από τη CPU. απάντηση: (α) Α: 10, Β: 6, Γ: 2, Δ: 4, και Ε: 8. (α) RR με δίκαιη κατανομή χρόνου. Ο μέσος χρόνος εκτέλεσης είναι: ( )/5 = 106/5 = 21,2 λεπτά. ακολουθεί κομμάτι υπό επιστημονική αμφισβήτηση σημείωση πως προκύπτει ο μέσος χρόνος εκτέλεσης: δεν λαμβάνετε υπόψιν το γεγονός ότι η Αι μπορεί να τελειώσει ταχύτερα απο την Aj έστω ότι έχουμε n διεργασίες τις Aι με διάρκεια Bi, με 0< ι < n και κβάντο χρόνου q, τότε χρόνος για την Ai θα είναι ( i * q ) + (n 1)q(Bi/q ) = (i*q) + (n 1)Bi μέσος χρόνος θα είναι (Σ[ι,n](i*q) + (n 1)Bi )/n = n(n+1)/2 + Σ[ι,n]Bi + (Σ[ι.n]Bi)/n (β) Α: 10, Β: 6, Γ: 2, Δ: 4, και Ε: 8.

14 14 Προτεραιότητες 3, 5, 2, 1, και 4. (β) Χρονοπρογραμματισμός προτεραιοτήτων μηπροεκτοπιστικός. Η Β: τερματίζει σε 6 λεπτά. Η Ε: τερματίζει σε 6+8 = 14 λεπτά. Η Α: τερματίζει σε = 24 λεπτά. Η Γ: τερματίζει σε 24+2 = 26 λεπτά. Η Δ: τερματίζει σε 26+4 = 30 λεπτά. Ο μέσος χρόνος εκτέλεσης είναι: ( )/5 = 100/5 = 20 λεπτά. (γ) Α: 10, Β: 6, Γ: 2, Δ: 4, και Ε: 8. (γ) Εξυπηρέτηση με βάση τη σειρά άφιξης. Η Α: τερματίζει σε 10 λεπτά. Η Β: τερματίζει σε 10+6 = 16 λεπτά. Η Γ: τερματίζει σε 16+2 = 18 λεπτά. Η Δ: τερματίζει σε 18+4 = 22 λεπτά. Η Ε: τερματίζει σε 22+8 = 30 λεπτά. Ο μέσος χρόνος εκτέλεσης είναι: ( )/5 = 96/5 = 19,2 λεπτά. (δ) Α: 10, Β: 6, Γ: 2, Δ: 4, και Ε: 8. (γ) Εξυπηρέτηση με βάση τη μικρότερη διάρκεια (SJF). Η Γ: τερματίζει σε 2 λεπτά. Η Δ: τερματίζει σε 2+4 = 6 λεπτά. Η Β: τερματίζει σε 6+6 = 12 λεπτά. Η Ε: τερματίζει σε 12+8 = 20 λεπτά. Η Α: τερματίζει σε = 30 λεπτά. Ο μέσος χρόνος εκτέλεσης είναι: ( )/5 = 70/5 = 14 λεπτά. 4 Άσκηση 2.13 (Πρ. 2 40)

15 15 Ο αλγόριθμος γήρανσης με α=1/2, χρησιμοποιείται για την πρόβλεψη των χρόνων εκτέλεσης. Οι τέσσερις προηγούμενες εκτελέσεις, από την παλαιότερη προς την πιο πρόσφατη, έδωσαν χρόνους 40, 20, 40, και 15 msec αντίστοιχα. Ποιά είναι η πρόβλεψη χρόνου για την επόμενη εκτέλεση; Απάντηση: Ο αλγόριθμος της γήρανσης (aging algorithm) για τον υπολογισμό της πρόβλεψης του επόμενου χρόνου εκτέλεσης σε συνάρτηση με τους προηγούμενους γνωστούς χρόνους, δίνεται από τον τύπο: Tεκτιμώμενο= α Τ0 + (1 α) Τ1 Προηγούμενοι χρόνοι: Τ0=40, Τ1=20, Τ2= 40, Τ3= 15 msec(τ0 η παλαιότερη) Tεκτ.(1) = Τ0/2 + Τ1/2 = (40+20)/2 = 30 msec Tεκτ.(2) = Τ0/4 + Τ1/4 + Τ2/2 = ( )/4 = 35 msec Tεκτ.(3) = Τ0/8 + Τ1/8 + Τ2/4 + Τ3/2 =( )/8 =25 msec 5 Άσκηση 2.14 (Πρ. 2 41) Σε ένα ήπιο σύστημα πραγματικού χρόνου υπάρχουν τέσσερα συμβάντα, με περιόδους 50, 100, 200, και 250 msec αντίστοιχα. Υποθέστε ότι τα τέσσερα συμβάντα χρειάζονται 35, 20, 10, και x msec χρόνου της CPU αντίστοιχα. Ποιά είναι η μεγαλύτερη τιμή του x, για την οποία το σύστημα είναι χρονοπρογραμματίσιμο; Aπάντηση: Το ποσοστό της CPU που χρησιμοποιείται δίνεται από τον τύπο Συνεπώς Προκύπτει ότι το x πρέπει να είναι μικρότερο ή ίσο με 12.5 msec

16 16

17 17 ΚΕΦΑΛΑΙΟ 3 Χωρίς Αφαιρέσεις μνήμης Χώροι διευθύνσεων Εναλλαγή Η διεργασίες μεταφέρονται στην ολότητα τους στην μνήμη. Μειονεκτήματα: 1. Δεν μπορούν να τρέξουν προγράμματα μεγαλύτερα από την μνήμη. 2. Σύντομα θα υπάρξουν οπές στην μνήμη. 3. Μπορεί να γίνει σύμπτυξη της μνήμης αλλά είναι χρονοβόρα διαδικασία. Αλγόριθμοι επιλογής για το σε πια θέση στην μνήμη θα τοποθετηθέι μία διεργασία Πρώτης προσαρμογής : Η διεργασία τοποθετείται στην πρώτη οπή (κενός χώρος ανάμεσα στις διεργασίες) που την χωράει. Επόμενης προσαρμογής: Αρχικά τοποθετεί την πρώτη διεργασία όπως η πρώτη προσαρμογή. Για κάθε επόμενη διεργασία η αναζήτηση για κατάλληλη οπή ξεκινά από κει και πέρα που έγινε η τελευταία τοποθέτηση και όχι από την αρχή. Βέλτιστης προσαρμογής: Σαρώνεται όλη η μνήμη και επιλέγεται η μικρότερη οπή που χωράει την διεργασία. Χείριστης προσαρμογής : Επιλέγεται κάθε φορά η μεγαλύτερη οπή. Παράδειγμα 6 Άσκηση 3.2 (Πρ.4 ) Εικονική Μνήμη Διαχείριση ελεύθερης μνήμης Διαχείριση με χάρτες bit Διαχείριση με συνδεδεμένες λίστες

18 18 Αλγόριθμοι Αντικατάστασης Σελίδας Βέλτιστος αλγόριθμος Η υλοποίηση του είναι αδύνατη άλλα χρησιμοποιείτε σε θεωρητικό επίπεδο για να συγκρίνουμε την απόδοση άλλων αλγορίθμων. Για κάθε σελίδα υπάρχει ένας αριθμός που δείχνει μετά από πόσες εντολές θα χρειαστεί η σελίδα αυτή ( για αυτό το λόγο η υλοποίηση του είναι αδύνατη).όταν γίνετε επιλογή για αντικατάσταση μίας σελίδας, επιλέγετε η σελίδα με τον μεγαλύτερο αριθμό. Επιλέγεται, δηλαδή, για αντικατάσταση, η σελίδα που θα χρησιμοποιηθεί τελευταία. σελίδα 258 Αλγόριθμος NRU Μη πρόσφατα χρησιμοποιούμενες Για την υλοποίηση του διατηρείτε ένας πίνακας είτε στην μνήμη είτε στην MMU (αν είναι στην MMU έχουμε καλύτερη απόδοση).σε αυτό το πίνακα για κάθε σελίδα περιέχονται δυο bit το Α και το Τ. το Α είναι 1 όταν έχει γίνει αναφορά στην σελίδα είτε ανάγνωση είτε εγγραφή. το Τ είναι 1 όταν η σελίδα έχει τροποποιηθεί δηλαδή έχει γίνει εγγραφή. έτσι έχουμε τις παρακάτω κατηγορίες κατηγορία 0: δεν έγινε αναφορά, δε τροποποιήθηκε κατηγορία 1: δεν έγινε αναφορά, τροποποιήθηκε κατηγορία 2: έγινε αναφορά, δε τροποποιήθηκε κατηγορία 3: έγινε αναφορά, τροποποιήθηκε σημείωση ο αριθμός της κατηγορίας προκύπτει από δυαδικό αριθμό που προκύπτει από τους A T κατηγορία A bit T bit ανα τακτά χρονικά διαστήματα το A bit μπορεί να μηδενίζεται όχι όμως το T bit γιατί μας βολεύει να ξέρουμε αν μια σελίδα έχει τροποποιηθεί γιατί αν δεν έχει κατά την εναλλαγή δεν χρειάζεται να την ξαναγράψουμε στο δίσκο Τελικά ο αλγόριθμος ξεκινώντας από την μικρότερη κατηγορία επιλέγει μια σελίδα στην τύχη για αντικατάσταση αν δεν υπάρχει κατεβαίνει κατηγορία. Δηλαδή αν δεν υπάρχει καμία στην κατηγορία 0, επιλέγουμε από την κατηγορία 1. Αν πάλι όχι τότε επιλέγουμε από την κατηγορία 2 κοκ.

19 19 χαρακτηριστικά: παράδειγμα: σελίδα 259 Ο αλγόριθμος FIFO Διατηρείτε μια λίστα με όλες τις σελίδες που υπάρχουν στην μνήμη. Στην αρχή της λίστας βρίσκεται η παλαιότερη σελίδα και στο τέλος η σελίδα που χρησιμοποιήθηκε τελευταία. Όταν συμβεί σφάλμα σελίδας αφαιρείτε η σελίδα που βρίσκεται μπροστά στην ουρά, ενώ η καινούργια προστίθεται στο τέλος. μειονέκτημα: Δεν λαμβάνετε υπόψη το πόσο συχνά χρησιμοποιείτε μια σελίδα. Έτσι μπορεί για παράδειγμα να αφαιρεθεί μια σελίδα που χρησιμοποιείτε συχνά επειδή έχ παράδειγμα: στη ουρά υπάρχουν οι σελίδες Σ1 Σ2 Σ3 Σ4, πλαίσια μνήμης είναι 4 γίνεται σφάλμα σελίδας και χρειάζεται να φορτώσουμε τη την Σ5, τα πλαίσια μνήμης δεν αρκούν άρα πρέπει να γίνει αντικατάσταση κάποιας σελίδας. Με βάση την FIFO επιλέγουμε την Σ1 και η νέα σελίδα πάει στο τέλος της ουράς.η λίστα θα έχει την παρακάτω μορφή: Παράδειγμα άσκησης: Έχουμε 4 πλαίσια σελίδας και μια διαδικασια με 6 εικονικές σελίδες Η σειρά αναφοράς είναι Σ3 Σ4 Σ2 Σ1 Σ6 Σ4 Σ3 Σ2 Π0 Π1 Π2 Π3 page req page faults FIFO t1 Σ3 Σ3 1 3 t2 Σ3 Σ4 Σ

20 20 t3 Σ3 Σ4 Σ2 Σ t4 Σ3 Σ4 Σ2 Σ1 Σ t5 Σ6 Σ4 Σ2 Σ1 Σ t6 Σ6 Σ4 Σ2 Σ1 Σ t7 Σ6 Σ3 Σ2 Σ1 Σ t8 Σ6 Σ3 Σ2 Σ1 Σ Ο αλγόριθμος FIFO δεύτερης ευκαιρίας Είναι τροποποίηση του αλγορίθμου FIFO ώστε να λυθεί το πρόβλημα της αφαίρεσης μιας σελίδας που χρησιμοποιείτε συχνά. Για την επίτευξη του στόχου αυτού γίνετε χρήση του A bit που αναφέρθηκε πιο πάνω (αλγόριθμος NRU). Η διαφορά με τον απλό FIFO έχει να κάνει με το ότι όταν γίνεται σφάλμα σελίδας εξετάζεται αν η σελίδα έχει χρησιμοποιηθεί εξετάζοντας το A bit, αν έχει χρησιμοποιηθεί τότε τοποθετείτε στο τέλος της ουράς και το A bit γίνετε 0.Έπειτα εξετάζετε η επόμενη σελίδα από την αρχή της ουράς. Αν το A bit είναι 0 τότε η αντικατάσταση της σελίδας γίνετ κανονικά. παράδειγμα: Ο αλγόριθμος σελίδας ρολογίου Η υλοποίηση του αλγορίθμου δεύτερης ευκαιρίας δεν είναι καθόλου αποδοτική γιατί θα πρέπει συνεχώς να μετακινούντα οι σελίδες στην λίστα. Έτσι αντί για την χρήση ουράς προτιμάτε η χρήση μιας κυκλικής λίστας και ενός δείκτη που δείχνει πια είναι η επόμενη προς αντικατάσταση σελίδα δηλαδή την παλαιότερη. Όταν προκύψει σφάλμα σελίδας εξετάζεται το Α bit της σελίδας στην οποία δείχνει ο δείκτης. Αν το Α είναι 0 η σελίδα αφαιρείτε, η νέα σελίδα τοποθετήτε στην θέση της μέσα στην κυκλική λίστα και ο δείχτης προχωράει μια θέση.

21 21 Αν το Α είναι 1 το Α γίνεται 0 και ο δείχτης προχωράει μια θέση. Η διαδικασία επαναλαμβάνετε μέχρι να βρεθεί μια σελίδα με Α 0. Αν γίνει ένας ολόκληρος κύκλος χωρίς να βρεθεί σελίδα είτε επιλέγετε μια στην τύχη είτε αυτή στην οποία βρίσκετε ο δείχτης. παράδειγμα: έστω ότι έχουμε 5 πλαίσια σελίδα, αρχικά υπάρχουν οι σελίδες Σ1,Σ2,Σ3,Σ4,Σ5. Υπάρχει σφάλμα σελίδας και δεν υπάρχει πλέον χώρος στα πλαίσια έτσι πρέπει να αντικατασταθεί κάποια σελίδα. Εξετάζεται πρώτα η Σ1 το Α της είναι 1, άρα το Α θα γίνει 0 και ο δείκτης θα προχωρήσει. Έπειτα εξετάζεται το Σ2, το Α Ο αλγόριθμος LRU(Least Recently Used) H σελίδα που αφαιρείται με όταν υπάρχει ανάγκη αντικατάστασης είναι αυτή που έγινε λιγότερο πρόσφατα αναφορά. Για να το καταφέρουμε αυτό υπάρχουν διάφορες υλοποιήσεις: Με την χρήση μετρητή n bit στο υλικό που αντιστοιχεί σε κάθε σελίδα και αυξάνετε κατά 1 μετά απο κάθε προσπέλαση. Όταν χρειαστεί να γίνει αντικατάσταση σελίδας εξετάζονται οι μετρητές όλων των σελίδων και επιλέγετε να αντικατασταση αυτή με το μικρότερο μετρητή. Μια άλλη υλοποίηση είναι με την χρήση πίνακα ν x ν στο υλικό.όταν γίνετε αναφορά στην σελίδα κ, τα bit της στήλης κ γίνονται ένα και στην συνέχεια τα bit της γραμμής κ γίνονται 0.Έτσι η σελίδα προς αντικατάσταση είναι αύτη που το άθροισμα των bit της στήλης είναι η μικρότερη. NFU με aging Για κάθε σελίδα υπάρχει ένας μετρητής ο όποιος σε κάθε χτύπο ρολογιού ολισθαίνει δεξιά και αν στην αρχή του (most significand bit) τοποθετείτε η τιμή του Α, το Α μηδενίζεται. Η σελίδα που επιλέγετε προς αφαίρεση είναι αυτή με το μικρότερο μετρητή.

22 22 παράδειγμα: για μία σελίδα σελίδα 264 Παράδειγμα Άσκησης Έχουμε 4 πλαίσια σελίδας. Σε μια διεργασία γίνεται αναφορά στις εικονικές της σελίδες με σειρά Αλγόριθμος αντικατάστασης ο LRU. Πόσα page fault θα συμβούν; Βάζουμε > 4 page fault Θα γίνει αναφορά στην 6, δεν υπάρχει, ----> +1 page fault Eίναι 6421 Θα γίνει αναφορά στην 5, δεν υπάρχει -----> +1 page fault Είναι 6521 Θα γίνει αναφορά στην 2, Υπάρχει. Εξακολουθεί 6521, Θα γίνει αναφορά στην 3, δεν υπάρχει ----> page fault. Προσοχή!!! H λιγότερο πρόσφατα χρησιμοποιούμενη (LRU) είναι η 1 και αυτή θα αντικατασταθεί. Άρα είναι, Θα γίνει αναφορά στην 4, δεν υπάρχει ----> page fault H λιγότερο πρόσφατα χρησιμοποιούμενη είναι η 6 και αυτή θα αντικατασταθεί Οπότε είναι Συνολικά σφάλματα 8. SW Συνόλου εργασίας Σύνολο εργασίας είναι των σύνολο των σελίδων που η διεργασία χρησιμοποιεί την τρέχουσα χρονική στιγμή.

23 23 Το μοντέλο συνόλου εργασίας είναι μέθοδος που χρησιμοποιεί προσελιδοποίηση προκειμένου να μειώσει τον ρυθμό σφαλμάτων σελίδας.η προσελιδοποίηση φορτώνει τις σελίδες πριν ξεκινήσει μια διεργασία Τρέχων εικονικός χρόνος είναι ο χρόνος που μια διεργασία έχει τρέξει στον επεξεργαστή και είναι μοναδικός για κάθε διεργασία. Για την υλοποίηση του θα χρειαστεί να υπάρχει τρόπος να εξακριβώσουμε ποιές σελίδες ανήκουν στο σύνολο εργασίας χρησιμοποιείτε αντί για μετρητή ο χρόνος τελευταίας χρήσης μιας μεταβλητής που δείχνει ποίος ήταν ο τελευταίος εικονικός χρόνος στον οποίο έγινε προσπέλαση από την διεργασία. Περιοδικά γίνετε μια διακοπή μηδενίζοντας τις τιμές του Α. Στην περίπτωση που θα χρειαστεί να αντικατασταθεί μια σελίδα εξετάζεται ο πίνακας με τις φορτωμένες σελίδες και ελέγχονται οι τιμές του Α για κάθε σελίδα: 1. αν το Α είναι 1 τότε ενημερώνετε ο χρόνος τελευταίος προσπέλασης που αντιστοιχεί σε μία σελίδα με βάση τον εικονικό χρόνο της εφαρμογής και συνεχίζουμε την αναζήτηση. 2. αν το Α είναι 0 τότε υπολογίζεται η ηλικία της σελίδας αφαιρώντας τον χρόνο τελευταίας χρήσης με των τρέχων εικονικό χρόνο της διεργασίας. Έπειτα εξετάζεται αν η ηλικία είναι μεγαλύτερη του t τότε αφαίρεσε την σελίδα, αν η ηλικία είναι μικρότερη του t τότε αποθήκευσε την μικρότερη απο αυτές ( θα χρειαστεί για μελλοντική εξέταση ). μειονέκτημα: Πρέπει να σαρώνεται όλος ο πίνακας σελίδων κάθε φορά που είναι ανάγκη αντικατάστασης παράδειγμα: σελίδα 265 αλγόριθμος WSClock Βελτιωμένος αλγόριθμος που κάνει χρήση αλγόριθμου ρολογιού και αλγόριθμου συνόλου εργασίας. Για την υλοποίηση τ γίνεται χρήση κυκλικής λίστας όπου κάθε στοιχείο πρέπει να περιέχει το τελικό εικονικό χρόνο προσπέλασης μιας σελίδας και το bit A. Όταν παρουσιαστεί ανάγκη για αλλαγή σελίδας τότε εξετάζετε η σελίδα στην οποία δείχνει ο δείχτης Αν το bit A είναι 1, τότε ενημερώνετε ο εικονικός χρόνος τελευταίας προσπέλασης της σελίδας και o δείχτης πάει στην επόμενη σελίδα εξετάζοντας την. Αν το bit Α είναι 0, τότε υπολογίζετε η ηλικία της σελίδας αφαιρώντας τον χρόνο τελευταίας χρήσης με των τρέχων εικονικό χρόνο της διεργασίας. Έπειτα εξετάζεται αν η ηλικία: ι)αν είναι μεγαλύτερη του t και η σελίδα είναι καθαρή ( Τ = 0, δεν έχει γίνει έγγραφη) τότε απλά αντικαθίσταται η σελίδα και ο δείχτης προχωράει μία θέση, ιι)αν είναι μεγαλύτερη του t και η σελίδα είναι βρόμικη ( Τ = 1, δεν έχει γίνει έγγραφη) τότε γίνεται χρόνοπραγραματισμός της αντικατάστασης της δεν γίνεται αντικατάσταση ο δείχτης προχωράει μία θέση εξετάζοντας την. ιι)αν η ηλικία είναι μικρότερη του t τότε o δείχτης πάει στην επόμενη σελίδα εξετάζοντας την. Αν γίνει ένας ολόκληρος κύκλος χωρίς να βρεθεί σελίδα προς αντικατάσταση: 1. Αν έχουν χρόνοπρογραμματιστεί σελίδες τότε ο αλγόριθμος συνεχίζει αναμένοντας πως κάποιες από αυτές έχει

24 24 γίνει και υπάρχει κενή σελίδα. 2. Αν δεν έχουμε χρονοπρογραμματιστεί τότε επιλέγετε τυχαία μια καθαρή σελίδα ( Τ=0 ) παράδειγμα: πλεονεκτήματα: σελίδα 270

25 25 ΑΣΚΗΣΕΙΣ 5 Άσκηση 3.1 (Πρ. 3) Μνήµη µεγέθους 128 ΜΒ εκχωρείται σε µονάδες των n byte. Πόσος αποθηκευτικός χώρος (σε byte) χρειάζεται για την παρακολούθηση της ελεύθερης µνήµης (α) µε χάρτη bit (bitmap), και (β) µε συνδεδεµένη λίστα. Ποιά µέθοδος είναι καλύτερη; Για τη συνδεδεµένη λίστα, υποθέστε ότι: 1. H µνήµη αποτελείται από µια εναλλασσόµενη ακολουθία τµηµάτων εδοµένων και Κενών (οπών) σε µέγεθος 64 ΚΒ. 2. Κάθε κόµβος στη συνδεδεµένη λίστα χρειάζεται µια διεύθυνση µνήµης των 32 bit, ένα πεδίο 16 bit για το µήκος, και ένα πεδίο 16 bit για τον επόµενο κόµβο. Απάντηση: 1 ΚΒ = 2^10byte και 1 ΜΒ = 2^20 byte. Άρα η µνήµη 128 ΜΒ = 2^7* 2^20byte = 2^27byte. (α) Ο χάρτης bit (bitmap) χρειάζεται 1 bit για κάθε µονάδα κατανοµής.άρα για 2^27 byte µνήµης, ο χάρτης χρειάζεται χώρο 2^27/n byte. (β)η συνδεδεµένη λίστα χρειάζεται (( )) == 6464 bit/ κόµβο == 88 byte =2^3byte. Εφόσον κάθε τµήµα έχει µήκος 64 ΚΒ (= 2^6* 2^10byte = 2^16byte),συνολικά θα υπάρχουν 2^27/2^16= 2^11 κόµβοι στη λίστα. Άρα συνολικό χώρος 211 κόµβοι * 2^3 byte/κόµβο = 2^14 byte. Συνεπώς, εάν κάθε µονάδα έχει µήκος n > 2^13byte (1KB), o χάρτης bit είναι καλύτερος. 6 Άσκηση 3.2 (Πρ.4 ) Θεωρήστε ένα σύστηµα εναλλαγής, στο οποίο η µνήµη περιέχει τα παρακάτω µεγέθη κενών (οπών) κατά σειρά: 10 ΚΒ, 4 ΚΒ, 20 ΚΒ, 18 ΚΒ, 7 ΚΒ, 9 ΚΒ, 12 ΚΒ, και 15 ΚΒ. Ποιά οπή θα χρησιµοποιηθεί αν γίνουν συνεχόµενες αιτήσεις τµηµάτων µε µέγεθος (α) 12 ΚΒ (β) 10 ΚΒ (γ) 9 ΚΒ και χρησιµοποιείται ο αλγόριθµος της πρώτης προσαρµογής; Επαναλάβετε την άσκηση για τους αλγόριθµους της βέλτιστης προσαρµογής, επόµενης προσαρµογής και χείριστης προσαρµογής. Επίσημη απάντηση: Πρώτη προσαρµογή: 20 KB, 10 KB, 18 KB. Βέλτιστη προσαρµογή: 12 KB, 10 KB, 9 KB. Επόµενη προσαρµογή: 20 KB, 18 KB, 9 KB.

26 26 Χείριστη προσαρµογή: 20 KB, 18 KB, 15 KB 7 Άσκηση 3.3 (Πρ.9 ) Μια µηχανή έχει χώρο διευθύνσεων 32 bit και σελίδες µεγέθους 8ΚΒ. Ο πίνακας σελίδων βρίσκεται εξολοκλήρου στο υλικό και χρησιµοποιεί µία λέξη των 32 bit για κάθε καταχώρηση. Όταν ξεκινάει µια διεργασία, ο πίνακας σελίδων αντιγράφεται από τη µνήµη στο υλικό, µε ρυθµό µία λέξη ανά 100 nsec.αν κάθε διεργασία εκτελείται για 10 msec (συµπεριλαµβάνεται και ο χρόνος που χρειάζεται για να φορτωθεί ο πίνακας σελίδων), ποιό ποσοστό του χρόνου της CPU αφιερώνεται στη φόρτωση των πινάκων σελίδων; Επίσημη απάντηση: Με χώρο διευθύνσεων 32 bit, έχουµε 2^32 διευθύνσεις. Κάθε σελίδα καταλαµβάνει 8ΚΒ = 2^16bit. Άρα ο πίνακας σελίδων περιλαµβάνει 2^32/2^16= καταχωρίσεις των 32 bit η κάθε µία. Η φόρτωση κάθε σελίδας γίνεται σε 100 nsec άρα συνολικά η φόρτωση του πίνακα σελίδων γίνεται σε περίπου,66 msec. Αν µια διεργασία εκτελείται για 100 msec, 6,6 msec χρειάζονται για τη φόρτωση του πίνακα σελίδων και 48 msec για την εκτέλεση. Εποµένως 6,6% του χρόνου αφιερώνεται στη φόρτωση των πινάκων σελίδων. 8 Άσκηση 3.4 (Πρ.12 ) Ένας υπολογιστής µε διευθύνσεις των 32 bit χρησιµοποιεί έναν πίνακα σελίδων δύο επιπέδων. Οι εικονικές διευθύνσεις χωρίζονται σε ένα πεδίο 9 bit για τον πίνακα σελίδων του υψηλότερου επιπέδου, ένα πεδίο 11 bit για τον πίνακα σελίδων του δεύτερου επιπέδου, κα µια σχετική διεύθυνση ( offset). Πόσο µεγάλες είναι οι σελίδες και πόσες υπάρχουν στο χώρο διευθύνσεων; Επίσημη απάντηση: Συνολικά, 20 bit χρησιµοποιούνται για τις εικονικές διευθύνσεις, αφήνοντας 12 για την σχετική διεύθυνση (offset). Αυτό σηµαίνει ότι κάθε σελίδα έχει µέγεθος 2^12byte ή4κβ. Ένας χώρος εικονικών διευθύνσεων των 20 bit έχει 2^20 σελίδες. 9 Άσκηση 3.6 (Πρ.15) Ένας υπολογιστής µε διεργασίες που έχουν 1024 σελίδες στο χώρο διευθύνσεών τους διατηρεί τους πίνακες σελίδων το στη µνήµη. Η επιβάρυνση που απαιτείται για να διαβαστεί µια λέξη από τον πίνακα σελίδων είναι 5 nsec. Για να µειωθεί αυτή η επιβάρυνση,ο υπολογιστής διαθέτει µία TLB η οποία διατηρεί 32 ζευγάρια (εικονική σελίδα, φυσικό πλαίσιο

27 27 σελίδας) και µπορεί να κάνει µία αναζήτηση σε 1 nsec. Τι ποσοστό ευστοχίας απαιτείται ώστε να µειωθεί η µέση επιβάρυνση σε 2 nsec; Επίσημη απάντηση: Θα πρέπει 1*α + 5* (1 α) = 2 è α = ¾ 10 Άσκηση 3.8 (Πρ.22 ) Αν ο αλγόριθµος αντικατάστασης σελίδας FIFO χρησιµοποιηθεί µε τέσσερα πλαίσια σελίδας και οκτώ σελίδες, πόσα σφάλµατα σελίδας θα προκύψουν αν η συµβολοσειρά αναφορών είναι , µε δεδοµένο ότι τα τέσσερα πλαίσια είναι αρχικά άδεια; Επαναλάβετε το ίδιο πρόβληµα για τον αλγόριθµο LRU(υπόδειξη: θεωρείστε ότι κάθε καταχώρηση του πίνακα σελίδων, διατηρεί ένα µετρητή Μ όπου δείχνει το πλήθος των εντολών κατά τη χρονική στιγμή της τελευταίας αναφοράς στη σελίδα) Απάντηση: t Π1 Π2 Π3 Π4 ζητούμενη Σ FIFO σφάλματα 0 Σ0 Σ Σ0 Σ1 Σ Σ0 Σ1 Σ7 Σ Σ0 Σ1 Σ7 Σ2 Σ Σ3 Σ1 Σ7 Σ2 Σ Σ3 Σ1 Σ7 Σ2 Σ Σ3 Σ1 Σ7 Σ2 Σ Σ3 Σ1 Σ7 Σ2 Σ Σ3 Σ0 Σ7 Σ2 Σ Σ3 Σ0 Σ7 Σ2 Σ Για τον αλγόριθµο FIFO προκύπτουν 6 σφάλµατα

28 28 t Π1 Π2 Π3 Π4 ζητούμενη Σ Μετρητής σφάλματα 0 Σ0(0) Σ Σ0(0) Σ1(1) Σ Σ0(0) Σ1(1) Σ7(2) Σ Σ0(0) Σ1(1) Σ7(2) Σ2(3) Σ Σ3(4) Σ1(1) Σ7(2) Σ2(3) Σ Σ3(4) Σ1(1) Σ7(2) Σ2(5) Σ Σ3(4) Σ1(1) Σ7(6) Σ2(5) Σ Σ3(4) Σ1(7) Σ7(6) Σ2(5) Σ Σ0(8) Σ1(7) Σ7(6) Σ2(5) Σ Σ0(8) Σ1(7) Σ7(6) Σ3(9) Σ3 9 7 Για τον αλγόριθµο LRU προκύπτουν 7 σφάλµατα: xx00xx11xx77xx22xx xx00xx3 11 Άσκηση 3.10 (Πρ.24 ) Ένας µικρός υπολογιστής έχει τέσσερα πλαίσια σελίδας. Στον πρώτο χτύπο του ρολογιού τα bit Α έχουν τις τιµές 0111 (η σελίδα 0 έχει την τιµή 0, ενώ οι υπόλοιπες 1). Στους επόµενους χτύπους ρολογιού, οι τιµές είναι 1011,1010, 1101, 0010, 1010, 1100, και Αν χρησιµοποιείται οι αλγόριθµοι γήρανσης µε ένα µετρητή 8 bit, βρείτε τις τιµές των τεσσάρων µετρητών µετά από τον τελευταίο χτύπο ρολογιού. απάντηση: Εφαρµόζουµε τον αλγόριθµο γήρανσης στις σελίδες (πρόσθεση του bit Α και µετά ολίσθηση δεξιά). τ Α Σ1 Σ2 Σ3 Σ

29 Οι µετρητές θα είναι τελικά: Σελίδα 0: Σελίδα 1: Σελίδα 2: Σελίδα 3: Άσκηση 3.13 (Πρ.31 ) Ένας υπολογιστής παρέχει σε κάθε διεργασία χώρο διευθύνσεων byte, ο οποίος διαιρείται σε σελίδες των 4096 byte. Ένα συγκεκριµένο πρόγραµµα έχει κώδικα µεγέθους byte, δεδοµένα µεγέθους byte, και στοίβα µεγέθους byte. Θα µπορέσει το πρόγραµµα αυτό να χωρέσει στη µνήµη; Αν το µέγεθος της σελίδας ήταν 512 byte, θα χωρούσε; Θυµηθείτε ότι µια σελίδα δεν µπορεί να περιέχει κοµµάτια από δύο διαφορετικά τµήµατα. Επίσημη απάντηση: Ο κώδικας χρειάζεται 32768/4096 = 8 σελίδες ακριβώς. Τα δεδοµένα χρειάζονται 16386/4096=4,00048 σελίδες, συνεπώς 5 σελίδες. Η στοίβα χρειάζεται 15870/4096 = 3,87, συνεπώς 4 σελίδες. Το πρόγραµµα έχει χώρο διευθύνσεων 65536/4096 = 16 σελίδες. Συνολικά χρειάζεται =17 σελίδες, σελίδες, συνεπώς συνεπώς δεν χωράει. Με σελίδες των 512 byte, ο κώδικας, τα δεδοµένα και η στοίβα χρειάζονται συνολικά 128 σελίδες ( ). Με συνολικό χώρο διευθύνσεων της διεργασίας 65536/512 = 128 σελίδες, χωράει οριακά.

30 30 ΚΕΦΑΛΑΙΟ 4 Υλοποίηση συστήματος αρχείων Συνεχής κατανομή Κάθε αρχείο αποθηκεύεται ως μια συνεχή αλληλουχία μπλοκ του δίσκου. Πλεονεκτήματα : 1. Για να γνωρίζουμε που βρίσκονται τα μπλοκ ενός αρχείου αρκεί να έχουμε μόνο δύο αριθμούς, τη διεύθυνση του πρώτου μπλοκ και τον αριθμό των μπλόκ που καταλαμβάνει το αρχείο. 2. Για να διαβάσουμε όλο το αρχείο αρκεί να κάνουμε μόνο μια αναζήτηση. Την πρώτη να το βρούμε Μειονεκτήματα : 1. Ο δίσκος σύντομα θα γεμίσει με αρχεία αλλά και με κενά. Η ανασυγκρότηση του απαιτεί χρόνο. Κατανομή συνδεδεμένης λίστας: Τα αρχεία διατηρούνται στο δίσκο με την μορφή διασυνδεδεμένης λίστας. Πλεονέκτημα: Μπορούν να χρησιμοποιηθούν όλα τα τμήματα του δίσκου. Μειονέκτημα : 1. Η τυχαία προσπέλαση είναι πολύ αργή. Για να φτάσουμε στο νιοστό μπλοκ πρέπει να κάνουμε ν αναζητήσεις στον δίσκο 2. Η ποσότητα των δεδομένων που γράφονται στο μπλόκ δεν είναι δύναμη του 2 για το δείκτης καταλαμβάνει χώρο στο δίσκο Κατανομή συνδεδεμένης λίστας με πίνακα στην μνήμη. Τοποθετείται ένας πίνακας στην μνήμη που έχει πληροφορία για το που είναι γραμμένο το μπλοκ κάθε αρχείου στο δίσκο

31 31 Πλεονεκτήματα: Λύνονται και τα δύο μειονεκτήματα της κατανομής με συνδεδεμένη λίστα Μειονεκτήματα : Πρέπει να διατηρείται συνεχώς στην μνήμη ο πίνακας άρα τρώει χώρο απο αυτή i nodes Σε κάθε αρχείο συσχετίζουμε μια δομή δεδομένων που ονομάζεται i node Αυτή η δομή δεδομένων περιέχει πληροφορίες για τα χαρακτηριστικά του αρχείου και το που βρίσκεται το κάθε μπλοκ του αρχείου στο δίσκο. Πλεονέκτημα : Σε σχέση με τα συνδεδεμένα αρχεία, ο i node βρίσκεται στην μνήμη μόνο όταν είναι ανοιχτό το αντίστοιχο αρχείο. Πρόβλημα που δημιουργείται: Ο κάθε i node διαθέτει σταθερό χώρο διευθύνσεων που μπορεί να δείξει. Τι γίνεται αν ένα πρόγραμμα είναι μεγαλύτερο από αυτό τον ολικό χώρο? Λύση. Η τελευταία διεύθυνση του i node να δείχνει σε ένα μπλοκ που περιέχει περισσότερες διευθύνσεις(και αλλοι pointers) Διαχείριση και βελτιστοποίηση συστήματος αρχείων Διαχείριση δίσκου μέγεθος block Σημείωση για επίλυση άσκησης Για να διαβάσουμε ένα μπλοκ μεγέθους k από δίσκο με N byte ανά τροχιά: χρόνος αναζήτησης + χρόνος καθυστέρησης λόγο περιστροφής + ( k / N ) * χρόνο περιστροφής δίσκου όπου ο χρόνος καθυστέρησης λόγος περιστροφής είναι ½ * χρόνο περιστροφής. ο χρόνος περιστροφής πρέπει να μετατραπεί σε msec συνήθως δίνεται σε λεπτά (rpm) (χρειάζεται απλά διαίρεση με το 60)

32 32 ΑΣΚΗΣΕΙΣ 13 Άσκηση 4.2 (Πρ.11 ) Ένας τρόπος για να χρησιμοποιηθεί συνεχής κατανομή στο δίσκο χωρίς το πρόβλημα που προκαλείται από τα κενά είνα να συμπτύσσεται ο δίσκος κάθε φορά που αφαιρείται ένα αρχείο. Από τη στιγμή που όλα τα αρχεία είναι συνεχή, η αντιγραφή ενός αρχείου απαιτεί μία αναζήτηση και μία καθυστέρηση λόγω περιστροφής κατά την ανάγνωση του αρχείου οι οποίες ακολουθούνται από τη μεταφορά (που γίνεται με τη μέγιστη ταχύτητα). Η εγγραφή του αρχείου απαιτεί τις ίδιες εργασίες. Αν υποθέσουμε ότι ο χρόνος αναζήτησης είναι 5 msec, η καθυστέρηση λόγω περιστροφής 4 msec, ο ρυθμός μεταφοράς 8 ΜΒ/sec, και το μέσο μέγεθος αρχείου 8 ΚΒ, πόσος χρόνος χρειάζεται για να διαβαστεί ένα αρχείο στην κύρια μνήμη και στη συνέχεια να γραφεί ξανά στο δίσκο σε νέα θέση; Με βάση τους ίδιους αριθμούς, πόσος χρόνος χρειάζεται για να συμπτυχθεί ο μισός χώρος ενός δίσκου 16 GB; Απάντηση: Για να ξεκινήσει η ανάγνωση, χρειάζονται: 5+4 =9 msec. Για την ανάγνωση 8 ΚΒ=2^13 bytes με ταχύτητα μεταφοράς 8 ΜΒ/sec = 2^ 23 bytes/sec χρειάζονται 2 10 sec (περ. 0,9765 msec). Συνολικός χρόνος ανάγνωσης 9,9765 msec.. Συνολικός χρόνος ανάγνωσης και επανεγγραφής: 2 * 9,9765 = msec. Η συμπίεση του μισού δίσκου συνολικού μεγέθους 16 GB, απαιτεί την εγγραφή 8 GB, (δηλ. με μέγεθος αρχείων 8 ΚΒ, σύνολο 2^33/ 2^13= 2^20αρχεία). Χρόνος συμπίεσης 2^20 * msec περίπου 5,8 ώρες. 14 Άσκηση 4.5 (Πρ.20 ) Μετά από την πρώτη διαμόρφωση ενός διαμερίσματος δίσκου, η αρχή ενός χάρτη bit ελεύθερου χώρου είναι η εξής: (το πρώτο μπλοκ χρησιμοποιείται για το βασικό κατάλογο). Το σύστημα ψάχνει πάντα για ελεύθερα μπλοκ ξεκινώντας από το μπλοκ με το μικρότερο αριθμό. Επομένως, μετά από την εγγραφή του αρχείου Α το οποίο χρησιμοποιεί 6 μπλοκ, ο χάρτης bit γίνεται ως εξής: Δώστε τη μορφή του χάρτη bit μετά από τις επόμενες ενέργειες: (α) Γράφεται το αρχείο Β, το οποίο χρησιμοποιεί 5 μπλοκ. (β) Διαγράφεται το αρχείο Α. (γ) Γράφεται το αρχείο Γ, το οποίο χρησιμοποιεί 8 μπλοκ, (δ) Διαγράφεται το αρχείο Β. απάντηση:

33 33 Αρχική κατάσταση: (α) Εγγραφή του Β (5 μπλοκ) : (β) Διαγραφή του Α (6 μπλοκ) : (γ) Εγγραφή του Γ (8 μπλοκ) : (δ) Διαγραφή του Β (5 μπλοκ) : Άσκηση 4.7 (Πρ.28 ) Θεωρήστε την ιδέα πίσω από την Εικόνα 4 21, αλλά τώρα για ένα δίσκο με μέσο χρόνο αναζήτησης 8 msec, ρυθμό περιστροφής rpm, και byte ανά τροχιά. Ποιοί είναι οι ρυθμοί μεταφοράς δεδομένων για μεγέθη μπλοκ 1 ΚΒ, 2 ΚΒ, και 4 ΚΒ αντίστοιχα; Aπάντηση: Ρυθμός περιστροφής rpm: σε 1min γίνονται στροφές, άρα η μία περιστροφή σε (60 * 10 3 ) / msec = 4 msec ανά περιστροφή Ο μέσος χρόνος προσπέλασης σε msec για την ανάγνωση k μπλοκ, θα είναι: Χρ. αναζήτησης + χρ. περιστροφής + χρ. μεταφοράς μπλοκ (k / ) 4. Για μπλοκ 1 KB, 2 KB, and 4 KB, ο χρόνος προσπέλασης είναι αντίστοιχα 10, msec, 10,03125 msec, και 10,0625 msec. Συνεπώς, ο ρυθμός μεταφοράς δεδομένων είναι περίπου 102,240 KB/sec, 204,162 KB/sec, και 407,056 KB/sec, αντίστοιχα. Παλαιότερα Διαγωνίσματα Διαγώνισμα 1 Θέμα 1ο: Ποιο λειτουργικό σύστημα είναι πιο πιθανό να καταρρεύσει αν καταρρεύσει ένας οδηγός, στο Linux η στο Mimix. Απ: Το linux επειδή είναι μονολιθικό.

34 34 Τι συνέπειες θα υπήρχαν στο ΛΣ, εάν δεν υπήρχε η έννοια της διεργασίας; Τι οφέλη προκύπτουν; Ποιος κύριος πόρος αξιοποιείται καλύτερα; Απ: Δεν θα υπήρχε η έννοια του πολυ προγραμματισμού. Μικρότερη αξιοποίηση CPU Θα υπήρχε κοινή στοίβα δεδομένων Θα υπήρχε ξεχωριστό ρολόι Θα ήταν πιο αργή η εκτέλεση. Μπορούν να υπάρξουν νήματα χωρίς την έννοια της διεργασίας; Τι προβλήματα θα υπήρχαν; Απ: Θέμα 2ο: Έχουμε 4 πλαίσια σελίδας Π0 Π3, και 6 εικονικές σελίδες Σ0 Σ5. Οι Σ0 Σ3 είναι τοποθετημένες στα Π0 Π3 από την χρονική στιγμή t4 δίνονται τα bit αναφοράς. Πιο πριν υποθέτουμε ότι είναι 0 για λόγους ευκολίας. Bit Α της Σ0 Bit Α της Σ1 Bit Α της Σ2 Bit Α της Σ3 t t t t Τη χρονική στιγμή t7, πρέπει να μπει η Σ5. Να βρεθεί πια σελίδα θα φύγει για να μπει η Σ5. α) με τον αλγόριθμο γήρανσης, β) με τον αλγόριθμο δεύτερης ευκαιρίας. Λύση: α) Με τον αλγόριθμο γήρανσης έχουμε: Σ0 Σ1 Σ2 Σ3 t t t t Παρατηρώ ότι η Σ2 έχει την μικρότερη τιμή άρα θα φύγει η Σ2 για να μπει η Σ5. β) Με τον αλγόριθμο δεύτερης ευκαιρίας έχουμε:

35 35 Τα bit A των σελίδων. Σ0 Σ1 Σ2 Σ Αφού το Α της Σ0 είναι 1 τότε μένει. Το Α της Σ1 είναι 1 άρα μένει. Το Α της Σ2 είναι 0 άρα θα βγει για να μπει η Σ5/ Δηλαδή μετά θα είναι: Σ0 Σ1 Σ5 Σ Θέμα 3ο: Ο μέσος χρόνος αναζήτησης σε έναν δίσκο είναι 10 msec. Ο ρυθμός περιστροφής είναι 7500 rpm (rounds per minute). Σε κάθε τροχιά του δίσκου υπάρχουν bytes. Ακόμα έχουμε ένα αρχείο 1153 ΚΒ. Για την αποθήκευση του, ποιο είναι το ποσοστό αξιοποίησης του δίσκου αν είναι το block size 2 ΚΒ ή 64 ΚΒ; Ποιος είναι ο χρόνος ανάγνωσης του αρχείου, εάν το μέγεθος του μπλοκ είναι 2 ή 64; Τα block είναι συνεχόμενα. Λύση: α) Για το block size 2KB: 1153 ΚΒ = δηλαδή θα καταλάβουν 577 σελίδες. 2 ΚΒ 1153 Άρα το ποσοστό αξιοποίησης του δίσκου είναι = Για το block size 64KB: 1153 ΚΒ = δηλαδή θα καταλάβουν 19 σελίδες. 64 ΚΒ Άρα το ποσοστό αξιοποίησης του δίσκου είναι = β) Αναζητούμε τον χρόνο περιστροφής. Σε 1 λεπτό = msec 7500 περιστροφές x Άρα x = 8 msec η περιστροφή. 1 περιστροφή Αν έχουμε k το πλήθος των μπλοκ, z το block size, τότε ο χρόνος είναι: Χρόνος αναζήτησης + Χρόνος περιστροφής + Χρόνος μεταφοράς μπλοκ (k * z * 8) / Άρα για z=2, k=577 έχουμε Τ = sec Οπότε για z=64, k=19 έχουμε Τ = sec Θέμα 4ο: Έχουμε τις διεργασίες Δ0, Δ1, και ο κώδικας υποψήφιος για αυστηρή εναλλαγή διεργασίων. στις παρακάτω διεργασίες η μεταβλητή turn είναι κοινόχρηστη

36 36 Διεργασία 0 Διεργασία 1 while(true){ if(turn==0){ critical_region(0); turn=1; } non_critical_region(0); } while(true){ if(turn==1){ critical_region(1); turn=0; } non_critical_region(1); } Δίνονται οι χρόνοι εκτέλεσης από την CPU. Τμήμα κώδικα Χρόνοι εκτέλεσης Δ0 critical_region(0); 1 sec Δ0 non_critical_region(0); 2 sec Δ1 critical_region(1); 2sec Δ1 non_critical_region(1); 2 sec Θα χρησιμοποιηθεί ο αλγόριθμος Round Robin. Ποια είναι η τιμή του turn για κάθε χρονική στιγμή, αρχικά είναι 0; Λύση: [Υπόθεση προλαβαίνει κάθε φορά να αλλάζει το turn.] Κατάσταση Χρονική Στιγμή Τιμή της turn Δ0 critical 1 1 Δ1 critical 2 1 Δ0 non critical 3 1 Δ1 critical 4 0 Δ0 non critical 5 0 Δ1 non critical 6 0 Δ0 critical 7 1 Δ1 non critical 8 1

37 37 Δ0 non critical 9 1 [Υπόθεση ΔΕΝ προλαβαίνει κάθε φορά να αλλάζει το turn.] Κατάσταση Χρονική Στιγμή Τιμή της turn Δ0 critical 1 0 Δ1 non critical 2 0 Δ0 non critical 3 1 Δ1 non critical 4 1 Δ0 non critical 5 1 Δ1 critical 6 1 Δ0 non critical 7 1 Δ1 critical 8 1 Δ0 non critical 9 1 Δ1 non critical 10 0 Δ0 critical 11 0 Διαγώνισμα 2 Θέμα 1ο: Τι είναι εκτέλεση εντολών (α) σε κατάσταση πυρήνα και τι (β) σε κατάσταση χρήστη. Σε ποια εκτελείται: (α) το ΛΣ, (β) ο χειριστής διακοπών ρολογιού, (γ) GUI, (δ) Κέλυφος, (ε) Scheduler Τι είναι swap και τι εικονική μνήμη? Γιατί χρειαζόμαστε τους αλγόριθμους αντικατάστασης σελίδας?

38 38 Απ: (από το βιβλίο) ΛΣ Κατάσταση πυρήνα ΧΔΡ Κατάσταση πυρήνα GUI Κατάσταση χρήστη Κέλυφος Κατάσταση χρήστη Scheduler Κατάσταση πυρήνα (από το βιβλίο) Θέμα 2ο: Υπάρχουν 4 πλαίσια σελίδας και 6 εικονικές σελίδες. Σε 8 χρονικές στιγμές ζητούνται οι εικονικές σελίδες με αυτή την σειρά Σ1, Σ2, Σ0, Σ5, Σ2, Σ3, Σ4, Σ1. (α) Πόσα σφάλματα σελίδας θα προκύψουν; (β) Τελικά ποιες εικονικές σελίδες θα βρίσκονται στα πλαίσια? Η αντικατάσταση σελίδας να γίνει με τον αλγόριθμο FIFO. Λύση: (α) (τα κόκκινα είναι όταν έχουμε page fault) Π0 Π1 Π2 Π3 t1 Σ1 t2 Σ1 Σ2 t3 Σ1 Σ2 Σ0 t4 Σ1 Σ2 Σ0 Σ5 t5 Σ1 Σ2 Σ0 Σ5 t6 Σ3 Σ2 Σ0 Σ5 t7 Σ3 Σ4 Σ0 Σ5 t8 Σ3 Σ4 Σ1 Σ5 Άρα έχουμε 7 σφάλματα σελίδας. (β) Π0 > Σ3 Π1 > Σ2 Π2 > Σ4 Π3 > Σ5 Θέμα 5ο: Tί είναι μια εντολή παγίδευσης (trap),και ποια η χρήση της στα Λ.Σ;

39 39 Μια παγίδευση προκαλείται από system call ώστε να επιτραπεί σ ένα πρόγραμμα να αλλάξει κατάσταση εκτέλεσης από user mode σε kernel mode. Eτσι εκτελεί εργασίες που απαιτούν ιδιαίτερα δικαιώματα. Θέμα 6ο: Θεωρείστε ένα σύστημα στο οποίο ο ελεύθερος χώρος κρατείται σε μία λίστα ελεύθερων μπλοκ. Θεωρείστε ότι το σύστημα αρχείων είναι παρόμοιο με αυτό που χρησιμοποιείται από το UNIX το οποίο χρησιμοποιεί ευρετήριο. Πόσες λειτουργίες Ε/Ε δίσκου μπορεί να χρειαστούν για την ανάγνωση των περιεχομένων ενός μικρού τοπικού αρχείου που βρίσκεται στο κατάλογο a/b/c?υποθέστε ότι κανένα από τα μπλοκ δίσκου δε βρίσκεται στην κρυφή μνήμη την τρέχουσα στιγμή. Υποθέτουμε ότι το αρχείο έχει μέγεθος ένα μπλοκ δίσκου (ή τα όσα ακολουθούν αφορούν την ανάγνωση του πρώτου μπλοκ ενός αρχείου που βρίσκεται στο μονοπάτι /a/b/c). 0. Βρες τη θέση του inode του / από το κύριο μπλοκ (υποθέτουμε ότι βρίσκεται στη μνήμη). 1. ιάβασε το inode και βρες τη θέση του καταλόγου / 2. ιάβασε τον κατάλογο / και βρες την εγγραφή του καταλόγου a στην οποία βρίσκεται η θέση του inode του a Επανέλαβε τα βήματα 1 και 2 για τους καταλόγους b και c. 7. ιάβασε το inode και βρες τη θέση του ζητούμενου αρχείου. 8. ιάβασε το (πρώτο) μπλοκ του αρχεioυ.

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Αρχεία με Χαρτογράφηση

Διαβάστε περισσότερα

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

Διαβάστε περισσότερα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty)

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty) Ιδεατή Μνήμη Άσκηση 1: Ένας υπολογιστής έχει τέσσερα πλαίσια σελίδων. Οι χρονικές στιγμές φόρτωσης, τελευταίας προσπέλασης, ο αριθμός αναφορών και τα bit αναφοράς (R) και μεταβολής (M ή dirty ) φαίνονται

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

Διαβάστε περισσότερα

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

Λειτουργικά. Συστήματα Ι. Διεργασίες-Νήματα. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Λειτουργικά. Συστήματα Ι. Διεργασίες-Νήματα. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Διεργασίες-Νήματα Εισαγωγή στα Λειτουργικά Συστήματα Εγκατάσταση Ιδεατής Μηχανής Linux Συστήματα Αρχείων Χειρισμός και Διαχείριση Linux

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30

ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30 4 Σεπτεμβρίου 2009 Σελ. 1/6 ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30 Θέμα 1 (3 μονάδες) α) (0,75

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε:

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε: ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ Πρόβλημα 1: Το Πανεπιστήμιο Μακεδονίας, εφαρμόζοντας την αρχή της ισότητας μεταξύ των δύο φύλων μετέτρεψε τις τουαλέτες των φοιτητών σε κοινές τουαλέτες. Προς αποφυγή όμως παρεξηγήσεων

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση

Διαβάστε περισσότερα

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Χρήση Κρυφής Μνήμης (Cache)

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Το Λ.Σ. είναι υπεύθυνο για την κατανομή των πόρων του συστήματος (επεξεργαστές, μνήμη, αποθηκευτικά μέσα και συσκευές εισόδου/εξόδου) στα διάφορα ανταγωνιζόμενα προγράμματα

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης Εισαγωγή στην Πληροφορική Α σ κ ή σ ε ι ς σ τ η ν Χ ρ ο ν ο δ ρ ο µ ο λ ό γ η σ η ς Αντώνης Σταµατάκης Αλγόριθµοι Χρονοδροµολόγησης (1/5) Υπάρχουν διάφοροι αλγόριθµοι χρονοδροµολόγησης της κεντρικής µονάδας

Διαβάστε περισσότερα

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «ροµολόγηση ιεργασιών (1/2)» ροµολόγηση σε συστήµατα µε έναν επεξεργαστή ροµολόγηση σε πολυεπεξεργαστικά συστήµατα ροµολόγηση σε κατανεµηµένα

Διαβάστε περισσότερα

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 9 «Δρομολόγηση Διεργασιών» Διδάσκων: Δ, Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης

Διαβάστε περισσότερα

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 8 : Διαχείριση Μνήμης Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

Διαβάστε περισσότερα

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου Ασκήσεις Ένα υπολογιστικό σύστημα που χρησιμοποιεί σελιδοποίηση διαθέτει λογικό χώρο διευθύνσεων 12 bit και υποστηρίζεται από 2 πλαίσια φυσικής μνήμης. Την παρούσα στιγμή ο πίνακας σελίδων είναι ο εξής:

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 8: Σελιδοποίηση & Swapping Από τα Προηγούμενα 2 Φυσική μνήμη Έλλειψη προστασίας Περιορισμένο μέγεθος Συνεχείς ή κατά κανόνα συνεχείς περιοχές Διαμοίραση ορατή στα

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 7: Διαχείριση Μνήμης ΙΙ Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling) Μάθημα 6 ο Χρονοδρομολόγηση (Scheduling) Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και τη λειτουργία της χρονοδρομολόγησης σε ένα Λειτουργικό Σύστημα. Θα μάθουμε: Να ορίζουμε τι είναι

Διαβάστε περισσότερα

Εικονική Μνήμη (1/2)

Εικονική Μνήμη (1/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονική Μνήμη

Διαβάστε περισσότερα

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε

Διαβάστε περισσότερα

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

Διαβάστε περισσότερα

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά

Εισαγωγή στα Λειτουργικά Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 6: Διαχείριση Μνήμης Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σεάδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Σκελετός Παρουσίασης

Σκελετός Παρουσίασης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός

Διαβάστε περισσότερα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 2: Σύστημα Αρχείων Τα προγράμματα που εκτελούνται

Διαβάστε περισσότερα

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση Οι διαφάνειες

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Memory)

Εικονική Μνήμη (Virtual Memory) Εικονική Μνήμη (Virtual Memory) Για τη δημιουργία των διαφανειών έχει χρησιμοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne, Operating Systems Concepts,

Διαβάστε περισσότερα

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2018-19 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

Διαβάστε περισσότερα

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση

Κεφάλαιο 5. ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 2. Σημείωση Κεφάλαιο 5 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ -. Σερπάνος 1 Σημείωση Οι παρούσες διαφάνειες παρέχονται ως συμπλήρωμα διδασκαλίας για το μάθημα «Αρχιτεκτονική Υπολογιστών» του Τμήματος Ηλεκτρολόγων Μηχανικών & Τεχνολογίας

Διαβάστε περισσότερα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

Διαβάστε περισσότερα

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση Κεφάλαιο 5 Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης Ασκήσεις Η αρίθµηση των ασκήσεων είναι από την 4 η έκδοση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λειτουργικά Συστήματα Ενότητα 13 : Δρομολόγηση Διεργασιών 3/3 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

Διαβάστε περισσότερα

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστηριακή Άσκηση Εργαστήριο Λειτουργικών Συστημάτων Οι First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Β. Τσακανίκας Β. Ταμπακάς Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λειτουργικά Συστήματα Ενότητα 11 : Δρομολόγηση Διεργασιών 1/3 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Εισαγωγή στους Η/Υ. Ενότητα 4: Λειτουργικά Συστήματα Ι. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εισαγωγή στους Η/Υ. Ενότητα 4: Λειτουργικά Συστήματα Ι. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Εισαγωγή στους Η/Υ Ενότητα 4: Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Αναφορά και κατανόηση των τύπων υπολογιστικών συστημάτων Απόδοση

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 6: Διαχείριση Μνήμης Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Κλειώ Σγουροπούλου Λειτουργικό Σύστημα Ένα πρόγραμμα που διαχειρίζεται τους πόρους ενός υπολογιστικού συστήματος και ενεργεί ως μεσάζων μεταξύ του χρήστη και των πόρων αυτών user

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1 Λειτουργικά Συστήματα Κεφάλαιο 5 Κεφ. 5 Λειτουργικά Συστήματα 1 Διαχείριση Κεντρικής Μνήμης Στην Κεντρική (κύρια) Μνήμη του Η/Υ αποθηκεύονται ανα πάσα στιγμή όλα τα προγράμματα που εκτελούνται στην ΚΜΕ

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 11: Δίσκοι Πώς είναι; Η πρώτη εντύπωση Η γυμνή αλήθεια Και ναι, όντως, υπάρχει μέσα δίσκος Και ναι, είναι και σκληρός Ας Γνωριστούμε Καλύτερα Κατ ακρίβεια έχει πολλούς

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 9: Πολιτικές Αντικατάστασης Σελίδων - Λυγισμός (Thrashing) Η Απόλυτη LRU 2 Σε κάθε αναφορά στη μνήμη «Χρονοσφράγισε» το πλαίσιο Την ώρα της έξωσης: Ψάξε για την παλαιότερη

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 9: Αρχεία ΙΙ Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

Διαβάστε περισσότερα

Δρομολόγηση σε σύστημα ενός επεξεργαστή

Δρομολόγηση σε σύστημα ενός επεξεργαστή Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης 3. Κριτήρια βελτιστοποίησης 4. Τύποι δρομολόγησης του επεξεργαστή 5. Ο κύκλος καταιγισμού CPU-I/O 6. Πολιτικές δρομολόγησης

Διαβάστε περισσότερα

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Μάθημα 4 ο Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός Εισαγωγή Σκοπός του μαθήματος αυτού είναι να εξηγήσει την έννοια του κρίσιμου τμήματος σε μία διεργασία και να δείξει τη λύση για ένα απλό πρόβλημα

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 9 : Ιδεατή Μνήμη 1/2 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Λειτουργικά συστήματα πραγματικού χρόνου

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

Διαβάστε περισσότερα

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση: Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση: Page 1 Χρήστης Εφαρμογή Λειτουργικό Σύστημα Υλικό Γνωστά Λειτουργικά

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Λειτουργικό Σύστημα:

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

Διαβάστε περισσότερα

ροµολόγηση Επεξεργαστή

ροµολόγηση Επεξεργαστή ροµολόγηση Επεξεργαστή Κεφάλαιο 9 Στόχοι της ροµολόγησης Χρόνος Απόκρισης Throughput Αποδοτική χρήση επεξεργαστή Τύποι ροµολόγησης Μακροπρόθεσµη δροµολόγηση Μεσοπρόθεσµη δροµολόγηση Βραχυπρόθεσµη δροµολόγηση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα. Ενότητα # 3: Διαχείριση Μνήμης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Λειτουργικά Συστήματα. Ενότητα # 3: Διαχείριση Μνήμης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Λειτουργικά Συστήματα Ενότητα # 3: Διαχείριση Μνήμης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Διδάσκοντες: Δημήτρης

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά

Εισαγωγή στα Λειτουργικά Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 9: Αρχεία ΙΙ Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σεάδειες χρήσης Creative Commons. Για εκπαιδευτικό

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) ..8 Κατανομή των αρχείων σε συσκευές Ακολουθείται κάποια λογική στην αποθήκευση των αρχείων:.αρχεία που χρησιμοποιούνται συχνά τοποθετούνται στους σκληρούς δίσκους που έχουν μεγάλη ταχύτητα πρόσβασης..αν

Διαβάστε περισσότερα

Αρχιτεκτονική Υπολογιστών

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

ΠΛΕ- 027 Μικροεπεξεργαστές

ΠΛΕ- 027 Μικροεπεξεργαστές ΠΛΕ- 027 Μικροεπεξεργαστές 10ο μάθημα: Αρχιτεκτονική συστήματος μνήμης: Εικονική μνήμη, σχεδίαση αποδοτικής κρυφής μνήμης, προγραμματισμός για κρυφή μνήμη Αρης Ευθυμίου Εικονική μνήμη ως cache Η κύρια

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

Διαβάστε περισσότερα

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

Διαβάστε περισσότερα

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

Διαβάστε περισσότερα

Μάθημα 8: Διαχείριση Μνήμης

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά Ηλ. Γκρίνιας Τ. Ε. Ι. Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Αλγόριθμοι Ορισμός: ο αλγόριθμος είναι μια σειρά από πεπερασμένα βήματα που καθορίζουν

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 5β: Διαχείριση Κύριας Μνήμης Διαχείριση Δευτερεύουσας Μνήμης Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

Διαβάστε περισσότερα

Λύση: Λύση: Λύση: Λύση:

Λύση: Λύση: Λύση: Λύση: 1. Ένας δίαυλος έχει ρυθµό δεδοµένων 4 kbps και καθυστέρηση διάδοσης 20 msec. Για ποια περιοχή µηκών των πλαισίων µπορεί η µέθοδος παύσης και αναµονής να έχει απόδοση τουλάχιστον 50%; Η απόδοση θα είναι

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 ΜΕΓΕΘΟΣ ΣΕΛΙΔΑΣ To μέγεθος σελίδας είναι μία παράμετρος που μπορεί

Διαβάστε περισσότερα