Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Εισαγωγή Λειτουργικά Συστήματα. Λειτουργικά Συστήματα/ Slide 2 Τι είναι? Υπάρχουν διάφοροι ορισμοί για το τι είναι λειτουργικό σύστημα. - Ένα πρόγραμμα.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Εισαγωγή Λειτουργικά Συστήματα. Λειτουργικά Συστήματα/ Slide 2 Τι είναι? Υπάρχουν διάφοροι ορισμοί για το τι είναι λειτουργικό σύστημα. - Ένα πρόγραμμα."— Μεταγράφημα παρουσίασης:

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

2 Λειτουργικά Συστήματα/ Slide 2 Τι είναι? Υπάρχουν διάφοροι ορισμοί για το τι είναι λειτουργικό σύστημα. - Ένα πρόγραμμα που διαχειρίζεται το υλικό και παρέχει μια πλατφόρμα για την εκτέλεση των προγραμμάτων εφαρμογών.

3 Λειτουργικά Συστήματα/ Slide 3 Υπολογιστικό Σύστημα Γενικά ένα υπολογιστικό σύστημα μπορεί να διαιρεθεί στα ακόλουθα μέρη που το ένα «κάθεται» πάνω στο άλλο: - Υλικό - Λειτουργικό σύστημα - Προγράμματα εφαρμογών - Χρήστες

4 Λειτουργικά Συστήματα/ Slide 4 Υπολογιστικό Σύστημα

5 Λειτουργικά Συστήματα/ Slide 5 Τι είναι? Το λειτουργικό παρέχει τα μέσα για την ορθή χρήση των υπολογιστικών πόρων. Με άλλα λόγια μοιάζει σα μια κυβέρνηση. Από μόνη της δεν επιτελεί κάποια χρήσιμη λειτουργία, αλλά παρέχει το περιβάλλον για να κάνουν χρήσιμες λειτουργίες οι υπόλοιποι.

6 Λειτουργικά Συστήματα/ Slide 6 Βασικοί στόχοι σχεδίασης Τα λειτουργικά συστήματα σχεδιάζονται στους εξής άξονες: - Ευχρηστία (PC-Windows) - Απόδοση (Mainframes/Workstations-Unix)

7 Λειτουργικά Συστήματα/ Slide 7 Άποψη χρήστη Η άποψη του χρήστη ποικίλλει ανάλογα με τη χρησιμοποιούμενη διεπαφή (interface). Για τους χρήστες PC ο υπολογιστής αποτελείται από: μονάδα συστήματος, οθόνη, πληκτρολόγιο και ποντίκι. Σε αυτή την περίπτωση το λειτουργικό σχεδιάζεται με γνώμονα την ευχρηστία. Η αποδοτική χρησιμοποίηση των πόρων είναι δευτερεύουσας σημασίας.

8 Λειτουργικά Συστήματα/ Slide 8 Άποψη χρήστη Άλλοι χρήστες μπορεί να κάθονται σε τερματικό ενός κεντρικού υπολογιστή (mainframe). Οι χρήστες αυτοί διαμοιράζονται τους πόρους ενός συστήματος. Στη σχεδίαση του λειτουργικού, έμφαση δίνεται στην αποδοτική χρήση των πόρων παρά στην ευχρηστία

9 Λειτουργικά Συστήματα/ Slide 9 Άποψη χρήστη Οι χρήστες workstations έχουν στη διάθεσή τους τόσο ατομικούς πόρους όσο και διαμοιραζόμενους (επικοινωνία και εκτέλεση προγραμμάτων σε άλλα workstations) Στόχος ενός λειτουργικού εδώ είναι να προσφέρει ένα συμβιβασμό ανάμεσα στην ατομική χρήση και τη διαμοιραζόμενη χρήση πόρων.

10 Λειτουργικά Συστήματα/ Slide 10 Άποψη χρήστη Τέλος στους υπολογιστές χειρός (PDAs) έμφαση δίνεται στη διάρκεια ζωής της μπαταρίας

11 Λειτουργικά Συστήματα/ Slide 11 Άποψη συστήματος Από την άποψη του συστήματος ένα λειτουργικό μπορούμε να το δούμε σαν: - Εκχωρητή πόρων (Ι/Ο, μνήμη, CPU) - Πρόγραμμα ελέγχου (Αποτροπή αντικανονικής συμπεριφοράς των προγραμμάτων)

