Προς το περιεχόμενο

Soukoss

Members
  • ΜΗΝΥΜΑΤΑ FORUM

    2
  • ΜΕΛΟΣ

  • ΤΕΛ. ΕΠΙΣΚΕΨΗ

Πρόσφατες Επισκέψεις

Η εμφάνιση επισκεπτών είναι απενεργοποιημένη ή δεν έχετε πρόσβαση σε αυτή.

Soukoss's Achievements

Enthusiast

Enthusiast (3/15)

  • Πρώτο Μήνυμα
  • Εκκίνηση Συζήτησης
  • 1 Εβδομάδα Μετά
  • Ένα Μήνα Μετά
  • 1 χρόνο Insomniac

Πρόσφατες Διακρίσεις

0

Φήμη

  1. Καλησπέρα, Αν έχω καταλάβει καλά τους σημαφορους, αν η τιμή του είναι μεγαλύτερη από 0, επιτρέπεται να εκτελεστεί ο κώδικας και να μπει στο κρίσιμο τμήμα. Αν είναι 0, θα πρέπει να περιμένει, μέχρι να δωθεί κάποιο signal. Παρακαλώ διορθώστε με εάν δεν έχω καταλάβει σωστά. Σε περίπτωση που οι σημαφόροι ήταν αρχικοποιημένοι με την τιμή 0, ο ψευδοκώδικας των διεργασιών θα ήταν ο εξής: Διεργασία P1: Execute(p1) Signal(s2) Διεργασία P2: Wait(s2) Execute (p2) Signal(s4) Διεργασία P3: Execute (p3) Signal(s4a) Διεργασία P4: Wait(s4) Waits(4a) Execute(p4) Signal(s5) κ.ο.κ. Στην περίπτωση όμως που η άσκηση ζητάει οι σημαφόροι να είναι αρχικοποιημένοι με την τιμή 1, τι γίνεται αν επιλεγεί τυχαία πρώτη η διεργασία p4; Πώς θα την αποτρέψουμε να ξεκινήσει και να περιμένει τις διεργασίες p2 & p3; Ελπίζω να είμαι κατανοητός και να μην τα έχω μπερδέψει αρκετά στο κεφάλι μου.
  2. Καλησπέρα, Έχω ένα πρόβλημα σχετικά με τους σημαφορους και τον συγχρονισμό διεργασιών χρησιμοποιώντας τους. Έστω ότι έχουμε 6 διεργασίες P1, P2, P3, P4, P5, P6. Η P1 μπορεί να ξεκινήσει οποτεδήποτε. Η P2 πρέπει να ξεκινήσει μόνο αφού τελειώσει η P1. Η P3 πρέπει μπορεί να ξεκινήσει οποτεδήποτε. Η P4 πρέπει να ξεκινήσει μόνο αφού τελειώσει η P2 & P3. Η P5 πρέπει να ξεκινήσει μόνο αφού τελειώσει η P4. Η P6 πρέπει να ξεκινήσει μόνο αφού τελειώσει η P3. Ο μόνος περιορισμός είναι ότι πρέπει να αρχικοποιησουμε τους σημαφορους με τη τιμή 1. Πώς αποτρέπουμε τις διεργασίες P2, P4,P5,P6 από το να ξεκινήσουν;
  • Δημιουργία νέου...