ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S. TANENBAUM Κεφάλαιο 2 Διεργασίες και Νήματα A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.) 1
Το μοντέλο της διεργασίας Εικόνα 2-1. (α) Πολυπρογραμματισμός τεσσάρων προγραμμάτων. (β) Μοντέλο τεσσάρων, ανεξάρτητων ακολουθιακών διεργασιών. (γ) Μόνο ένα πρόγραμμα ενεργό κάθε φορά. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Καταστάσεις διεργασίας Εικόνα 2-2. Μια διεργασία μπορεί να είναι σε κατάσταση εκτελούμενη, μπλοκαρισμένη, ή έτοιμη. Φαίνονται οι μεταβάσεις μεταξύ καταστάσεων. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Υλοποίηση διεργασιών (1) Εικόνα 2-3. Το χαμηλότερο επίπεδο ενός λειτουργικού συστήματος με διεργασίες χειρίζεται τις διακοπές και το χρονοπρογραμματισμό. Πάνω σε αυτό βρίσκονται οι ακολουθιακές διεργασίες. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Υλοποίηση διεργασιών (2) Εικόνα 2-4. Μερικά πεδία τυπικής καταχώρησης πίνακα σελίδων. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Υλοποίηση διεργασιών (3) Εικόνα 2-5. Σκελετός των ενεργειών του χαμηλού επιπέδου του λειτουργικού συστήματος όταν συμβεί διακοπή. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Εικόνα 2-7. Επεξεργαστής κειμένου με τρία νήματα. Χρήση νημάτων (1) Εικόνα 2-7. Επεξεργαστής κειμένου με τρία νήματα. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Εικόνα 2-8. Πολυνηματικός διακομιστής ιστού. Χρήση νημάτων (2) Εικόνα 2-8. Πολυνηματικός διακομιστής ιστού. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Το κλασικό μοντέλο νήματος (1) Εικόνα 2-11. (α) Τρεις διεργασίες με ένα νήμα η καθεμία. (β) Μια διεργσία με τρία νήματα. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Το κλασικό μοντέλο νήματος (2) Εικόνα 2-12. Η πρώτη στήλη δείχνει μερικά κοινόχρηστα αντικείμενα μεταξύ νημάτων μιας διεργασίας. Η δεύτερη δείχνει ιδιωτικά αντικείμενα κάθε νήματος. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Το κλασικό μοντέλο νήματος (3) Εικόνα 2-13. Κάθε νήμα έχει τη στοίβα του. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Μετατροπή μονονηματικού κώδικα σε πολυνηματικό (2) Εικόνα 2-20. Τα νήματα μπορούν να έχουν ιδιωτικές καθολικές μεταβλητές. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Συνθήκες συναγωνισμού Εικόνα 2-21. Δύο διεργασίες θέλουν να προσπελάσουν ταυτόχρονα κονόχρηστη μνήμη. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Κρίσιμες περιοχές (1) Όροι αποφυγής των συνθηκών συναγωνισμού: Δεν μπορούν δύο διεργασίες να βρίσκονται ταυτόχρονα στις κρίσιμες περιοχές τους. Δεν πρέπει να γίνονται υποθέσεις για την ταχύτητα και το πλήθος των CPU. Καμία διεργασία που βρίσκεται εκτός της κρίσιμης περιοχής της δεν μπορεί να μπλοκάρει άλλες διεργασίες. Καμία διεργασία δεν πρέπει να περιμένει επ’ άπειρον για να μπει στην κρίσιμη περιοχή της. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Εικόνα 2-22. Αμοιβαίος αποκλεισμός με κρίσιμες περιοχές. Κρίσιμες περιοχές (2) Εικόνα 2-22. Αμοιβαίος αποκλεισμός με κρίσιμες περιοχές. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Αμοιβαίος αποκλεισμός με αναμονή και απασχόληση (busy waiting) Προτάσεις για επίτευξη αμοιβαίου αποκλεισμού: Απενεργοποίηση διακοπών Μεταβλητές κλειδώματος Αυστηρή εναλλαγή Λύση του Peterson Εντολή TSL A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Πρόβλημα Παραγωγού-Καταναλωτή . . . Εικόνα 2-27. Το πρόβλημα παραγωγού-καταναλωτή με μοιραία συνθήκη συναγωνισμού. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Εικόνα 2-28. Το πρόβλημα παραγωγού-καταναλωτή με σημαφόρους. Σημαφόροι . . . Εικόνα 2-28. Το πρόβλημα παραγωγού-καταναλωτή με σημαφόρους. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Εικόνα 2-29. Υλοποίηση κλειδώματος και ξεκλειδώματος mutex. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Ελεγκτές (monitors) (1) Εικόνα 2-33. Ένας ελεγκτής. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Ελεγκτές (2) Εικόνα 2-34. Περίγραμμα του προβλήματος παραγωγού-καταναλωτή με ελεγκτές. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Παραγωγός-καταναλωτής με μεταβίβαση μηνύματος (1) . . . Εικόνα 2-36. Παραγωγός-καταλανωτής με Ν μηνύματα. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Παραγωγός-καταναλωτής με μεταβίβαση μηνύματος (2) . . . Εικόνα 2-36. Παραγωγός-καταλανωτής με Ν μηνύματα. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Φράγματα Εικόνα 2-37. Χρήση φράγματος. (α) Διεργασίες πλησιάζουν το φράγμα. (β) Όλες εκτός μίας έφτασαν στο φράγμα. (γ) Όταν φτάσει και η τελευταία, όλες το προσπερνούν. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Χρονοπρογραμματισμός – Συμπεριφορά διεργασιών Εικόνα 2-38. Τα διαστήματα χρήσης CPU εναλλάσονται με περιόδους αναμονής για Ε/Ε. (α) Διεργασία εξαρτημένη από τη CPU. (β) Διεργασία εξαρτημένη από Ε/Ε. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Κατηγορίες αλγορίθμων χρονοπρογραμματισμού Δέσμης Αλληλεπιδραστικοί Πραγματικού χρόνου A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Στόχοι αλγορίθμων χρονοπρογραμματισμού Για όλα τα συστήματα Δικαιοσύνη — να εκχωρείται σε κάθε διεργασία ένα δίκαιο μερίδιο της CPU Επιβολή της πολιτικής — να παρακολουθείται αν εφαρμόζεται η καθορισμένη πολιτική Ισορροπία — να διατηρούνται ενεργά όλα τα τμήματα του συστήματος Συστήματα δέσμης Διεκπεραιωτική ικανότητα — να μεγιστοποιηθεί ο αριθμός των εργασιών που ολοκληρώνονται ανά ώρα Χρόνος διεκπεραίωσης — να ελαχιστοποιηθεί ο χρόνος που μεσολαβεί ανάμεσα στην υποβολή και την ολοκλήρωση μιας εργασίας Αξιοποίηση της CPU — να διατηρείται η CPU συνεχώς ενεργός Αλληλεπιδραστικά συστήματα Χρόνος απόκρισης — η απόκριση στις αιτήσεις να είναι ταχύτατη Τήρηση αναλογιών — να ικανοποιούνται οι προσδοκίες των χρηστών Συστήματα πραγματικού χρόνου Τήρηση των προθεσμιών — να αποφεύγεται η απώλεια δεδομένων Προβλεψιμότητα — να αποφεύγεται ο υποβιβασμός της ποιότητας στα συστήματα πολυμέσων Εικόνα 2-39. Κάποιοι στόχοι των αλγορίθμων σε διαφορετικές περιστάσεις. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Χρονοπρογραμματισμός σε συστήματα δέσμης Εξυπηρέτηση με τη σειρά άφιξης (first-come first-served) Εξυπηρέτηση με τη μικρότερη διάρκεια (shortest job first) Εξυπηρέτηση με το μικρότερο υπόλοιπο χρόνο (shortest remaining time next) A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Μικρότερη διάρκεια Εικόνα 2-40. Παράδειγμα εξυπηρέτησης με βάση τη μικρότερη διάρκεια. (α) Τέσσερις εργασίες στην αρχική σειρά. (β) Με τη σειρά της μικρότερης διάρκειας. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Χρονοπρογραμματισμός σε αλληλεπιδραστικά συστήματα Εκ περιτροπής (round-robin) Με προτεραιότητες (priority) Πολλαπλές ουρές Μικρότερη εργασία πρώτα Εγγυημένος χρονοπρογραμματισμός Λοταρία Δίκαιης διανομής A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Εκ περιτροπής Εικόνα 2-41. Εκ περιτροπής χρονοπρογραμματισμός. (α) Λίστα εκτελέσιμων διεργασιών. (β) Λίστα εκτελέσιμων διεργασιών μετά τη χρήση του κβάντου από τη Β. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Αναγνώστες και γραφείς (1) . . . Εικόνα 2-47. Λύση στο πρόβλημα. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)
Αναγνώστες και γραφείς (2) . . . Εικόνα 2-47. Λύση στο πρόβλημα. A.S. Tanenbaum, Σύγχρονα Λειτουργικά Συστήματα, 3η έκδοση, Κλειδάριθμος, 2009, μετάφραση & επιστημονική επιμέλεια: Δημήτρης Γκιζόπουλος, Πανεπιστήμιο Αθηνών (μεταφρασμένες διαφάνειες του πρωτότυπου αμερικανικού βιβλίου: A.S.Tanenbaum, Modern Operating Systems 3e, 2008 Prentice-Hall, Inc.)