12 Λειτουργικά Συστήματα/ Slide 12 Άποψη συστήματος Όλα τα προγράμματα εφαρμογών εκτελούν κάποιες κοινές λειτουργίες πχ., I/O Ο έλεγχος και η πραγμάτωση αυτών των λειτουργιών είναι αντικείμενο του λειτουργικού συτήματος. Το λειτουργικό σύστημα είναι το μοναδικό πρόγραμμα που τρέχει συνέχεια (kernel)

13 Λειτουργικά Συστήματα/ Slide 13 Οργάνωση υπολογιστικού συστήματος Γενικά ένα υπολογιστικό σύστημα αποτελείται από: - Μία ή περισσότερες ΚΜΕ (CPU) - Ένα σύνολο ελεγκτών συσκευών - Μνήμη/κοινός δίαυλος

14 Λειτουργικά Συστήματα/ Slide 14 Οργάνωση υπολογιστικού συστήματος Για να ξεκινήσει ο υπολογιστής καλείται ένα αρχικό πρόγραμμα εκκίνησης (bootstrap). - Αποθηκεύεται στη ROM /firmware - Αρχικοποιεί όλα τα μέρη του συστήματος (κατχωρητές CPU, μνήμη, ελεγκτές) - Φορτώνει στη μνήμη τον πυρήνα του λειτουργικού συστήματος - Στη συνέχεια το λειτουργικό σύστημα ξεκινά την πρώτη διεργασία (πχ init σε UNIX) και περιμένει interrupt

15 Λειτουργικά Συστήματα/ Slide 15 Interrupts - Κάθε συμβάν είτε από το υλικό είτε από το λογισμικό, συνήθως σηματοδοτείται από μια διακοπή (interrupt) - Το υλικό μπορεί να προκαλέσει διακοπή στέλνοντας σήμα στην ΚΜΕ μέσω του διαύλου - Το λογισμικό μέσω κλήσης συστήματος (system call) - Όταν η ΚΜΕ δέχεται μια διακοπή σταματά ότι κάνει εκείνη τη στιγμή και μεταφέρει τον έλεγχο σε μια καθορισμένη θέση μνήμης.

16 Λειτουργικά Συστήματα/ Slide 16 Interrupts - Η θέση μνήμης αυτή περιέχει την αρχική διεύθυνση της ρουτίνας εξυπηρέτησης της διακοπής (interrupt handler) - Μετά την εκτέλεση της ρουτίνας η ΚΜΕ συνεχίζει τον υπολογισμό που διακόπηκε - Για να μπορέσει να γίνει η επαναφορά, όταν συμβαίνει διακοπή η τρέχουσα κατάσταση εκτέλεσης (program counter, τιμές καταχωρητών κλπ.) αποθηκεύεται στη στοίβα του συστήματος (system stack)

17 Λειτουργικά Συστήματα/ Slide 17 Interrupts

18 Λειτουργικά Συστήματα/ Slide 18 Εύρεση Interrupt Handler Δύο εναλλακτικά σενάρια - Όλες οι διακοπές καλούν την ίδια ρουτίνα που αναλαμβάνει να εντοπίσει τον κατάλληλο handler - Interrupt vector. Χρησιμοποιείται πίνακας με δείκτες προς ρουτίνες εξυπηρέτησης. Σε κάθε θέση του πίνακα αντιστοιχεί συγκεκριμένος αριθμός συσκευής που δίνεται μαζί με το interrupt. Έτσι μπορεί έμμεσα να καλείται ο κατάλληλος handler. - Interrupt vectors χρησιμοποιούν τόσο τα Windows όσο και τα UNIX συστήματα.

19 Λειτουργικά Συστήματα/ Slide 19 Αποθηκευτικός χώρος Ξεχωρίζουμε τα μέσα αποθήκευσης σύμφωνα με: - Ταχύτητα - Κόστος - Μονιμότητα (volatility)

20 Λειτουργικά Συστήματα/ Slide 20 Αποθηκευτικός χώρος

21 Λειτουργικά Συστήματα/ Slide 21 Κύκλος εντολής - Προσκόμιση εντολής (instruction fetch) από τη μνήμη και αποθήκευση στον instruction register - Αποκωδικοποίηση εντολής - Πιθανή προσκόμιση επιπλέον τελεστών από τη μνήμη και αποθήκευσή τους σε εσωτερικούς καταχωρητές - Εκτέλεση εντολής πάνω στους τελεστές - Πιθανή αποθήκευση αποτελέσματος στη μνήμη

