Ακολουθεί μια κατανομή βασικών πτυχών:
* στόχος: Ο πρωταρχικός στόχος είναι η μεγιστοποίηση της χρήσης της CPU και η παροχή δίκαιης και αποτελεσματικής υπηρεσίας σε όλες τις διαδικασίες. Αυτό συχνά περιλαμβάνει την εξισορρόπηση της απόδοσης (ο αριθμός των διαδικασιών που ολοκληρώθηκαν ανά μονάδα χρόνου) με χρόνο απόκρισης (πόσο καιρό χρειάζεται για να ολοκληρωθεί μια διαδικασία). Άλλοι στόχοι ενδέχεται να περιλαμβάνουν την ελαχιστοποίηση του χρόνου αναμονής ή την τήρηση συγκεκριμένων προθεσμιών (για συστήματα σε πραγματικό χρόνο).
* Διαδικασίες: Αυτά είναι ανεξάρτητα προγράμματα ή καθήκοντα που απαιτούν χρόνο CPU για εκτέλεση. Ο προγραμματιστής διαχειρίζεται μια δεξαμενή διαδικασιών έτοιμου προς εκτέλεση.
* Αλγόριθμοι προγραμματισμού: Αυτές είναι συγκεκριμένες στρατηγικές που χρησιμοποιούνται για την επιλογή της επόμενης διαδικασίας για να εκτελεστεί. Διαφορετικοί αλγόριθμοι δίνουν προτεραιότητα σε διαφορετικούς στόχους. Μερικά κοινά παραδείγματα περιλαμβάνουν:
* Πρώτος-Πρωταθοποιημένος (FCFS): Οι διαδικασίες εκτελούνται με τη σειρά που φθάνουν. Απλό αλλά μπορεί να οδηγήσει σε μεγάλους χρόνους αναμονής.
* συντομότερη εργασία πρώτα (SJF): Οι διαδικασίες με τον συντομότερο εκτιμώμενο χρόνο εκτέλεσης εκτελούνται πρώτα. Ελαχιστοποιεί τον μέσο χρόνο αναμονής, αλλά απαιτεί τη γνώση των χρόνων εκτέλεσης εκ των προτέρων.
* Προγραμματισμός προτεραιότητας: Οι διαδικασίες αποδίδονται προτεραιότητες και οι διαδικασίες υψηλότερης προτεραιότητας εκτελούνται πρώτα. Μπορεί να οδηγήσει σε πείνα για διαδικασίες χαμηλής προτεραιότητας.
* Στρογγυλό Robin: Κάθε διαδικασία παίρνει μια μικρή φέτα χρόνου (κβαντικό) του χρόνου CPU. Δίκαιη, αλλά το μέγεθος του κβαντικού επηρεάζει την απόδοση.
* Προγραμματισμός ουράς πολλαπλών επιπέδων: Οι διεργασίες χωρίζονται σε διαφορετικές ουρές που βασίζονται σε χαρακτηριστικά (π.χ. διαδραστική έναντι παρτίδας).
* Προγραμματισμός ουράς ανατροφοδότησης πολυεπίπεδου επιπέδου: Οι διαδικασίες μπορούν να κινηθούν μεταξύ των ουρών με βάση τη συμπεριφορά τους.
* ΣΥΝΔΕΣΗ ΠΛΗΡΟΦΟΡΙΩΝ: Αυτή είναι η διαδικασία εξοικονόμησης της κατάστασης μιας διαδικασίας και η φόρτωση της κατάστασης άλλου. Προβάλλει γενικά έξοδα, τα οποία πρέπει να λαμβάνονται υπόψη κατά την επιλογή ενός αλγόριθμου προγραμματισμού.
* ΠΡΟΠΤΙΝΗ έναντι μη προληπτικής: Ο προληπτικός προγραμματισμός επιτρέπει στο λειτουργικό σύστημα να διακόψει μια διαδικασία λειτουργίας και να μεταβεί σε άλλη. Ο μη προληπτικός προγραμματισμός απαιτεί μια διαδικασία για να παραιτηθεί οικειοθελώς από την CPU. Ο προληπτικός προγραμματισμός είναι γενικά πιο ευέλικτος και ανταποκρινόμενος.
Συνοπτικά, ο προγραμματισμός της CPU είναι μια θεμελιώδη λειτουργία OS που επηρεάζει σημαντικά την απόδοση του συστήματος. Η επιλογή του αλγορίθμου προγραμματισμού είναι μια αντιστάθμιση μεταξύ των διαφόρων μετρήσεων απόδοσης και ο βέλτιστος αλγόριθμος εξαρτάται από τις συγκεκριμένες απαιτήσεις του συστήματος και το φόρτο εργασίας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα