Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ. Χρονοπρογραμματισμός CPU - SCHEDULING • Όταν περισσότερες, της μίας, διεργασίες είναι εκτελέσιμες, τότε πρέπει να αποφασίσει.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ. Χρονοπρογραμματισμός CPU - SCHEDULING • Όταν περισσότερες, της μίας, διεργασίες είναι εκτελέσιμες, τότε πρέπει να αποφασίσει."— Μεταγράφημα παρουσίασης:

1 ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ

2 Χρονοπρογραμματισμός CPU - SCHEDULING • Όταν περισσότερες, της μίας, διεργασίες είναι εκτελέσιμες, τότε πρέπει να αποφασίσει το λειτουργικό σύστημα ποια θα εκτελεστεί πρώτη (χρονοπρογραμματιστής). • Αλγόριθμος χρονοπρογραμματισμού -> περίπλοκος στα συστήματα πολλών χρηστών και διαμοιρασμού χρόνου.

3 “Καλός” αλγόριθμος χρονοπρογραμματισμού - Στόχοι • Δικαιοσύνη: κάθε διεργασία λαμβάνει δίκαιο ποσοστό χρήσης της CPU • Αποδοτικότητα: CPU απασχολημένη για το 100% του χρόνου • Χρόνος απόκρισης: ελαχιστοποιημένος για interactive users • Κύκλος διεκπεραίωσης: ελαχιστοποιημένος • Ρυθμός απόδοσης: διεκπεραιωμένες εργασίες/ μονάδα χρόνου Συνήθως, δεν μπορούν να ικανοποιηθούν όλα αυτά ταυτόχρονα

4 • Κάθε διεργασία είναι μοναδική και απρόβλεπτη. • Clock: περιοδικά προκαλεί διακοπή για να διασφαλιστεί ότι καμία διεργασία δεν εκτελείται για πολύ χρόνο. • Σε κάθε διακοπή του ρολογιού, εκτελείται ο πυρήνας του OS και αποφασίζει αν η τρέχουσα εκτελούμενη διεργασία θα συνεχίσει, ή έχει ήδη χρησιμοποιήσει την CPU για αρκετό χρόνο και θα πρέπει να ανασταλεί η εκτέλεσή της (χρονοπρογραμματισμός προεκχώρησης). • Εκτέλεσης μέχρι τέλους

5 Χρονοπρογραμματισμός εξυπηρέτησης εκ Περιτροπής • Εκχωρείται σε κάθε διεργασία κβάντο χρόνου μέσα στα όρια του οποίου επιτρέπεται η εκτέλεσή της • Εύκολα υλοποιήσιμος -> ο χρονοπρογραμματιστής διατηρεί λίστα εκτελέσιμων διεργασιών • Μέγεθος του κβάντο χρόνου. • Το μικρό κβάντο χρόνου προκαλεί πολλές εναλλαγές διεργασιών και μειώνει την αποδοτικότητα της CPU, • Μεγάλο quantum  μεγάλος χρόνος απόκρισης για interactive χρήστες

6 Χρονοπρογραμματισμός προτεραιοτήτων • Όλα τα process δεν έχουν την ίδια σπουδαιότητα • Λαμβάνει υπόψη και εξωτερικούς παράγοντες στην χρονοδρομολόγηση  σε κάθε διεργασία ανατίθεται μια προτεραιότητα και εκτελείται η διεργασία με την υψηλότερη προτεραιότητα. • Σε κάθε διακοπή ρολογιού  ο χρονοπρογραμματιστής μειώνει την προτεραιότητα της τρέχουσας διεργασίας που εκτελείται. • Οι προτεραιότητες μπορούν να ανατεθούν στις διεργασίες στατικά ή δυναμικά.  Σε πολλά συστήματα υπάρχουν αρκετά I/O-bound jobs. Αυτά πρέπει να ‘χουν μεγαλύτερη προτεραιότητα! Eτσι, θα πάρουν το CPU και πολύ σύντομα θα ζητήσουν I/O. Τότε το I/O process και τ' άλλα process που εκτελούν υπολογισμούς τρέχουν παράλληλα.  Αυτός ο παραλληλισμός μειώνει τον μέσο χρόνο απόκρισης και αυξάνει το throughput του συστήματος.  Με το πέρασμα του χρόνου οι προτεραιότητες πρέπει να αλλάζουν. Αλλιώς μερικά processes δεν θα τρέξουν ποτέ

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

8 Η συντομότερη εργασία πρώτα • Ενδείκνυται για εργασίες δέσμης  οι χρόνοι εκτέλεσής τους είναι προκαταβολικά γνωστοί. • Όταν εξίσου σημαντικές εργασίες αναμένουν να ξεκινήσουν στην ουρά εισόδου, ο χρονοπρογραμματιστής χρησιμοποιεί πρώτα τη συντομότερη εργασία.

9 Η Μικρότερη Δουλειά Πρώτη σε Αλληλεπιδραστικά Περιβάλλοντα • Μιας και το SJF ελαχιστοποιεί το χρόνο απόκρισης είναι επιθυμητό να το χρησιμοποιήσουμε και για αλληλεπιδραστικά συστήματα. • Οι διαλογικές διεργασίες συνήθως ακολουθούν την εξής δομή εκτέλεσης: περιμένουν εντολή και την εκτελούν, εν συνεχεία περιμένουν την επόμενη εντολή και την εκτελούν, κοκ. • Αν θεωρήσουμε την εκτέλεση κάθε εντολής σαν ξεχωριστή εργασία, τότε μπορούμε να ελαχιστοποιήσουμε τον συνολικό χρόνο απόκρισης, εκτελώντας την συντομότερη εργασία πρώτα. • Το πρόβλημα είναι να εξακριβώσουμε ποια από τις εκτελέσιμες εργασίες είναι η συντομότερη κάθε φορά.


Κατέβασμα ppt "ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΔΙΕΡΓΑΣΙΩΝ. Χρονοπρογραμματισμός CPU - SCHEDULING • Όταν περισσότερες, της μίας, διεργασίες είναι εκτελέσιμες, τότε πρέπει να αποφασίσει."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google