22 Λειτουργικά Συστήματα/ Slide 22 Δομή Ι/Ο Μεγάλο κομμάτι ενός ΛΣ αφιερώνεται στη χρήση συσκευών Ι/O. - Κάθε ελεγκτής συσκευής είναι υπεύθυνος για ένα συγκεκριμένο τύπο συσκευής. - Μπορεί περισσότερες από μία συσκευές να είναι συνδεδεμένες με τον ίδιο ελεγκτή πχ. SCSI 7+ - Κάθε ελεγκτής έχει καταχωρητές ειδικού σκοπού και τοπικό χώρο προσωρινής αποθήκευσης (buffer) - Είναι υπεύθυνος για τη μεταφορά δεδομένων μεταξύ των περιφερειακών συσκευών και του buffer.

23 Λειτουργικά Συστήματα/ Slide 23 Δομή Ι/Ο - Τα ΛΣ έχουν οδηγό συσκευής (device driver) για κάθε ελεγκτή. Ρόλος του οδηγού είναι να παρέχει μια ομοιόμορφη διεπαφή προς το λειτουργικό σύστημα του συγκεκριμένου ελεγκτή.

24 Λειτουργικά Συστήματα/ Slide 24 Λειτουργία Ι/Ο Για να γίνει Ι/Ο: - Ο οδηγός φορτώνει συγκεκριμένους καταχωρητές του ελεγκτή - Ο ελεγκτής διαβάζει τους καταχωρητές για να καθορίσει τι πρέπει να κάνει - Ο ελεγκτής ξεκινά τη μεταφορά των δεδομένων από τη συσκευή στον buffer - Όταν τελειώσει η μεταφορά στέλνεται interrupt στον οδηγό. - Ο οδηγός επιστρέφει τον έλεγχο στο λειτουργικό σύστημα πιθανώς επιστρέφοντας δείκτη στα δεδομένα (αν η λειτουργία ήταν ανάγνωση) καθώς και πληροφορίες κατάστασης

25 Λειτουργικά Συστήματα/ Slide 25 DMA H προηγούμενη μορφή I/O που βασίζεται σε interrupts δεν είναι αποδοτική για πολλά δεδομένα. DMA (Direct Memory Access): - Ο ελεγκτής μεταφέρει ένα ολόκληρο τμήμα (block) δεδομένων απευθείας από τον buffer στη μνήμη (και αντίστροφα) χωρίς την παρέμβαση της CPU. - Interrupt στέλνεται στον οδηγό για να σηματοδοτήσει το πέρας της λειτουργίας - Όσο γίνεται η ανάγνωση/γραφή η CPU μπορεί να εκτελεί άλλες εντολές (non-blocking)

26 Λειτουργικά Συστήματα/ Slide 26 Αρχιτεκτονική Υπολογιστικών Συστημάτων - Μονοεπεξεργαστικά συστήματα - Πολυεπεξεργαστικά - Δέσμης (Clusters)

27 Λειτουργικά Συστήματα/ Slide 27 Μονοεπεξεργαστικά - Υπάρχει ένας επεξεργαστής γενικού σκοπού - Υπάρχουν πολλοί επεξεργαστές ειδικού σκοπού πχ. ελεγκτές συσκευών. - Ρόλος τους είναι να απεμπλέκουν τηn KME από λειτουργίες που έχουν να κάνουν με τις συσκευές, πχ. ο ελεγκτής του πληκτρολογίου μετατρέπει τα πατήματα κουμπιών σε κωδικούς που στέλνονται στην KME, ο ελεγκτής του σκληρού δίσκου λαμβάνει αιτήσεις από την ΚΜΕ και χρονοπρογραμματίζει την εκτέλεσή τους. - Οι ειδικού σκοπού λειτουργούν «αυτόνομα» και το ΛΣ συνήθως δεν παρεμβαίνει στη λειτουργία τους.

28 Λειτουργικά Συστήματα/ Slide 28 Πολυεπεξεργαστικά Γνωστά και ως παράλληλα συστήματα. - Δύο και περισσότεροι επεξεργαστές γενικού σκοπού μοιράζονται το δίαυλο και μερικές φορές τη μνήμη, το ρολόι και τα περιφερειακά. Πλεονεκτήματα - Αυξημένος ρυθμός περαίωσης - Οικονομία κλιμάκωσης - Αυξημένη αξιοπιστία

