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

Valid XHTML 1.0 Strict

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

Εξάμηνο Χειμερινό 2015
Πότε/Πού Τετάρτη 15.00-17.00 (Εργαστήριο 1), Πέμπτη 8.30-10.00 (Αιθ. 1)
Βιβλιογραφία
  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 που μου στέλνετε)

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

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

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

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

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

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

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

Ημερομηνία Θέμα Αναγνώσματα
7-8 Οκτ. Εισαγωγικές Έννοιες
Εργαστήριο: Εισαγωγή στο Unix
Κεφ.1 (1.1-1.6), Κεφ.2 (2.1-2.4)
Εισαγωγή στο Λειτουργικό Σύστημα UNIX
UNIX Tutorial
14-15 Οκτ. Διεργασίες
Εργαστήριο: Compiling C Programs στο Unix - Makefiles
Κεφ. 3 (3.1 - 3.4)
Unix Makefile Tutorial
GCC and Make:Compiling, Linking and Building C/C++ Applications
4-5 Νοε. Ταυτοχρονισμός, Αμοιβαίος Αποκλεισμός και Συγχρονισμός (1)
Εργαστήριο: Unix Files and I/O (1)
Κεφ.5
11-12 Νοε. Ταυτοχρονισμός, Αμοιβαίος Αποκλεισμός και Συγχρονισμός (2)
Εργαστήριο: Unix Files and I/O (2)
Κεφ.5
18-19 Νοε. Διαχείριση Μνήμης
Εργαστήριο: Processes - fork(), wait().
Κεφ. 7
2-3 Δεκ. Αδιέξοδα και Λιμοκτονία
Εργαστήριο: Unix Pipes
Κεφ. 6 (6.1 - 6.6)
9-10 Δεκ. Χρονοπρογραμματισμός
Εργαστήριο: Semaphores-synchronization με Unix pipes.
Κεφ. 9 (9.1, 9.2)
13 Ιαν. Επανάληψη