Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

F

No description
by

thanos siatras

on 18 February 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of F

Λογισμικό:
Σύνολο προγραμμάτων που συντονίζουν και εκμεταλλεύονται τις δυνατότητες του Η/Υ.
Διακρίνεται σε:
Λογισμικό εφαρμογών
Λογισμικό συστήματος

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

Λογισμικό συστήματος:
Προγράμματα που ασχολούνται με τον έλεγχο και συντονισμό της λειτοργίας του Η/Υ. Περιλαμβάνει:



Λειτουργικό σύστημα (ΛΣ):
Ειδικά εργαλεία


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



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

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

Λειτουργικά Συστήματα Ομαδικής Επεξεργασίας

Ένας πρώτος τρόπος λειτουργίας του ζαχαροπλαστείου είναι οι πελάτες να αναμένουν σε μια ουρά και να δίνουν με τη σειρά στον ζαχαροπλάστη τις οδηγίες τους για την παρασκευή των γλυκών της προτίμησής τους. Μόνο όταν ολοκληρωθεί η εργασία για ένα πελάτη εξυπηρετείται ο επόμενος. Μια καλύτερη λύση είναι να ομαδοποιούνται πελάτες που θέλουν το ίδιο γλυκό και να εξυπηρετούνται διαδοχικά ώστε να γίνεται καλύτερη χρήση των σκευών.
Αυτός ο τρόπος εξυπηρέτησης αντιστοιχεί στα ΛΣ πρώτης γενιάς της δεκαετίας του '50, τα Λειτουργικά Συστήματα Ομαδικής Επεξεργασίας (batch processing). Στα συστήματα αυτά ο χειριστής του υπολογιστικού συστήματος ομαδοποιούσε τα προγράμματα που υπέβαλλαν οι χρήστες· έτσι το ΛΣ δεχόταν μια ομάδα ομοειδών προγραμμάτων (π.χ. προγραμμάτων COBOL), τα επεξεργαζόταν το ένα μετά το άλλο (με τη σειρά εμφανίσεως) και τύπωνε τα αποτελέσματά τους πάλι με την ίδια σειρά
Λειτουργικά Συστήματα Πολυπρογραμματισμού

Η εξυπηρέτηση των πελατών του ζαχαροπλαστείου θα ήταν πιο γρήγορη αν ο υπάλληλος είχε οδηγίες από τον ιδιοκτήτη του ζαχαροπλαστείου να παρασκευάζει περισσότερα από ένα γλυκά ταυτοχρόνως. Κατά τη διάρκεια π.χ. του ψησίματος ενός γλυκού έχει τη δυνατότητα να προετοιμάζει στον αναμίκτη (μίξερ) ένα άλλο, εκμεταλλευόμενος το χρόνο του. Όταν όμως ολοκληρωθεί το ψήσιμο του πρώτου θα τον ειδοποιεί π.χ. ένα κουδουνάκι να διακόψει την προετοιμασία του δευτέρου και να συνεχίσει την παρασκευή του πρώτου γλυκού με το επόμενο στάδιό της.
Αυτή την ιδέα οργάνωσης ακολουθούν τα ΛΣ δεύτερης γενιάς (δεκαετίας '60), τα Λειτουργικά Συστήματα Πολυπρογραμματισμού (multiprogramming), όπου περισσότερα από ένα προγράμματα είναι «φορτωμένα» στη μνήμη τού υπολογιστή και να εκτελούνται συγχρόνως. Φυσικά μόνο ένα πρόγραμμα μπορεί να απασχολεί ανά πάσα στιγμή κάθε μονάδα.

Λειτουργικά Συστήματα Καταμερισμού Χρόνου

Μια άλλη μέθοδος λειτουργίας του ζαχαροπλαστείου θα ήταν η «ταυτόχρονη» παρασκευή των γλυκών, με καταμερισμό του χρόνου του υπαλλήλου μεταξύ των διαφόρων συνταγών. Κάθε πέντε λεπτά χτυπά ένα ρολόι και ο ζαχαροπλάστης διακόπτει την εργασία του, βάζει στην άκρη το γλυκό που έφτιαχνε και καταπιάνεται με το επόμενο στη σειρά.

Στα συστήματα αυτά ο χρόνος μοιράζεται σε κάθε χρήστη.
Κατανεμημένη επεξεργασία

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

Εκτέλεση προγραμμάτων
Λειτουργίες εισόδου / εξόδου
Διαχείριση του συστήματος αρχείων
Ανίχνευση λαθών
Κατανομή πόρων
Απολογιστικά στοιχεία
Ασφάλεια - προστασία
Δομή ενός Λειτουργικού Συστήματος
Πυρήνας:
το κατώτερο επίπεδο του Λ.Σ που χειρίζεται το υλικό.
Φορτώνεται πρώτος
στη κύρια μνήμη και παραμένει εκεί μέχρι να κλείσει ο Η/Υ. Ένα μέρος του πυρήνα είναι γραμμένο σε γλώσσα μηχανής.
Σύστημα αρχείων:
Ασχολείται με τη διαχείριση των αρχείων του Η/Υ.
Διερμηνευτής εντολών:
Πρόγραμμα με το οπίο επικοινωνεί το
Λ.Σ
με το
χρήστη
. Αναλαμβάνει να ερμηνεύει τις εντολές του χρήστη και να τις στέλνει στα κατώτερα επίπεδα του Λ.Σ.
Διαχείριση κεντρικής μονάδας επεξεργασίας

Ακολουθιακή εκτέλεση

Ας υποθέσουμε ότι ο ζαχαροπλάστης (η ΚΜΕ) έχει να παρασκευάσει τέσσερα γλυκά, και οι οδηγίες τους αναφέρουν ότι απαιτούν: το Α 35' (10' προετοιμασία και 25' ψήσιμο), το Β 40', το Γ 45' (10' προετοιμασία, 25' ψήσιμο και 10' ολοκλήρωση) και το Δ 15' (5' προετοιμασία και 10' ψήσιμο) αντίστοιχα. Αν η εκτέλεση των συνταγών γίνει με τη σειρά παραλαβής τους, χωρίς παράλληλη χρησιμοποίηση του φούρνου, το όλο έργο μπορεί να οργανωθεί στις φάσεις του Διαγράμματος 1.
Πολυπρογραμματισμός

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

