Προγραμματισμός Συστήματος

Εξάμηνο:
6ο
Τύπος Μαθήματος:
Υποχρεωτικό (ΥΜ)
Κατεύθυνση:
-
Κωδικός:
Κ24
ECTS:
8
Διδακτικές Ώρες
Ώρες Θεωρίας:
4
Ώρες Φροντιστηρίου:
-
Ώρες Εργαστηρίου:
-
Μάθημα στις Ειδικεύσεις
Θεμελιώσεις Πληροφορικής (S1):
-
Διαχείριση Δεδομένων και Γνώσης (S2):
-
Λογισμικό (S3):
-
Υλικό και Αρχιτεκτονική (S4):
-
Επικοινωνίες και Δικτύωση (S5):
-
Επεξεργασία Σήματος και Πληροφορίας (S6):
-
Σχετικά Μαθήματα
Σύντομη περιγραφή Μαθήματος

Ο στόχος αυτού του μαθήματος είναι να εξετάσει σε βάθος το περιβάλλον Unix ως περιβάλλον ανάπτυξης. Θα εξετάσουμε την προγραμματιστική διεπαφή (API) του Linux για τις γλώσσες C/C++ καθώς επίσης και το κέλυφος (shell) του Linux. Θα καλύψουμε θέματα όπως: βοηθητικά προγράμματα του Unix, προγραμματισμός σε κέλυφος (shell programming), γλώσσες σεναρίων (script languages), προγραμματισμός λειτουργιών συστήματος σε C/C++ για χειρισμό λαθών, δημιουργία και τερματισμό διεργασιών, αποστολή/παραλαβή σημάτων, είσοδο/έξοδο χαμηλού επιπέδου, επικοινωνία μεταξύ τοπικών διεργασιών, δημιουργία, τερματισμό και συγχρονισμό νημάτων, διαχείριση συστήματος αρχείων, καθώς επίσης και μηχανισμοί απομακρυσμένης επικοινωνίας. Από τη φύση του, το μάθημα αυτό χρειάζεται αυτενέργεια και συνεχή προσωπική προσπάθεια.

Βιβλιογραφία

Βασικό σύγγραμμα: Peter S. Pacheco. M.J. Rochkind, Advanced Unix Programming, Prentice-Hall Software Series, Englewood Cliffs, NJ, 2004.


Επικουρικό σύγγραμμα: Kay Robbins, Steven Robbins, "Unix Systems Programming: Communication, Concurrency, and Threads", Prentice Hall PTR, 2003.