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

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
JohnMad (συζήτηση | συνεισφορές)
μΧωρίς σύνοψη επεξεργασίας
JohnMad (συζήτηση | συνεισφορές)
μΧωρίς σύνοψη επεξεργασίας
Γραμμή 1:
Στην [[επιστήμη υπολογιστών]] '''χρονοπρογραμματισμός''' (αγγλ. scheduling) ονομάζεται η αρμοδιότητα των [[λειτουργικό σύστημα|λειτουργικών συστημάτων]], υλοποιούμενη συνήθως από έναν μηχανισμό του [[πυρήνας (υπολογιστές)|πυρήνα]] ονόματι ''χρονοπρογραμματιστής'', με την οποία συντονίζεται η συνύπαρξη πολλαπλών εκτελούμενων [[διεργασία (υπολογιστές)|διεργασιών]] στη μνήμη του υπολογιστή. (χαρακτηριστικόΜε γνωστότον ωςχρονοπρογραμματισμό επιτυγχάνεται επομένως η '''[[ταυτοχρονισμός]]'πολυδιεργασία'', '''η οποία με τη σειρά της αποτελεί έναν τρόπο υλοποίησης [[πολυδιεργασίαταυτοχρονισμός|ταυτοχρονισμού]]''' ή '''πολυπρογραμματισμός'''). Έτσικαθώς, είτε με κατάλληλη κατανομή του χρόνου του μοναδικού επεξεργαστή (''ψευδοπαράλληλη εκτέλεση'') είτε λόγω της ύπαρξης [[παράλληλο σύστημα|περισσοτέρων του ενός επεξεργαστών]] (''παράλληλη εκτέλεση''), είναι εφικτή η ταυτόχρονη εκτέλεση πολλαπλών διεργασιών στον ίδιο [[ηλεκτρονικός υπολογιστής|ηλεκτρονικό υπολογιστή]].
 
Στα σύγχρονα ''προεκτοπιστικά'' (preemptive) λειτουργικά συστήματα, στον [[επεξεργαστής|επεξεργαστή]] συμβαίνει αυτόματη εναλλαγή διεργασιών κάθε λίγες διακοπές του ρολογιού (στην αρχή κάθε «χρονικού κβάντου») ώστε να επιτευχθεί η ψευδοπαράλληλη εκτέλεση πολλαπλών διεργασιών. Στην πραγματικότητα οι διεργασίες εναλλάσσονται στον επεξεργαστή με εξαιρετικά μεγάλη συχνότητα (συνήθως το κβάντο διαρκεί κάποια millisecond). Η εναλλαγή αυτή ονομάζεται '''θεματική εναλλαγή''' (context switch) και, προκειμένου να είναι εφικτή, πρέπει όλες οι πληροφορίες που είναι αποθηκευμένες στην τοπική μνήμη του επεξεργαστή (στους [[καταχωρητής|καταχωρητές]]) για την εκτελούμενη διεργασία, να αποθηκευτούν σε έναν χώρο κάπου στην [[κύρια μνήμη]] κατά τη θεματική εναλλαγή. Έτσι, όταν έρθει ξανά η σειρά αυτής της διεργασίας να εκτελεστεί, θα μπορούν να φορτωθούν πάλι πίσω στους καταχωρητές και η εκτέλεση να συνεχίσει από εκεί που σταμάτησε.
 
Σε παλαιότερα υπολογιστικά συστήματα (των [[Δεκαετία 1960|δεκαετιών του 1960]] και του [[Δεκαετία 1970|του 1970]]) ήταν σε χρήση ο όρος '''πολυπρογραμματισμός''' για να περιγράψει πολυδιεργασιακά αλλά μη προεκτοπιστικά συστήματα, όπου μία διεργασία απελευθέρωνε τον επεξεργαστή μόνο εκούσια (μέσω ρητής προγραμματιστικής εντολής) ή όταν ανεσταλλόταν η λειτουργία της (π.χ. κατά την αναμονή της για είσοδο ή έξοδο).
 
== Επισκόπηση ==