Χρονοπρογραμματισμός ΚΜΕ: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
μ Bot: Migrating 20 langlinks, now provided by Wikidata on d:Q1123036
Sst (συζήτηση | συνεισφορές)
Γραμμή 10:
Ο απαιτούμενος για τη θεματική εναλλαγή χρόνος είναι ουσιαστικά χαμένος χρόνος, μία επιβάρυνση για το σύστημα αφού κατά τη διάρκεια αυτής της διαδικασίας δεν εκτελούνται υπολογισμοί των χρηστών. Το πόσο μεγάλος θα είναι αυτός ο χρόνος εξαρτάται από την υποστήριξη που παρέχει το υλικό (π.χ. ειδικές εντολές για διευκόλυνση της θεματικής εναλλαγής) και από την πολυπλοκότητα της υλοποίησης του χρονοπρογραμματιστή και του επιλεγμένου αλγορίθμου.
 
== Αλγόριθμοι Χρονοπρογραμματισμού ==
== Πολιτικές ==
===Προεκτοπιστικές πολιτικές===
====Χρονοπρογραμματισμός εκ περιτροπής (Round-Robin)====
Ο αλγόριθμος χρονοπρογραμματισμού '''Round-Robin''', γνωστός και σαν ''αλγόριθμος RR'' ή ''χρονοπρογραμματισμός εκ περιτροπής'', είναι ένας από τους παλαιότερους, πιο δίκαιους και πιο διαδεδομένους αλγόριθμους χρονοπρογραμματισμού διεργασιών ενός λειτουργικού συστήματος<ref>Milan Milenkovic, ''Operating Systems: Concepts and Design'', McGraw-Hill 1987, σελ. 111, ISBN 9780070419209</ref>. Ο αλγόριθμος δεν προκαλεί [[στέρηση πόρων|στέρηση]] (starvation) και έχει σχετικά απλή και εύκολη υλοποίηση<ref>Phillip A. Laplante, ''Real-time systems design and analysis: An Engineers Handbook'', Wiley-IEEE 2004, σελ. 91, ISBN 9780471228554</ref>.
 
*[[Αλγόριθμος Χρονοπρογραμματισμού με Βάση τη Σειρά Άφιξης(First-Come,First-Served ή FCFS)]]
Ο αλγόριθμος διατηρεί μια [[FIFO]] [[ουρά (υπολογιστές)|ουρά]] για διεργασίες έτοιμες προς εκτέλεση («ready»). Στη συνέχεια, η διεργασία στην αρχή της ουράς εκτελείται για ένα κλάσμα χρόνου (το κβάντο) ή μέχρι να τεθεί υπό αναστολή (block). Αμέσως μετά τοποθετείται στο τέλος της ουράς και ο χρόνος δίνεται στην επόμενη διεργασία που βρίσκεται στην αρχή<ref>Jean J. Labrosse, ''MicroCOS-II: The Real-Time Kernel'', Newnes 2002, σελ. 45, ISBN 9781578201037</ref>. Η μόνη παράμετρος του αλγορίθμου είναι το μήκος του κβάντου. Μικρό κβάντο έχει ως αποτέλεσμα πολλές θεματικές εναλλαγές, οι οποίες απασχολούν για μεγάλο ποσοστό χρόνου την [[Κεντρική μονάδα επεξεργασίας|ΚΜΕ]]. Στο άλλο άκρο ωστόσο, μεγάλο κβάντο μπορεί να προκαλέσει προβλήματα στην αλληλεπίδραση των χρηστών με το σύστημα (π.χ. παρατηρούμενη υστέρηση κατά την πληκτρολόγηση).
 
*[[Αλγόριθμος Χρονοπρογραμματισμού με Βάση τη Μικρότερη Διάρκεια Εκτέλεσης(Shortest Job First ή SJF)]]
===Μη προεκτοπιστικές πολιτικές===
 
*[[Αλγόριθμος Χρονοπρογραμματισμού με Βάση την Προτεραιότητα(Priority Scheduling)]]
 
*[[Αλγόριθμος Χρονοπρογραμματισμού εκ Περιτροπής(Round-Robin ή RR)]]
 
*[[Αλγόριθμος Χρονοπρογραμματισμού με Πολυεπίπεδες Ουρές(Multilevel Queue Scheduling Algorithm)]]
 
== Πηγές ==