Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος Παύλος Ν. Κεφαλάκης Εφαρμογές πληροφορικής-υπολογιστών
Λογισμικό συστήματος Υπολογιστικό σύστημα Υλικό Λογισμικό Λογισμικό εφαρμογών Λογισμικό συστήματος Λειτουργικό σύστημα Ειδικά εργαλεία Εφαρμογές πληροφορικής-υπολογιστών
Βασικές Ερωτήσεις Ποια είναι η διαφορά μεταξύ ενός Προγράμματος Εφαρμογής και ενός Λειτουργικού Συστήματος; Πρόγραμμα Εφαρμογής: Καλύπτει κάποια συγκεκριμένη ανάγκη – επιλύει ένα πρόβλημα Λειτουργικό συστήματος: Διευθύνει / διαχειρίζεται τον υπολογιστή σε χαμηλό/βασικό επίπεδο Παρέχει τα εργαλεία και το περιβάλλον ανάπτυξης και εκτέλεσης λογισμικών εφαρμογών συχνά αλληλεπιδρά απευθείας με το υλικό
Η.Υ. , Λειτουργικό Σύστημα, Εφαρμογές και Χρήστης ÐÑÏÃ Εφαρμογές Λειτουργικό Εφαρμογές Η.Υ. Υλικό Χρήστης Σύστημα Χρήστης
Λειτουργικό Σύστημα Το ΛΣ παίζει το ρόλο του «κυβερνήτη» του υπολογιστή Λαμβάνει τα αιτήματα των χρηστών Τα αναλύει σε επιμέρους λειτουργίες Σχεδιάζει με ποιο τρόπο θα κάνει τη βέλτιστη χρήση του υλικού για την ικανοποίηση αυτών των αιτημάτων Παρακολουθεί την εκτέλεση των απαραίτητων λειτουργιών Συνθέτει τις απαντήσεις και τις προωθεί στον χρήστη Στόχοι Εξασφάλιση της μέγιστης δυνατής ευκολίας στο χρήστη Εξασφάλιση της μέγιστης δυνατής αξιοποίησης των πόρων του συστήματος Εφαρμογές πληροφορικής-υπολογιστών
Λειτουργικό Σύστημα Το λειτουργικό σύστημα επικοινωνεί/αλληλεπιδρά με διάφορα μέρη του υπολογιστικού συστήματος Το λειτουργικό σύστημα διαχειρίζεται τους πόρους του συστήματος. Επιτρέπει στις εφαρμογές να έχουν πρόσβαση στους πόρους του συστήματος, είτε απευθείας είτε διαμέσου άλλων λογισμικών συστήματος. Προσφέρει μια άμεση διεπαφή/επικοινωνία του χρήστη με το υπολογιστικό σύστημα. π.χ. βιβλιοθήκη γραφικών, οδηγοί συσκευών
Εργασίες Λ.Σ. Εργασίες ΛΣ Εκτέλεση προγραμμάτων Λειτουργίες εισόδου – εξόδου Διαχείριση του συστήματος αρχείων Ανίχνευση λαθών Κατανομή πόρων Απολογιστικά στοιχεία Προστασία - Ασφάλεια Εφαρμογές πληροφορικής-υπολογιστών
Λειτουργικό Σύστημα – Εκτέλεση Προγραμμάτων Πολλαπλά προγράμματα που εκτελούνται ταυτόχρονα μοιράζονται τη χρήση της κυρίας μνήμης. Παίρνουν τη σειρά τους χρησιμοποιώντας τη ΚΜΕ. Συναγωνίζονται για μια ευκαιρία να χρησιμοποιήσουν συσκευές εισόδου / εξόδου Το λειτουργικό σύστημα παίζει το ρόλο του ελεγκτή για να σιγουρευτεί ότι όλα τα μέρη συνεργάζονται και έχουν την ευκαιρία να «δράσουν»
Διαχείριση Πόρων
Διαχείριση Πόρων (συν.)
Με βάση τον αριθμό των χρηστών Κατηγορίες Λ.Σ. Με βάση τον αριθμό των χρηστών Ενός χρήστη (single user) – μόνο ένας χρήστης μπορεί να χρησιμοποιεί τον υπολογιστή σε μια δεδομένη χρονική στιγμή (π.χ. PalmOS (for PDAs), Symbian (for mobile devices), DOS) Πολλών χρηστών (multi-user) – ταυτόχρονη χρήση του υπολογιστή από πολλούς χρήστες (π.χ. Unix, Linux, Windows, MacOS) Με βάση τον αριθμό των εργασιών Μίας εργασίας (single tasking) π.χ. PalmOS, DOS Πολλών εργασιών (multi-tasking) π.χ. Windows, Unix, Linux, MacOS Personal Digital Assistants
Κατηγορίες Λ.Σ. (συν.) Πολλών-Εργασιών Λ.Σ.
Σταθμοί στην εξέλιξη των ΛΣ ΛΣ ομαδικής επεξεργασίας Λειτουργικό Σύστημα Σταθμοί στην εξέλιξη των ΛΣ ΛΣ ομαδικής επεξεργασίας ΛΣ πολυπρογραμματισμού ΛΣ καταμερισμού χρόνου ΛΣ κατανεμημένης επεξεργασίας Εφαρμογές πληροφορικής-υπολογιστών
Ομαδική Επεξεργασία Τις δεκαετίες 1960 και 1970 ένας υπολογιστής ήταν ένα ογκώδες μηχάνημα που είχε ένα και μόνο χειριστή (operator) Ο χειριστής θα έπαιρνε τις διάφορες εργασίες από τους χρήστες και θα τις οργάνωνε σε δεσμίδες (batches) Μια δεσμίδα περιέχει ένα σύνολο εργασιών που χρειάζονται τους ίδιους πόρους. Μια εργασία (job) αποτελείται από το πρόγραμμα και ένα σύνολο εντολών σχετικά με το λογισμικό συστήματος και πόρους που χρειάζονται για την εκτέλεση του προγράμματος. Οι δεσμίδες αυτές θα δίνονταν μετά στον υπολογιστή για επεξεργασία. Η οργάνωση σε δεσμίδες γινόταν για να μη χρειάζεται ο χειριστής να αλλάζει την κατάσταση της μηχανής πριν κάθε εκτέλεση
Επεξεργασία κατά δεσμίδες (συν.)
Επεξεργασία κατά δεσμίδες (συν.) Ο όρος batch – δεσμίδα σημαίνει πλέον ένα σύστημα στο οποίο προγράμματα και πόροι συστήματος συντονίζονται και εκτελούνται χωρίς αλληλεπίδραση μεταξύ του χρήστη και του προγράμματος. Μοντέρνα Λ.Σ. ενσωματώνουν επεξεργασία του τύπου δεσμίδας με το να επιτρέπουν στο χρήστη να ορίζει ένα σετ από εντολές Λ.Σ. ως ένα αρχείο δεσμίδας (batch file) για να ελέγχει/διαχειρίζεται την επεξεργασία ενός μεγάλου προγράμματος. Αρχεία με προέκταση .bat στα Windows περιέχουν εντολές συστήματος Π.χ.: επεξεργασία πληρωμής μηνιαίας μισθοδοσίας ενός οργανισμού είναι μια μεγάλη εργασία που χρησιμοποιεί συγκεκριμένους πόρους με ουσιαστικά καμία αλληλεπίδραση με το χρήστη.
Εξέλιξη Λειτουργικών Συστημάτων Συστήματα Πολυπρογραμματισμού (multiprogramming) Εισάγει την ιδέα της διατήρησης πολλών εργασιών στη μνήμη και αντιστοιχεί έναν πόρο σε μια εργασία μόνο εάν ο συγκεκριμένος πόρος είναι διαθέσιμος Οι εργασίες επιζητούν πρόσβαση (ανταγωνιζόμενες μεταξύ τους) στην ΚΜΕ ώστε να εκτελεστούν με τον κύκλο μηχανής (execute) Για παράδειγμα, όταν ένα πρόγραμμα χρησιμοποιεί μια μονάδα εισόδου, τότε η ΚΜΕ είναι ελεύθερη να χρησιμοποιηθεί από άλλο πρόγραμμα
Εξέλιξη Λειτουργικών Συστημάτων Εξέλιξη Λειτουργικών Συστημάτων Συστήματα Χρονικού Καταμερισμού (time sharing) Οι πόροι μπορούν να μοιράζονται μεταξύ διαφόρων εργασιών. Ο χρονικός καταμερισμός (time sharing) επιτρέπει την ταυτόχρονη χρήση του υπολογιστή από πολλαπλούς χρήστες. Ο χρόνος ΚΜΕ διαμοιράζεται στους ενεργούς χρήστες Διεργασία (process): Ένα πρόγραμμα που βρίσκεται στη μνήμη και περιμένει για πόρους (πρόσβαση στη ΚΜΕ)
Καταμερισμός χρόνου - Πολυπρογραμματισμός CPU RAM DISC Διεργασίες (Processes) Δ1, Δ2, Δ3, Δ4 Δ5, Δ6, Δ7, Δ8 User 1 User 2 Καταμερισμός Χρόνου: μεταξύ του χρήστη 1 και χρήστη 2 Πολυπρογραμματισμός: μεταξύ διεργασιών Δ1, Δ2, …, Δ8
Γνωστά Λειτουργικά Συστήματα UNIX Αναπτύχθηκε σε γλώσσα C (υψηλού επιπέδου) Αξιόπιστο και αποδοτικό Διατίθεται σε πηγαίο κώδικα και δεν ανήκει σε μια μόνο εταιρία Δύο επίπεδα Πυρήνας (επικοινωνεί με το υλικό του υπολογιστή) Κέλυφος (παρεμβάλλεται μεταξύ του χρήστη και του πυρήνα και ασχολείται με την αμφίδρομη επικοινωνία χρήστη - υπολογιστή) DOS Τρία επίπεδα Επεξεργαστής εντολών Πυρήνας BIOS WINDOWS διάφορες εκδόσεις Διαθέτει γραφικό περιβάλλον διεπαφής με το χρήστη OS/2, MVS (IBM) MAC (Apple) Εφαρμογές πληροφορικής-υπολογιστών