Προγραμματισμός διεργασιών στο λειτουργικό σύστημα: Μακροπρόθεσμος, Μεσοπρόθεσμος, Βραχυπρόθεσμος Προγραμματιστής

⚡ Έξυπνη Σύνοψη

Ο Χρονοπρογραμματισμός Διεργασιών είναι μια εργασία του λειτουργικού συστήματος που διαχειρίζεται διεργασίες σε καταστάσεις ετοιμότητας, αναμονής και εκτέλεσης. Κατανέμει χρόνο CPU σε κάθε διεργασία, διατηρεί την CPU απασχολημένη και μειώνει τον χρόνο απόκρισης χρησιμοποιώντας μακροπρόθεσμους, μεσοπρόθεσμους και βραχυπρόθεσμους χρονοπρογραμματιστές.

  • Ορισμός: Ο προγραμματισμός διεργασιών διαχειρίζεται τις διεργασίες σε καταστάσεις ετοιμότητας, αναμονής και εκτέλεσης για να διατηρεί την CPU απασχολημένη.
  • 📥 Ουρές: Οι ουρές εργασίας, ετοιμότητας και συσκευών οργανώνουν τις διεργασίες με βάση την κατάσταση εκτέλεσης.
  • 🔀 Μοντέλο Δύο Κρατών: Στο απλούστερο επίπεδο, μια διεργασία είτε εκτελείται είτε δεν εκτελείται.
  • 🧑💼 Τρεις Προγραμματιστές: Οι μακροπρόθεσμοι, μεσοπρόθεσμοι και βραχυπρόθεσμοι χρονοπρογραμματιστές ελέγχουν ποιες διεργασίες εκτελούνται και πότε.
  • Βραχυπρόθεσμα: Ο χρονοπρογραμματιστής της CPU είναι ο ταχύτερος, επιλέγοντας μια έτοιμη διεργασία για άμεση εκτέλεση.
  • 🔁 Αλλαγή περιβάλλοντος: Η αποθήκευση και η επαναφορά της κατάστασης της CPU στην πλακέτα τυπωμένου κυκλώματος (PCB) επιτρέπει την εκτέλεση πολλαπλών εργασιών.

Χρονοπρογραμματισμός διεργασιών σε λειτουργικό σύστημα

Τι είναι ο Προγραμματισμός Διαδικασιών;

Προγραμματισμός Διαδικασιών είναι μια εργασία λειτουργικού συστήματος που προγραμματίζει διεργασίες σε διαφορετικές καταστάσεις, όπως έτοιμες, αναμονές και εκτελέσεις.

Ο προγραμματισμός διεργασιών επιτρέπει στο λειτουργικό σύστημα να διαθέσει ένα χρονικό διάστημα εκτέλεσης της CPU για κάθε διεργασία. Ένας άλλος σημαντικός λόγος για τη χρήση ενός συστήματος προγραμματισμού διεργασιών είναι ότι διατηρεί την CPU απασχολημένη συνεχώς. Αυτό σας επιτρέπει να έχετε τον ελάχιστο χρόνο απόκρισης για τα προγράμματα.

Ουρές προγραμματισμού διεργασιών

Οι ουρές προγραμματισμού διεργασιών σάς βοηθούν να διατηρείτε μια ξεχωριστή ουρά για κάθε κατάσταση διεργασίας και πλακέτα τυπωμένου κυκλώματος (PCB). Όλες οι διεργασίες της ίδιας κατάστασης εκτέλεσης τοποθετούνται στην ίδια ουρά. Επομένως, κάθε φορά που τροποποιείται η κατάσταση μιας διεργασίας, η πλακέτα τυπωμένου κυκλώματος (PCB) της πρέπει να αποσυνδεθεί από την υπάρχουσα ουρά της και να μετακινηθεί πίσω στη νέα ουρά κατάστασης.

