1 / 64

«Εισαγωγή στα Λειτουργικά Συστήματα» Επιμέλεια - Παρουσίαση: Αντώνης Σμαρδάς - Βασίλης Πουρσαλίδης

HY302. «Εισαγωγή στα Λειτουργικά Συστήματα» Επιμέλεια - Παρουσίαση: Αντώνης Σμαρδάς - Βασίλης Πουρσαλίδης. Εισαγωγή στα Λ.Σ. . Συγγραφική ομάδα: Α. Γαλδαλάς ( Εκπαιδευτικός ΠΕ19) Α. Μανουσοπούλου ( Μηχανικός Η/Υ) Π. Ματζάκος ( Εκπαιδευτικός ΠΕ19) Γ. Παπακωνσταντίνου ( Καθηγητής ΕΜΠ)

tierney
Télécharger la présentation

«Εισαγωγή στα Λειτουργικά Συστήματα» Επιμέλεια - Παρουσίαση: Αντώνης Σμαρδάς - Βασίλης Πουρσαλίδης

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. HY302 «Εισαγωγή στα Λειτουργικά Συστήματα» Επιμέλεια - Παρουσίαση: Αντώνης Σμαρδάς - Βασίλης Πουρσαλίδης Λειτουργικά Συστήματα

  2. Εισαγωγή στα Λ.Σ. Συγγραφική ομάδα: • Α. Γαλδαλάς (Εκπαιδευτικός ΠΕ19) • Α. Μανουσοπούλου (Μηχανικός Η/Υ) • Π. Ματζάκος (Εκπαιδευτικός ΠΕ19) • Γ. Παπακωνσταντίνου (Καθηγητής ΕΜΠ) • Π. Τσανάκας (Αν. Καθηγητής ΕΜΠ) Λειτουργικά Συστήματα

  3. Εισαγωγή στα Λ.Σ. (Ι) • Μέρος Ι: Ταυτόχρονες διαδικασίες - 10 μαθήματα • Μέρος ΙΙ: Διαχείριση ΚΜΕ - 4 μαθήματα • Μέρος ΙΙΙ: Αδιέξοδα - 2 μαθήματα Λειτουργικά Συστήματα

  4. Εισαγωγή στα Λ.Σ. (ΙΙ) • Μέρος IV: Διαχείριση μνήμης - 3 μαθήματα • Μέρος V: Διαχείριση Συστήματος Αρχείων - 3 μαθήματα • Μέρος VI: Ειδικά Θέματα Λ.Σ. - 2 μαθήματα Λειτουργικά Συστήματα

  5. Εισαγωγή στα Λ.Σ. (ΙΙΙ) • Παράρτημα Α: Το Λ.Σ. UNIX - 5 μαθήματα • Παράρτημα Β: Το Λ.Σ. MS-DOS - 5 μαθήματα • Παράρτημα Γ: Τα Λ.Σ. της οικογένειας Windows - 5 μαθήματα Λειτουργικά Συστήματα

  6. Μέρος Ι Ταυτόχρονες διεργασίες • Τι είναι το Λ.Σ.; • Στόχοι ενός Λ.Σ. • Λ.Σ. ομαδικής επεξεργασίας • Λ.Σ. πολυπρογραμματισμού και τηλεπεξεργασίας • Λ.Σ. καταμερισμού χρόνου • Λ.Σ. 3ης και 4ης γενιάς Λειτουργικά Συστήματα

  7. Τι είναι το Λ.Σ. (Ι); Πελάτης Οδηγίες Λειτουργίας Πελάτης • Το Λειτουργικό Σύστημα (ΛΣ) είναι ένα σύνολο προγραμμάτων που λειτουργεί ως σύνδεσμος ανάμεσα στα προγράμματα του χρήστη και το υλικό και καθορίζει τον τρόπο λειτουργίας του υπολογιστικού συστήματος, ελέγχει και συντονίζει τη χρήση των μονάδων του από τα διάφορα προγράμματα εφαρμογής των χρηστών. Λειτουργικά Συστήματα

  8. Υπολογιστικό σύστημα ΚΜΕ συσκευές προγράμματα χρήστες Λ.Σ. Ζαχαροπλαστείο ζαχαροπλάστης σκεύη παραγγελίες πελάτες οδηγίες που ακολουθεί ο ζαχαροπλάστης για την εξυπηρέτηση των πελατών Τι είναι το Λ.Σ. (II); Λειτουργικά Συστήματα

  9. Στόχοι ενός Λ.Σ. • Η διευκόλυνση του χρήστη. Κάνουν πιο εύκολη τη χρήση του υπολογιστή. Ενασχόληση του χρήστη μόνο σε υψηλό επίπεδο • Η αποδοτική λειτουργία του υπολογιστικού συστήματος με την κατά το δυνατόν καλύτερη χρησιμοποίηση του υλικού, ώστε να πετυχαίνεται σωστή κατανομή του υπολογιστικού φόρτου στο υλικό Λειτουργικά Συστήματα

  10. Λ.Σ. ομαδικής επεξεργασίας • Λ.Σ. 1ης γενιάς. Ομαδοποίηση διεργασιών και εξυπηρέτηση μιας διεργασίας μετά το τέλος της προηγούμενης. (Οι πελάτες που θέλουν το ίδιο γλυκό εξυπηρετούνται διαδοχικά). • Μειονεκτήματα: • Υποαπασχόληση συσκευών • Μεγάλος χρόνος ανακύκλωσης Λειτουργικά Συστήματα

  11. Λ.Σ. πολυπρογραμματισμού - τηλεπεξεργασίας • Λ.Σ. 2ης γενιάς. Περισσότερα του ενός προγράμματος είναι ταυτόχρονα ενεργά (περισσότερα του ενός γλυκά παρασκευάζονται ταυτόχρονα) • Καλύτερη χρήση του υλικού • Χρήση απομακρυσμένων συσκευών • Αυξημένη πολυπλοκότητα Λειτουργικά Συστήματα

  12. Λ.Σ. καταμερισμού χρόνου • Εξυπηρέτηση πολλών χρηστών μέσω τερματικών ταυτόχρονα με καταμερισμό του χρόνου (time-sharing systems). • Όλοι οι χρήστες έχουν την εντύπωση ότι εξυπηρετούνται ταυτόχρονα. Λειτουργικά Συστήματα

  13. Λ.Σ. 3ης και 4ης γενιάς • Συνδυασμός τεχνικών για την ταυτόχρονη υποστήριξη ομαδικής επεξεργασίας και καταμερισμού χρόνου • Πολυεπεξεργαστικά συστήματα. Πραγματική ταυτόχρονη εκτέλεση πολλών προγραμμάτων. (Πολλοί ζαχαροπλάστες που μοιράζονται τα ίδια σκεύη) • Κατανεμημένα Λ.Σ. Λειτουργικά Συστήματα

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

  15. Ελαφρές διεργασίες (νήματα) (Ι) • Χωρισμός των προγραμμάτων χρήστη σε παράλληλα τμήματα (νήματα) • Χρήση κοινής μνήμης • Ταυτόχρονα προγράμματα. Τα προγράμματα που μπορούν να διαιρεθούν σε τμήματα που τρέχουν παράλληλα • Διεργασίες ή νήματα; Λειτουργικά Συστήματα

  16. Ελαφρές διεργασίες (ΙΙ) • Μικρότερη επιβάρυνση του συστήματος. Δεν υπάρχει ανάγκη μηχανισμού επικοινωνίας μεταξύ των νημάτων • Γρηγορότερη η εναλλαγή νημάτων • Αλλά και ανάγκη προστασίας «κρίσιμων» περιοχών μνήμης Λειτουργικά Συστήματα

  17. Απεικόνιση διεργασιών - γράφος προήγησης • Γραφική αναπαράσταση της εκτέλεσης ενός προγράμματος • Εντοπισμός διεργασιών που μπορούν να εκτελεστούν παράλληλα Λειτουργικά Συστήματα

  18. Η παρασκευή ενός γλυκού ... Μαρέγκα Ανακάτεμα υλικών Κόψιμο ξηρών καρπών Μαρέγκα + άλλα υλικά Ζύμη + ξηροί καρποί Γλάσο Ψήσιμο Γλασάρισμα Λειτουργικά Συστήματα

  19. … και ο υπολογισμός μιας παράστασης x3 x4 x5 x1 x2 μ2 μ1 μ3 α • Γράφος υπολογισμού του x1 x2 - (x3 - x4) / x5 Λειτουργικά Συστήματα

  20. Παράλληλη εκτέλεση διαδικασιών δ1 δ3 δ4 δ2 Προετοιμασία_Ζύμης Ζέστανε_Το_Γάλα • Εντολές parbegin, parend (parallel begin, parallel end) • Αντιστοίχιση γράφων προήγησης με πιθανούς τρόπους παράλληλης εκτέλεσης. • Εντολές fork, join Λειτουργικά Συστήματα

  21. Κρίσιμα τμήματα (I) “Κρίσιμο τμήμα μιας διεργασίας είναι το κομμάτι εκείνο που απειλεί την ακεραιότητα των δεδομένων.” • Δίνεται παράδειγμα πρόσβασης στον ίδιο λογαριασμό από δύο διαφορετικά ATM’s. • Μοιραζόμενα δεδομένα • Πρόβλημα ακεραιότητας διαμοιραζόμενων δεδομένων • Απροσδιόριστο το αποτέλεσμα των πράξεων Λειτουργικά Συστήματα

  22. Κρίσιμα τμήματα (II) Πώς προστατεύονται τα μοιραζόμενα δεδομένα; • Απαγόρευση ταυτόχρονης πρόσβασης στα κρίσιμα δεδομένα • Αμοιβαίος αποκλεισμός • Χρήση σημαφόρου • Ανάγκη ύπαρξης δίκαιου τρόπου επιλογής της διεργασίας που θα τρέξει το κρίσιμο τμήμα της • Αποφυγή αδιεξόδου (deadlock) Λειτουργικά Συστήματα

  23. Αμοιβαίος αποκλεισμός για δύο διεργασίες • Μεταβλητή που δείχνει ποιος έχει σειρά να τρέξει • Μπορεί να μπλοκάρει μια άλλη διαδικασία χωρίς η άλλη να τρέχει πραγματικά κρίσιμο κώδικα • Αλγόριθμος Peterson • Χρήση έξτρα πληροφορίας που δηλώνει πως μια διεργασία όντως τρέχει κρίσιμο τμήμα • Επεκτάσιμη λύση σε περισσότερες διεργασίες (αν και πολύπλοκη) • Χρήση σημαφόρου Λειτουργικά Συστήματα

  24. Σηματοφόροι (semaphores) • Μια σημαφόρος αντιστοιχεί σε μια κρίσιμη περιοχή που επιθυμούν να έχουν πρόσβαση πολλές διαδικασίες. • Πληροφορία για το αν η περιοχή είναι κατελλειμένη ή όχι • Χρήση ουράς αναμονής για τις προς εξυπηρέτηση διεργασίες • Μπλοκαρισμένη η διαδικασία όσο περιμένει την απελευθέρωση της σημαφόρου Λειτουργικά Συστήματα

  25. Κλασικά προβλήματα σηματοφόρων Προβλήματα που λύνονται με τη χρήση σημαφόρων • Το πρόβλημα των αναγνωστών και συγγραφέων • Εφαρμογή στις βάσεις δεδομένων • Διαχωρισμός πρόσβασης για ανάγνωση ή γράψιμο • Το πρόβλημα των φιλοσόφων που γευματίζουν • Αντιμετώπιση προβλημάτων αδιεξόδου • Καταστάσεις όπου μια διεργασία παραμένει ανενεργή για πολύ ώρα αναμένοντας την εκτέλεσή της Λειτουργικά Συστήματα

  26. Μέρος ΙΙ Διαχείριση ΚΜΕ • Χρονοδρομολόγηση • Αλγόριθμοι χρονοδρομολόγισης • Διακοπτοί και μη διακοπτοί αλγόριθμοι χρονοδρομολόγησης Λειτουργικά Συστήματα

  27. Χρονοδρομολόγηση • Η χρονοδρομολόγηση σε ένα ΛΣ αποφασίζει ποια διεργασία θα χρησιμοποιεί ανά πάσα στιγμή την ΚΜΕ. (Επιλογή από το ζαχαροπλάστη του γλυκού που παρασκευάζει κάθε φορά) • Δύο επίπεδα απόφασης: • Ποιες διεργασίες θα σταλούν για εκτέλεση στην ΚΜΕ; • Ποια διεργασία από αυτές που έχουν σταλθεί θα χρησιμοποιήσει την ΚΜΕ; • Παράδειγμα με έναν ποδοσφαιρικό αγώνα Λειτουργικά Συστήματα

  28. Αλγόριθμοι χρονοδρομολόγησης • Οι αλγόριθμοι χρονοδρομολόγησης περιγράφουν με σαφήνεια τον τρόπο με τον οποίο επιλέγεται μια διεργασία για εκτέλεση στην ΚΜΕ ή απομάκρυνση από αυτή, πόσο χρόνο θα απασχολεί κάθε διεργασία την ΚΜΕ κλπ. • Στόχοι: • Το υπολογιστικό σύστημα πρέπει να έχει όσο το δυνατόν καλύτερη απόδοση σύμφωνα με κάποια κριτήριααξιολόγησης • Ο ίδιος ο αλγόριθμος πρέπει να λαμβάνει τις αποφάσεις του όσο πιο γρήγορα γίνεται για να προσθέτει την ελάχιστη επιβάρυνση στο σύστημα Λειτουργικά Συστήματα

  29. Κριτήρια αξιολόγησης • Βαθμός χρησιμοποίησης KME • Ρυθμαπόδοση (ολοκληρωμένες εργασίες στη μονάδα χρόνου) • Χρόνος ανακύκλωσης (συνολικός χρόνος για την εκτέλεση) • Χρόνος αναμονής (χρόνος στη λίστα έτοιμων διεργασιών) • Χρόνος απόκρισης (για διαλογικά συστήματα) Λειτουργικά Συστήματα

  30. Τύποι αλγορίθμων (Ι) Μη διακοπτοί • Μια διεργασία που επιλέγεται να πάρει τον έλεγχο της ΚΜΕ, τον διατηρεί έως ότου αυτή ολοκληρωθεί, ή απαιτήσει κάποια άλλη λειτουργία (π.χ. Ε/Ε). • Εξυπηρέτηση με βάση: • Τη σειρά άφιξης • Τη διάρκεια • Με συνδυασμό των δύο προηγουμένων κριτηρίων Λειτουργικά Συστήματα

  31. Τύποι αλγορίθμων (ΙΙ) Διακοπτοί • Αφού μια διεργασία χρησιμοποιήσει την ΚΜΕ εκτελούμενη για κάποιο χρονικό διάστημα (το κβάντο χρόνου), το ΛΣ τη διακόπτει, ανεξάρτητα από το αν έχει ολοκληρωθεί, για να δώσει την ΚΜΕ σε κάποια άλλη. • Εξυπηρέτηση: • Με βάση τη διάρκεια • Με κυκλική επαναφορά Λειτουργικά Συστήματα

  32. Μέρος ΙΙI Αδιέξοδα • Εισαγωγή στα αδιέξοδα • Αντιμετώπιση αδιεξόδων Λειτουργικά Συστήματα

  33. Εισαγωγή Στα Αδιέξοδα (Ι) • Αγαθά του συστήματος • Τι είναι αδιέξοδο; • Πως χειρίζονται τα ΛΣ ένα αδιέξοδο; • Πρόληψη • Αποφυγή • Ανίχνευση • Ανάληψη Λειτουργικά Συστήματα

  34. Εισαγωγή Στα Αδιέξοδα (ΙΙ) • Πρόληψη ενός αδιεξόδου • Κράτηση και αναμονή • Κυκλική αναμονή Λειτουργικά Συστήματα

  35. Αντιμετώπιση Αδιεξόδων (Ι) • Πότε το σύστημα είναι ασφαλές; • Ο αλγόριθμος του τραπεζίτη. Προϋποθέσεις εφαρμογής: • Η μέγιστη ζήτηση αγαθών ανά διεργασία να είναι γνωστή εκ των προτέρων • Οι διεργασίες να είναι ανεξάρτητες μεταξύ τους και να μην έχει σημασία η σειρά εκτέλεσης τους • Η διεργασία να μπορεί να περιμένει μέχρι να της παραχωρηθούν τα αγαθά που έχει ζητήσει Λειτουργικά Συστήματα

  36. Αντιμετώπιση Αδιεξόδων (ΙΙ) • Τα διαγράμματα εκχώρησης για την ανίχνευση αδιεξόδου • Ανάληψη από αδιέξοδο. Επιλογή διακοπής μιας διεργασίας: • Πόσα αγαθά χρησιμοποιεί ήδη • Πόσα αγαθά σκοπεύει ακόμα να ζητήσει • Πόσο χρονικό διάστημα εκτελείται • Πόσες διεργασίες θα «ωφεληθούν» από τον τερματισμό της Λειτουργικά Συστήματα

  37. Μέρος IV Διαχείριση μνήμης • Εισαγωγή • Εικονική μνήμη • Τεχνικές διαχείρισης εικονικής μνήμης Λειτουργικά Συστήματα

  38. Εισαγωγή • Κύρια και δευτερεύουσα μνήμη • Πόσο σημαντική είναι η διαχείριση της κύριας μνήμης; • Ανταλλαγή Λειτουργικά Συστήματα

  39. Εικονική Μνήμη • Χώρος φυσικών διευθύνσεων • Γιατί χρειάζονται οι εικονικές διευθύνσεις; • Διαχείριση εικονικής μνήμης με σελιδοποίηση • Διαχείριση εικονικής μνήμης με κατάτμηση • Συνδυασμός των δύο τεχνικών: κατατμημένη σελιδοποίηση Λειτουργικά Συστήματα

  40. Τεχνικές Διαχείρισης Εικονικής Μνήμης • Μεταφορά σελίδων με αίτηση ή πρόβλεψη • Τεχνικές αντικατάστασης σελίδων • Τεχνικές τοποθέτησης σελίδων Λειτουργικά Συστήματα

  41. Μέρος V Διαχείριση συστήματος αρχείων • Εισαγωγή στην έννοια των αρχείων • Κατάλογοι συστήματος αρχείων • Οργάνωση συστήματος αρχείων σε δίσκους Λειτουργικά Συστήματα

  42. Εισαγωγή Στην Έννοια Των Αρχείων • Χρησιμότητα των αρχείων • Τι είναι το σύστημα αρχείων; • Ονόματα και τύποι αρχείων • Χαρακτηριστικά των αρχείων • Λειτουργίες που εκτελούνται στα αρχεία Λειτουργικά Συστήματα

  43. Κατάλογοι Συστήματος Αρχείων • Οργάνωση των αρχείων σε καταλόγους • Κατάλογοι ενός επιπέδου • Κατάλογοι πολλαπλών επιπέδων • Διαδρομές • Λειτουργίες καταλόγων Λειτουργικά Συστήματα

  44. Οργάνωση Συστήματος Αρχείων Σε Δίσκους • Δίσκοι και μπλοκ • Πώς πρέπει να κατανέμονται τα αρχεία σε ένα δίσκο; • Τρόποι οργάνωσης των αρχείων στο δίσκο • Διαχείριση των ελεύθερων μπλοκ Λειτουργικά Συστήματα

  45. Μέρος VI Ειδικά θέματα ΛΣ • Ασφάλεια υπολογιστικών συστημάτων • Παράλληλα και κατανεμημένα λειτουργικά συστήματα Λειτουργικά Συστήματα

  46. Ασφάλεια Υπολογιστικών Συστημάτων • Πληροφοριακά αγαθά • Τύποι ασφάλειας και κινδύνων • Τρόποι και μηχανισμοί προστασίας • Ασφάλεια στο Διαδίκτυο Λειτουργικά Συστήματα

  47. Παράλληλα Και Κατανεμημένα ΛΣ • Παράλληλα και κατανεμημένα υπολογιστικά συστήματα • Προβλήματα στη μετάβαση από τα συμβατικά στα παράλληλα-κατανεμημένα ΛΣ • ΛΣ τύπου κυρίου/υπηρέτη • ΛΣ πολλαπλών αντιγράφων Λειτουργικά Συστήματα

  48. Παράρτημα Α Το λειτουργικό σύστημα UNIX • Διεργασίες • Διαχείριση διεργασιών • Σύστημα αρχείων • Εντολές για το σύστημα αρχείων • Διαχείριση μνήμης Λειτουργικά Συστήματα

  49. Διεργασίες • Δένδρο διεργασιών • Πληροφορίες για μια διεργασία (περιοχή-u) • Καταστάσεις μιας διεργασίας: • Εκτελούμενη • Έτοιμη για εκτέλεση • Σε κατάσταση ύπνου • Τερματισμένη Λειτουργικά Συστήματα

  50. Διαχείριση Διεργασιών • Δημιουργία και τερματισμός διεργασίας μέσα σε πρόγραμμα • Δημιουργία και τερματισμός διεργασίας από τον φλοιό εντολών • Διεργασίες στο προσκήνιο και το παρασκήνιο • Απαρίθμηση διεργασιών: ps Λειτουργικά Συστήματα

More Related