Περιγραφή Μαθήματος: Εισαγωγή και ιστορία υπολογιστικών συστημάτων, διεργασίες, νήματα, συγχρονισμός, αδιέξοδο, χρονοδρομολόγηση επεξεργαστή, διαχείριση μνήμης, εικονική μνήμη, διαχείριση συσκευών, συστήματα αρχείων, ασφάλεια. Το μάθημα περιλαμβάνει εργαστηριακές προγραμματιστικές ασκήσεις που διδάσκουν τη χρήση κλήσεων συστήματος και την υλοποίηση εσωτερικών λειτουργιών του πυρήνα.
Μαθησιακοί στόχοι: Το μάθημα σκοπεύει να αναπτύξει κατανόηση της χρήσης, σχεδιασμού και υλοποίησης λειτουργικών συστημάτων γενικού σκοπού, καθώς και ικανότητες προγραμματισμού συστήματος και πυρήνα.
Διδάσκων: Καθηγητής Σ. Αναστασιάδης (Γραφείο A33, Ηλ.Ταχ.: stergios)
Υπεύθυνος Εργαστηρίου: Δρ. Ι. Κυριαζής (Γραφείο Ι10, Ηλ.Ταχ.: kyriazis)
Βοηθοί: Θα ανακοινωθούν.
Διαλέξεις Μαθήματος: Τρίτη 13:00-15:00, Παρασκευή 16:00-18:00, Εργαστηρίου: Πέμπτη 14:00-16:00
Ώρες Γραφείου Μαθήματος: Τρίτη 12:00-13:00, Παρασκευή 15:00-16:00, Εργαστηρίου: Πέμπτη 13:00-14:00
Εργαστήρια: Ο βαθμός εργαστηρίου από το προηγούμενο έτος μεταφέρεται αυτομάτως στον τελικό βαθμό εφόσον συμμετάσχετε στην τελική γραπτή εξέταση.
Βαθμολόγηση: 2 εργαστηριακές ασκήσεις (Ε1:15%, Ε2:15%), προαιρετική εξέταση προόδου (Π: 20%), τελική εξέταση (Τ:50%). Αν και ο συνολικός προβιβάσιμος βαθμός είναι το 5, τόσο ο μέσος βαθμός των ασκήσεων όσο και των γραπτών εξετάσεων πρέπει να είναι τουλάχιστο 4.
Η ενδιάμεση και τελική εξέταση θα γίνουν με κλειστές σημειώσεις.
Forum: Στο forum μπορείτε να στέλνετε απορίες σχετικές με το μάθημα και να λαμβάνετε απαντήσεις είτε από συμφοιτητές σας είτε από τους βοηθούς και τον διδάσκοντα .
Ενδεικτικό Εβδομαδιαίο Πρόγραμμα:
Α/Α |
Εβδομάδα (Ημ/νία ΤΡΙΤΗΣ) |
Θέμα |
Εργαστήριο |
Εξέτασεις |
---|---|---|---|---|
1 |
20/02/2024 | Εισαγωγή |
|
|
2 |
27/02/2024 | Περιγραφή Διεργασιών |
|
|
3 |
05/03/2024 | Έλεγχος Διεργασιών |
|
|
4 |
12/03/2024 | Διεργασίες και Νήματα | Ανακοίνωση Ε1 |
|
5 |
19/04/2024 | Αμοιβαίος Αποκλεισμός |
|
|
6 |
26/03/2024 | Σημαφόροι και Παρατηρητές |
|
|
7 |
02/04/2024 | Αδιέξοδα | Παράδοση Ε1 |
|
8 |
09/04/2024 | Χρονοδρομολόγηση |
Πρόοδος |
|
9 |
16/04/2024 | Διαχείριση Αρχείων | Ανακοίνωση Ε2 |
|
10 |
23/04/2024 | Διαχείριση Μνήμης |
|
|
11 |
14/05/2024 | Εικονική Μνήμη |
|
|
12 |
21/05/2024 | Διαχείριση Εισόδου/Εξόδου | Παράδοση Ε2 |
|
13
|
28/05/2024 | Ασφάλεια |
|
|
14 | Θα ανακοινωθεί | Τελική |
Σύγγραμμα 1: William Stallings, Λειτουργικά Συστήματα Αρχές Σχεδίασης, 9η Έκδοση, Εκδόσεις Τζιόλα, 2017.
Σύγγραμμα 2: Andrew Tanenbaum, Herbert Bos Σύγχρονα Λειτουργικά Συστήματα, 4η Έκδοση, Εκδόσεις Κλειδάριθμος, 2018.
Σύγγραμμα 3: Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Λειτουργικά Συστήματα, 10η Έκδοση, Εκδόσεις Μ. Γκιούρδας, 2021.
Προτεινόμενες Αναφορές:
Εσωτερικό Λειτουργικών Συστημάτων:
K. Billimoria, Linux Kernel Programmaing, Part 1, Part 2, Packt Publishing, 2021.
R. Love, Linux Kernel Development, Third Edition, Addison-Wesley Professional, 2010.
D. P. Bovet, Marco Cesati, Understanding the Linux Kernel, Third Edition, O'Reilly Media, Inc., 2005.
R. H. Arpaci-Dusseau, A. C. Arpaci-Dusseau, Operating Systems: Three Easy Pieces, Lulu Press, 2014.
J. H. Saltzer, M. F. Kaashoek, Principles of Computer System Design: An Introduction, Morgan Kaufmann/Elsevier, 2009.
M. K. McKusick, G. V. Neville-Neil, FreeBSD Operating System, Addison-Wesley, 2005.
U. Vahalia, UNIX internals: the new frontiers, Prentice-Hall Intl, 1996.
M. J. Bach, The design of the UNIX Operating System, Prentice-Hall, 1986.
Προγραμματισμός Συστημάτων:
M. Kerrisk, Linux Programming Interface: A Linux and Unix System Programming Handbook, No Starch Press, 2010.
W. R. Stevens, S. A. Rago, Advanced programming in the UNIX environment, Addison-Wesley, 2013.
M. J. Rochkind, Advanced Unix Programming, 2nd Edition, Addison-Wesley Professional, 2004.
W. R. Stevens, B. Fenner, A. M. Rudoff, UNIX Network Programming, Volume 1: The Sockets Networking API, Third Edition, Addison-Wesley, 2003.
W. R. Stevens, UNIX Network Programming, Volume 2: Interprocess Communications, Second Edition, Prentice-Hall, 1998.
D. R. Butenhof, Programming with POSIX threads, Addison-Wesley, 1997.
J. M. Hart, Windows system programming, Addison-Wesley, 2005.
Εργαλεία Προγραμματισμού (κειμενογράφοι, μεταγλωττιστές, εκσφαλματωτές):
D. Griffiths, D. Griffiths, Head First C, O'Reilly, 2014.
A. Robbins, GDB: pocket reference, O'Reilly, 2005.
M. K. Loukides, A. Oram, Programming with GNU software, O'Reilly & Associates, 1997.
R. N. Horspool, The Berkeley UNIX environment, Prentice-Hall, 1992.
B. W. Kernighan, D. M. Ritchie, The C programming language, Prentice-Hall, 1978.
Πηγές στο διαδίκτυο:
Εισαγωγή στην Επικοινωνία Διεργασιών Unix.
Εισαγωγή στον Προγραμματισμό Νημάτων POSIX.