Περιγράψτε συνοπτικά τη σημασία και τη λειτουργία του PCB

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

ipcb

Ο ρόλος του μπλοκ ελέγχου διεργασίας PCB:

Προκειμένου να διευκολυνθεί η περιγραφή του συστήματος και η διαχείριση της λειτουργίας της διεργασίας, μια δομή δεδομένων ορίζεται ειδικά για κάθε διεργασία στον πυρήνα του OS-Process Control Block PCB (Process Control Block). Ως μέρος της οντότητας διεργασίας, το PCB καταγράφει όλες τις πληροφορίες που χρειάζεται το λειτουργικό σύστημα για να περιγράψει την τρέχουσα κατάσταση της διαδικασίας και να διαχειριστεί τη λειτουργία της διαδικασίας. Είναι η πιο σημαντική καταγεγραμμένη δομή δεδομένων στο λειτουργικό σύστημα. Ο ρόλος του PCB είναι να κάνει ένα πρόγραμμα (συμπεριλαμβανομένων των δεδομένων) που δεν μπορεί να εκτελεστεί ανεξάρτητα σε ένα περιβάλλον πολλαπλών προγραμμάτων να γίνει μια βασική μονάδα που μπορεί να εκτελεστεί ανεξάρτητα, μια διαδικασία που μπορεί να εκτελεστεί ταυτόχρονα με άλλες διεργασίες.

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

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

(4) Το PCB παρέχει πληροφορίες που απαιτούνται για τον προγραμματισμό της διαδικασίας. Μόνο διεργασίες σε κατάσταση ετοιμότητας μπορούν να προγραμματιστούν για εκτέλεση και το PCB παρέχει πληροφορίες σχετικά με την κατάσταση στην οποία βρίσκεται η διαδικασία. Εάν η διαδικασία είναι σε κατάσταση ετοιμότητας, το σύστημα την εισάγει στην ουρά έτοιμης διαδικασίας και περιμένει να προγραμματίσει ο προγραμματιστής ; Επιπλέον, είναι συχνά απαραίτητο να γνωρίζουμε άλλες πληροφορίες σχετικά με τη διαδικασία κατά τον προγραμματισμό. Για παράδειγμα, στον αλγόριθμο προγραμματισμού προτεραιότητας, πρέπει να γνωρίζετε την Προτεραιότητα διεργασίας. Σε ορισμένους δικαιότερους αλγόριθμους προγραμματισμού, πρέπει επίσης να γνωρίζετε τον χρόνο αναμονής της διαδικασίας και τα συμβάντα που έχουν εκτελεστεί.

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

Πληροφορίες στο μπλοκ ελέγχου διαδικασίας:

Στο μπλοκ ελέγχου διαδικασίας, περιλαμβάνει κυρίως τις ακόλουθες πληροφορίες:

(1) Αναγνωριστικό διεργασίας: Το αναγνωριστικό διεργασίας χρησιμοποιείται για να υποδεικνύει μοναδικά μια διεργασία. Μια διεργασία έχει συνήθως δύο είδη αναγνωριστικών: ① εξωτερικά αναγνωριστικά. Προκειμένου να διευκολυνθεί η πρόσβαση του χρήστη στη διαδικασία, πρέπει να οριστεί ένα εξωτερικό αναγνωριστικό για κάθε διεργασία. Παρέχεται από τον δημιουργό και συνήθως αποτελείται από γράμματα και αριθμούς. Για να περιγραφεί η οικογενειακή σχέση της διαδικασίας, θα πρέπει επίσης να οριστεί το αναγνωριστικό γονικής διαδικασίας και το αναγνωριστικό θυγατρικής διαδικασίας. Επιπλέον, μπορεί να οριστεί ένα αναγνωριστικό χρήστη για να υποδεικνύει τον χρήστη στον οποίο ανήκει η διαδικασία. ②Εσωτερικό αναγνωριστικό. Προκειμένου να διευκολυνθεί η χρήση της διαδικασίας από το σύστημα, ορίζεται ένα εσωτερικό αναγνωριστικό για τη διεργασία στο ΛΣ, δηλαδή σε κάθε διεργασία δίνεται ένα μοναδικό ψηφιακό αναγνωριστικό, το οποίο είναι συνήθως ο σειριακός αριθμός μιας διεργασίας.

(2) Κατάσταση επεξεργαστή: Οι πληροφορίες κατάστασης του επεξεργαστή ονομάζονται επίσης περιβάλλον του επεξεργαστή, το οποίο αποτελείται κυρίως από τα περιεχόμενα διαφόρων καταχωρητών του επεξεργαστή. Αυτά τα μητρώα περιλαμβάνουν: ① Μητρώα γενικής χρήσης, γνωστά και ως μητρώα ορατά από τον χρήστη, τα οποία είναι προσβάσιμα από προγράμματα χρηστών και χρησιμοποιούνται για την προσωρινή αποθήκευση πληροφοριών. Στους περισσότερους επεξεργαστές, υπάρχουν 8 έως 32 καταχωρητές γενικής χρήσης. Σε υπολογιστές με δομή RISC Μπορεί να υπάρχουν περισσότεροι από 100. ②Μετρητής εντολών, ο οποίος αποθηκεύει τη διεύθυνση της επόμενης εντολής προς πρόσβαση. ③ Λέξη κατάστασης προγράμματος PSW, η οποία περιέχει πληροφορίες κατάστασης, όπως κωδικό κατάστασης, λειτουργία εκτέλεσης, σημαία μάσκας διακοπής κ.λπ. ④ Δείκτης στοίβας χρήστη, Σημαίνει ότι κάθε διεργασία χρήστη έχει μία ή περισσότερες σχετικές στοίβες συστήματος, οι οποίες χρησιμοποιούνται για την αποθήκευση παραμέτρων διεργασίας και κλήσεων συστήματος και διευθύνσεων κλήσεων. Ο δείκτης στοίβας δείχνει στην κορυφή της στοίβας. Όταν ο επεξεργαστής βρίσκεται σε κατάσταση εκτέλεσης, πολλές από τις πληροφορίες που υποβάλλονται σε επεξεργασία τοποθετούνται στον καταχωρητή. Κατά την εναλλαγή της διεργασίας, οι πληροφορίες κατάστασης του επεξεργαστή πρέπει να αποθηκευτούν στο αντίστοιχο PCB, έτσι ώστε η εκτέλεση να μπορεί να συνεχιστεί από το σημείο διακοπής όταν η διαδικασία εκτελείται ξανά.

(3) Πληροφορίες προγραμματισμού διεργασιών: Όταν το λειτουργικό σύστημα προγραμματίζει, είναι απαραίτητο να κατανοήσετε την κατάσταση της διαδικασίας και πληροφορίες σχετικά με τον προγραμματισμό διεργασιών. Αυτές οι πληροφορίες περιλαμβάνουν: ① Κατάσταση διεργασίας, που υποδεικνύει την τρέχουσα κατάσταση της διεργασίας, η οποία χρησιμοποιείται ως βάση για τον προγραμματισμό και την εναλλαγή της διαδικασίας. Η διαδικασία με υψηλότερη προτεραιότητα θα πρέπει να πάρει πρώτα τον επεξεργαστή. ③Άλλες πληροφορίες που απαιτούνται για τον προγραμματισμό διεργασιών, οι οποίες σχετίζονται με τον αλγόριθμο προγραμματισμού διεργασιών που χρησιμοποιείται. ④ Το συμβάν αναφέρεται στο συμβάν που περιμένει να αλλάξει η διαδικασία από την κατάσταση εκτέλεσης στην κατάσταση αποκλεισμού, δηλαδή την αιτία του αποκλεισμού.

(4) Πληροφορίες ελέγχου διεργασίας: Αναφέρονται στις πληροφορίες που είναι απαραίτητες για τον έλεγχο διεργασίας, οι οποίες περιλαμβάνουν: ① τη διεύθυνση του προγράμματος και των δεδομένων, τη διεύθυνση μνήμης ή εξωτερικής μνήμης του προγράμματος και δεδομένα στην οντότητα διεργασίας, ώστε να μπορεί να προγραμματιστεί εκτελείται όταν εκτελείται η διαδικασία. , Το πρόγραμμα και τα δεδομένα μπορούν να βρεθούν από το PCB. ②Μηχανισμός συγχρονισμού και επικοινωνίας διεργασιών, ο οποίος είναι απαραίτητος μηχανισμός για το συγχρονισμό και την επικοινωνία διεργασιών, όπως δείκτες ουράς μηνυμάτων, σηματοφόροι κ.λπ., μπορούν να τοποθετηθούν στο PCB εν όλω ή εν μέρει. ③Λίστα πόρων, στην οποία παρατίθενται όλοι οι πόροι (εκτός της CPU) που απαιτούνται από τη διεργασία κατά τη λειτουργία της και υπάρχει επίσης μια λίστα πόρων που διατίθενται στη διαδικασία. ④Δείκτης σύνδεσης, που δίνει στη διεργασία ( PCB) την πρώτη διεύθυνση του PCB της επόμενης διεργασίας στην ουρά.