Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Λειτουργικό Σύστημα (Operating System) 1o μέρος
Advertisements

Λογισμικο συστηματοσ Κεφάλαιο 4ο
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το λογισμικό του υπολογιστή
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Λειτουργικά Συστήματα
Λειτουργικό Σύστημα ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ENOTHTA B.1.3 (1)
Λειτουργικά Συστήματα
Συστήματα εισόδου/εξόδου
Η επιστήμη των υπολογιστών
Λειτουργικά Συστήματα
Λειτουργικά συστήματα
ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ.
Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Ορισμός ΛΣ
Λειτουργικό Σύστημα 2ο μέρος.
Αρχιτεκτονική Υπολογιστών Γλώσσες Μηχανής
Κεφάλαιο 1ο: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
Λογισμικο συστηματοσ Κεφάλαιο 4ο
1. Αρχιτεκτονική Υπολογιστικών Συστημάτων
File Management και I/O στο UNIX
Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ
Λειτουργικά Συστήματα Ι « Παραδοσιακά Λειτουργικά Συστήματα »
2. Εισαγωγή στα Λειτουργικά Συστήματα
Λειτουργικά Συστήματα Ι
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
William Stallings Computer Organization and Architecture 7 th Edition Κεφάλαιο 16 Λειτουργία Μονάδας Ελέγχου.
ΛΟΓΙΣΜΙΚΟ Πρόγραμμα Είναι μία ακολουθία από εντολές, σε λογική σειρά, με σκοπό να κατευθύνουν τον Η.Υ. στην εκτέλεση των επιθυμητών εργασιών. ΛΟΓΙΣΜΙΚΟ.
Τα θέματα μας σήμερα Ηλεκτρονικοί υπολογιστές Υλικό και λογισμικό
ΑΡΧΙΤΕΚΤΟΝΙΚΗ & ΟΡΓΑΝΩΣΗ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 1 Εισαγωγή
Οργάνωση και Αρχιτεκτονική Υπολογιστών Βασικές αρχές Αρχιτεκτονικής
ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΗΜΥ 100 Εισαγωγή στην Τεχνολογία Διάλεξη 9-b ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Δρ. Στυλιανή.
Επικοινωνία μεταξύ Διεργασιών και Σύνδρομες Διεργασίες Interprocess Communication and Concurrent Processes.
ΗΜΥ 313: Τεχνολογία Λειτουργικών Συστημάτων Διδάσκων: Χρίστος Παναγιώτου.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: To λογισμικό του υπολογιστή
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ. ΥΠΟΛΟΓΙΣΤΗΣ Μηχανή που μπορεί να φέρει σε πέρας πνευματικές εργασίες ρουτίνας με μεγάλη ταχύτητα.
Λειτουργικά Συστήματα
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Διεργασίες.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
Κεφάλαιο 3: Λειτουργικά Συστήματα
Γνωριμία με το Λογισμικό του υπολογιστή Μια παρουσίαση για τους μαθητές της Α΄ Τάξης του 49ου Γυμνασίου Αθήνας Διδάσκων: Χ. Μοτσενίγος 49ο Γυμνάσιο Αθήνας.
Το Λογισμικό του Ηλεκτρονικού Υπολογιστή Υπολογιστικό Σύστημα Λογισμικό (Software) Λογισμικό Εφαρμογών Λογισμικό Συστήματος Λειτουργικό Σύστημα Ειδικά.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 1 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή.
1 Λειτουργικά Συστήματα Ενότητα 4 : Αρχιτεκτονικές ΛΣ Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
A’ ΕΠΑ.Λ. Εφαρμογές Πληροφορικής Γεωργιλά Χιονία 1.
Πληροφορική 2 Λειτουργικά Συστήματα 1. Λογισμικό Υπολογιστών 2 Υπολογιστής ΥλικόΛογισμικό Λειτουργικό Σύστημα Προγράμματα Εφαρμογών.
1 Λειτουργικά Συστήματα Ενότητα 2 : Σκοποί ΛΣ Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
1 Λειτουργικά Συστήματα Ενότητα 9 : Ιδεατή Μνήμη 1/2 Δημήτριος Λιαροκάπης Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 1 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια.
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
1. Αρχιτεκτονική Υπολογιστικών Συστημάτων
στην Επιστήμη των Υπολογιστών Κωδικός Διαφανειών: MKT110
Κατηγορίες και Προδιαγραφές Λογισμικού Η/Υ (Software)
Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,
Τεχνολογίες εικονικών μηχανών και χρήσεις αυτών
Λογισμικό Συστήματος και Λογισμικό Εφαρμογών
1 Οργάνωση και Αρχιτεκτονική Υπολογιστών A. Βαφειάδης Πρόγραμμα Αναβάθμισης Προγράμματος Σπουδών Τμήματος Πληροφορικής Α.Τ.Ε.Ι Θεσσαλονίκης Μάθημα Οργάνωση.
ΕΝΟΤΗΤΑ 1 – Υλικό, Λογισμικό και Εφαρμογές
ΤΕΙ Ηρακλείου Τμήμα Εφαρμοσμένης Πληροφορικής και Πολυμέσων
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών. H/Y Υλικό Λογισμικό Συστήματος Εφαρμογών.
ΔΙΕΡΓΑΣΙΕΣ.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
ΣΥΓΧΡΟΝΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Τρίτη Έκδοση ANDREW S
Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ
Μεταγράφημα παρουσίασης:

Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)

