Προγραμματισμός διεργασιών στο λειτουργικό σύστημα: Μακροπρόθεσμος, Μεσοπρόθεσμος, Βραχυπρόθεσμος Προγραμματιστής
⚡ Έξυπνη Σύνοψη
Ο Χρονοπρογραμματισμός Διεργασιών είναι μια εργασία του λειτουργικού συστήματος που διαχειρίζεται διεργασίες σε καταστάσεις ετοιμότητας, αναμονής και εκτέλεσης. Κατανέμει χρόνο CPU σε κάθε διεργασία, διατηρεί την CPU απασχολημένη και μειώνει τον χρόνο απόκρισης χρησιμοποιώντας μακροπρόθεσμους, μεσοπρόθεσμους και βραχυπρόθεσμους χρονοπρογραμματιστές.

Τι είναι ο Προγραμματισμός Διαδικασιών;
Προγραμματισμός Διαδικασιών είναι μια εργασία λειτουργικού συστήματος που προγραμματίζει διεργασίες σε διαφορετικές καταστάσεις, όπως έτοιμες, αναμονές και εκτελέσεις.
Ο προγραμματισμός διεργασιών επιτρέπει στο λειτουργικό σύστημα να διαθέσει ένα χρονικό διάστημα εκτέλεσης της CPU για κάθε διεργασία. Ένας άλλος σημαντικός λόγος για τη χρήση ενός συστήματος προγραμματισμού διεργασιών είναι ότι διατηρεί την CPU απασχολημένη συνεχώς. Αυτό σας επιτρέπει να έχετε τον ελάχιστο χρόνο απόκρισης για τα προγράμματα.
Ουρές προγραμματισμού διεργασιών
Οι ουρές προγραμματισμού διεργασιών σάς βοηθούν να διατηρείτε μια ξεχωριστή ουρά για κάθε κατάσταση διεργασίας και πλακέτα τυπωμένου κυκλώματος (PCB). Όλες οι διεργασίες της ίδιας κατάστασης εκτέλεσης τοποθετούνται στην ίδια ουρά. Επομένως, κάθε φορά που τροποποιείται η κατάσταση μιας διεργασίας, η πλακέτα τυπωμένου κυκλώματος (PCB) της πρέπει να αποσυνδεθεί από την υπάρχουσα ουρά της και να μετακινηθεί πίσω στη νέα ουρά κατάστασης.
Τρεις τύποι ουρών λειτουργικού συστήματος είναι:
- Ουρά εργασίας – Σας βοηθά να αποθηκεύσετε όλες τις διαδικασίες στο σύστημα.
- Έτοιμη ουρά – Αυτός ο τύπος ουράς σάς βοηθά να ορίσετε κάθε διεργασία που βρίσκεται στην κύρια μνήμη, η οποία είναι έτοιμη και περιμένει να εκτελεστεί.
- Ουρές συσκευών – Είναι μια διαδικασία που μπλοκάρεται λόγω απουσίας συσκευής I/O.