29 Λειτουργικά Συστήματα/ Slide 29 Αξιοπιστία Ζωτικής σημασίας σε ορισμένες εφαρμογές (πχ. έλεγχος πτήσης) Ελεγχόμενη Υποβάθμιση (graceful degradation) - Η ικανότητα του συστήματος να παρέχει υπηρεσία ανάλογα με το ποσοστό του υλικού που παραμένει ενεργό. Fault tolerance - Η ικανότητα του συστήματος να εξακολουθεί να λειτουργεί παρά τα όποια σφάλματα στο επίπεδο που λειτουργούσε πριν συμβούν.

30 Λειτουργικά Συστήματα/ Slide 30 Fault tolerance Για να επιτευχθεί fault tolerance συνήθως χρησιμοποιείται redundant (πλεονάζον) υλικό και λογισμικό Για παράδειγμα στο NonStop της HP υπάρχουν ζευγάρια επεξεργαστών. Ένα ζευγάρι εκτελεί την ίδια εντολή και οι επεξεργαστές συγκρίνουν τα αποτελέσματα. Αν διαφέρουν κάποιος από τους δύο επεξεργαστές έχει υποστεί βλάβη οπότε η εκτέλεση μεταφέρεται στο επόμενο ζευγάρι.

31 Λειτουργικά Συστήματα/ Slide 31 Διαχωρισμός Πολυεπεξεργαστικών Συστημάτων Ασύμμετρη Πολυεπεξεργασία (master-slave) - Σε κάθε επεξεργαστή ανατίθεται συγκεκριμένο έργο - Ένας επεξεργαστής συντονιστής αναλαμβάνει τον έλεγχο του συστήματος, το χρονοπρογραμματισμό, και την ανάθεση εργασιών στους επεξεργαστές Συμμετρική Πολυεπεξεργασία - Όλοι οι επεξεργαστές είναι ομότιμοι - Η διαδικασία Ι/Ο είναι πιο πολύπλοκη, όπως επίσης και η εξισορρόπηση φόρτου - Όλα τα σύγχρονα λειτουργικά συστήματα υποστηρίζουν συμμετρική πολυεπεξεργασία

32 Λειτουργικά Συστήματα/ Slide 32 Πολυπύρηνοι επεξεργαστές ΚΜΕ με πολλούς υπολογιστικούς πυρήνες Πέρα από ζητήματα αρχιτεκτονικής (πχ. πρόσβαση στην κρυφή μνήμη) από την άποψη του λειτουργικού φαίνονται σαν συστήματα πολλαπλών επεξεργαστών

33 Λειτουργικά Συστήματα/ Slide 33 Συστήματα Δέσμης (Clusters) Πολλαπλές ΚΜΕ συνδεμένες πάνω από LAN, που έχουν κοινό αποθηκευτικό χώρο. Κύριος στόχος: απόδοση και υψηλή διαθεσιμότητα Δύο οργανώσεις: - Ασύμμετρη. Μία ΚΜΕ βρίσκεται σε hot-standby mode και ελέγχει για τυχόν σφάλματα στις ενεργές. Σε περίπτωση σφάλματος αντικαθιστά την ΚΜΕ που αστόχησε - Συμμετρική. Όλοι εκτελούν και παρακολουθούν.

34 Λειτουργικά Συστήματα/ Slide 34 Συστήματα Δέσμης (Clusters) Άλλες μορφές δεσμών είναι οι δέσμες πάνω από WAN πχ. δίκτυα αποθηκευτικού χώρου και οι παράλληλες δέσμες. Στις παράλληλες δέσμες επιτρέπεται ταυτόχρονη πρόσβαση στο ίδιο κομμάτι μνήμης από πολλές ΚΜΕ. Τα ΛΣ δεν υποστηρίζουν κάτι τέτοιο για αυτό το λόγο γράφεται ειδικό λογισμικό. Για παράδειγμα ο παράλληλος Oracle server κάθε μηχανή τρέχει Oracle και ένα στρώμα λογισμικού ελέγχει την πρόσβαση στο δίσκο. Για να διασφαλιστεί ότι δε θα υπάρξουν αντικρουόμενες πράξεις το σύστημα παρέχει κατανεμημένο διαχειριστή κλειδώματος (DLM distributed lock manager)

35 Λειτουργικά Συστήματα/ Slide 35 Διεργασίες & ΛΣ - Ένα πρόγραμμα που είναι φορτωμένο στη μνήμη και εκτελείται καλείται διεργασία (process) - Πρόγραμμα: παθητική οντότητα (αρχείο στο δίσκο) Μια διεργασία χρειάζεται συγκεκριμένους πόρους πχ., χρόνο στην ΚΜΕ, μνήμη, αρχεία, συσκευές I/O. Οι πόροι είτε δίνονται κατά τη δημιουργία ή κατά την εκτέλεση της διεργασίας.