Τρεις τύποι ουρών λειτουργικού συστήματος είναι:

  1. Ουρά εργασίας – Σας βοηθά να αποθηκεύσετε όλες τις διαδικασίες στο σύστημα.
  2. Έτοιμη ουρά – Αυτός ο τύπος ουράς σάς βοηθά να ορίσετε κάθε διεργασία που βρίσκεται στην κύρια μνήμη, η οποία είναι έτοιμη και περιμένει να εκτελεστεί.
  3. Ουρές συσκευών – Είναι μια διαδικασία που μπλοκάρεται λόγω απουσίας συσκευής I/O.
Ουρές προγραμματισμού διεργασιών
Ουρές προγραμματισμού διεργασιών

Στο παραπάνω διάγραμμα:

  • Ένα ορθογώνιο αντιπροσωπεύει μια ουρά.
  • Ένας κύκλος υποδηλώνει τον πόρο.
  • Ένα βέλος υποδεικνύει τη ροή της διαδικασίας.
  1. Κάθε νέα διεργασία τοποθετείται πρώτα στην ουρά Ready (Έτοιμη). Περιμένει στην ουρά Ready (Έτοιμη) μέχρι να υποβληθεί τελικά σε επεξεργασία για εκτέλεση. Εδώ, η νέα διεργασία τοποθετείται στην ουρά Ready (Έτοιμη) και περιμένει μέχρι να επιλεγεί για εκτέλεση ή να αποσταλεί.
  2. Μία από τις διεργασίες έχει εκχωρηθεί στην CPU και εκτελείται.
  3. Η διεργασία θα πρέπει να εκδώσει ένα αίτημα εισόδου/εξόδου.
  4. Στη συνέχεια, θα πρέπει να τοποθετηθεί στην ουρά εισόδου/εξόδου.
  5. Η διεργασία θα πρέπει να δημιουργήσει μια νέα υποδιεργασία.
  6. Η διαδικασία θα πρέπει να περιμένει τον τερματισμό της.
  7. Θα πρέπει να αφαιρεθεί αναγκαστικά από την CPU, ως αποτέλεσμα μιας διακοπής. Μόλις ολοκληρωθεί η διακοπή, θα πρέπει να σταλεί πίσω στην ουρά ετοιμότητας.

Μοντέλο διεργασιών δύο καταστάσεων

Τα μοντέλα διεργασιών δύο καταστάσεων είναι:

  • Κράτος λειτουργίας
  • Μη τρέχουσα κατάσταση

Τρέξιμο

Στο Operaσύστημα ting, κάθε φορά που δημιουργείται μια νέα διεργασία, εισάγεται στο σύστημα, το οποίο θα πρέπει να εκτελείται.

Δεν τρεχω

Οι διεργασίες που δεν εκτελούνται διατηρούνται σε μια ουρά, η οποία περιμένει τη σειρά της να εκτελεστεί. Κάθε καταχώρηση στην ουρά αποτελεί σημείο προς μια συγκεκριμένη διεργασία.

Στόχοι Προγραμματισμού

Ακολουθούν οι σημαντικοί στόχοι του χρονοπρογραμματισμού διεργασιών:

  • Μεγιστοποιήστε τον αριθμό των διαδραστικών χρηστών εντός αποδεκτών χρόνων απόκρισης.
  • Επιτύχετε μια ισορροπία μεταξύ απόκρισης και χρήσης.
  • Αποφύγετε τις επ' αόριστον αναβολές και επιβάλετε προτεραιότητες.
  • Θα πρέπει επίσης να αναφέρεται στις διαδικασίες που κατέχουν τους βασικούς πόρους.

Τύπος Προγραμματιστές Διαδικασιών

Ο προγραμματιστής είναι ένας τύπος λογισμικού συστήματος που σας επιτρέπει να χειρίζεστε τον προγραμματισμό διεργασιών.

