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

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

1 Η επιστήμη των υπολογιστών Κεφάλαιο 3ο Λειτουργικά Συστήματα.

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


Παρουσίαση με θέμα: "1 Η επιστήμη των υπολογιστών Κεφάλαιο 3ο Λειτουργικά Συστήματα."— Μεταγράφημα παρουσίασης:

1 1 Η επιστήμη των υπολογιστών Κεφάλαιο 3ο Λειτουργικά Συστήματα

2 2 Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων) που διευκολύνει την εκτέλεση άλλων προγραμμάτων. Έχει το ρόλο γενικού επιβλέποντος, συντονίζοντας τη δραστηριότητα κάθε στοιχείου στο υπολογιστικό σύστημα. Ως γενικός επιβλέπων, ελέγχει αν οι πόροι του υλικού και του λογισμικού χρησιμοποιούνται αποδοτικά, και μεσολαβεί για να δώσει λύση στην περίπτωση που υπάρχει μια διένεξη στη χρήση ενός πόρου Μαζί με το Βοηθητικό Λογισμικό (π.χ. λειτουργία διαμόρφωσης δίσκων ή αντιγραφή αρχείων) αποτελούν το Λογισμικό Συστήματος. Πόρος = Περιφερειακές συσκευές του υπολογιστή και λειτουργίες στο εσωτερικό του υπολογιστή

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

4 4 Δημοφιλή Λειτουργικά Συστήματα Windows Unix Linux DOS

5 5 Συστήματα ομαδικής επεξεργασίας  Εργασία (job): Η εκτέλεση ενός προγράμματος Οι εργασίες αναμένουν για εκτέλεση σε μια ουρά εργασιών και εξυπηρετούνται (σχεδόν πάντα) με την τεχνική FIFO Ο χρήστης δεν έχει δυνατότητα αλληλεπίδρασης με το πρόγραμμα από τη στιγμή που αυτό θα μεταβιβαστεί στην ουρά εργασιών

6 6 Αλληλεπιδραστική επεξεργασία Τα προγράμματα που βρίσκονται υπό εκτέλεση επιτρέπουν ένα διάλογο με τον χρήστη Συντονισμός των ενεργειών του υπολογιστή με τις ενέργειες του χρήστη (πχ επεξεργαστής κειμένου) Επεξεργασία πραγματικού χρόνου Για την εξυπηρέτηση ενός πολυχρηστικού περιβάλλοντος χρειάζεται η διαδικασία του χρονομερισμού

7 7 Χρονομερισμός (time sharing) Μέσω της διαδικασίας του Χρονομερισμού είναι δυνατή η εναλλαγή της εκτέλεσης των διαφόρων εργασιών Ο χρόνος διαιρείται σε διαστήματα (χρονομερίδια) και η εκτέλεση μιας εργασίας περιορίζεται σε ένα μόνο χρονομερίδιο τη φορά. Στα μονοχρηστικά συστήματα ο χρονομερισμός ονομάζεται πολυδιεργασία γιατί δίνει την ψευδαίσθηση της ταυτόχρονης εκτέλεσης πολλών εργασιών Τι γίνεται με την πραγματική πολυδιεργασία?????

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

9 9 Υπολογιστικό Σύστημα Λογισμικό Υπολογιστικό σύστημα Υλικό ΕφαρμογέςΛογισμικό συστήματος Βοηθητικό Λογισμικό Λειτουργικό Σύστημα ΦλοιόςΠυρήνας

10 10 Λογισμικό Συστήματος Παρέχει την υποδομή που απαιτεί το λογισμικό εφαρμογών (προγράμματα που εκτελούν εργασίες) Υποκατηγορίες: •Λειτουργικό σύστημα •Βοηθητικό λογισμικό •διαμόρφωση δίσκων, συμπίεση / αποσυμπίεση δεδομένων

