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

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