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

Valid XHTML 1.0 Strict

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

Εξάμηνο Χειμερινό 2017
Πότε/Πού Πέμπτη 11.15-13.00 (Αμφ. 1), Πέμπτη 15.00-17.00 (Εργαστήριο Γαληνός)
Βιβλιογραφία
  1. "Λειτουργικά Συστήματα Αρχές Σχεδίασης", William Stallings, 8η Έκδοση, Εκδόσεις Τζιόλα
  2. "ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΕ UNIX", MARC J. ROCHKIND, ΕΚΔΟΣΕΙΣ ΚΛΕΙΔΑΡΙΘΜΟΣ
On-line Βιβλία και άλλοι πόροι
  1. "Advanced Programming in the UNIX® Environment, Second Edition", κώδικας εδώ
  2. Σελίδα στο e-class με τις παρουσιάσεις του μαθήματος και υλικό εδώ
Διδάσκων: Δημήτριος Τσουμάκος (Κώστας Σκιαδόπουλος-Εργαστήριο)
E-mail: dtsouma@ionio.gr
(αναφέρετε απαραιτήτως το μάθημα και το ονοματεπώνυμό σας στο "subject" του e-mail)

Βαθμολόγηση Μαθήματος

Ο βαθμός του μαθήματος προκύπτει από βαθμολόγηση της τελικής γραπτής εξέτασης (70%) και εργαστηριακών ασκήσεων (30%), με ελάχιστη προϋπόθεση τον προβιβάσιμο βαθμό (5/10) στο διαγώνισμα. Όλες οι εργασίες επιδεικνύονται την καθορισμένη ημερομηνία και μόνον τότε. Εργασίες εκτός προθεσμίας δεν βαθμολογούνται στην παρούσα ούτε σε καμιά από τις επόμενες εξεταστικές περιόδους του ακαδημαϊκού έτους. Ο βαθμός των εργαστηρικών ασκήσεων διατηρείται μόνον μέχρι και την εξεταστική περίοδο του Σεπτεμβρίου.
Φοιτητές μεγαλύτερων ετών βαθμολογούνται υποχρεωτικά σε ποσοστό 100% από την τελική γραπτή εξέταση.

Περιεχόμενο Μαθήματος

Βασικές έννοιες, Δομή ενός Λ.Σ. Διεργασίες: Μοντέλο και υλοποίηση διεργασιών, Διαδιεργασιακή επικοινωνία, Χρονοπρογραμματισμός διεργασιών. Συστήματα Διαχείρισης Μνήμης, Εναλλαγή, Κατάτμηση σε σταθερά και μεταβλητά τμήματα, τεχνικές ελέγχου μεταβολών της μνήμης, Ιδεατή Μνήμη, Σελιδοποίηση, Αλγόριθμοι Αντικατάστασης Σελίδων. Συστήματα Αρχείων: Αρχεία και Κατάλογοι. Αδιέξοδα: Ανίχνευση και Επανόρθωση, Αποφυγή, Πρόληψη. Εργαστηριακά, θα ασχοληθούμε με Unix, βασικές εντολές και προγραμματισμό στο περιβάλλον του.

Εργαλεία Υλοποίησης

Οι φοιτητές μπορούν να χρησιμοποιούν είτε πόρους του εργαστηρίου είτε και προσωπικά μηχανήματα. Ωστόσο, η επίδειξη των εργασιών θα γίνεται στα μηχανήματα Linux του εργαστηρίου. Είναι υποχρέωση των φοιτητών να βεβαιωθούν ότι ο κώδικας που υποβάλλουν και επιδεικνύνουν τρέχει στο λογισμικό του εργαστηρίου και έχει γίνει από τους ίδιους.

Διαλέξεις και Ύλη

Ημερομηνία Θέμα Αναγνώσματα
5 Οκτ. Εισαγωγικές Έννοιες
Εργαστήριο: Εισαγωγή στο Unix
Κεφ.1 (1.1-1.6), Κεφ.2 (2.1-2.4)
Εισαγωγή στο Λειτουργικό Σύστημα UNIX
12 Οκτ. Εργαστήριο: Εντολές Unix UNIX Tutorial
19 Οκτ. Διεργασίες Κεφ. 3 (3.1 - 3.4)
Unix Makefile Tutorial
GCC and Make:Compiling, Linking and Building C/C++ Applications
26 Οκτ. Ταυτοχρονισμός, Αμοιβαίος Αποκλεισμός και Συγχρονισμός (1)
Εργαστήριο: Unix Files and I/O
Κεφ.5
(Κεφ. 4 από το "Advanced Programming in the UNIX® Environment")
2 Νοε. Ταυτοχρονισμός, Αμοιβαίος Αποκλεισμός και Συγχρονισμός (2)
Εργαστήριο: Processes - fork(), wait()
Κεφ.5
(Κεφ. 8 από το "Advanced Programming in the UNIX® Environment")
9 Νοε. Αδιέξοδα και Λιμοκτονία
Εργαστήριο: Unix Pipes
Κεφ. 6 (6.1 - 6.7)
(Κεφ. 15.1, 15.2 και 15.8 από το "Advanced Programming in the UNIX® Environment")
16 Νοε. Εργαστήριο: Shared Memory + Semaphores.
23 Νοε. Διαχείριση Μνήμης
Εργαστήριο: Semaphores.
Κεφ. 7
30 Νοε. Χρονοπρογραμματισμός Μονού Επεξεργαστή
Εργαστήριο: Παραδείγματα με Semaphores.
Κεφ. 9 (9.1, 9.2)
6 Δεκ. Ασκήσεις με Σηματοφορείς και Χρονοπρογραμματισμό
11 Ιαν. Επανάληψη