Υπάρχουν κυρίως τρεις τύποι προγραμματιστών διεργασιών:

  1. Μακροπρόθεσμος Προγραμματιστής
  2. Βραχυπρόθεσμος χρονοπρογραμματιστής
  3. Μεσοπρόθεσμος Προγραμματιστής

Μακροπρόθεσμος Προγραμματιστής

Ο μακροπρόθεσμος προγραμματιστής είναι επίσης γνωστός ως προγραμματιστής εργασιώνΑυτός ο χρονοπρογραμματιστής ρυθμίζει το πρόγραμμα και επιλέγει διεργασίες από την ουρά και τις φορτώνει στη μνήμη για εκτέλεση. Ρυθμίζει επίσης τον βαθμό πολυπρογραμματισμού.

Ωστόσο, ο κύριος στόχος αυτού του τύπου χρονοπρογραμματιστή είναι να προσφέρει ένα ισορροπημένο μείγμα εργασιών, όπως εργασίες επεξεργαστή και εισόδου/εξόδου, που επιτρέπει τη διαχείριση πολυπρογραμματισμού.

Μεσοπρόθεσμος Προγραμματιστής

Ο μεσοπρόθεσμος προγραμματισμός είναι ένα σημαντικό μέρος του ανταλλαγήςpingΣας επιτρέπει να χειρίζεστε τις διεργασίες που έχουν αντικατασταθεί. Σε αυτόν τον χρονοπρογραμματιστή, μια διεργασία που εκτελείται μπορεί να ανασταλεί, γεγονός που υποβάλλει ένα αίτημα εισόδου/εξόδου.

Μια διεργασία που εκτελείται μπορεί να ανασταλεί εάν υποβάλει ένα αίτημα εισόδου/εξόδου. Μια διεργασία που έχει ανασταλεί δεν μπορεί να σημειώσει καμία πρόοδο προς την ολοκλήρωσή της. Για να αφαιρεθεί η διεργασία από τη μνήμη και να δημιουργηθεί χώρος για άλλες διεργασίες, η διεργασία που έχει ανασταλεί θα πρέπει να μετακινηθεί σε δευτερεύουσα αποθήκευση.

Βραχυπρόθεσμος χρονοπρογραμματιστής

Ο βραχυπρόθεσμος προγραμματισμός είναι επίσης γνωστός ως Προγραμματιστής CPUΟ κύριος στόχος αυτού του χρονοπρογραμματιστή είναι η ενίσχυση της απόδοσης του συστήματος σύμφωνα με καθορισμένα κριτήρια. Αυτό σας βοηθά να επιλέξετε από μια ομάδα διεργασιών που είναι έτοιμες για εκτέλεση και να εκχωρήσετε την CPU σε μία από αυτές. Ο αποστολέας δίνει τον έλεγχο της CPU στη διεργασία που επιλέγεται από τον βραχυπρόθεσμο χρονοπρογραμματιστή.

Διαφορά μεταξύ προγραμματιστών

Μακροπρόθεσμο έναντι βραχυπρόθεσμου έναντι μεσοπρόθεσμου:

Μακροπρόθεσμα Βραχυπρόθεσμα Μεσοπρόθεσμος
Το μακροπρόθεσμο είναι επίσης γνωστό ως προγραμματιστής θέσεων εργασίας. Το βραχυπρόθεσμο είναι επίσης γνωστό ως χρονοπρογραμματιστής CPU. Το μεσοπρόθεσμο ονομάζεται επίσης swapping προγραμματιστής.
Είτε απουσιάζει είτε είναι ελάχιστο σε ένα σύστημα χρονομερισμού. Είναι ασήμαντο στη σειρά χρονομερισμού. Αυτός ο χρονοπρογραμματιστής είναι ένα στοιχείο των συστημάτων χρονομερισμού.
Η ταχύτητα είναι μικρότερη σε σύγκριση με τον βραχυπρόθεσμο προγραμματιστή. Η ταχύτητα είναι η ταχύτερη σε σύγκριση με τον βραχυπρόθεσμο και μεσοπρόθεσμο προγραμματιστή. Προσφέρει μεσαία ταχύτητα.
Σας επιτρέπει να επιλέξετε διεργασίες από το φορτίο και να τις αποθηκεύσετε ξανά στη μνήμη. Επιλέγει μόνο διεργασίες που βρίσκονται σε κατάσταση έτοιμης εκτέλεσης. Σας βοηθά να στείλετε μια διεργασία πίσω στη μνήμη.
Προσφέρει πλήρη έλεγχο. Προσφέρει λιγότερο έλεγχο. Μειώνει το επίπεδο πολυπρογραμματισμού.

