Πληροφορίες Μαθήματος

Περιγραφή Μαθήματος

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

Ανακοινώσεις

  • 15/02: Το μάθημα ξεκινάει Δευτέρα 17 Φεβρουαρίου.

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

Syllabus & Πρόγραμμα

Lecture # Topic Handouts/Assignments Slides/Notes
Lecture 1 Course logistics. Introduction to Unix, basic commands lecture 01
Lecture 2 File processing, basic commands (cont'd) lecture 02
Lecture 3 csh, bash, environment variables,
input/output, process management, makefiles.
Lecture 4 Shell scripting, parameters, simple arithmetic, if, case, sample programs lecture 04
Lecture 5 Shell scripting, for, while, file contents, exec
Lecture 6 Error handling, Low-level I/O lecture 06
Lecture 7 Low-level I/O, signals
Lecture 8 Processes, Process Control lecture 08
Lecture 9 Process Control, Pipes
Lecture 10 Internetworking with Sockets lecture 10
Lecture 11 Internetworking with Sockets
Lecture 12 Threads lecture 12
Lecture 13 Threads
Lecture 14 IPC, Message Queues, Shared Memory lecture 14
Lecture 15 Shared Memory, Semaphores lecture 15
Lecture 16 Semaphores, Locking
Lecture 17 Semaphores, Locking
Lecture 18 Advanced Threads, Monitors lecture 17
Lecture 19 Advanced Threads, Monitors lecture 19
Lecture 20 sed lecture 18
Lecture 21 awk lecture 19
Lecture 22 Επανάληψη

Οδηγίες Παράδοσης των Ασκήσεων

Χρήσιμοι Σύνδεσμοι