Λειτουργικά Συστήματα (8.009)

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

Λειτουργικά Συστήματα - Διαδικαστικά
- Πέμπτη, 16 Μαΐου 2024 - 2:01 μ.μ. -

Γεια σας,

Οι ώρες του μαθήματος (μετά τις αλλαγές λόγω των καταλήψεων και άλλων προβλημάτων με παράλληλα μαθήματα) είναι Θεωρία και Εργαστήριο μαζί την Πέμπτη 19:15-22:00 στο Ε1. Επίσης όταν χρειάζεται να γίνει αναπλήρωση ωρών, κυρίως για τη Θεωρία θα γίνεται Σάββατο 11:00-15:00.

Οι ώρες για τους φοιτητές που ήδη παρακολουθούν με τους Erasmus είναι Πέμπτη 11:00-14:00.

(Προσοχή: Ξεκινάμε με τη Θεωρία και το Εργαστήριο στις 29 Φλεβάρη.)

Εξεταστέα Ύλη

Για τη Θεωρία διαβάζετε από τις διαφάνειες και αναφέρεστε στις σημειώσεις του βιβλίου του Tannenbaum (στο ECLASS ή σε hard/soft copy) στα σημεία που δεν καταλαβαίνετε. Η εξεταστέα ύλη στη Θεωρία αφορά σε process/threads (lifecycle), συγχρονισμούς/επικοινωνία/hazards (data races, deadlocks), process scheduling, memory management (virtual to physical address translation, paging), εικονική μνήμη, drivers, και file systems. Επίσης εισάγονται τα Συστήματα Πραγματικού Χρόνου και διάφορα θέματα που άπτονται του Λογισμικού Συστήματος (POSIX, Kernel, Security). Στο τελευταίο μάθημα προγραμματίζεται να γίνει σύντομη επανάληψη για Θεωρία και Εργαστήριο και εξετάζονται σχετικές ερωτήσεις φοιτητών.

Το Εργαστήριο έχει μικρότερη ύλη από τη Θεωρία. Ασχολείται σε βάθος με θέματα open source, Linux installation, Linux commands, shell scripts, καθώς και με προγραμματιστικά θέματα που αφορούν POSIX, ποιο συγκεκριμένα process/threads (lifecycle) και συγχρονισμούς/επικοινωνία/hazards (data races, deadlocks) που υλοποιούνται σε κώδικα C/C++ με χρήση Linux βιβλιοθηκών ανοικτού κώδικα. Οι εργασίες που θα σας δοθούν (τόσο οι λυμένες, όσο και οι προς επίλυση) βοηθούν να καταλάβετε σε βάθος την ύλη. Για το σκοπό αυτό όμως θα χρειαστεί άμεσα να εγκαταστήσετε Linux (π.χ. μέσω Virtualbox) και να εξοικειωθείτε με εντολές και μερικά χρήσιμα εργαλεία ανάπτυξης λογισμικού σε Linux (π.χ. editor, compiler, κλπ) που πρέπει να μάθετε να χρησιμοποιείτε αποδοτικά. Προς το τέλος του μαθήματος εξετάζονται πρακτικά, ορισμένα θέματα που αναλύθηκαν στη Θεωρία, όπως memory management, drivers, file systems, RTOS, κλπ

Βαθμολογία, Εργασίες και Εξετάσεις

Α) Οι φοιτητές ΗΜΜΥ που δεν έχουν ξαναπαρακολουθήσει ολόκληρο το μάθημα υποχρεούνται σε φυσική παρουσία στα παρακάτω εργαστηριακά μαθήματα (οι ημερομηνίες ίσως αλλάξουν λόγω ανωτέρας βίας):

Ενότητα 1 (x01) - Linux Introduction: Linux commands, scripts
29/2 Linux Intro, Linux installation in VM, commands
  7/3 Bash shell: language & scripts (* Αν υπάρχει κατάληψη θα γίνει το μάθημα με τηλεσυνεργασία το Σάββατο 11-3)

Ενότητα 2 (x02) - Linux Processes, SystemV/POSIX Shared Memory, Pipes
14/3 Linux processes: fork, wait & wrappers, SystemV Shared Memory
21/3 POSIX Shared Memory, Mutex Example with Processes
28/3 Pipes & Εργασία 1 (ως 20%, προθεσμία: 25/4 στις 16:00)