Αν όμως ο ζαχαροπλάστης αφιερώνει 5' σε κάθε γλυκό, τότε το πρόγραμμα παρασκευής τους μπορεί να οργανωθεί σαν το Διάγραμμα 3. Ο τρόπος αυτός παρασκευής των γλυκών έχει ως αποτέλεσμα τη γρηγορότερη ολοκλήρωση αυτών που παρασκευάζονται εύκολα, ανεξάρτητα από τη σειρά με την οποία δόθηκαν οι συνταγές.
Διαχείριση Μνήμης

Η κατανομή της κύριας μνήμης μπορεί να είναι
στατική
(static allocation) ή
δυναμική
(dynamic allocation).

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

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

Όταν ένας υπολογιστής εξυπηρετεί ένα μεγάλο αριθμό διεργασιών, τα προγράμματα και τα δεδομένα όλων δε χωρούν στην κύρια μνήμη. Τότε επιστρατεύεται η δευτερεύουσα μνήμη για να βοηθήσει: τα προγράμματα και τα δεδομένα ορισμένων διεργασιών κρατούνται στη δευτερεύουσα μνήμη, και κάθε φορά που είναι η σειρά μιας τέτοιας διεργασίας να εκτελεστεί, τότε μόνο φορτώνονται στην κύρια μνήμη. Για να απελευθερωθεί όμως χώρος στην κύρια μνήμη για αυτά, πρέπει κάποια άλλη διεργασία να μεταφερθεί με τη σειρά της στη δευτερεύουσα μνήμη.
Η διαδικασία αυτή ονομάζεται ανταλλαγή (swapping) και δημιουργεί σοβαρές χρονικές καθυστερήσεις στην εκτέλεση των διεργασιών, εξαιτίας της συνεχούς λειτουργίας της δευτερεύουσας μνήμης.

Εικονική μνήμη

Η κεντρική μνήμη του υπολογιστή αποτελείται από διαδοχικές θέσεις, με μέγεθος η κάθε μια π.χ. 16 ή 32 bits, που ονομάζονται λέξεις (words). Κάθε λέξη της μνήμης έχει τη δική της διεύθυνση, με την οποία αναφέρονται τα προγράμματα σε αυτή. Αν η μνήμη έχει μέγεθος Ν λέξεων, τότε η πρώτη λέξη έχει διεύθυνση 0, η δεύτερη έχει διεύθυνση 1 κ.ο.κ., ενώ η τελευταία λέξη έχει διεύθυνση Ν-1. Το σύνολο αυτών των Ν διευθύνσεων είναι σταθερό και ονομάζεται χώρος φυσικών διευθύνσεων (physical address space) ή χώρος απολύτων διευθύνσεων (absolute address space) ή χώρος πραγματικών διευθύνσεων (real address space).
κάθε πρόγραμμα μεταφράζεται σε γλώσσα μηχανής σαν να έχει όλο το χώρο διευθύνσεων στη διάθεσή του, και αναφέρεται στα δεδομένα του χρησιμοποιώντας εικονικές -δηλαδή όχι πραγματικές- διευθύνσεις· όταν το πρόγραμμα φορτώνεται για εκτέλεση, το ΛΣ επιλέγει θέσεις μνήμης που είναι ελεύθερες και τις αντιστοιχίζει στις εικονικές διευθύνσεις.
Κατά την εκτέλεση του προγράμματος, κάθε αναφορά σε μια εικονική διεύθυνση μεταφράζεται από το ΛΣ στην αντίστοιχη φυσική διεύθυνση, η οποία τελικά προσπελάζεται. Η διαδικασία αυτή της μετάφρασης εικονικής διεύθυνσης σε φυσική συνήθως γίνεται πολύ γρήγορα, γιατί οι ΚΜΕ περιέχουν ειδικά κυκλώματα για αυτή.
Ο χώρος εικονικών διευθύνσεων (virtual address space), που πολλές φορές αναφέρεται και ως εικονική μνήμη (virtual memory), έχει συνήθως μεγαλύτερο μέγεθος από το χώρο φυσικών διευθύνσεων για να έχουν οι διεργασίες περισσότερο «χώρο μνήμης» στη διάθεσή τους. Οι εικονικές διευθύνσεις που δεν έχουν αντίστοιχες στη φυσική μνήμη, συνήθως αντιστοιχίζονται σε κάποια διεύθυνση της δευτερεύουσας μνήμης. Με τον τρόπο αυτό η δευτερεύουσα μνήμη συμβάλλει στην αύξηση της διαθέσιμης κύριας μνήμης του συστήματος.
Full transcript