Interprocess Communication (IPC) στο ΛΣ

Τι είναι η Inter Process Communication;

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

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

Δεδομένου ότι κάθε αίτημα χρήστη μπορεί να έχει ως αποτέλεσμα πολλαπλές διεργασίες που εκτελούνται στο λειτουργικό σύστημα, η διεργασία μπορεί να απαιτεί την επικοινωνία μεταξύ τους. Κάθε προσέγγιση πρωτοκόλλου IPC έχει το δικό της πλεονέκτημα και περιορισμό, επομένως δεν είναι ασυνήθιστο για ένα μεμονωμένο πρόγραμμα να χρησιμοποιεί όλες τις μεθόδους IPC.

Προσεγγίσεις για Διαδικαστική Επικοινωνία

Ακολουθούν μερικές σημαντικές μέθοδοι επικοινωνίας μεταξύ διεργασιών:

Προσεγγίσεις για Διαδικαστική Επικοινωνία
Προσεγγίσεις Επικοινωνίας μεταξύ Διαδικασιών

Σωλήνες

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

Το μήνυμα περνά

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

Ο μηχανισμός IPC παρέχει δύο λειτουργίες:

  • Αποστολή (μήνυμα) - μέγεθος μηνύματος σταθερό ή μεταβλητό
  • Λήφθηκε (μήνυμα)

Ουρές μηνυμάτων

Μια ουρά μηνυμάτων είναι μια συνδεδεμένη λίστα μηνυμάτων που είναι αποθηκευμένα στο πυρήνας. Αναγνωρίζεται από ένα αναγνωριστικό ουράς μηνυμάτων. Αυτή η μέθοδος προσφέρει επικοινωνία μεταξύ μεμονωμένων ή πολλαπλών διεργασιών με χωρητικότητα full-duplex.

Απευθείας Επικοινωνία

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

Έμμεση Επικοινωνία

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

Κοινή μνήμη

Η κοινόχρηστη μνήμη είναι μια κοινή μνήμη μεταξύ δύο ή περισσότερων διεργασιών που δημιουργούνται με χρήση κοινής μνήμης μεταξύ όλων των διεργασιών. Αυτός ο τύπος μνήμης απαιτεί προστασία μεταξύ τους συγχρονίζοντας την πρόσβαση σε όλες τις διεργασίες.

FIFO

Επικοινωνία μεταξύ δύο άσχετων διαδικασιών. Είναι μια μέθοδος full-duplex, που σημαίνει ότι η πρώτη διεργασία μπορεί να επικοινωνήσει με τη δεύτερη διαδικασία και μπορεί επίσης να συμβεί το αντίθετο.

Γιατί IPC;

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

  • Βοηθά στην επιτάχυνση της αρθρωτής λειτουργίας
  • Υπολογιστική
  • Προνομιακός διαχωρισμός
  • Ευκολία
  • Βοηθά το λειτουργικό σύστημα να επικοινωνεί μεταξύ τους και να συγχρονίζει τις ενέργειές του.

Όροι που χρησιμοποιούνται στο IPC

Ακολουθούν ορισμένοι σημαντικοί όροι που χρησιμοποιούνται στο IPC:

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

Signals: Είναι μια μέθοδος επικοινωνίας μεταξύ πολλαπλών διεργασιών μέσω σηματοδότησης. Η διεργασία πηγής θα στείλει ένα σήμα που αναγνωρίζεται από τον αριθμό και η διαδικασία προορισμού θα το χειριστεί.

Πρόταση ανάγνωσης: - Τι είναι Semaphore? Δυαδική, Καταμέτρηση Τύποι με Παράδειγμα

Τι μοιάζει με το FIFOS και σε αντίθεση με το FIFOS

Όπως το FIFOS Σε αντίθεση με το FIFOS
Ακολουθεί τη μέθοδο FIFO Μέθοδος για να τραβήξετε συγκεκριμένα επείγοντα μηνύματα πριν φτάσουν στο μπροστινό μέρος
Το FIFO υπάρχει ανεξάρτητα από τις διαδικασίες αποστολής και λήψης. Πάντα έτοιμο, επομένως δεν χρειάζεται να ανοίξετε ή να κλείσετε.
Επιτρέπει τη μεταφορά δεδομένων μεταξύ άσχετων διεργασιών. Δεν υπάρχουν προβλήματα συγχρονισμού μεταξύ ανοίγματος και κλεισίματος.

Σύνοψη

  • Ορισμός: Η επικοινωνία μεταξύ διεργασιών χρησιμοποιείται για την ανταλλαγή δεδομένων μεταξύ πολλαπλών νημάτων σε μία ή περισσότερες διεργασίες ή προγράμματα.
  • Ο σωλήνας χρησιμοποιείται ευρέως για την επικοινωνία μεταξύ δύο σχετικών διαδικασιών.
  • Η μετάδοση μηνυμάτων είναι ένας μηχανισμός επικοινωνίας και συγχρονισμού μιας διαδικασίας.
  • Η ουρά μηνυμάτων είναι μια συνδεδεμένη λίστα μηνυμάτων που είναι αποθηκευμένα στον πυρήνα
  • Η άμεση διαδικασία είναι ένας τύπος διαδικασίας επικοινωνίας μεταξύ των διεργασιών, που θα πρέπει να ονομάζονται ρητά μεταξύ τους.
  • Η έμμεση επικοινωνία δημιουργείται όπως μόνο όταν οι διεργασίες μοιράζονται ένα κοινό γραμματοκιβώτιο κάθε ζεύγος διεργασιών που μοιράζονται πολλές συνδέσεις επικοινωνίας.
  • Η κοινόχρηστη μνήμη είναι μια κοινή μνήμη μεταξύ δύο ή περισσότερων διεργασιών που δημιουργούνται με χρήση κοινής μνήμης μεταξύ όλων των διεργασιών.
  • Η μέθοδος Inter Process Communication βοηθά στην επιτάχυνση της αρθρωτής λειτουργίας.
  • Ο σηματοφόρος είναι μια τεχνική μηχανισμού σηματοδότησης.
  • SignalΤο ing είναι μια μέθοδος επικοινωνίας μεταξύ πολλαπλών διεργασιών μέσω σηματοδότησης.
  • Όπως το FIFO ακολουθεί τη μέθοδο FIFO, ενώ σε αντίθεση με το FIFO χρησιμοποιήστε τη μέθοδο για να τραβήξετε συγκεκριμένα επείγοντα μηνύματα πριν φτάσουν στο μπροστινό μέρος.