Λειτουργικά συστήματα πραγματικού χρόνου και χρονοπρογραμματισμός. Κώστας Βασιλάκης Δημήτρης Μαρούλης



Σχετικά έγγραφα
Κεφάλαιο Πέμπτο Εθνοπολιτισμική Ζωή και Εμπειρίες Ελληνικότητας των Ελληνοαυστραλών Εφήβων

Πρακτικό 6/2012 της συνεδρίασης της Επιτροπής Ποιότητας Ζωής, του Δήμου Λήμνου, της 4ης Μαΐου 2012.

«ΑΝΩ ΛΙΟΣΙΑ: ΤΟΠΙΚΗ ΙΣΤΟΡΙΑ, ΠΕΡΙΒΑΛΛΟΝ, ΠΡΟΚΛΗΣΕΙΣ, ΠΡΟΟΠΤΙΚΕΣ»

ΠΑΡΟΥΣΙΑΣΗ ΤΩΝ ΓΕΝΙΚΩΝ ΚΑΙ ΕΙΔΙΚΩΝ ΟΡΩΝ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ «ΑΣΦΑΛΩΣ ΚΑΤΟΙΚΕΙΝ» ΚΟΙΝΟΧΡΗΣΤΟΙ ΧΩΡΟΙ

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ

Η Αγορά Ηλεκτρικής Ενέργειας στην Κύπρο έχει οργανωθεί σε τομείς που υπόκεινται στις ακόλουθες ρυθμίσεις:

5 η Ενότητα Κουλτούρα και στρατηγική

ΠΑΙΔΑΓΩΓΙΚΗ ΣΧΟΛΗ (ΦΛΩΡΙΝΑ) ΤΜΗΜΑ ΝΗΠΙΑΓΩΓΩΝ ΕΡΓΑΣΤΗΡΙΟ ΔΙΔΑΚΤΙΚΗΣ ΦΥΣΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΠΑΡΑΓΩΓΗΣ ΔΙΔΑΚΤΙΚΟΥ ΥΛΙΚΟΥ

ΤΟ ΝΕΟ ΑΣΦΑΛΙΣΤΙΚΟ ΤΟΠΙΟ

ΣΥΝΤΟΝΙΣΤΕΣ ΟΜΑΔΑΣ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΟΜΑΔΑ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ:

ΑΠΑΝΤΗΣΕΙΣ ΔΙΑΓΩΝΙΣΜΑΤΟΣ ΔΙΔΑΓΜΕΝΟ ΚΕΙΜΕΝΟ

Του Σταύρου Ν. PhD Ψυχολόγου Αθλητικού Ψυχολόγου

ΑΠΟΦΑΣΗ Ο ΥΠΟΥΡΓΟΣ ΟΙΚΟΝΟΜΙΚΩΝ


ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ ΓΕΝΙΚΟΙ ΟΡΟΙ

Αξιολόγηση Προγράμματος Αλφαβητισμού στο Γυμνάσιο Τρίτο Έτος Αξιολόγησης

Η Φυσική με Πειράματα

Η υποστήριξη της επαγγελματικής μάθησης μέσα από την έρευνα-δράση: διαδικασίες και αποτελέσματα

ΣΤΗΝ ΤΡΟΙΖΗΝΙΑ ΑΠΟ ΑΓ.ΕΛΕΝΗ ΕΩΣ ΤΟΝ ΚΟΜΒΟ ΚΑΛΛΟΝΗΣ ΚΑΙ ΣΤΗΝ ΠΑΡΑΛΙΑ ΤΟΥ ΑΡΤΙΜΟΥ. ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ Τιμαριθμική 2012Α

ΣΩΜΑ ΠΡΟΣΚΟΠΩΝ ΚΥΠΡΟΥ

ΑΠΟΦΑΣΗ 34750/2006 (Αριθμός καταθέσεως πράξεως 43170/2006) ΤΟ ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟΔΙΚΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕΚΟΥΣΙΑΣ ΔΙΚΑΙΟΔΟΣΙΑΣ ΣΥΓΚΡΟΤΗΘΗΚΕ από

ΓΙΑ ΤΗΝ ΕΞΟΔΟ ΑΠΟ ΤΗΝ ΕΥΡΩΖΩΝΗ ΣΤΟ ΔΗΜΟΨΗΦΙΣΜΑ ΨΗΦΙΖΟΥΜΕ ΕΡΩΤΗΣΕΙΣ & ΑΠΑΝΤΗΣΕΙΣ ΟΧΙ ΜΕΧΡΙ ΤΕΛΟΥΣ. Αριστερή Αντικαπιταλιστική Συσπείρωση (ΑΡ.Α.Σ.

Πρώτη διδακτική πρόταση Χρωματίζοντας ένα σκίτσο

ΑΠΑΝΤΗΣΕΙΣ ΣΤΟ ΙΑΓΩΝΙΣΜΑ ΝΕΟΕΛΛΗΝΙΚΗΣ ΛΟΓΟΤΕΧΝΙΑΣ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Γ ΛΥΚΕΙΟΥ

Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008)

ΔΙΗΜΕΡΙΔΑ ΤΕΕ ΤΜΗΜΑ ΚΕΡΚΥΡΑΣ

Ο συγγραφέας χρησιμοποιεί συνδυασμό μεθόδων για την ανάπτυξη της έβδομης παραγράφου.

ΘΕΜΑ : : Εισηγητική έκθεση Δ τριμήνου του έτους 2013 προς την οικονομική επιτροπή, για την εκτέλεση του προϋπολογισμού.

ΠΕΤΡΟΓΕΝΕΤΙΚΑ ΟΡΥΚΤΑ ΕΡΓΑΣΤΗΡΙΑΚΕΣ ΕΞΕΤΑΣΕΙΣ

ΕΜΠΕΙΡΟΓΝΩΜΟΣΥΝΗ ΓΙΑ ΤΗΝ ΟΛΟΚΛΗΡΩΜΕΝΗ ΑΝΑΠΤΥΞΗ ΤΟΥ ΚΛΑΔΟΥ ΤΗΣ ΕΚΤΡΟΦΗΣ ΤΩΝ ΓΟΥΝΟΦΟΡΩΝ

ΑΔΑ: 4ΙΦΝΚ-ΔΘ. Αθήνα, 14 Δεκεμβρίου 2010 Αριθ. Πρωτ.: Ταχυδρομική. Σταδίου 27 Διεύθυνση: Ταχυδρομικός Κώδικας: ΑΘΗΝΑ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

Δράση 1.2. Υλοτομία και προσδιορισμός ποσοτήτων υπολειμμάτων.

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ (Τ.Ε.Ι.) ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ. Θέμα πτυχιακής εργασίας:

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

ΤΑΞΗ: ΣΤ Δημοτικού ΠΙΘΑΝΟΤΗΤΕΣ

