Bασικές Έννοιες Λειτουργικών Συστημάτων

Το μάθημα «Βασικές Έννοιες Λειτουργικών Συστημάτων» έχει ενταχθεί στο πρώτο επίπεδο μαθημάτων.

 

Στόχοι μαθήματος

Η κατανόηση των βασικών εννοιών των Λειτουργικών Συστημάτων, της έννοιας της διαδικασίας, του συγχρονισμού των διαδικασιών και της διαχείρισης μνήμης. Θα δοθεί έμφαση σε απλά ζητήματα σχεδιασμού ώστε οι εκπαιδευόμενοι αφενός να αντιληφθούν τα βασικά και σημαντικότερα προβλήματα  των  Λειτουργικών Συστημάτων και επιπλέον να είναι ικανοί να χρησιμοποιήσουν τη γνώση αυτή για την κατανόηση των πιο σύνθετων προβλημάτων.

 

Διδακτικές ενότητες

Ενότητα 1: Βασικές έννοιες

  • Η έννοια του λειτουργικού συστήματος (ΛΣ), ιστορία και είδη λειτουργικών συστημάτων, ιδιότητες - χαρακτηριστικά του κάθε είδους, επεξήγηση των βασικών εννοιών των λειτουργικών συστημάτων (ΛΣ).

Ενότητα 2: Διαδικασίες  

  • Η έννοια της διαδικασίας, καταστάσεις διαδικασίας, μεταβολές της κατάστασης διαδικασίας, λειτουργίες διαδικασιών, διακοπές (interrupts) ΛΣ και χειρισμός διακοπών.

Ενότητα 3: Συγχρονισμός διαδικασιών – Εισαγωγή στο πρόβλημα

  • Ταυτόχρονη και παράλληλη εκτέλεση των διαδικασιών, περιγραφή παράλληλων διαδικασιών, προβλήματα της παράλληλης εκτέλεσης και η ανάγκη συγχρονισμού, ο ορισμός κρίσιμων περιοχών και το πρόβλημα του αμοιβαίου αποκλεισμού, ασκήσεις.

Ενότητα 4: Συγχρονισμός διαδικασιών – Αμοιβαίος αποκλεισμός

  • Αλγοριθμική λύση του αμοιβαίου αποκλεισμού, Διερεύνηση απλών και πιο σύνθετων προσεγγίσεων, ασκήσεις επί του αμοιβαίου αποκλεισμού.

Ενότητα 5: Συγχρονισμός διαδικασιών - Σημαφόροι

  • Οι σημαφόροι και η χρήση τους στο συγχρονισμό διαδικασιών, εντολές σημαφόρων, εξήγηση της λειτουργίας των σημαφόρων, ασκήσεις επί της λειτουργίας των σημαφόρων.

Ενότητα 6: Συγχρονισμός διαδικασιών - Σημαφόροι

  • Άλλοι τρόποι συγχρονισμού διαδικασιών (test and set, κρίσιμες περιοχές κ.α.), ιεραρχία των προσεγγίσεων, διερεύνηση γνωστών προβλημάτων (αναγνώστες και γραφείς κ.α.), ασκήσεις..

Ενότητα 7: Διαχείριση μνήμης – εισαγωγή

  • Εισαγωγικές έννοιες, βασικοί τρόποι προστασίας και διαχείρισης της μνήμης, η έννοια της εναλλαγής (swapping), διαχείριση μνήμης με σταθερές διαιρέσεις, πολιτικές διαχείρισης μνήμης με σταθερές διαιρέσεις, ασκήσεις διαχείρισης μνήμης.

Ενότητα 8: Διαχείριση μνήμης – μεταβλητές διαιρέσεις

  • Διαχείριση μνήμης με μεταβλητές διαιρέσεις, πολιτικές διαχείρισης μνήμης με μεταβλητές διαιρέσεις, συμπίεση (compaction) μνήμης, παραδείγματα, ασκήσεις διαχείρισης μνήμης

Ενότητα 9: Διαχείριση μνήμης – σελιδοποίηση (paging)

  • Επεξήγηση των βασικών δομών σελιδοποίησης, απαιτήσεις από το λογισμικό και το υλικό, ο πίνακας σελίδων, παραδείγματα, ασκήσεις.

Ενότητα 10:  Διαχείριση μνήμης – άλλοι τρόποι διαχείρισης

  • Άλλοι τρόποι διαχείρισης μνήμης (τμηματοποίηση, σελιδοποιημένη τμηματοποίηση κ.α.). Διερεύνηση περιπτώσεων των σύγχρονων τρόπων διαχείρισης μνήμης.  

Προαπαιτούμενες γνώσεις

Αλγόριθμοι και σχεδιασμός αλγορίθμων..

  

Επιθυμητές γνώσεις

Γλώσσες προγραμματισμού (π.χ. Pascal ή C), βασικές γνώσεις αρχιτεκτονικής Η/Υ

  

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

  1. 1.  A. S. Tanenbaum, “Σύγχρονα Λειτουργικά Συστήματα”, Α΄ τόμος, Εκδόσεις Παπασωτηρίου.

  2. “Operating System Concepts”, J. L. Peterson, A. Silberschatz, Addison – Wesley PC.

  3. “Λειτουργικά Συστήματα Ι”, Π. Σπυράκης, Ελληνικό Ανοικτό Πανεπιστήμιο.

  4. “Λειτουργικά Συστήματα : από τη θεωρία στην πράξη”, Χ. Μπούρας, Π. Σπυράκης, Β. Ταμπακάς, Πανεπιστημιακές σημειώσεις, Τμήμα Η/Υ και Πληροφορικής, Πανεπιστήμιο Πατρών.