Στο παραπάνω διάγραμμα:
- Ένα ορθογώνιο αντιπροσωπεύει μια ουρά.
- Ένας κύκλος υποδηλώνει τον πόρο.
- Ένα βέλος υποδεικνύει τη ροή της διαδικασίας.
- Κάθε νέα διεργασία τοποθετείται πρώτα στην ουρά Ready (Έτοιμη). Περιμένει στην ουρά Ready (Έτοιμη) μέχρι να υποβληθεί τελικά σε επεξεργασία για εκτέλεση. Εδώ, η νέα διεργασία τοποθετείται στην ουρά Ready (Έτοιμη) και περιμένει μέχρι να επιλεγεί για εκτέλεση ή να αποσταλεί.
- Μία από τις διεργασίες έχει εκχωρηθεί στην CPU και εκτελείται.
- Η διεργασία θα πρέπει να εκδώσει ένα αίτημα εισόδου/εξόδου.
- Στη συνέχεια, θα πρέπει να τοποθετηθεί στην ουρά εισόδου/εξόδου.
- Η διεργασία θα πρέπει να δημιουργήσει μια νέα υποδιεργασία.
- Η διαδικασία θα πρέπει να περιμένει τον τερματισμό της.
- Θα πρέπει να αφαιρεθεί αναγκαστικά από την CPU, ως αποτέλεσμα μιας διακοπής. Μόλις ολοκληρωθεί η διακοπή, θα πρέπει να σταλεί πίσω στην ουρά ετοιμότητας.
Μοντέλο διεργασιών δύο καταστάσεων
Τα μοντέλα διεργασιών δύο καταστάσεων είναι:
- Κράτος λειτουργίας
- Μη τρέχουσα κατάσταση
Τρέξιμο
Στο Operaσύστημα ting, κάθε φορά που δημιουργείται μια νέα διεργασία, εισάγεται στο σύστημα, το οποίο θα πρέπει να εκτελείται.
Δεν τρεχω
Οι διεργασίες που δεν εκτελούνται διατηρούνται σε μια ουρά, η οποία περιμένει τη σειρά της να εκτελεστεί. Κάθε καταχώρηση στην ουρά αποτελεί σημείο προς μια συγκεκριμένη διεργασία.
Στόχοι Προγραμματισμού
Ακολουθούν οι σημαντικοί στόχοι του χρονοπρογραμματισμού διεργασιών:
- Μεγιστοποιήστε τον αριθμό των διαδραστικών χρηστών εντός αποδεκτών χρόνων απόκρισης.
- Επιτύχετε μια ισορροπία μεταξύ απόκρισης και χρήσης.
- Αποφύγετε τις επ' αόριστον αναβολές και επιβάλετε προτεραιότητες.
- Θα πρέπει επίσης να αναφέρεται στις διαδικασίες που κατέχουν τους βασικούς πόρους.
Τύπος Προγραμματιστές Διαδικασιών
Ο προγραμματιστής είναι ένας τύπος λογισμικού συστήματος που σας επιτρέπει να χειρίζεστε τον προγραμματισμό διεργασιών.
Υπάρχουν κυρίως τρεις τύποι προγραμματιστών διεργασιών:
- Μακροπρόθεσμος Προγραμματιστής
- Βραχυπρόθεσμος χρονοπρογραμματιστής
- Μεσοπρόθεσμος Προγραμματιστής
Μακροπρόθεσμος Προγραμματιστής
Ο μακροπρόθεσμος προγραμματιστής είναι επίσης γνωστός ως προγραμματιστής εργασιώνΑυτός ο χρονοπρογραμματιστής ρυθμίζει το πρόγραμμα και επιλέγει διεργασίες από την ουρά και τις φορτώνει στη μνήμη για εκτέλεση. Ρυθμίζει επίσης τον βαθμό πολυπρογραμματισμού.
Ωστόσο, ο κύριος στόχος αυτού του τύπου χρονοπρογραμματιστή είναι να προσφέρει ένα ισορροπημένο μείγμα εργασιών, όπως εργασίες επεξεργαστή και εισόδου/εξόδου, που επιτρέπει τη διαχείριση πολυπρογραμματισμού.
Μεσοπρόθεσμος Προγραμματιστής
Ο μεσοπρόθεσμος προγραμματισμός είναι ένα σημαντικό μέρος του ανταλλαγήςpingΣας επιτρέπει να χειρίζεστε τις διεργασίες που έχουν αντικατασταθεί. Σε αυτόν τον χρονοπρογραμματιστή, μια διεργασία που εκτελείται μπορεί να ανασταλεί, γεγονός που υποβάλλει ένα αίτημα εισόδου/εξόδου.
Μια διεργασία που εκτελείται μπορεί να ανασταλεί εάν υποβάλει ένα αίτημα εισόδου/εξόδου. Μια διεργασία που έχει ανασταλεί δεν μπορεί να σημειώσει καμία πρόοδο προς την ολοκλήρωσή της. Για να αφαιρεθεί η διεργασία από τη μνήμη και να δημιουργηθεί χώρος για άλλες διεργασίες, η διεργασία που έχει ανασταλεί θα πρέπει να μετακινηθεί σε δευτερεύουσα αποθήκευση.
Βραχυπρόθεσμος χρονοπρογραμματιστής
Ο βραχυπρόθεσμος προγραμματισμός είναι επίσης γνωστός ως Προγραμματιστής CPUΟ κύριος στόχος αυτού του χρονοπρογραμματιστή είναι η ενίσχυση της απόδοσης του συστήματος σύμφωνα με καθορισμένα κριτήρια. Αυτό σας βοηθά να επιλέξετε από μια ομάδα διεργασιών που είναι έτοιμες για εκτέλεση και να εκχωρήσετε την CPU σε μία από αυτές. Ο αποστολέας δίνει τον έλεγχο της CPU στη διεργασία που επιλέγεται από τον βραχυπρόθεσμο χρονοπρογραμματιστή.
Διαφορά μεταξύ προγραμματιστών
Μακροπρόθεσμο έναντι βραχυπρόθεσμου έναντι μεσοπρόθεσμου:
| Μακροπρόθεσμα | Βραχυπρόθεσμα | Μεσοπρόθεσμος |
|---|---|---|
| Το μακροπρόθεσμο είναι επίσης γνωστό ως προγραμματιστής θέσεων εργασίας. | Το βραχυπρόθεσμο είναι επίσης γνωστό ως χρονοπρογραμματιστής CPU. | Το μεσοπρόθεσμο ονομάζεται επίσης swapping προγραμματιστής. |
| Είτε απουσιάζει είτε είναι ελάχιστο σε ένα σύστημα χρονομερισμού. | Είναι ασήμαντο στη σειρά χρονομερισμού. | Αυτός ο χρονοπρογραμματιστής είναι ένα στοιχείο των συστημάτων χρονομερισμού. |
| Η ταχύτητα είναι μικρότερη σε σύγκριση με τον βραχυπρόθεσμο προγραμματιστή. | Η ταχύτητα είναι η ταχύτερη σε σύγκριση με τον βραχυπρόθεσμο και μεσοπρόθεσμο προγραμματιστή. | Προσφέρει μεσαία ταχύτητα. |
| Σας επιτρέπει να επιλέξετε διεργασίες από το φορτίο και να τις αποθηκεύσετε ξανά στη μνήμη. | Επιλέγει μόνο διεργασίες που βρίσκονται σε κατάσταση έτοιμης εκτέλεσης. | Σας βοηθά να στείλετε μια διεργασία πίσω στη μνήμη. |
| Προσφέρει πλήρη έλεγχο. | Προσφέρει λιγότερο έλεγχο. | Μειώνει το επίπεδο πολυπρογραμματισμού. |
Τι είναι ο διακόπτης περιβάλλοντος;
Είναι μια μέθοδος αποθήκευσης/επαναφοράς της κατάστασης μιας CPU στην πλακέτα τυπωμένου κυκλώματος (PCB), έτσι ώστε η εκτέλεση της διεργασίας να μπορεί να συνεχιστεί από το ίδιο σημείο αργότερα. Η μέθοδος εναλλαγής περιβάλλοντος είναι σημαντική για ένα λειτουργικό σύστημα πολλαπλών εργασιών.