Β) Ντάκουλας Κωνσταντίνος Παππάς Βασίλης Πάσχος Αλέξανδρος Τσούκος Ηρακλής. Γ) Γείτονα Ανθή Πάτση Συμέλα Σκινήτης Φίλιππος Χασκή Βασιλική

ΧΡΗΜΑΤΟΔΟΤΗΣΗ 1 : ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ

ΣΧΕΔΙΟ ΝΟΜΟΥ ΥΥΚΑ & ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ. ΣΧΕΔΙΟ ΝΟΜΟΥ ΚΑΙ ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ «Διαρθρωτικές αλλαγές στο σύστημα υγείας και άλλες διατάξεις»

Τρίτη, 2 Σεπτεμβρίου 2014 Αριθ. Τεύχους: 200 Περιεχόμενα

ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ

ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΚΑΙ ΧΡΗΜΑΤΟΟΙΚΟΝΟΜΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΛΟΓΙΣΤΙΚΗ ΚΑΙ ΕΛΕΓΚΤΙΚΗ

ΠΡΟΤΥΠΟ ΠΕΙΡΑΜΑΤΙΚΟ ΔΗΜΟΤΙΚΟ ΣΧΟΛΕΙΟ ΦΛΩΡΙΝΑΣ ΠΡΟΓΡΑΜΜΑ ΑΓΩΓΗΣ ΥΓΕΙΑΣ

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΑΛΑΜΑΤΑΣ (Τ.Ε.Ι.Κ.) ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ (ΣΤΕΓ) ΤΜΗΜΑ ΦΥΤΙΚΗΣ ΠΑΡΑΓΩΓΗΣ (Φ.Π.) ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΜΕ ΘΕΜΑ:

Εκπαιδευτικό υλικό για την ΠΕ για τους μαθητές με ειδικές ανάγκες

(ΜΕ ΤΑ ΔΥΟ ΜΕΙΟΝΕΚΤΗΜΑΤΑ)

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3

Βασικά σημεία διάλεξης

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

Υλικά που χρειαζόμαστε

1. ΕΡΩΤΗΣΗ: Οι ρυθμίσεις του νόμου για το Ασφαλιστικό θα είναι μόνιμες; Οι περικοπές του σταθερές; ΑΠΑΝΤΗΣΗ:

Η διδακτική ενότητα του σχολικού εγχειριδίου «Η ελληνική κοινωνία στα χρόνια της δουλείας- Η οικονομία» Στόχοι διδασκαλίας της συγκεκριμένης ενότητας

Ι ΑΚΤΙΚΗ ΠΑΡΕΜΒΑΣΗ ΣΤΗΝ ΠΑΡΑΓΩΓΗ ΓΡΑΠΤΟΥ ΛΟΓΟΥ ΣΕ ΤΜΗΜΑ ΕΝΤΑΞΗΣ ΕΥΤΕΡΟΒΑΘΜΙΑΣ ΕΚΠΑΙ ΕΥΣΗΣ

ΚΩΔΙΚΑΣ ΕΠΑΓΓΕΛΜΑΤΙΚΗΣ ΔΕΟΝΤΟΛΟΓΙΑΣ ΕΠΙΣΚΕΠΤΩΝ ΥΓΕΙΑΣ

Αριθμός 9769/2014 TO ΠΟΛΥΜΕΛΕΣ ΠΡΩΤΟΔΙΚΕΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΔΙΚΑΣΙΑ ΕΚΟΥΣΙΑΣ ΔΙΚΑΙΟΔΟΣΙΑΣ ΣΥΓΚΡΟΤΗΘΗΚΕ από τους Δικαστές Μυρσίνη Κοντογιάννη, Πρόεδρο

ΠΟΛΙΤΙΚΉ ΠΑΙΔΕΙΑ. Α Γενικού Λυκείου και ΕΠΑ.Λ. Καζάκου Γεωργία, ΠΕ09 Οικονομολόγος

2. Στόχοι Ενδεικτικοί στόχοι Kοινωνικού Γραμματισμού.

Η ΑΥΤΕΠΑΓΓΕΛΤΗ ΑΝΑΖΗΤΗΣΗ ΔΙΚΑΙΟΛΟΓΗΤΙΚΩΝ ΜΙΑ ΚΡΙΤΙΚΗ ΑΠΟΤΙΜΗΣΗ. ( Διοικητική Ενημέρωση, τ.51, Οκτώβριος Νοέμβριος Δεκέμβριος 2009)

ΕΚΘΕΣΗ ΓΙΑ ΤΟ ΕΒΕΑ. Το Ασφαλιστικό του 21ο αιώνα; Ανάγκη αναστοχασμού για μια νέα αρχή

Κωδ : Οι κωδικοί αυτοί συμπληρώνονται από την φορολογική διοίκηση. Κωδ. 003: Γράψτε τη Δ.Ο.Υ. της έδρας ή του κεντρικού της επιχείρησής σας.

ΠΑΡΑΡΤΗΜΑ ΣΥΝΗΜΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ 1 ΥΠΟΔΕΙΓΜΑΤΑ ΔΗΛΩΣΗΣ-ΑΙΤΗΣΗΣ

ΑΤΕΙ ΚΑΛΑΜΑΤΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΠΟΝΙΑΣ ΤΜΗΜΑ ΤΕΧΝΟΛΟΓΙΑΣ ΓΕΩΡΓΙΚΩΝ ΠΡΟΪΟΝΤΩΝ

ΓΕΝ. ΓΡΑΜΜΑΤΕΙΑ ΦΟΡΟΛΟΓΙΚΩΝ Αθήνα, 22 Φεβρουαρίου 2008

