Λύση του προβλήματος στενής γέφυρας χρησιμοποιώντας προγραμματισμό με πολλά νήματα

Принадлежност: Университет в Тесалия (UTH)
Резолюция: Индивидуално, групово
Продължителност: Повече от четири часа

Общ преглед


Цели

Συντάκτης προβλήματος: Vasilis Stergiou Αναπτύξτε ένα πρόγραμμα για τη ρύθμιση της κυκλοφορίας οχημάτων σε μια στενή γέφυρα για να εξασφαλίσετε τις ακόλουθες ιδιότητες: 1. Δεν πρέπει να υπάρχουν οχήματα που κινούνται αντίθετα προς τη γέφυρα. 2. Δεν πρέπει να υπάρχουν περισσότερα από οχήματα N στη γέφυρα. 3. Δεν επιτρέπεται σε ένα όχημα να περιμένει για πάντα για να διασχίσει τη γέφυρα, ακόμη και αν τα οχήματα φθάνουν συνεχώς στην άλλη πλευρά της γέφυρας. Πρέπει να γράψετε κώδικα σε C ώστε να καταλήξετε στη λύση αυτού του προβλήματος. Θα χρειαστείτε μόνο έναν συντάκτη για να γράψετε τον κωδικό σας και έναν μεταγλωττιστή gcc.

Цели на обучението

Ένας από τους στόχους είναι να βελτιωθούν οι δεξιότητες προγραμματισμού των μαθητών σε C, καθώς απαιτούνται προηγμένες μέθοδοι για την επίλυση του προβλήματος. Συγκεκριμένα, μετά την εφαρμογή του προβλήματος, οι μαθητές θα εξοικειωθούν με: 1. Κατανόηση του προβλήματος του συγχρονισμού σε ταυτόχρονα συστήματα. 2. Γνώση βασικών μηχανισμών συγχρονισμού και κατανόηση του τρόπου με τον οποίο εφαρμόζονται σε λειτουργικά συστήματα ή / και περιβάλλον εκτέλεσης υψηλότερου επιπέδου. 3. Γνώση ενός κλασικού προβλήματος συγχρονισμού και των λύσεών του με διαφορετικούς τρόπους και κατανόηση του τρόπου κατασκευής αυτών των λύσεων. 4. Γνώση των βασικών λειτουργιών του ταυτόχρονου προγραμματισμού και του συγχρονισμού στο C, και της πρακτικής εφαρμογής τους.

Контекст

Τα περιεχόμενα του μαθήματος είναι τα εξής: - Το ταυτόχρονο μοντέλο εκτέλεσης. - Το πρόβλημα του αμοιβαίου αποκλεισμού. - Αμοιβαίοι αλγόριθμοι με βάση την εφαρμογή. - Ειδικές εντολές συγχρονισμού υλικού. - Σηματοφόροι. - Ελεγκτές / παρατηρητές. - Κρίσιμες περιοχές υπό όρους. - Ταυτόχρονος προγραμματισμός και συγχρονισμός σε C / νήματα.