Ενότητα 3 (x03) - Threads, Synchronization & OS Demos
  4/4 Linux processes/threads, mutex/deadlocks, barriers
11/4 Semaphores, Condition Variables & Classical synchronization problems
18/4 Classical vs non-classical synchronization problems
28/4 11πμ - 2μμ
Tηλεσυνεργασία - Εργασία 2 (ως 20%, προθεσμία: 30/5 16:00)

Ενότητα 4 (x03) - Tools, Demos & Future Classes
16/5 Θεωρία (Paging Systems), δεν υπάρχει εργαστήριο
23/5 Θεωρία (File Systems, Drivers (tty/i2c), Related Topics), δεν υπάρχει εργαστήριο)
30/5 Eπανάληψη Θ+Ε & Ερωτήσεις
  6/6 Τελική Προφορική Εξέταση στο Εργ. ΤΝΜΣ-Α (2ος όροφος πάνω από την ΠΚ3, δεύτερη πόρτα αριστερά)

Παρατηρήσεις:

1) Για την τελική προφορική εξέταση, εξετάζεστε σε ομάδες ως 5 ατόμων όσοι παρακολουθήσατε ανελιπώς.

6 Ιουνίου, 14:00-17:00

ΤΗ20095 Μπαλά Θεώνη

ΤΗ20056 Γαντζούδης Μάριος

ΤΗ20089 Αθανασιάδης Χαράλαμπος

ΤΗ20330 Κωστούλας Δημήτριος

ΤΗ20459 Τσάκωνας Παναγιώτης

6 Ιουνίου, 17:00-19:00

ΤΗ20362 Σαλονικιού Κωνσταντίνος

ΤΗ20432 Τζιάλλας Σπυρίδων

ΤΗ20451 Ιμπραλιού Σκερντιαν

ΤΗ20477 Τσίμπος Βασίλειος

6 Ιουνίου, 19:00-20:00

ΤΗ20301 Βομβας Αντώνιος

ΤΗ20303 Πατσιάς Στυλιανός

ΤΗ20422 Σπυριδάκης Νικόλαος

ΤΗ20367 Μαρτινι Σταύρος

ΤΗ20391 Μπασιαδάκης Γεώργιος

Παρατήρηση: Επιπλέον η Κωνσταντινίδου Ελένη (ΤΗ20025) παρακολούθησε και εξετάζεται με Erasmus (projects)

2) Οι Προγραμματιστικές Εργασίες (1 και 2) που θα δοθούν τις ημερομηνίες (28/3 και 28/4)  μετρούν συνολικά ως 50% του βαθμού, μόνο αν η βαθμολογία της τελικής εξέτασης είναι τουλάχιστον 4.

3) Για σύντομες ερωτήσεις/απορίες (π.χ. τεχνικά θέματα) μπορείτε να με συναντήσετε μετά το μάθημα, ή Παρασκευή 18:00-20:00, ή στέλνετε μήνυμα στο skype name: Miltos.Grammatikakis 

-------------------------------------------------------------------------------------------------------------------------------

Β) Φοιτητές του ΗΜΜΥ (όπως και του προγράμματος Μηχ. Πληροφορικής ΤΕ) που έχουν ξαναπαρακολουθήσει το μάθημα παλιότερα ΔΕΝ υποχρεούνται σε φυσική παρουσία. Οι φοιτητές αυτοί είναι υποχρεωμένοι να μελετήσουν τη θεωρία και τις προγραμματιστικές εργασίες. O βαθμός στο μάθημα θα προέλθει εξ’ ολοκλήρου (100%) από τελική προφορική εξέταση που θα γίνει τις προτεινόμενες ημερομηνίες και πρέπει να δηλώσετε έγκαιρα συμμετοχή. Η εξέταση αφορά Θεωρία και Εργαστήριο και απαιτείται συνολικός μέσος όρος 5 για να περάσετε το μάθημα. Για τη δήλωση συμμετοχής δείτε την επόμενη ανακοίνωση.

Καλό Εξάμηνο.

Ο Διδάσκων