2. Τις διατάξεις της παρ. 2 του άρθρου 155 του Ν. 3463/2006 (ΦΕΚ Α' 114).

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

ΤΙΜΟΛΟΓΙΟ ΠΡΟΣΦΟΡΑΣ ΕΡΓΑΣΙΩΝ ΑΠΟΤΙΜΩΜΕΝΩΝ ΜΕ ΚΑΤ ΑΠΟΚΟΠΗ ΤΙΜΗΜΑΤΑ

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΓΙΑ ΤΗΝ ΚΩΔΙΚΟΠΟΙΗΣΗ ΤΗΣ ΝΟΜΟΘΕΣΙΑΣ. Α. Αντικείμενο του εγχειριδίου

ΗΜΟΣ ΛΕΜΕΣΟΥ ΟΙΚΟΝΟΜΙΚΟ ΤΜΗΜΑ ΟΡΟΙ ΙΑΓΩΝΙΣΜΟΥ ΓΙΑ ΤΗΝ ΕΠΙΛΟΓΗ ΑΝΑ ΟΧΟΥ ΜΕ ΣΥΝΟΠΤΙΚΕΣ ΙΑ ΙΚΑΣΙΕΣ ΚΑΙ ΚΡΙΤΗΡΙΟ ΕΠΙΛΟΓΗΣ ΤΗΝ ΧΑΜΗΛΟΤΕΡΗ ΠΡΟΣΦΟΡΑ

Το ολοκαύτωμα της Κάσου

ΑΠΟΣΠΑΣΜΑ. Από το πρακτικό της αριθμ ης Συνεδρίασης του Δημοτικού Συμβουλίου Λεβαδέων. Αριθμός απόφασης : 294. Περίληψη

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

Απομόνωση χλωροφύλλης

Ε.Ε. Π α ρ.ι(i), Α ρ.3849, 30/4/2004 Ο ΠΕΡΙ ΝΟΜΙΣΜΑΤΟΣ (ΠΑΡΑΧΑΡΑΞΗ ΚΑΙ ΑΛΛΑ ΣΥΝΑΦΗ ΘΕΜΑΤΑ) ΝΟΜΟΣ ΤΟΥ 2004

ΣΧΕΔΙΟ ΝΟΜΟΥ ΕΝΙΣΧΥΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΤΗΣ ΚΙΝΗΜΑΤΟΓΡΑΦΙΚΗΣ ΤΕΧΝΗΣ ΚΑΙ ΑΛΛΕΣ ΔΙΑΤΑΞΕΙΣ. Γενικές Αρχές και Ορισμοί. Άρθρο 1 Γενικές αρχές

ΤΙΜΟΛΟΓΙΟ ΜΕΛΕΤΗΣ ΕΛΛΗΝΙΚΗ ΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΠΑΙ ΕΙΑΣ ΚΑΙ ΘΡΗΣΚΕΥΜΑΤΩΝ «ΥΓΡΟΜΟΝΩΣΕΙΣ ΕΡΓΟ:

«Φιλολογικό» Φροντιστήριο Επαναληπτικό διαγώνισμα στη Νεοελληνική Γλώσσα. Ενδεικτικές απαντήσεις. Περιθωριοποίηση μαθητών από μαθητές!

Ενότητα 2. Γενικά Οργάνωση Ελέγχου (ΙΙ) Φύλλα Εργασίας Εκθέσεις Ελέγχων

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία

ΠΑΡΑΔΟΤΕΟ 2.2: «ΕΡΕΥΝΑ ΚΑΤΑΓΡΑΦΗΣ ΤΩΝ ΚΛΕΙΣΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΣΕ ΚΕΝΤΡΙΚΟΥΣ ΕΜΠΟΡΙΚΟΥΣ ΔΡΟΜΟΥΣ». Μάρτιος 2013 Θεσσαλονίκη

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης

Ετήσια Οικονομική Έκθεση. (1 η Ιανουαρίου η Δεκεμβρίου 2014) Σύμφωνα με τα Διεθνή Πρότυπα Χρηματοοικονομικής Αναφοράς

ΑΝΑΚΟΙΝΩΣΗ ΑΙΤΗΣΕΩΝ ΓΙΑ ΟΡΚΩΜΟΣΙΑ

Σχετ: Το από έγγραφό σας (αρ. πρωτ. εισερχ. 932/ ). Σε απάντηση του ως άνω σχετικού, θα θέλαμε να παρατηρήσουμε τα εξής:

Α. ΑΙΤΙΟΛΟΓΙΚΗ ΕΚΘΕΣΗ. Επί του άρθρου 1 της τροπολογίας

Το συνέδριο σας πραγματοποιείται σε μια εξαιρετικά δύσκολη συγκυρία για τον τόπο, την οικονομία της χώρας, την κοινωνία και τον κόσμο της εργασίας.

Ελλάδα: Μνημόνιο Συνεννόησης στις. ΣΥΓΚΕΚΡΙΜΕΝΕΣ ΠΡΟΫΠΟΘΕΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΠΟΛΙΤΙΚΗΣ 3 Μαΐου 2010

6 η Ενότητα Στρατηγική σε επιχειρηματικό επίπεδο

Η ΔΙΑΘΕΜΑΤΙΚΗ ΤΗΣ ΔΙΑΘΕΜΑΤΙΚΗΣ

Αγάθη Γεωργιάδου Λογοτεχνία και Πανελλαδικές Εξετάσεις 1

Επαρχιακός Γραμματέας Λ/κας-Αμ/στου ΠΟΑ Αγροτικής

ΤΙΤΛΟΣ I ΕΥΡΩΠΑΪΚΑ ΣΧΟΛΕΙΑ

Ερωτήσεις πολλαπλής επιλογής

ΠΑΡΑΤΗΡΗΣΕΙΣ 1. Να μεταφράσετε το απόσπασμα: «Οὕτω δὴ παρεσκευασμένοι...καὶ ταὺτας νείμω;.» Μονάδες 10

«Το δράμα να διδάσκεις Δράμα στο Λύκειο» ή εναλλακτικές προτάσεις για τη διδασκαλία της Αντιγόνης.

ΚΩΔΙΚΑΣ ΕΤΑΙΡΙΚΗΣ ΔΙΑΚΥΒΕΡΝΗΣΗΣ

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,»

ΤΕΥΧΟΣ ΠΡΟΚΗΡΥΞΗΣ αριθμ /605/ ΔΗΜΟΣΙΟΥ ΑΝΟΙΚΤΟΥ ΔΙΑΓΩΝΙΣΜΟΥ ΓΙΑ ΤΗΝ ΑΝΑΚΗΡΥΞΗ ΑΝΑΔΟΧΟΥ ΓΙΑ ΤΗΝ ΥΛΟΠΟΙΗΣΗ ΤΟΥ ΕΡΓΟΥ

ΙΑΧΕΙΡΙΣΤΙΚΗ ΕΠΑΡΚΕΙΑ ΦΟΡΕΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΟΥ ΕΣΠΑ

6o ΕΝΗΜΕΡΩΤΙΚΟ. των αιρετών του ΚΥΣΔΕ Γρηγόρη Καλομοίρη και Χρήστου Φιρτινίδη, εκπροσώπων των Συνεργαζόμενων Εκπαιδευτικών Κινήσεων

Transcript:

Λειτουργικά συστήματα πραγματικού χρόνου και χρονοπρογραμματισμός Κώστας Βασιλάκης Δημήτρης Μαρούλης

Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού χρόνου Παραδείγματα: Κινητά τηλέφωνα (mobile phones / smartphones) προσωπικοί βοηθοί (Personal Digital Assistants PDAs) Υπολογιστές τσέπης / ταμπλέτες

Τμήματα και καθήκοντα του ΛΣΠΧ Πυρήνας (Kernel) ενός ΛΣΠΧ είναι το τμήμα που βρίσκεται μεταξύ του υλικού και των εφαρμογών που εκτελούνται σε κάποια συσκευή Το ΛΣΠΧ υποστηρίζει: διαχείριση των διεργασιών διαχείριση της κύριας μνήμης συγχρονισμός διεργασιών η εποπτεία των συσκευών εισόδου-εξόδου χρονομετρητές Η διαχείριση των διεργασιών θεωρείται το σημαντικότερο καθήκον του ΛΣΠΧ

Γενικοί μηχανισμοί στα ΛΣΠΧ Διαχείριση διεργασιών Είτε βάσει προτεραιοτήτων Είτε με διαμοιρασμό χρόνου Διαδιεργασιακή επικοινωνία και συγχρονισμός των διεργασιών Σημαφόροι, ουρές μηνυμάτων Διαχείριση μνήμης Προβληματική η χρήση ιδεατής/εικονικής μνήμης, ενδεχομένως και η δυναμική κατανομή για αποφυγή κατάτμησης της μνήμης Χρονομετρητές Ορισμός διαστήματος αποστολής σήματος διακοπής

Ποιότητα ΛΣΠΧ Βασικά τεχνικά χαρακτηριστικά: τον χρόνο μεταξύ δημιουργίας μίας αίτησης διακοπής από μία συσκευή και την εξυπηρέτηση της τον χρόνο εναλλαγής μεταξύ δύο διεργασιών που εξυπηρετούνται τη δυνατότητα να εκτελεστούν οι διεργασίες και να τηρηθούν οι προθεσμίες τους την ευκολία συνεργασίας των διεργασιών με το εξωτερικό υλικό τις δυνατότητες ανάκαμψης από σφάλματα το μικρό μέγεθος τη μικρή επιβάρυνση (overhead) τον αριθμό και τον τύπο των συσκευών που δύναται να εξυπηρετηθούν Τεκμηρίωση παραμετροποίησης, λειτουργίας, ανάπτυξης εφαρμογών

Βασικές προϋποθέσεις ΛΣΠΧ (1) Υποστήριξη πολυνηματισμού και δυνατότητας προεκτόπισης Χειρισμός πολλαπλών επιπέδων προτεραιοτήτων σε σήματα διακοπής Αντίστοιχο με την προεκτόπιση διεργασιών Προτεραιότητα νημάτων Η προτεραιότητα είναι ο τρόπος με τον οποίο το σύστημα προσπαθεί να ικανοποιήσει τις προθεσμίες: προθεσμία προτεραιότητα κατάληψη ΚΜΕ

Βασικές προϋποθέσεις ΛΣΠΧ (2) Κατάληψη ΚΜΕ καθοδηγούμενη από προτεραιότητες

Βασικές προϋποθέσεις ΛΣΠΧ (3) Μηχανισμοί συγχρονισμού που να παρέχουν τη δυνατότητα πρόβλεψης της χρονικής προθεσμίας εντός της οποίας θα ολοκληρωθούν οι σχετικές ενέργειες Μηχανισμοί κλειδώματος-άρσης κλειδώματος πόρων

Βασικές προϋποθέσεις ΛΣΠΧ (4) Μηχανισμός κληρονομιάς προτεραιότητας (1) Στον χρονοπρογραμματισμό προτεραιοτήτων, είναι σημαντικό να υπάρχει ικανοποιητικός αριθμός επιπέδων προτεραιότητας ώστε: να μπορούν να αντανακλώνται όλες οι διαβαθμίσεις προτεραιοτήτων οι εφαρμογές με τις αυστηρές απαιτήσεις προτεραιότητας να μπορούν να υλοποιηθούν μέσα στις προθεσμίες τους. Εμφανίζεται όμως το φαινόμενο της αντιστροφής προτεραιότητας (priority inversion) όταν μία διεργασία υψηλής προτεραιότητας παρεμποδίζεται με έμμεσο τρόπο να καταλάβει την Κ.Μ.Ε. από μία διεργασία χαμηλότερης προτεραιότητας.

Βασικές προϋποθέσεις ΛΣΠΧ (5) Μηχανισμός κληρονομιάς προτεραιότητας (2) Ας θεωρήσουμε το εξής παράδειγμα: έστω ότι στο σύστημα υπάρχει η διεργασία χαμηλής προτεραιότητας P L,, η οποία έχει στην κατοχή της τον πόρο R. Μία διεργασία υψηλής προτεραιότητας P H αιτείται τον πόρο R και εξαναγκάζεται έτσι σε αναστολή, μέχρις ότου η P L να απελευθερώσει τον πόρο R. Στο σύστημα υπάρχει μία διεργασία μέσης προτεραιότητας P M έτοιμη να εκτελεστεί, οπότε ο χρονοπρογραμματιστής θα επιλέξει αυτή προς εκτέλεση Συνεπώς η P L δεν μπορεί να συνεχίσει μέχρι το σημείο που απελευθερώνει τον πόρο R, κάτι που θα επέτρεπε να αρθεί η αναστολή της P H και έτσι να συνεχιστεί η εκτέλεσή της. Συνοπτικά, η P M εμποδίζει την εκτέλεση της P H.

Βασικές προϋποθέσεις ΛΣΠΧ (6) Μηχανισμός κληρονομιάς προτεραιότητας (3) Για την αντιμετώπιση του προβλήματος εισάγεται ο μηχανισμός κληρονομιάς προτεραιότητας Το Λ.Σ. δίνει στη διεργασία με τη χαμηλή προτεραιότητα, ίδια προτεραιότητα με τη διεργασία της πιο υψηλής προτεραιότητας που εμποδίζεται. Στο ανωτέρω παράδειγμα, ο μηχανισμός κληρονομιάς προτεραιότητας θα αύξανε προσωρινά την προτεραιότητα της P L θέτοντάς τη ίση με την προτεραιότητα της P H Έτσι ο χρονοπρογραμματιστής θα επέλεγε την P L αντί της P M Η αύξηση της προτεραιότητας της P L θα διαρκούσε μόνο τόσο όσο η P L κατέχει τον πόρο που χρειάζεται η P H

Είδη καθυστερήσεων σε ένα σύστημα πραγματικού χρόνου (1/2) Καθυστέρηση μεταγωγής διεργασιών Η καθυστέρηση μεταγωγής διεργασιών είναι ο χρόνος που απαιτείται για να αποθηκευθεί το περιβάλλον (καταχωρητές, κατάσταση κ.τ.λ.) μιας διεργασίας που εκτελείται τώρα και να μεταπηδήσει το σύστημα σε μια άλλη διεργασία. Είναι σημαντικό η καθυστέρηση αυτή να είναι σύντομη. Καθυστέρηση εξυπηρέτησης διακοπής Είναι ο χρόνος που μεσολαβεί μεταξύ της έλευσης ενός σήματος διακοπής και της εκτέλεσης της πρώτης εντολής του χειριστή διακοπών, ή απλά ο χρόνος από τη δημιουργία του σήματος διακοπής ως την εκτέλεση της άλλης εργασίας (θεωρώντας ότι ο χειριστής διακοπών είναι μία αυτόνομη εργασία). Αυτό είναι ένα μέτρο για την αντίδραση του συστήματος σε ένα εξωτερικό γεγονός.

Είδη καθυστερήσεων σε ένα σύστημα πραγματικού χρόνου (2/2) Καθυστέρηση έναρξης εκτέλεσης Είναι ο χρόνος που μεσολαβεί από την εκτέλεση της τελευταίας εντολής στον χειριστή διακοπών έως την εκτέλεση της πρώτης εντολής της επόμενης διεργασίας που χρονοδρομολογείται. Αυτό το μέγεθος αντικατοπτρίζει τον χρόνο που απαιτείται για να μεταβεί το σύστημα από το επίπεδο εξυπηρέτησης διακοπής στο επίπεδο εκτέλεσης διεργασιών των χρηστών. Καθυστέρηση απόκρισης σε συμβάν Είναι ο χρόνος που μεσολαβεί από τη δημιουργία ενός εξωτερικού συμβάντος μέχρι την ολοκλήρωση της εκτέλεσης του σχετικού κώδικα που χειρίζεται το συμβάν και παράγει την απόκριση σε αυτό.

Καθυστερήσεις - σχηματικά Εξωτερικό συμβάν Καθυστέρηση απόκρισης σε συμβάν Απόκριση στο συμβάν Αναμονή ολοκλήρωση ς εντολής επεξεργαστή ή σύστημα σε κρίσιμη περιοχή. Οι διακοπές είναι απενεργοποι -ημένες Απόκριση στη διακοπή Καθυστέρηση εξυπηρέτησης διακοπής Καθυστέρηση μεταγωγής διεργασιών Το σύστημα αποθηκεύει ή αποκαθιστά καταχωρητές και παραδίδει την εκτέλεση στη ρουτίνα εξυπηρέτησης της διακοπής Η ρουτίνα εξυπηρέτησης διακοπής φροντίζει για την αφύπνιση της υπό αναστολή διεργασίας Επεξεργασία διακοπής Επιστροφή από τη ρουτίνα εξυπηρέτησης της διακοπής Καθυστέρηση έναρξης εκτέλεσης Ο χρονοπρογραμματιστής επιλέγει να εκτελέσει τη διεργασία με την υψηλότερη προτεραιότητα Εκτέλεση διεργασίας Υπολογισμός απόκρισης

Δομή και συστατικά ΛΣΠΧ

Πρότυπα ΛΣΠΧ (1) Το βασικό πρότυπο για ΛΣ είναι το POSIX, το οποίο περιλαμβάνει ειδικά υπό-πρότυπα για ΛΣΠΧ 1003.1a: Βασικοί ορισμοί. Προσδιορίζει βασικές διεπαφές λειτουργικών συστημάτων, υποστηρίζει απλές διεργασίες και πολλαπλές διεργασίες, σήματα, ομάδες χρηστών, συστήματα αρχείων, συσκευές εισόδου-εξόδου. 1003.1b: Επεκτάσεις πραγματικού χρόνου. Παρέχει επεκτάσεις πραγματικού χρόνου, δηλαδή παρέχει συναρτήσεις που χρειάζονται για λειτουργικά συστήματα πραγματικού χρόνου, συμπεριλαμβάνοντας σήματα πραγματικού χρόνου, ασύγχρονες λειτουργίες εισόδουεξόδου, προτεραιότητες εισόδου-εξόδου, κλείδωμα μνήμης, προστασία μνήμης, διανομή μηνυμάτων, σημαφόρους και κοινή/διαμοιραζόμενη μνήμη.

Πρότυπα ΛΣΠΧ (2) Πρότυπο POSIX και επεκτάσεις του 1003.1c: Συναρτήσεις νημάτων για υποστήριξη πολλαπλών νημάτων μέσα σε μία διεργασία. Περιλαμβάνει υποστήριξη για έλεγχο νημάτων, συμπεριφορά νημάτων, μεταβλητές αμοιβαίου αποκλεισμού, κληρονομιά προτεραιότητας αυτών μέσω των μεταβλητών αμοιβαίου αποκλεισμού, καθώς και μεταβλητές συνθήκης. 1003.1d: Πρόσθετες επεκτάσεις πραγματικού χρόνου. Παρέχει υποστήριξη εκτός των άλλων για αποτελεσματική δημιουργία διεργασιών, χρονοπρογραμματισμό σποραδικών διεργασιών από τον εξυπηρέτη (Sporadic Server Scheduling), παρακολούθηση χρόνων εκτέλεσης για διεργασίες και νήματα, έλεγχο διακοπών και έλεγχο συσκευών.

Πρότυπα ΛΣΠΧ (3) Πρότυπο POSIX και επεκτάσεις του 1003.1j: Προχωρημένες επεκτάσεις πραγματικού χρόνου. Παρέχει ακόμα περισσότερες συναρτήσεις, συμπεριλαμβάνοντας υποστήριξη για συγχρονισμό και κλείδωμα για ανάγνωση-εγγραφή. 1003.1h: Περιλαμβάνει προβλέψεις για τήρηση ημερολογίου και ενημερώσεις για σφάλματα και συμβάντα, ρύθμιση της δημιουργίας αρχείου αποτύπωσης μνήμης (core dump), τερματισμό λειτουργίας και επανεκκίνηση του υπολογιστικού συστήματος καθώς και διαχείριση της διαμόρφωσης του συστήματος

Σύγκριση επιδόσεων ΛΣΠΧ (1) Καθυστέρηση εξυπηρέτησης διακοπής VxWorks Xenomai RTAI Linux 67 68 69 70 71 72 73 74 Καθυστέρηση (μs) Διακύμανση (μs)

Σύγκριση επιδόσεων ΛΣΠΧ (2) Καθυστέρηση εξυπηρέτησης διακοπής (συμπεριλαμβάνοντας την επαναχρονοδρομολόγηση) VxWorks Xenomai RTAI Linux 62 64 66 68 70 72 74 76 78 80 Καθυστέρηση (μs) Επαναχρονοδρομολόγηση (μs) Διακύμανση (μs)

Σύγκριση επιδόσεων ΛΣΠΧ (3) Καθυστέρηση δικτυακής επικοινωνίας VxWorks Xenomai (με RTnet) RTAI (με RTnet) Linux 0 20 40 60 80 100 120 140 160 180 Καθυστέρηση (μs) Διακύμανση (μs)

Τι είναι διεργασία; Διεργασία είναι ένα εκτελούμενο πρόγραμμα Η διεργασία είναι ενεργός οντότητα έχει κατάσταση (τιμές μεταβλητών, τιμές καταχωρητών, δεδομένα στη στοίβα, κώδικα που έχει εκτελεστεί κ.λπ.), πόρους που της έχουν κατανεμηθεί κ.λπ. το πρόγραμμα είναι πλήρως στατικό Μία διεργασία απεικονίζεται σε ακριβώς ένα αρχείο προγράμματος ένα πρόγραμμα μπορεί να εκτελείται από πολλές διεργασίες ταυτόχρονα η κάθε μία ακολουθεί διαφορετική πορεία εκτέλεσης Μία διεργασία εκτελείται σειριακά Το λειτουργικό σύστημα πολυπλέκει την εκτέλεσή τους και έχουμε την αίσθηση της παραλληλίας

Παράδειγμα: Τι είναι διεργασία; Γραμματέας Πρόγραμμα Γραμματέας που δακτυλογραφεί γράμμα και έχει φτάσει 3η παράγραφο, 2η γραμμή και έχει τοποθετήσει το χέρι για να πληκτρολογήσει το α διεργασία Η διεργασία μπορεί να διακοπεί από κάποιο συμβάν υψηλής προτεραιότητας π.χ. φωνή διευθυντή Η τρέχουσα κατάσταση της διεργασίας πρέπει να αποθηκευθεί για να αποκατασταθεί μετέπειτα

Απόψεις της εκτέλεσης των διεργασιών A Α B Β Γ Γ Δ Α Β Γ Δ Δ Χρόνος (α) (β) (γ) (α) μοναδικός δείκτης εντολών προγράμματος (β) πολλαπλοί δείκτες εντολών προγράμματος (γ) κατανομή στον χρόνο

Καταστάσεις διεργασιών (1) Μία διεργασία μπορεί να είναι: Νέα μόλις έχει δημιουργηθεί Εκτελούμενη η κεντρική μονάδα επεξεργασίας εκτελεί δικές της εντολές Εκτελέσιμη θα μπορούσε να εκτελεί εντολές στην κεντρική μονάδα επεξεργασίας, αν αυτή της παραχωρούνταν Υπό αναστολή η διεργασία είναι εν αναμονή κάποιου συμβάντος Τερματισμένη έχει ολοκληρώσει την εκτέλεσή της

Καταστάσεις διεργασιών (2) 1000 X = det( 1000 ) ImageRender() CalculateSurface; ClipSurfaces; CalculateLights; While (Not(EOF(MyFile)) Do Begin Read(MyFile, Rec); If (Rec.Name = 'XXX') Process(Rec); End; grep Athens cities sort lpr -Plp2

Καταστάσεις διεργασιών (3) Ολοκληρωμένη Επιλογή από χρονοπρογραμματιστή Νέα 1 Εκτελέσιμη 2 Εκτελούμενη Επιλογή άλλης διεργασίας από χρονοπρογραμματιστή Συμβάν άρσης αναστολής 4 0 1... ν-1 ν Χρονοπρογραμματιστής 3 Αίτημα εισόδουεξόδου Μη ικανοποιήσιμο αίτημα πόρου Εκούσιο αίτημα αναστολής Υπό αναστολή

Χρονοπρογραμματισμός διεργασιών Σε πολυπρογραμματιζόμενα συστήματα είναι δυνατόν πάνω από μία διεργασίες να είναι εκτελέσιμες Το λειτουργικό σύστημα πρέπει να αποφασίσει ποια από αυτές θα καταλάβει την ΚΜΕ Το τμήμα του Λ.Σ. που είναι επιφορτισμένο με αυτό το καθήκον καλείται χρονοπρογραμματιστής και εφαρμόζει έναν αλγόριθμο χρονοπρογραμματισμού

Χρονοπρογραμματισμός σε συστήματα πραγματικού χρόνου Στα συστήματα πραγματικού χρόνου, ο χρονοπρογραμματιστής πρέπει να: Υποστηρίζει πολυεπεξεργασία/πολυνηματισμό με δυνατότητα προεκτόπισης Χειρίζεται πολλαπλά επίπεδα διακοπών (interrupts) να μπορεί να διακόψει την εξυπηρέτηση ενός σήματος διακοπής για να μεταβεί στην εξυπηρέτηση ενός άλλου σήματος που θεωρείται πιο επείγον Υποστηρίζει προτεραιότητες νημάτων Παρέχει προβλέψιμους μηχανισμούς συγχρονισμού νημάτων Να υπάρχει δυνατότητα ακριβούς εκτίμησης του χρόνου συγχρονισμού / αποκλεισμού Μεριμνά ιδιαίτερα για την τήρηση των χρονικών προθεσμιών

Συμπεριφορά διεργασιών Σχεδόν όλες οι διεργασίες εναλλάσσονται μεταξύ επεξεργασίας στην ΚΜΕ και αιτήσεις εισόδουεξόδου (από δίσκο, δίκτυο, πληκτρολόγιο κ.λπ.) εκτέλεση μερικών εντολών, κατόπιν αναμονή για ανάγνωση/εγγραφή, εκτέλεση κι άλλων εντολών κ.λπ. κάποιες μορφές εισόδου-εξόδου είναι ουσιαστικά χρόνος Κ.Μ.Ε. (π.χ. ενημέρωση μνήμης οθόνης) Αναφορικά με τον χρονοπρογραμματισμό, ως είσοδο-έξοδο θεωρούμε τις περιπτώσεις που δεν απασχολείται η ΚΜΕ Ειδικότερα στα συστήματα πραγματικού χρόνου, οι κρίσιμες διεργασίες απαιτούν μικρό χρόνο κατάληψης της ΚΜΕ, αλλά τον απαιτούν άμεσα

Πότε χρονοπρογραμματίζουμε; Υπάρχουν πολλές περιπτώσεις όπου μπορούμε να λάβουμε μία απόφαση χρονοπρογραμματισμού όταν δημιουργείται μία νέα διεργασία θα συνεχίσουμε να εκτελούμε τη γονική ή θα μεταχθούμε στη θυγατρική; όταν μία διεργασία τερματίζει πρέπει να επιλεχθεί κάποια από τις εκτελέσιμες ή η διεργασία αδράνειας όταν μία διεργασία αναστέλλεται για είσοδο/έξοδο, σε σημαφόρο κ.λπ. η αιτία αναστολής ίσως είναι σημαντική για την απόφαση χρονοπρογραμματισμού π.χ. αν η Α ανασταλεί περιμένοντας έναν πόρο που κατέχει η Β, η Β είναι καλός υποψήφιος για εκτέλεση. Ο χρονοπρογραμματιστής δεν έχει όμως πάντα όλες τις πληροφορίες Όταν λάβει χώρα μία διακοπή εισόδου/εξόδου, καθώς πιθανότατα ολοκληρώνεται μία λειτουργία που είχε οδηγήσει μία διεργασία σε αναστολή Με την έλευση ενός σήματος διακοπής (χρονισμού ή άλλο) Στα ΣΠΧ, η έλευση σήματος διακοπής μπορεί να οδηγεί στη δημιουργία νέας διεργασίας Τα σήματα χρονισμού έχουν ιδιαίτερη αντιμετώπιση στον προεκχωρητικό (preemptive) χρονοπρογραμματισμό

Χρονοπρογραμματισμός σε συστήματα χωρίς χαρακτηριστικά πραγματικού χρόνου Πρώτη ερχόμενη-πρώτη εξυπηρετούμενη (FCFS/FIFO) Νέα διεργασία Αναμένουσες διεργασίες Πρώτη διεργασία ΚΜΕ Ολοκλήρωση Πλεονεκτήματα πολύ εύκολος στην κατανόηση απλούστατος στην υλοποίηση δίκαιος, με την έννοια ότι όλοι εξυπηρετούνται, ο καθένας με τη σειρά του Μειονεκτήματα Μεγάλη ατυχία αν μία μικρή διεργασία (ή περισσότερες) τοποθετηθεί πίσω από μία μεγάλη π.χ. 100 διεργασίες εισόδου-εξόδου πίσω από μία μεγάλη διεργασία που τρέχει 3 ημέρες Όχι καλή αξιοποίηση των πόρων του συστήματος Απολύτως ακατάλληλος για συστήματα πραγματικού χρόνου

Χρονοπρογραμματισμός σε συστήματα χωρίς χαρακτηριστικά πραγματικού χρόνου Εκ περιτροπής εξυπηρέτηση (round robin) απλός, δίκαιος και ιδιαίτερα διαδεδομένος Σε κάθε διεργασία αποδίδεται ένα χρονικό κβάντο μέγιστος χρόνος συνεχούς εκτέλεσής της Αν η διεργασία εξαντλήσει το κβάντο ή ανασταλεί πριν το εξαντλήσει λαμβάνει χώρα μεταγωγή διεργασιών Εξάντληση χρονικού κβάντου Νέα διεργασία Πρώτη διεργασία ΚΜΕ Ολοκλήρωση Αναμένουσες διεργασίες Διεργασίες υπό αναστολή Αναστολή διεργασίας Ακατάλληλος για συστήματα πραγματικού χρόνου

Εσωτερική δομή ενός λειτουργικού συστήματος πραγματικού χρόνου Συγχρονισμός Πυρήνας Λ.Σ. Σήματα (λογισμικό) Υψηλή Επικοινωνία διεργασιών (δίοδοι, σωληνώσεις, δομές FIFO, διαμοιραζόμενη μνήμη) Πίνακας διανυσμάτων διακοπής Χρονοπρογραμματισμός προτεραιοτήτων Διαχείριση διακοπών Χαμηλή 10010... 01010... Διαχείριση μνήμης Διακοπές υλικού και σήματα εισόδου-εξόδου Χρονομετρητές και ρολόγια MMU Υλικό

Χρονοπρογραμματισμός σε λειτουργικά συστήματα πραγματικού χρόνου Δύο κύριες κατηγορίες Συστήματα καθοδηγούμενα από σήματα διακοπής το κύριο πρόγραμμα είναι ένας άεργος βρόχος (idle loop). Οι διάφορες διεργασίες στο σύστημα χρονοπρογραμματίζονται μέσω διακοπών είτε υλικού είτε λογισμικού η αποστολή (dispatching) πραγματοποιείται από τις ρουτίνες εξυπηρέτησης διακοπών (interrupt service routine) Όταν χρησιμοποιούνται σήματα διακοπής σε επίπεδο υλικού, ένα ρολόι ή άλλη εξωτερική συσκευή δίνει σήματα διακοπών που κατευθύνονται σε έναν ελεγκτή διακοπών. Ο ελεγκτής διακοπών παράγει σήματα διακοπών, ανάλογα με τη σειρά άφιξης και τη προτεραιότητα των εμπλεκομένων σημάτων που φθάνουν από τις συσκευές

Σχηματική παράσταση

Χρονοπρογραμματισμός προτεραιοτήτων με πολλαπλές ουρές Χρονοπρογραμματισμός προτεραιοτήτων Διάταξη διεργασιών σε κλάσεις προτεραιοτήτων εντός κάθε κλάσης εκ περιτροπής εξυπηρέτηση, απόλυτη προτεραιότητα της κλάσης ι έναντι των επομένων της Εκτελέσιμες διεργασίες Προτεραιότητα 0 Υψηλή προτεραιότητα Προτεραιότητα 1 Προτεραιότητα ν Χαμηλή προτεραιότητα

Χρονοπρογραμματισμός προτεραιοτήτων με ενιαία ουρά Χρονοπρογραμματισμός προτεραιοτήτων Οι προτεραιότητες μπορεί να είναι στατικές ή δυναμικές π.χ. στατική: στρατηγοί = 100, λοχαγοί = 40, στρατιώτες = 10 στατική: επιλογή χρήστη λόγω τιμολογιακών πολιτικών σε υπολογιστικά κέντρα (υψηλή προτεραιότητα = 10 ευρώ/ώρα, χαμηλή = 5 ευρώ/ώρα) δυναμική: διεργασία που αξιοποίησε μόνο το μισό της κβάντο και κατόπιν ανεστάλη, λαμβάνει υψηλή δυναμική προτεραιότητα δυναμική: διεργασία που συχνά αναστέλλεται, λαμβάνει υψηλή δυναμική προτεραιότητα δυναμική: διεργασία με κοντινή προθεσμία λαμβάνει υψηλή προτεραιότητα Εξάντληση χρονικού κβάντου* Μείωση προτεραιότητας Νέα διεργασία + αρχική προτεραιότητα Αναμένουσες διεργασίες Διεργασίες υπό αναστολή Πρώτη διεργασία Επαναϋπολογισμός προτεραιότητας ΚΜΕ Αναστολή διεργασίας Ολοκλήρωση

Εξειδικεύσεις των κριτηρίων: Χρονοπρογραμματισμός μονοτονικού ρυθμού (1) Είναι ο πιο γνωστός αλγόριθμος με στατικές προτεραιότητες Χρησιμοποιείται υπό τις ακόλουθες συνθήκες: όλες οι διεργασίες είναι περιοδικές, όλες οι διεργασίες αποδεσμεύονται στην αρχή της περιόδου τους, ενώ πρέπει να ολοκληρώνονται μέσα στην περίοδό τους, δεν υπάρχουν εξαρτήσεις μεταξύ των διεργασιών, κάθε διεργασία δ ι απαιτεί την ίδια ποσότητα χρόνου CPU σε κάθε εκτέλεσή της ή έστω ποσότητα χρόνου κάτω από ένα συγκεκριμένο όριο. Η ποσότητα (ή το όριο) χρόνου είναι μικρότερο ή ίσο της περιόδου τους, καμία διεργασία δεν μπορεί να αναστείλει τον εαυτό της (οικειοθελώς), η χρονοδρομολόγηση των διεργασιών είναι προεκτοπιστική, με δυνατότητα προεκτόπισης οποιασδήποτε διεργασίας, Οι επιβαρύνσεις από το χρονοπρογραμματισμό είναι μηδενικές Το σύστημα διαθέτει έναν μόνον επεξεργαστή.

Εξειδικεύσεις των κριτηρίων: Χρονοπρογραμματισμός μονοτονικού ρυθμού (2) Στον αλγόριθμο μονοτονικού ρυθμού, κάθε διεργασία αντιστοιχίζεται με μία προτεραιότητα Η προτεραιότητα είναι αύξουσα με τη συχνότητα της διεργασίας (και άρα φθίνουσα με την περίοδο) Κατά τον χρόνο εκτέλεσης, ο χρονοπρογραμματιστής εκτελεί πάντα την έτοιμη διεργασία με την υψηλότερη προτεραιότητα, διακόπτοντας τη διεργασία που εκτελείται, αν είναι χαμηλότερης προτεραιότητας. Αν δύο ή περισσότερες διεργασίες έχουν την ίδια περίοδο, ο RM επιλέγει τυχαία την επόμενη προς εκτέλεση διεργασία

Εξειδικεύσεις των κριτηρίων: Χρονοπρογραμματισμός μονοτονικού ρυθμού (3) Ο χρονοπρογραμματισμός μονοτονικού ρυθμού είναι βέλτιστος, υπό την έννοια ότι αν ένα σύνολο διεργασιών με στατικές προτεραιότητες είναι εφικτό να χρονοπρογραμματιστεί με οποιοδήποτε τρόπο ανάθεσης προτεραιοτήτων, θα είναι εφικτό να χρονοπρογραμματιστεί και με τον RM ένα σύνολο n ανεξάρτητων και περιοδικών διεργασιών σε έναν επεξεργαστή, όπου οι προθεσμίες είναι μεγαλύτερες ή ίσες από τις περιόδους τους και όπου χρησιμοποιείται προεκτοπιστικός χρονοπρογραμματισμός είναι εφικτό αν και μόνο αν Επίσης έχει αποδειχθεί ότι, για κάθε σύστημα με περιοδικές διεργασίες, ο RM μπορεί να χρονοπρογραμματίσει τις διεργασίες, αν ισχύει η σχέση Α η περίοδος κάθε διεργασίας είναι ακέραιο πολλαπλάσιο της επόμενης μεγαλύτερης περιόδου, ο χρονοπρογραμματισμός μπορεί να εγγυηθεί 100% αξιοποίηση της CPU

Εξειδικεύσεις των κριτηρίων: Χρονοπρογραμματισμός μονοτονικού ρυθμού (3) Αλγόριθμος μονοτονικής προθεσμίας (deadline-monotonic priority assignment, DM) Αντίστοιχος με τον RM, επιτρέπει όμως οι διεργασίες να έχουν συντομότερες προθεσμίες σε σχέση με την περίοδό τους, δηλ. C i D i T i Αν D i = T i ι, τότε DM RM

Εξειδικεύσεις των κριτηρίων: αλγόριθμοι EDF και LLF EDF (earliest deadline first, συντομότερη προθεσμία πρώτα) Οι διεργασίες κατατάσσονται με βάση την προθεσμία που έχουν, και επιλέγεται αυτή με τη συντομότερη προθεσμία LLF (least laxity first, ελάχιστη σχετική προθεσμία πρώτα) Οι διεργασίες κατατάσσονται με βάση τη σχετική προθεσμία τους σπ ι = (π i τ) κμε ι όπου: π ι είναι η προθεσμία της διεργασίας I τ είναι η τρέχουσα χρονική στιγμή κμε ι είναι ο χρόνος ΚΜΕ χρειάζεται η διεργασία μέχρι να ολοκληρωθεί

Υπολογισμός χρόνου εκτέλεσης διεργασιών (1) Στους περισσότερους αλγόριθμους, απαιτείται να γνωρίζουμε τον χρόνο εκτέλεσης των διεργασιών Η πιο ευρέως χρησιμοποιούμενη σχετική μετρική είναι η WCET (worst case execution time). Βασίζεται στη στατική ανάλυση του λογισμικού H εκτίμηση του χρόνου χειρότερης περίπτωσης υπολογίζεται δομώντας τις διεργασίες σε έναν γράφο και υπολογίζοντας τον χρόνο εκτέλεσης του μακρύτερου μονοπατιού (longest path) που μπορεί να ακολουθήσει η εκτέλεση του λογισμικού O υπολογισμός του WCET περιπλέκεται από τις ιδιαιτερότητες της αρχιτεκτονικής (σωλήνωση, παραλληλία, κρυφή μνήμη, πρόβλεψη διακλαδώσεων κ.ο.κ.) Κατ αντιστοιχία ορίζεται και το BCET (best-case execution time)

Υπολογισμός χρόνου εκτέλεσης διεργασιών (2) Σχέση BCET, WCET πραγματικό ΒCET πραγματικό WCET Ασφαλής εκτίμηση ΒCET πιθανοί χρόνοι εκτέλεσης Ασφαλής εκτίμηση WCET 0 Ανασφαλής εκτίμηση χρόνος

Υπολογισμός χρόνου εκτέλεσης διεργασιών (3) Ας θεωρήσουμε το ακόλουθο παράδειγμα κώδικα συμβολικής γλώσσας: LOAD R1,&a ; R1 <-- περιεχόμενα της θέσης μνήμης "a" LOAD R2,&b ; R2 <-- περιεχόμενα της θέσης μνήμης "b" TEST R1,R2 ; σύγκριση R1 και R2, τίθεται η σχετική ένδειξη JNE @L1 ; αν δεν προέκυψε ισότητα, άλμα στην ετικέτα L1 ADD R1,R2 ; R1 <-- R1 + R2 TEST R1,R2 ; σύγκριση R1 και R2, τίθεται η σχετική ένδειξη JGE @L2 ; αν R1 >= R2, άλμα στην ετικέτα L2 JMP @END ; άλμα στην ετικέτα END L1: ADD R1, R2 ; R1 <-- R1 + R2 JMP @END ; άλμα στην ετικέτα END L2: ADD R1, R2 ; R1 <-- R1 + R2 END: SUB R2, R3 ; R2 <-- R2 - R3

Υπολογισμός χρόνου εκτέλεσης διεργασιών (4) Κατασκευάζουμε το δέντρο του προγράμματος στο οποίο απαριθμούνται όλα τα πιθανά μονοπάτια εκτέλεσης L1: ADD R1, R2 JMP @END SUB R2, R3 1 LOAD R1, &a LOAD R2, &b TEST R1,R2 JNE @L1 2, 3 (R1<>R2) (R1=R2) ADD R1, R2 TEST R1, R2 JGE @L2 L2: END: ADD R1, R2 SUB R2,R3 2 3 (R1>=R2) (R1<R2) JMP @END SUB R2, R3

Υπολογισμός χρόνου εκτέλεσης διεργασιών (5) Αν ο χρόνος εκτέλεσης μιας εντολής είναι 6μsec (ίδιος για κάθε εντολή), τότε: για το 1 ο μονοπάτι ο χρόνος εκτέλεσης είναι 42μsec (περιλαμβάνει 7 εντολές) και για το 2 ο και το 3 ο μονοπάτι είναι 54 μsec (περιλαμβάνουν 9 εντολές). Επομένως υπολογίστηκε ότι ο WCET είναι 54 μsec