Τι εξυπηρετεί ένα λειτουργικό σύστημα (ΛΣ) σε ένα υπολογιστικό σύστημα? Τι κάνει ένα ΛΣ? Ποιός χρειάζεται ένα ΛΣ?

Operating system interface Η θέση ενός ΛΣ? Το στρώμα μεταξύ του hardware και των user programs (application programs) Το ΛΣ είναι ένα software system που αλληλεπιδρά απευθείας με το hardware User programs Operating system interface OS Hardware interface hardware

User program: εντολές και δεδομένα. Hardware: CPU, Καταχωρητές, Δίσκοι, τερματικά Hardware interface: το σύνολο εντολών μηχανής (instruction set), καθώς και πράγματα όπως interrupts οτιδήποτε χρειάζεται να γνωρίζει ένας προγραμματιστής ώστε να αναπτύσει προγράμματα ΛΣ: υλοποιεί το OS interface + διαχείριση πόρων (resource management) ΛΣ interface: το επαυξημένο (enhanced) instruction set (η πλειοψηφία των εντολών του hardware) καθώς και συμπληρωματικές λειτουργίες που υποστηρίζονται από το OS χρησιμοποιώντας ειδικές “system calls”. User program: εντολές και δεδομένα.

Τι κάνει ένα ΛΣ? Επαυξάνει τις δυνατότητες (εντολές) που προσφέρει το hardware. Πως εκτελούνται τα προγράμματα στο hardware του υπολογιστή? Ενα πρόγραμμα στην μνήμη ξεκινάει το σημείο που υποδεικνύει ο program counter (pc), και ολοκληρώνεται με την εντολή halt.

Τι κάνει ένα ΛΣ? Για να εκτελέσει ένα απλό πρόγραμμα το ΛΣ θα πρέπει Να δεχθεί/ερμηνεύσει την εντολή του χρήστη. Να εντοπίσει το κατάλληλο αρχείο και να το φορτώσει στην μνήμη. Να θέσει τιμές σε καταχωρητές ώστε το πρόγραμμα να εκτελεστεί σωστά. Επιτρέπει στους χρήστες την αλληλεπίδραση με το ΛΣ μέσω κελύφους εντολών (Shell) Εντοπίζει το κατάλληλο αρχείο (File system) Εντοπίζει διαθέσιμο χώρο μνήμης για το πρόγραμμα (Memory management) Χειρίζεται αιτήματα I/Ο

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

Σαν διαχειριστής πόρων, το ΛΣ τυπικά χειρίζεται υλικούς πόρους: Επεξεργαστής (process management) Μνήμη (memory management) Ελεγκτές I/O (I/O system) Συσκευές δίσκων (File System, I/O system) Αλλες συσκευές I/O

Η διαχείριση πόρων από το ΛΣ αναφέρεται σε : Μετασχηματισμό ενός φυσικού πόρου σε ένα στιγμιότυπο εικονικού πόρου (π.χ. printer) Πολύπλεξη μεταξύ διαφορετικών στιγμιοτύπων του εικονικού πόρου οταν υπάρχει μόνο ένας φυσικός πόρος. TDM (time division multiplexing) vs SDM (space division multiplexing); για ορισμένους πόρους χρησιμοποιείται TDM (εκτυπωτής); για άλλους SDM (δίσκος) Χρονοδρομολόγηση των πόρων μεταξύ προγραμμάτων

