Question 1
Question
Υπάρχουν τρεις παραλλαγές επικοινωνίας διεργασιών.
Question 2
Question
Ένα παράδειγμα στην επικοινωνία διεργασιών μέσω μεταβίβασης πληροφοριών είναι η δέσμευση θέσεων σε σύστημα κρατήσεων.
Question 3
Question
Ένα παράδειγμα στην επικοινωνία διεργασιών μέσω εξαρτήσεων ανάμεσά τους είναι η παραγωγή και κατανάλωση δεδομένων.
Question 4
Question
Συνθήκες ανταγωνισμού μεταξύ διεργασιών προκύπτουν όταν προσπαθούν να προσπελάσουν τυχαίες δομές δεδομένων σειριακά.
Question 5
Question
Ο αμοιβαίος αποκλεισμός είναι μια βασική τεχνική αποφυγής συνθηκών ανταγωνισμού.
Question 6
Question
Στη γενική μορφή του αμοιβαίου αποκλεισμού, κάθε διεργασία αποτελεί ολόκληρη μια κρίσιμη περιοχή.
Question 7
Question
Ποιες από τις παρακάτω αποτελούν τις 4 συνθήκες για αποδοτική εφαρμογή του αμοιβαίου αποκλεισμού?
Answer
-
Μόνο μία διεργασία μπορεί να είναι στην κρίσιμη περιοχή.
-
Η ταχύτητα εκτέλεσης αποτελεί βασικό παράγοντα για την επιλογή του αποκλεισμού.
-
Πολλές διεργασίες μπορούν να εισέρχονται σε κρίσιμες περιοχές παράλληλα.
-
Το πλήθος των ΚΜΕ και η ταχύτητα εκτέλεσης δεν αποτελούν βάση για την υλοποίηση του αποκλεισμού.
-
Διεργασίες εκτός κρίσιμης περιοχής δεν εμποδίζουν τις υπόλοιπες να εκτελεστούν.
-
Κάποια διεργασία εντός κρίσιμης περιοχής, υπάρχει περίπτωση να μπλοκαριστεί από κάποια άλλη.
-
Δεν επιτρέπεται οι διεργασίες να εκτελούνται επ' αόριστον.
Question 8
Question
Στην αναμονή με απασχόληση, γίνεται απενεργοποίηση των διακοπών κατά την είσοδο στην κρίσιμη περιοχή.
Question 9
Question
Στην αναμονή με απασχόληση, η απενεργοποίηση των διακοπών είναι απολύτως ασφαλής.
Question 10
Question
Στην αναμονή με απασχόληση, στην παραλλαγή με αυστηρή εναλλαγή, γίνεται χρήση μεταβλητής που δείχνει ποιος έχει σειρά.
Question 11
Question
Στην αναμονή με απασχόληση, στην παραλλαγή με αυστηρή εναλλαγή, δεν παραβιάζονται συνθήκες του αμοιβαίου αποκλεισμού.
Question 12
Question
Ποια από τα παρακάτω ισχύουν για την εντολή TSL?
Answer
-
Απαιτεί μια νέα εντολή υλικού (TSL register, lock).
-
Αντιγράφει τη θέση μνήμης lock στη κύρια μνήμη.
-
Αποθηκεύει την τιμή 1 στη θέση μνήμης lock.
-
Οι δύο λειτουργίες (lock, write) γίνονται ξεχωριστά.
-
Ο δίαυλος κλειδώνεται όσο διαρκεί η εντολή.
-
Το κλείδωμα επηρεάζει μόνο έναν επεξεργαστή.
Question 13
Question
Με τη χρήση της εντολής TSL αντιστοιχούμε σε κάθε κρίσιμη περιοχή μία θέση μνήμης lock.
Question 14
Question
Με τη χρήση της εντολής XCHG η οποία είναι παραλλαγή της TSL γίνονται δύο πράξεις σε δύο φάσεις.
Question 15
Question
Η αναμονή με απασχόληση έχει το μειονέκτημα ότι σπαταλά πόρους της ΚΜΕ κατά την αναμονή κι ότι υπάρχει κίνδυνος αντιστροφής προτεραιοτήτων.
Question 16
Question
Η λύση με χρήση κλήσεων sleep/wakeup, λειτουργεί στην πράξη αφού τα σήματα είναι εγγυημένο ότι θα παραδοθούν εγκαίρως.
Question 17
Question
Ο σηματοφόρος είναι ειδική μορφή ακέραιας μεταβλητής.
Question 18
Question
Στους σηματοφόρους ορίζονται πολλές πράξεις.
Question 19
Question
Οι πράξεις up και down του σηματοφόρου, εκτελούνται αδιαίρετα.
Question 20
Question
Η υλοποίηση σηματοφόρων μπορεί να γίνει με κλήσεις συστήματος που εκτελούνται ατομικά.
Question 21
Question
Οι σηματοφόροι δεν αποτελούν λύση στο πρόβλημα παραγωγού-καταναλωτή.
Question 22
Question
Με τη χρήση σηματοφόρων γίνεται απόκρυψη των διακοπών.
Question 23
Question
Τα mutex αποτελούν μια απλή μορφή δυαδικού σηματοφόρου.
Question 24
Question
Με την κλήση mutex_lock το mutex κλειδώνεται και η διεργασία πάντα συνεχίζει να εκτελείται κανονικά.
Question 25
Question
Το mutex υλοποιείται στο χώρο του λειτουργικού.
Question 26
Question
Στους σηματοφόρους έχουμε ουρά διεργασιών. Στο mutex οι διεργασίες μπλοκάρονται προσωρινά.
Question 27
Question
Στην αναμονή με απασχόληση έχουμε αναμονή των διεργασιών. Στο mutex επίσης δεν παραχωρείται ο επεξεργαστής όταν μπλοκάρει μια διεργασία.
Question 28
Question
Στα mutex, όταν χρησιμοποιούμε νήματα, όλα βλέπουν την ίδια μνήμη.
Question 29
Question
Στα mutex όταν χρησιμοποιούμε διεργασίες, όλες έχουν κοινή μνήμη.
Question 30
Question
Ποιες από τις παρακάτω κλήσεις του πακέτου Pthread έχουν σωστή περιγραφή?
Answer
-
Pthread_mutex_init - Δημιουργία ενός mutex.
-
Pthread_mutex_destroy - Κλείδωμα ενός υπάρχοντος mutex.
-
Pthread_mutex_lock - Απόκτηση κλειδώματος ή μπλοκάρισμα.
-
Pthread_mutex_trylock - Απόκτηση κλειδώματος ή τερματισμός προγράμματος.
Question 31
Question
Τα mutex επαρκούν και για πιο σύνθετες συνθήκες, όπως στο πρόβλημα παραγωγού-καταναλωτή.
Question 32
Question
Με τις μεταβλητές συνθήκης, γίνεται μπλοκάρισμα σε μια συνθήκη του προγράμματος μέχρι να εμφανιστεί ένα σήμα (για ένα ή όλα τα νήματα).
Question 33
Question
Οι μεταβλητές συνθήκης κλειδώνονται πριν το mutex.
Question 34
Question
Οι ελεγκτές (Monitors) είναι δομή του λειτουργικού.
Question 35
Question
Οι ελεγκτές αποτελούνται από δεδομένα και διαδικασίες και υλοποιούνται ανάλογα με το μεταγλωττιστή.
Question 36
Question
Οι σηματοφόροι είναι αποκλειστικά τεχνική υψηλού επιπέδου, ενώ οι ελεγκτές χαμηλού επιπέδου.
Question 37
Question
Η μεταβίβαση μηνυμάτων είναι μια γενική τεχνική αμοιβαίου αποκλεισμού και η πλέον κατάλληλη για κατανεμημένα συστήματα.