11 11 Λειτουργικό σύστημα Περιέχει: •Φλοιό ή κέλυφος (shell) •Τμήμα του λειτουργικού συστήματος μέσω του οποίου διεξάγεται η επικοινωνία του χρήστη ή των χρηστών με τη μηχανή •Πυρήνα (kernel) •Εκτελεί τις πολύ βασικές λειτουργίες που απαιτούνται από το υπολογιστικό σύστημα •διαχειριστής αρχείων •οδηγός συσκευών •διαχειριστής μνήμης (Εικονική μνήμη)

12 12 Το άθροισμα των μεγεθών όλων των προγραμμάτων στη μνήμη αποτελεί την εικονική μνήμη.

13 13 Εκκίνηση

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

15 15 Ένα πρόγραμμα μπορεί να συσχετιστεί με περισσότερες από μια διεργασίες ταυτόχρονα. πχ. 2 χρήστες σε ένα πολυχρηστικό σύστημα εκτελούν ταυτόχρονα επεξεργασία κειμένου σε διαφορετικά έγγραφα Στις διεργασίες περιλαμβάνονται εκτέλεση προγραμμάτων εφαρμογών και βοηθητικών προγραμμάτων καθώς και τμημάτων του ίδιου του λειτουργικού συστήματος Πρόγραμμα - Διεργασία

16 16 Διαχείριση διεργασιών Η εκτέλεση των διεργασιών γίνεται μέσω: •του χρονοπρογραμματιστή (scheduler) και •του διεκπεραιωτή (dispatcher)

17 17 Χρονοπρογραμματιστής (scheduler) Ο Xρονοπρογραμματιστής διατηρεί έναν κατάλογο των διεργασιών που είναι παρούσες στο υπολογιστικό σύστημα, εισάγει νέες διεργασίες και διαγράφει αυτές που ολοκληρώνονται. Ο κατάλογος αυτός ονομάζεται πίνακας διεργασιών και διατηρείται στην κύρια μνήμη.

18 18 Καταστάσεις διεργασίας Έτοιμη: η διεργασία είναι σε κατάσταση που μπορεί να εκτελεστεί Σε αναμονή: η πρόοδός της καθυστερείται μέχρι να λάβει χώρα κάποιο εξωτερικό συμβάν (πχ προσπέλαση σε δίσκο)