Το κάθε ιδεατό συστατικό έχει συγκεκριμένους κανόνες: Το ΛΣ δημιουργεί ένα ιδεατό υπολογιστή για κάθε πρόγραμμα, με το δικό του: Επεξεργαστή Χώρο Διευθύνσεων Αντικείμενα Δίσκου/File system Το κάθε ιδεατό συστατικό έχει συγκεκριμένους κανόνες: Ιδεατός Επεξεργαστής Ορισμένες εντολές του πραγματικού επεξεργαστή (native), τις οποίες επιτρέπεται να χρησιμοποιήσει μόνο το ΛΣ απροκρύπτονται; νέες “εντολές” είναι διαθέσιμες (system calls) Pvirtual = Pphysical - {OS only Instr} + {OS support Instr} system calls = “software interrupts”

Ιδεατός επεξεργαστής Ιδεατή Κύρια Μνήμη Ιδεατό I/O OS- (Protected) εντολές είναι αυτές που επιτρέπει αδιακρίτως την πρόσβαση στο υλικό (πρόσβαση σε ολόκληρη την μνήμη, σε κάθε I/O συσκευή, κλπ.) Διάκριση των δικαιωμάτων (privileges) των εντολών βάσει καταστάσεων υλικού: system and user. (1 bit στον ειδικό καταχωρητή processor status word). Ιδεατή Κύρια Μνήμη Δημιουργείται η ψευδαίσθηση ότι το κάθε πρόγραμμα έχει την προσωπική του μνήμη που ξεκινάει στην διεύθυνση 0. Ιδεατό I/O Δημιουργεί την ψευδαίσθηση ότι το κάθε πρόγραμμα έχει το δικό του set συσκευών υλικού.

Ιδεατή Δευτερεύουσα Μνήμη Δημιουργεί την ψευδαίσθηση ότι κάθε πρόγραμμα έχει τον προσωπικό χώρο του στο δίσκο καθώς και file system.

Ιδεατός υπολογιστής

Ιδεατός επεξεργαστής Virtual Processor • υλοποιεί περίπου το ίδιο interface με την φυσική CPU • δεν επιτρέπει την πρόσβαση σε “privileged operations” • system calls: – Δημιουργία νέων virtual computers (διεργασιών) – Επικοινωνία μεταξύ διεργασιών – Εκχώρηση μνήμης – Λειτουργίες I/O – Πρόσβαση file system

Πολύπλεξη χώρου στη κύρια μνήμη

Πρόσβαση στις υπηρεσίες του ΛΣ • Μία κλήση συστήματος εκτελείται ως εξής: – Οι παράμετροι της κλήσης τοποθετούνται σε συγκεκριμένες θέσεις (καταχωρητές, μνήμη) – Κλήση ενός “software interrupt” ή “trap” • Μεταγωγή σε κατάσταση πυρήνα (kernel mode) – Ενεργοποιείται το ΛΣ και αναλαμβάνει τον έλεγχο για την διεκπεραίωση της αίτησης. • To software interrupt παραπέμπει στο κατάλληλο χειριστή διακοπών (interrupt handler); Η ρουτίνα χειρισμού διακοπών εξετάζει τις τιμές καταχωρητών/μνήμης και προσδιορίζει την ενέργεια που έχει ζητηθεί. • Οταν ολοκληρωθεί η ενέργεια, η εκτέλεση συνεχίζεται από το σημείο διακοπής. Ο χειριστής επιστρέφει τα αποτελέσματα μέσω μνήμης/καταχωρητών

Συνήθη system calls • UNIX (POSIX) • Windows – pid = fork() – waitpid(pid, &statloc, options) – execve(name, argv, envp) – exit(status) – fd = open(file, how, ...) – read(fd, buffer, bytes) – write(fd, buffer, bytes) – close(fd) – mkdir(name, mode) – rmdir(name) – chdir(dir) – chmod(name, mode) – kill(pid, signal) • Windows – CreateProcess – ExitProcess – CreateFile – ReadFile – WriteFile – CloseHandle – CreateDirectory – RemoveDirectory – SetCurrentDirectory

Ποιός χρειάζεται ένα ΛΣ? Το ΛΣ καθιστά ευκολότερη την χρήση του υπολογιστή. Ολοι οι υπολογιστές γενικής χρήσης χρειάζονται ένα ΛΣ. Ποιός δεν χρειάζεται ΛΣ? Ορισμένες πολύ εξειδικευμένες συσκευές δεν απαιτούν ΛΣ.

Οψεις Λειτουργικού Συστήματος Top-down: σαν υλοποίηση ιδεατών/εκτεταμένων μηχανών που καθιστούν ευκολότερο το προγραμματισμό του υλικού και … Παρέχει διεπαφές στα προγράμματα χρήστη Bottom-up: Σαν διαχειριστής πόρων που συντονίζει και ελέγχει την ανάθεση πόρων