36 Λειτουργικά Συστήματα/ Slide 36 Διεργασίες & ΛΣ - Μονονηματικές (ένας μετρητής προγράμματος PC) - Πολυνηματικές (πολλοί PCs ένας για κάθε νήμα (thread)) Τα ΛΣ υλοποιούν: - Multiprogramming - Multitasking (διαμοίραση χρόνου)

37 Λειτουργικά Συστήματα/ Slide 37 Multiprogramming - H KME εκτελεί μια διεργασία - Όταν η διεργασία εκτελέσει I/O για να μη μείνει ανενεργή η ΚΜΕ μεταβαίνει στην επόμενη διεργασία

38 Λειτουργικά Συστήματα/ Slide 38 Multitasking - Απαραίτητο σε συστήματα αλληλεπιδραστικά και με πολλούς χρήστες. Σημαντικό κριτήριο: χρόνος απόκρισης - Ο χρόνος στην ΚΜΕ διαμοιράζεται μεταξύ των εργασιών

39 Λειτουργικά Συστήματα/ Slide 39 Στάδια εκτέλεσης process - Process pool. Αποθηκευτικός χώρος όπου υπάρχουν όλες οι διεργασίες προς εκτέλεση (συνήθως όχι στη δευτερεύουσα μνήμη) - Job scheduling και μεταφορά κάποιων εργασιών στην κύρια μνήμη - CPU scheduling για διαμοίραση του χρόνου της ΚΜΕ μεταξύ των διεργασιών.

40 Λειτουργικά Συστήματα/ Slide 40 Swapping & Virtual Memory - Η εναλλαγή μιας διεργασίας από τη μνήμη στο σκληρό δίσκο και αντίστροφα καλείται swapping. - Εναλλακτικά υπάρχει virtual memory. - Ενιαία εικόνα για τη μνήμη. - Επιτρέπει την εκτέλεση προγραμμάτων που είναι μεγαλύτερα της κύριας μνήμης

41 Λειτουργικά Συστήματα/ Slide 41 Διεργασίες και ΛΣ Το ΛΣ είναι υπεύθυνο για: - Δημιουργία και διαγραφή διεργασιών (χρήστη/συστήματος) - Αδρανοποίηση και επανενεργοποίηση διεργασιών - Συγχρονισμό διεργασιών - Επικοινωνία διεργασιών (κοινή μνήμη, message passing) - Χειρισμό αδιεξόδων (deadlocks)

42 Λειτουργικά Συστήματα/ Slide 42 Τρόπος Λειτουργίας ΛΣ Αν δεν υπάρχουν διεργασίες προς εκτέλεση ή συσκευές Ι/Ο προς εξυπηρέτηση το ΛΣ περιμένει να συμβεί κάτι (event). Ένα event σηματοδοτείται πάντα από την εμφάνιση μιας διακοπής ή μιας εξαίρεσης. Εξαίρεση (trap/exception): μία διακοπή που παράγεται από το λογισμικό και η οποία προκαλείται ή από σφάλμα ή από συγκεκριμένο αίτημα για παροχή υπηρεσίας από το ΛΣ.

43 Λειτουργικά Συστήματα/ Slide 43 Τρόπος Λειτουργίας ΛΣ Οι εξαιρέσεις που συμβαίνουν από μια διεργασία δε θα πρέπει να επηρεάζουν τις υπόλοιπες, πχ., ένα πρόγραμμα που κολάει σε ατέρμονο loop, ή τροποποιεί άλλα προγράμματα ή και το ίδιο το λειτουργικό. Διπλός τρόπος εκτέλεσης κώδικα - Τρόπος λειτουργίας χρήστη (user mode) - Τρόπος λειτουργίας πυρήνα (kernel mode), ή επόπτη (supervisor mode) ή συστήματος (system mode) ή προνομιακός (privileged mode)

44 Λειτουργικά Συστήματα/ Slide 44 Διπλός τρόπος εκτέλεσης - Χρειάζεται την υποστήριξη του υλικού. - bit τρόπου λειτουργίας - Οι εντολές μηχανής που μπορεί να προκαλέσουν βλάβη καθορίζεται να τρέχουν μόνο σε kernel mode - Εάν γίνει προσπάθεια εκτέλεσης μιας τέτοιας εντολής σε user mode το υλικό δημιουργεί εξαίρεση στο λειτουργικό σύστημα. Σε αυτή την περίπτωση το ΛΣ πρέπει να τερματίσει τη διεργασία. Συνήθως ακολουθεί memory dump της μνήμης στο δίσκο για αποσφαλμάτωση. - Παραδείγματα εντολών: έλεγχος I/O, διαχείριση χρονομετρητή, διαχείριση διακοπών, αλλαγή τρόπου λειτουργίας.

45 Λειτουργικά Συστήματα/ Slide 45 Διπλός τρόπος εκτέλεσης Κύκλος εκτέλεσης - Οι εφαρμογές χρήστη τρέχουν σε user mode - Όταν συμβεί διακοπή το υλικό μεταβαίνει σε kernel mode και ο έλεγχος μεταβαίνει στο λειτουργικό - Πριν ξαναπεράσει ο έλεγχος στην εφαρμογή χρήστη το λειτουργικό θέτει την κατάσταση σε user mode

46 Λειτουργικά Συστήματα/ Slide 46 Διπλός τρόπος εκτέλεσης Οι κλήσεις συστήματος (system calls) επιτρέπουν σε μια εφαρμογή χρήστη να ζητήσει μια συγκεκριμένη εργασία από το ΛΣ. Αντιμετωπίζεται από το υλικό σα μια διακοπή. Μέσω του διανύσματος διακοπών, ο έλεγχος περνάει στον κατάλληλο handler και το bit λειτουργίας τίθεται σε kernel mode. Οι handlers είναι μέρος του ΛΣ. Το πέρασμα παραμέτρων γίνεται με: καταχωρητές, στοίβα ή πίνακας στη μνήμη

47 Λειτουργικά Συστήματα/ Slide 47 Διπλός τρόπος εκτέλεσης Οι πιο παλιοί επεξεργαστές (πχ. 8088) δεν υποστήριζαν dual mode. Συστήματα που έτρεχαν MSDOS σε αυτούς μπορούσαν εύκολα να υποστούν επίθεση. Νεότεροι επεξεργαστές πχ. Pentium καθώς και όλα τα σύγχρονα λειτουργικά υποστηρίζουν dual mode.

48 Λειτουργικά Συστήματα/ Slide 48 Χρονομετρητής - Το ΛΣ πρέπει να διατηρεί τον έλεγχο της ΚΜΕ. - Για αυτό το λόγο χρησιμοποιείται ένας timer. - Όταν μηδενιστεί ο timer προκαλείται διακοπή και ο έλεγχος επιστρέφει στο ΛΣ. - Οι εντολές χειρισμού του timer τρέχουν σε kernel mode.

49 Λειτουργικά Συστήματα/ Slide 49 Προγράμματα & μνήμη - Για να εκτελεστεί ένα πρόγραμμα πρέπει να αντιστοιχηθεί σε απόλυτες διευθύνσεις και να φορτωθεί στη μνήμη. - Από τη στιγμή που εκτελείται προσπελαύνει εντολές προγράμματος και δεδομένα από τη μνήμη παράγοντας απόλυτες διευθύνσεις. - Τελικά το πρόγραμμα τερματίζει και ο χώρος στη μνήμη γίνεται διαθέσιμος.

50 Λειτουργικά Συστήματα/ Slide 50 ΛΣ & μνήμη Το ΛΣ είναι υπεύθυνο για: - Να παρακολουθεί ποια τμήματα μνήμης χρησιμοποιούνται και από ποιον - Αποφασίζει ποιες διεργασίες και ποια δεδομένα να μεταφέρει από και προς τη μνήμη - Εκχωρεί και αποδεσμεύει χώρο στη μνήμη

51 Λειτουργικά Συστήματα/ Slide 51 ΛΣ & αποθηκευτικός χώρος Το ΛΣ παρέχει μία ομοιόμορφη λογική όψη του αποθηκευτικού χώρου, αποκρύπτοντας τις φυσικές ιδιότητες των συσκευών και ορίζοντας μια λογική μονάδα αποθήκευσης, το αρχείο. Χαρακτηριστικά μέσων αποθήκευσης: - Ταχύτητα προσπέλασης - Ρυθμός μεταφοράς δεδομένων - Χωρητικότητα - Μέθοδος πρόσβασης (σειριακή/τυχαία)

52 Λειτουργικά Συστήματα/ Slide 52 ΛΣ & αποθηκευτικός χώρος Τα αρχεία αντιπροσωπεύουν προγράμματα (source ή object code) και δεδομένα. Τα αρχεία δεδομένα μπορεί να είναι: αλφαριθμητικά ή δυαδικά. Το ΛΣ είναι υπεύθυνο για: - Δημιουργία και διαγραφή αρχείων - Δημιουργία και διαγραφή καταλόγων - Εντολές για χειρισμό αρχείων και καταλόγων - Απεικόνιση των αρχείων στο δευτερεύοντα αποθηκευτικό χώρο - Δημιουργία αντιγράφων ασφαλείας

53 Λειτουργικά Συστήματα/ Slide 53 ΛΣ & αποθηκευτικός χώρος Δευτερεύοντας αποθηκευτικός χώρος=σκληρός δίσκος Το ΛΣ είναι υπεύθυνο για: - Διαχείριση ελεύθερου χώρου - Εκχώρηση αποθηκευτικού χώρου - Χρονοπρογραμματισμό (scheduling) Tertiary storage (αποθηκευτικός χώρος τρίτου βαθμού): οπτικοί δίσκοι, ταινίες

54 Λειτουργικά Συστήματα/ Slide 54 ΛΣ & κρυφή μνήμη Αρχή - Οι πληροφορίες σώζονται σε κάποιον αποθηκευτικό χώρο (πχ. κύρια μνήμη) - Καθώς χρησιμοποιούνται αντιγράφονται σε ένα ταχύτερο κομμάτι μνήμης (κρυφή μνήμη/cache) - Όταν χρειαστούμε ένα κομμάτι πληροφορίας ελέγχεται πρώτα η ύπαρξή του στην κρυφή μνήμη. Αν υπάρχει φέρνεται από εκεί, αλλιώς ανακαλείται από το κύριο μέσο αποθήκευσης και στην κρυφή μνήμη κρατιέται ένα αντίγραφό του.

55 Λειτουργικά Συστήματα/ Slide 55 ΛΣ & κρυφή μνήμη Κρυφή μνήμη υπάρχει σε πολλά σημεία ενός συστήματος. - Επίπεδο software (πχ. web browser) - Επίπεδο hardware (instruction cache) H μεταφορά δεδομένων μεταξύ των επιπέδων μιας ιεραρχίας αποθηκευτικού χώρου, μπορεί να εμπλέκει ή όχι το ΛΣ. Πχ. cache=>καταχωρητές της ΚΜΕ (όχι ΛΣ) Σκληρός δίσκος μνήμη (ΛΣ)

56 Λειτουργικά Συστήματα/ Slide 56 ΛΣ & κρυφή μνήμη Καίριας σημασίας είναι η διαχείριση της κρυφής μνήμης (cache management). Δύο κύρια προβλήματα: - Αντικατάσταση δεδομένων/σελίδων (Cache replacement) - Συνέπεια (cache coherency/consistency)

57 Λειτουργικά Συστήματα/ Slide 57 Προστασία και Ασφάλεια Προστασία: κάθε μηχανισμός για τον έλεγχο πρόσβασης των διεργασιών ή των χρηστών στους πόρους του συστήματος. Δουλειά της ασφάλειας είναι να προστατέψει το σύστημα από εσωτερικές και εξωτερικές επιθέσεις πχ. ιούς, σκουλήκια (worms), επιθέσεις άρνησης υπηρεσίας (DOS), κλοπές ταυτότητας κλπ.

58 Λειτουργικά Συστήματα/ Slide 58 Προστασία και Ασφάλεια Τα ΛΣ διατηρούν μια λίστα χρηστών (usernames) με τους αντίστοιχους αναγνωριστές χρηστών (user IDs). Στην ορολογία των ΝΤ security IDs (SIDs). Τα user IDs σχετίζονται με όλες τις διεργασίες και τα νήματα του χρήστη. Σε κάποιες περιπτώσεις χρειάζεται να γίνεται αναγνώριση στο επίπεδο της ομάδας χρηστών. Το UNIX πχ., υλοποιεί μια λίστα ομάδων (group identifiers). To group ID σχετίζεται κι αυτό με όλες τις διεργασίες και νήματα ενός χρήστη.

59 Λειτουργικά Συστήματα/ Slide 59 Προστασία και Ασφάλεια Τα user και group IDs στο UNIX αναθέτονται μέσω του αρχείου /etc/passwd Παράδειγμα # cat passwd root:##root:0:0:Big Brother:/root: daemon:*:1:1:The Deuce:/etc: bin:##root:2:0:Binaries:/usr/home/bin: uucp:*:5:5:UNIX to UNIX copy:/usr/spool/uucp:/usr/bin/uucico news:*:6:6:Usenet news:/usr/spool/news: ast:*:8:3:Andrew S. Tanenbaum:/usr/ast: asw:##root:9:0:Al Woodhull:/usr/home/asw: ftp:*:15:15:Anonymous FTP:/usr/ftp: www:*:333:15:World Wide Web:/usr/www: nobody:*:9999:99::/tmp: luke:##luke:10:0:luke:/usr/luke: #

60 Λειτουργικά Συστήματα/ Slide 60 Κατανεμημένα Συστήματα Ένα ΚΣ είναι μια συλλογή ανεξάρτητων και πιθανώς ετερογενών υπολογιστικών συστημάτων που σχηματίζουν ένα δίκτυο με σκοπό τη διαμοίραση κοινών πόρων στους χρήστες. Κάποια ΛΣ απαιτούν από τους χρήστες να καλούν ρητά λειτουργίες του δικτύου, ενώ άλλα κρύβουν τέτοιες λεπτομέρειες (FTP vs. NFS)

61 Λειτουργικά Συστήματα/ Slide 61 Δίκτυα Πρωτόκολλα πχ.: - TCP/IP - ATM - BlueTooth & Τα περισσότερα ΛΣ υποστηρίζουν το TCP/IP.

62 Λειτουργικά Συστήματα/ Slide 62 Δίκτυα Εύρος περιοχής: - WAN - MAN - LAN - SAN Κατανεμημένα ΛΣ πχ. Amoeba, παρέχουν την αίσθηση στους χρήστες του ενός υπολογιστή με ένα ΛΣ.

63 Λειτουργικά Συστήματα/ Slide 63 Embedded systems - Πιο κοινά συστήματα (ηλεκτρικές συσκευές, ρομπότ κλπ.) - Δεν έχουν όλα ΛΣ. - ΛΣ πραγματικού χρόνος (real time OS) - Ένα σύστημα πραγματικού χρόνου έχει σωστά ορισμένους σταθερούς περιορισμούς χρόνου. - Κάθε επεξεργασία πρέπει να γίνεται μέσα στους χρονικούς περιορισμούς αλλιώς αποτυγχάνει.

64 Λειτουργικά Συστήματα/ Slide 64 Άλλα Συστήματα Συστήματα πολυμέσων - Ανάγκη για παράδοση δεδομένων με συγκεκριμένο ρυθμό. - Εφαρμογές broadcast/multicast Συστήματα χειρός - Περιορισμένοι πόροι (μνήμη, ΚΜΕ, μπαταρία) => αποδοτική χρησιμοποίηση - Περιορισμοί Ι/Ο πχ. μικρή οθόνη => τμηματικό web browsing (web clipping)

65 Λειτουργικά Συστήματα/ Slide 65 Υπολογιστικά Περιβάλλοντα - Παραδοσιακός Υπολογισμός όχι απομακρυσμένη πρόσβαση, περιορισμένη μεταφερσιμότητα, σήμερα: portals, ασύρματα δίκτυα - Υπολογισμός Πελάτη-Εξυπηρετητή (client-server) Compute-servers (πχ. DB server) File servers (πχ. Web server)

66 Λειτουργικά Συστήματα/ Slide 66 Υπολογιστικά Περιβάλλοντα - Yπολογισμός Ομότιμων Σταθμών (P2P) Σύνδεση (bootstrapping) Εύρεση (querying) Παραδείγματα: Napster, Gnutella, Kazaa, Torrent - Υπολογισμός Παγκόσμιου Ιστού Η δικτύωση συσκευών έχει προχωρήσει τόσο λόγω βελτίωσης της δικτυακής τεχνολογίας όσο και λόγω βελτίστοποίησης του δικτυακού κώδικα Server Farms, Load balancers, Proxies

67 Λειτουργικά Συστήματα/ Slide 67 Υπολογιστικά Περιβάλλοντα - Υπολογισμός Πλέγματος (Grid Computing) Κατανεμημένο σύστημα απαρτιζόμενο από πολλά clusters. Επιστημονικές εφαρμογές πχ. πειράματα φυσικής


Κατέβασμα ppt "Εισαγωγή Λειτουργικά Συστήματα. Λειτουργικά Συστήματα/ Slide 2 Τι είναι? Υπάρχουν διάφοροι ορισμοί για το τι είναι λειτουργικό σύστημα. - Ένα πρόγραμμα."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google