19 19 Διεκπεραιωτής (Dispatcher) Εξασφαλίζει ότι οι προγραμματισμένες διεργασίες εκτελούνται Φροντίζει για την εναλλαγή των διεργασιών που εκτελούνται. Χρησιμοποιεί: •Διακοπές (Interrupts) •Χειριστή Διακοπών (Interrupt handler) Πραγματοποιείται με τη διαίρεση του χρόνου σε χρονομερίδια (δεν ξεπερνούν τα 50 χιλιοστά του δευτερολέπτου

20 20 Στο τέλος κάθε χρονομεριδίου το κύκλωμα χρονομέτρησης που ελέγχει ο διεκπεραιωτής στέλνει ένα σήμα διακοπής (Interrupt) στην ΚΜΕ, η οποία αποθηκεύει την τρέχουσα διεργασία και ξεκινά ένα πρόγραμμα που ονομάζεται Χειριστής Διακοπών. Με τον τρόπο αυτό μεταφέρεται ο έλεγχος στον διεκπεραιωτή, οποίος ελέγχει τον πίνακα διεργασιών για να βρει την διεργασία με τη μεγαλύτερη προτεραιότητα (από αυτές που είναι έτοιμες) Διεκπεραιωτής (Dispatcher)

21 21 Χειρισμός ανταγωνισμού μεταξύ διεργασιών Πως θα γίνει η σωστή κατανομή των πόρων του υπολογιστή στις διεργασίες του συστήματος ????? Χρειάζονται αλγόριθμοι οι οποίοι θα καλύπτουν κάθε πιθανό πρόβλημα...

22 22 Σηματοφορείς Χρησιμοποιείται για την εκτέλεση ακολουθίας εντολών η οποία μπορεί να εκτελεστεί από μια μόνο διεργασία τη φορά (Κρίσιμη περιοχή, critical region) H προϋπόθεση της εκτέλεσης μιας κρίσιμης περιοχής από μια μόνο διεργασία ονομάζεται αμοιβαίος αποκλεισμός (mutual exclusion) O αμοιβαίος αποκλεισμός σε μια κρίσιμη περιοχή είναι η παρακολούθηση μιας κρίσιμης περιοχής μέσω ενός σηματοφορέα. Για να μπει μια διεργασία σε μια κρίσιμη περιοχή πρέπει να βρει το σηματοφορεά ανενεργό και να τον ενεργοποιήσει. Μετά την έξοδό της από την κρίσιμη περιοχή τον απενεργοποιεί

23 23 Σηματοφορείς Έστω ότι μια διεργασία θέλει να εκτυπώσει τα αποτελέσματά της σε έναν εκτυπωτή. Κάνει αίτηση στο λειτουργικό σύστημα το οποίο ελέγχει αν ο εκτυπωτής χρησιμοποιείται από άλλη διεργασία. Αυτό μπορεί να γίνει με τη χρήση μιας σημαίας (ένα μπιτ μνήμης) με καταστάσεις 0=ανενεργός και 1=ενεργός Τι κάνουμε στην περίπτωση που η διεργασία που θέλει να εκτυπώσει σε έναν ανενεργό εκτυπωτή διακόπτεται από μια άλλη που ξεκινά το χρονομερίδιό της και θέλει και αυτή τον εκτυπωτή??

24 24 Σηματοφορείς 1 η προσέγγιση Η ρουτίνα ελέγχου σημαίας ολοκληρώνεται με μια εντολή απενεργοποίησης διακοπών. Με τον τρόπο αυτό καμιά άλλη δραστηριότητα δεν μπορεί να διακόψει μια δραστηριότητα που έχει ενεργοποιήσει μια σημαία 2 η προσέγγιση Η χρήση μιας εντολής ελέγχου και ενεργοποίησης (test and set). Η εντολή αυτή είναι διαθέσιμη σε πολλές γλώσσες μηχανής και επιτρέπει την ενεργοποίηση μιας σημαίας σε μια και μοναδική εντολή από την ΚΜΕ, πριν αυτή προλάβει να αναγνωρίσει μια άλλη διακοπή

25 25 Αδιέξοδος (Deadlock) Η εκτέλεση δυο ή περισσοτέρων διεργασιών εμποδίζεται επειδή η κάθε μια περιμένει πόρους που έχουν εκχωρηθεί σε άλλη

26 26 Αδιέξοδος (Deadlock) Κατάσταση Αδιεξόδου δεν μπορεί να συμβεί αν δεν ικανοποιούνται και οι τρεις ακόλουθες συνθήκες: •Υπάρχει ανταγωνισμός για πόρους που δεν μπορούν να είναι κοινόχρηστοί •Η ζήτηση πόρων να γίνεται τμηματικά, δηλαδή ενώ μια διεργασία έχει λάβει κάποιους πόρους επιστρέφει αργότερα για να ζητήσει περισσότερους •Εφόσον έχει παραχωρηθεί πόρος δεν μπορεί να ανακτηθεί βίαια

27 27 Παράρτημα: Ασφάλεια Εξωτερική (απειλή: πρόσβαση στον υπολογιστή από μη εξουσιοδοτημένο χρήστη)  Σύνδεση στο σύστημα (login) Εσωτερική (απειλή: μια διεργασία σε χρονομεριστικό σύστημα που προσπαθεί να προσπελάσει κελιά της κύριας μνήμης μη αντιστοιχισμένα σε αυτή)  Προνομιούχες εντολές, επίπεδα προνομίων


Κατέβασμα ppt "1 Η επιστήμη των υπολογιστών Κεφάλαιο 3ο Λειτουργικά Συστήματα."

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


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