Τι είναι ο διακόπτης περιβάλλοντος;

Είναι μια μέθοδος αποθήκευσης/επαναφοράς της κατάστασης μιας CPU στην πλακέτα τυπωμένου κυκλώματος (PCB), έτσι ώστε η εκτέλεση της διεργασίας να μπορεί να συνεχιστεί από το ίδιο σημείο αργότερα. Η μέθοδος εναλλαγής περιβάλλοντος είναι σημαντική για ένα λειτουργικό σύστημα πολλαπλών εργασιών.

Συχνές Ερωτήσεις

Ένας χρονοπρογραμματιστής αποφασίζει ποια διεργασία θα πρέπει να εκτελεστεί στη συνέχεια με βάση μια πολιτική. Ένας αποστολέας είναι η ενότητα που στην πραγματικότητα δίνει στην επιλεγμένη διεργασία τον έλεγχο της CPU, εκτελώντας την εναλλαγή περιβάλλοντος και τη μετάβαση.ping στη σωστή θέση στο πρόγραμμα.

Ο βαθμός πολυπρογραμματισμού είναι ο αριθμός των διεργασιών που διατηρούνται στην κύρια μνήμη ταυτόχρονα. Ο μακροπρόθεσμος χρονοπρογραμματιστής τον ελέγχει αποφασίζοντας πόσες διεργασίες θα δεχθούν, εξισορροπώντας τη χρήση της CPU και των εισόδων/εξόδων για αποτελεσματική απόδοση του συστήματος.

Ένα Μπλοκ Ελέγχου Διεργασιών είναι μια δομή δεδομένων που χρησιμοποιεί το ΛΣ για την αποθήκευση όλων των πληροφοριών σχετικά με μια διεργασία, όπως η κατάστασή της, ο μετρητής προγράμματος, τα μητρώα και τα όρια μνήμης. Είναι απαραίτητο για την αποθήκευση και την επαναφορά διεργασιών κατά τη διάρκεια μιας εναλλαγής περιβάλλοντος.

Η Τεχνητή Νοημοσύνη μπορεί να μάθει μοτίβα φόρτου εργασίας για να αποφασίσει ποια διεργασία θα εκτελεστεί και πώς να κατανείμει τον χρόνο της CPU. Αντί για σταθερούς κανόνες, προσαρμόζει τον προγραμματισμό σε πραγματικό χρόνο, βελτιώνοντας την απόδοση, τον χρόνο απόκρισης και την ενεργειακή απόδοση, ειδικά σε συστήματα cloud και πολλαπλών πυρήνων.

Ναι. Αναλύοντας προηγούμενες εκρήξεις CPU και μοτίβα εισόδου/εξόδου, τα μοντέλα τεχνητής νοημοσύνης μπορούν να εκτιμήσουν πόσο χρόνο θα εκτελεστεί μια διεργασία και αν είναι συνδεδεμένη με την CPU ή την είσοδο/εξόδου. Αυτές οι προβλέψεις βοηθούν τον χρονοπρογραμματιστή να ιεραρχήσει τις διεργασίες και να μειώσει τον χρόνο αναμονής.

Συνοψίστε αυτήν την ανάρτηση με: