Το κεντρικό και κρίσιμο μέρος του Unix πυρήνα , το υποσύστημα ελέγχου διεργασιών , είναι υπεύθυνος για το συγχρονισμό της διαδικασίας , η επικοινωνία μεταξύ διεργασιών , τον προγραμματισμό και τη διαχείριση της διαδικασίας της μνήμης . Μια διαδικασία δημιουργεί μια διεργασία παιδί που χρησιμοποιεί το πιρούνι ( ) κλήση συστήματος , και εκτός από τη διεργασία 0 , όλες οι διαδικασίες έχουν ένα γονέα διαδικασία που ονομάζεται fork () σε κάποιο σημείο για να δημιουργήσετε το παιδί .
Ο πυρήνας προσδιορίζει μια διαδικασία από την ταυτότητα του , που αναφέρεται ως PID . Μια διαδικασία Unix τρέχει είτε σε τρόπο λειτουργίας χρήστη ή λειτουργία πυρήνα , και διατηρεί δύο χωριστές στοίβες κατά την εναλλαγή μεταξύ τους . Μια διαδικασία εισέρχεται σε κατάσταση πυρήνα , όταν κάνει μια κλήση συστήματος ή λαμβάνει μια διακοπή ή ένα σήμα , δίνοντας μεγαλύτερη προτεραιότητα και απαίτηση σε πόρους και προτίμησης από εκείνα στη λειτουργία χρήστη .
Εικόνων Προγραμματισμός
ο πυρήνας επιτρέπει σε ένα νέο ή διαφορετικό διαδικασία στη χρήση της CPU μόνο όταν η πρώτη διαδικασία πηγαίνει για ύπνο , και δεν του επιτρέπει να αλλάξει την κατάσταση ή την πρόσβαση σε πόρους που κατανέμεται σε μια άλλη διαδικασία . Μονάδα προγραμματιστής του πυρήνα preempts μια διαδικασία χρήστη περιοδικά για να το αποτρέψει από το να μονοπωλούν την CPU , όμως .
Η Ελέγχου
Η
Διεργασίες επικοινωνούν μεταξύ τους μέσω των κλήσεων συστήματος , και ενώ μπορεί να δείχνουν ότι μια άλλη διαδικασία πάει μακριά , μόνο ο πυρήνας μπορεί να προκαταλάβει . Μια διαδικασία μπορεί να πάει να κοιμηθεί μόνη της , αλλά ο πυρήνας μπορεί να ξυπνήσει . Διεργασίες συνήθως κοιμούνται σε ένα γεγονός , περιμένοντας να καταλάβει την CPU όσο δεν έχει συμβεί το επιθυμητό συμβάν .
Εικόνων Σήματα
Η
Όταν ο πυρήνας εκχωρεί την CPU σε άλλο διαδικασία , που ονομάζεται διακόπτης πλαίσιο αυτό, η προαγόρασε διαδικασία αποθηκεύεται σε στοίβα , που του επιτρέπει να συνεχίσει από εκεί που σταμάτησε την επόμενη σειρά του . Μια διαδικασία μπορεί να στείλει ένα μήνυμα σε ένα άλλο ή ο πυρήνας μπορεί να στείλει ένα μήνυμα στο εσωτερικό της, αλλά μόνο ο πυρήνας μπορεί να στείλει ένα μήνυμα σε μια διαδικασία που τρέχει για να προκαταλάβει έτσι ώστε να πηγαίνει για ύπνο . Ο πυρήνας τότε swaps με ένα έτοιμο προς λειτουργία διαδικασία που περίμεναν να αποκτήσει τον έλεγχο της CPU . Μια διαδικασία μπορεί να κοιμηθεί σε μια ορισμένη διακοπτόμενη προτεραιότητα και να αγνοούν ένα σήμα χαμηλής προτεραιότητας .
Εικόνων Fair Share
Η
Ο πυρήνας υλοποιεί έναν αλγόριθμο προγραμματισμού δίκαιης κατανομής των βαρών που δίνει τις διαδικασίες α μερίδιο του χρόνου της CPU με βάση τις προτεραιότητες που τους έχει ανατεθεί , ανάλογα με τη φύση της εργασίας . Διεργασίες υψηλότερης προτεραιότητας να προγραμματιστεί πιο συχνά και να λαμβάνουν περισσότερο χρόνο της CPU , αλλά μια διαδικασία που μπορεί να ασκήσει αργού έλεγχο του προγραμματισμού της χρησιμοποιώντας το ωραίο σύστημα κλήσης ( ) ως εξής : ωραίο ( αξία ) ? Προτεραιότητα διαδικασίας είναι συνάρτηση της αυτό το ωραίο αξίας . προτεραιότητα διαδικασία χρήσης = πρόσφατη CPU /μια σταθερή προτεραιότητα + βάση + ωραία αξία .
Αυτός ο αλγόριθμος δίνει ομάδα χρηστών μια δύο φορές η υποδοχή για την ομάδα Β , τρεις φορές μεγαλύτερη από αυτή του C και τέσσερις φορές μεγαλύτερη από αυτή του D , όπου οι διεργασίες χρηστών ομαδοποιούνται κατά προτεραιότητα . Η μέθοδος αυτή δεν είναι κατάλληλη για επεξεργασία σε πραγματικό χρόνο , όπου η διαδικασία αυτή δεν μπορεί να έχει την πολυτέλεια να περιμένει για κρίσιμες εργασίες ? . Μια τέτοια διεργασία αποκτά άμεση χρήση της CPU , κάνοντας τις κλήσεις του συστήματος και στέλνει σήματα διακοπής υψηλής προτεραιότητας
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα