Linux χρησιμοποιεί έναν προληπτικό προγραμματισμό βάσει προτεραιότητας αλγόριθμος. Αυτός ο αλγόριθμος εκχωρεί σε κάθε διεργασία μια προτεραιότητα και προγραμματίζει πρώτα τη διαδικασία με την υψηλότερη προτεραιότητα. Εάν εκτελείται μια διαδικασία με χαμηλότερη προτεραιότητα και φτάσει μια διαδικασία με υψηλότερη προτεραιότητα, η διαδικασία χαμηλότερης προτεραιότητας προδικάζεται και η διαδικασία υψηλότερης προτεραιότητας προγραμματίζεται.
Windows χρησιμοποιεί έναν μη προληπτικό προγραμματισμό βάσει προτεραιότητας αλγόριθμος. Αυτός ο αλγόριθμος εκχωρεί επίσης σε κάθε διεργασία μια προτεραιότητα, αλλά δεν προδικάζει μια διεργασία που εκτελείται εκτός εάν η διεργασία με την υψηλότερη προτεραιότητα είναι μια διαδικασία συστήματος. Αυτό σημαίνει ότι μια διαδικασία χαμηλής προτεραιότητας μπορεί να κρατήσει την CPU για εκτεταμένη χρονική περίοδο, ακόμα κι αν υπάρχουν διεργασίες υψηλότερης προτεραιότητας που περιμένουν να εκτελεστούν.
Ακολουθεί ένας πίνακας που συνοψίζει τις βασικές διαφορές μεταξύ των αλγορίθμων προγραμματισμού διεργασιών που χρησιμοποιούνται από το Linux και τα Windows:
| Χαρακτηριστικό | Linux | Παράθυρα |
|---|---|---|
| Πρόληψη | Ναι | Όχι (για διεργασίες εκτός συστήματος) |
| Προτεραιότητα | Με βάση δυναμικές προτεραιότητες | Με βάση στατικές προτεραιότητες |
| Προγραμματιστής | Πλήρως δίκαιος προγραμματιστής (CFS) | Προγραμματιστής Windows |
Είναι σημαντικό να σημειωθεί ότι αυτοί είναι απλώς οι προεπιλεγμένοι αλγόριθμοι προγραμματισμού διεργασιών που χρησιμοποιούνται από το Linux και τα Windows. Είναι δυνατό να διαμορφωθούν και τα δύο λειτουργικά συστήματα ώστε να χρησιμοποιούν διαφορετικούς αλγόριθμους προγραμματισμού.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα