ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Σχετικά έγγραφα
Υπολογιστικά Συστήματα Λογική Σχεδίαση Αρχιτεκτονική Η/Υ Διδάσκοντες: Δρ. Ευγενία Αδαμοπούλου, Δρ. Κώστας Δεμέστιχας

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Πληροφορική 2. Λειτουργικά Συστήματα

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 4. Λογισμικό Συστήματος

ΛΟΓΙΣΜΙΚΟ (software)

Λιβανός Γιώργος Εξάμηνο 2017Β

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Λειτουργικά Συστήματα Η/Υ

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Πληροφορική I. "Λογισμικό (Software)" B. Φερεντίνος

Εισαγωγή στην Πληροφορική

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Κεφάλαιο 4: Λογισμικό Συστήματος

ver Επεξεργαστές κειμένου, λογιστικών φύλλων, παρουσιάσεων Οδηγοί συσκευών (Device Drivers)

Κεφάλαιο 3. Διδακτικοί Στόχοι

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αρχιτεκτονική Υπολογιστών

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Λειτουργικά Συστήματα (Λ/Σ)

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Λειτουργικά Συστήματα Η/Υ

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

Εισαγωγή στην Πληροφορική

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

Λειτουργικά Συστήματα (Λ/Σ)

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Αρχιτεκτονική Υπολογιστών

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης

Λειτουργικά Συστήµατα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Λειτουργικά συστήματα πραγματικού χρόνου

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Λειτουργικά συστήματα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 1 : Λειτουργικά συστήματα. Δρ.

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

Μάθημα 8: Διαχείριση Μνήμης

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

Λιβανός Γιώργος Εξάμηνο 2017Β

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ

Χαράλαμπος Καραγιαννίδης

Information Technology for Business

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Λειτουργικά Συστήματα (1 ο μέρος)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Διδάσκοντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη Λειτουργικά Συστήματα

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

ΚΕΦΑΛΑΙΟ 4 ΛΟΓΙΣΜΙΚΟ ΣΥΣΤΗΜΑΤΟΣ. ΔΗΜΗΤΡΗΣ ΜΑΝΩΛΗΣ ΦΥΣΙΚΟΣ-MSc

Λειτουργικά Συστήματα Η/Υ

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

Εισαγωγή στην Πληροφορική

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

ENOTHTA 5 XPONO POMOΛOΓHΣH

Εισαγωγικά & Βασικές Έννοιες

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

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

Σκελετός Παρουσίασης

Μαλούτα Θεανώ Σελίδα 1

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

Transcript:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr Διαφάνειες: Καθ. Νικόλαος Λορέντζος 1

8. ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ 2

Ορισμός και Είδη Λειτουργικών Συστημάτων 3

Υλικό - Λογισμικό Υλικό (hardware) Ο ηλεκτρονικός εξοπλισμός Λογισμικό (software) Προγράμματα 4

Πόροι Η/Υ Όλα τα Ηλεκτρονικά Μέρη του Η/Υ και το παντός είδους εγκατεστημένο Λογισμικό - Ηλεκτρονικά Μέρη π.χ. ΚΜΕ, Κύρια Μνήμη (ΚΜ), Περιφερειακές μονάδες (δίσκος, εκτυπωτής κλπ.) - Λογισμικό π.χ. Λειτουργικό Σύστημα, Μεταφραστικά Προγράμματα, Διάφορα προγράμματα (Word, Excel, Access, ) 5

Λειτουργικό Σύστημα Tο υλικό ενός υπολογιστικού συστήματος χαρακτηρίζεται από πολυπλοκότητα, ενώ η αρχιτεκτονική των υπολογιστών στο επίπεδο της γλώσσας μηχανής είναι αρκετά δύσχρηστη για προγραμματισμό Το Λειτουργικό Σύστημα (ΛΣ) είναι το πιο σημαντικό συστατικό του λογισμικού ενός υπολογιστή Παρέχει ένα επίπεδο «αφαίρεσης» (abstraction), δηλ. «κρύβει» το υλικό του υπολογιστικού συστήματος και εμφανίζει σαφείς και φιλικές (προς τα προγράμματα εφαρμογών και τους προγραμματιστές) διεπαφές Διαχειρίζεται τους πόρους του υπολογιστή, ιδιαίτερα δε την κοινή χρήση αυτών (π.χ. επεξεργαστή, μνήμη, εκτυπωτή κλπ.) από διάφορα προγράμματα εφαρμογών 6

Λειτουργικό Σύστημα (Operating System) ΛΣ: Πρόγραμμα που αποτελεί τη διεπαφή μεταξύ του ηλεκτρονικού εξοπλισμού και του χρήστη και έχει την ευθύνη για - τη διαχείριση και το συντονισμό των δραστηριοτήτων που λαμβάνουν χώρα και - τον καταμερισμό των πόρων του Η/Υ. Η/Υ ΛΣ 7

Λειτουργικό Σύστημα (Operating System) Παραδείγματα 1. Δυο διαφορετικά πρόγραμμα στέλνουν εκτυπώσεις στον ίδιο εκτυπωτή (πόρος). Το ΛΣ διασφαλίζει ότι οι δυο εκτυπώσεις θα γίνουν χωριστά, η μια μετά την άλλη. 2. Δυο χρήστες ζητούν την εκτέλεση των προγραμμάτων τους (αλλά η ΚΜΕ δεν μπορεί να εκτελεί ταυτόχρονα δυο προγράμματα). Το ΛΣ διασφαλίζει την ομαλή εκτέλεση αμφοτέρων των προγραμμάτων. 8

Ευρέως γνωστά Λειτουργικά Συστήματα Ευρέως γνωστά ΛΣ DOS (Disk Operating System) Windows Unix ΛΣ με υποστήριξη παράλληλης εκτέλεσης διεργασιών και πολλαπλών χρηστών, διαθέσιμο σε πολλές παραλλαγές Φιλοσοφία του Unix: η απλότητα (τόσο στην παρεχόμενη διεπαφή όσο και στην υλοποίηση) είναι η πιο σημαντική ιδιότητα Δεκαετίες 70-80: Επειδή ο πηγαίος κώδικας ήταν διαθέσιμος, πολλοί οργανισμοί έφτιαξαν τις δικές τους, ασύμβατες εκδόσεις του Unix Για να λυθεί το πρόβλημα, η IEEE ανέπτυξε ένα πρότυπο, το POSIX, το οποίο πρέπει να τηρούν τα συστήματα Unix Το Single UNIX Specification είναι ένα μια οικογένεια προτύπων βασισμένων στο POSIX που καθορίζουν τι πρέπει να τηρείται από ένα ΛΣ για να μπορεί αυτό να φέρει την (επισήμως) ονομασία Unix «Επίσημα» (Πιστοποιημένα) Unix ΛΣ: Solaris, OS X, HP-UX, z/os (IBM) κ.ά. «Ανεπίσημα» (Μη-πιστοποιημένα) Unix-like ΛΣ: Linux, FreeBSD» Η πιστοποίηση κοστίζει! Το MINIX αποτελεί ένα δωρεάν, εκπαιδευτικού σκοπού ΛΣ βασισμένο στο Unix Το Linux ξεκίνησε ως μια δωρεάν, πιο πλήρης έκδοση του MINIX 9

Λειτουργικά Συστήματα Υπολογιστικών Συστημάτων Διάκριση ανάλογα με το είδος του υπολογιστικού συστήματος ΛΣ μεγάλων υπολογιστών (mainframes) μεγάλα κέντρα πληροφοριών εταιρειών χιλιάδες δίσκοι ανά σύστημα έντονη χρήση εργασιών Ε/Ε Παραδείγματα: OS/390 (απόγονος του OS/360), παραλλαγές του Unix ΛΣ διακομιστών (servers) εξυπηρετούν πολλαπλούς χρήστες μέσω δικτύου και επιτρέπουν το διαμοιρασμό πόρων παρέχουν υπηρεσίες υπηρεσίες Διαδικτύου Ιστού, διαμοιρασμού αρχείων και άλλες Παραδείγματα: Solaris, FreeBSD, Linux, Windows Server ΛΣ πολυεπεξεργαστών (multiprocessor systems) υπολογιστικά συστήματα με πολλαπλούς επεξεργαστές (distributed, multicomputer ή multiprocessor systems, αναλόγως με την ακριβή αρχιτεκτονική) καλύπτουν ειδικές απαιτήσεις για: communication, connectivity και consistency Παραδείγματα: Χρησιμοποιούνται παραλλαγές των ΛΣ για διακομιστές ή και ΛΣ προσωπικών υπολογιστών 10

Λειτουργικά Συστήματα Υπολογιστικών Συστημάτων ΛΣ προσωπικών υπολογιστών ευρέως διαδεδομένα παροχή καλής υποστήριξης για ένα μόνο χρήστη Παραδείγματα: Windows, Linux, FreeBSD, Mac OS ΛΣ υπολογιστών χειρός (PDAs) και κινητών τηλεφώνων αρχίζουν και μοιάζουν αρκετά προσωπικών υπολογιστών σε δυνατότητες με τα ΛΣ των Παραδείγματα: Symbian, Palm OS, Windows Mobile, ios, Android ios: βασισμένο στο Darwin, ένα open-source, Unix-based ΛΣ Android: το πιο δημοφιλές ΛΣ (από το 2013), είναι open-source και βασίζεται σε πυρήνα Linux και στην εικονική μηχανή Dalvik Ενσωματωμένα ΛΣ (embedded) συσκευές, όπως τηλεοράσεις, DVD recorders, φούρνοι μικροκυμάτων, αυτοκίνητα, MP3 players κ.ά., στις οποίες ο χρήστης δεν μπορεί να κατεβάσει και να εγκαταστήσει λογισμικό π.χ. δεν μπορείτε να κατεβάσετε νέες εφαρμογές στο φούρνο μικροκυμάτων σας! - όλο το λογισμικό του περιέχεται σε ROM βέβαια, σήμερα ορισμένες τηλεοράσεις (Smart TV) διαθέτουν ΛΣ προσωπικών υπολογιστών (π.χ. Linux) ή κινητών τηλεφώνων Παραδείγματα: QNX, VxWorks 11

Λειτουργικά Συστήματα Υπολογιστικών Συστημάτων ΛΣ κόμβων αισθητήρων (sensor nodes) κόμβος αισθητήρα: πρόκειται για μικρό, ενεργειακά αποδοτικό αλλά πραγματικό υπολογιστή, με CPU, RAM, ROM και έναν ή περισσότερους αισθητήρες χώρου χρησιμοποιεί μικρό αλλά πραγματικό ΛΣ, συνήθως οδηγούμενο από συμβάντα (event driven) Παραδείγματα: TinyOS ΛΣ πραγματικού χρόνου (real-time) χρησιμοποιούνται σε βιομηχανικά συστήματα ελέγχου διεργασιών, όπου ο χρόνος είναι η πιο σημαντική παράμετρος (π.χ. μηχανήματα στην αλυσίδα παραγωγής μιας αυτοκινητοβιομηχανίας) αυστηρό ΛΣ πραγματικού χρόνου: οι ενέργειες πρέπει να γίνονται σε απολύτως συγκεκριμένες χρονικές στιγμές ήπιο ΛΣ πραγματικού χρόνου: η μη τήρηση περιστασιακά μιας χρονικής προθεσμίας είναι μεν ανεπιθύμητη αλλά αποδεκτή Παραδείγματα: e-cos ΛΣ έξυπνων καρτών (smart cards) συσκευές μεγέθους πιστωτικής κάρτας που ενσωματώνουν τσιπ CPU τροφοδοτούνται με επαφή με τη συσκευή ανάγνωσης στην οποία τοποθετούνται ή... ανέπαφα (μέσω επαγωγής) Παραδείγματα: Proprietary ΛΣ, συχνά διαθέτοντας εικονικές μηχανές Java (Java Virtual Machines JVM) 12

Βασικές Έννοιες Λειτουργικών Συστημάτων 13

Βασικές Έννοιες Λειτουργικών Συστημάτων Βασικές έννοιες Διεργασίες Χώροι διευθύνσεων Αρχεία Κλήσεις συστήματος (έννοια που ήδη εξετάσαμε) Γενική δομή ΛΣ: 14

Διεργασίες Διεργασία (process) είναι ένα πρόγραμμα σε εκτέλεση αντίθετα με το πρόγραμμα, η διεργασία είναι δηλ. μια ενεργή (και όχι παθητική) οντότητα, με ένα μετρητή προγράμματος και ένα σύνολο συσχετισμένων πόρων Τμήματα διεργασίας τμήμα κειμένου (text section), που είναι ο κώδικας του προγράμματος τρέχουσα δραστηριότητα διεργασίας τιμή του μετρητή προγράμματος (PC) περιεχόμενα καταχωρητών στοίβα διεργασίας, που περιέχει προσωρινά δεδομένα π.χ. παράμετροι συναρτήσεων, διευθύνσεις επιστροφής (μετά από κλήση συνάρτησης), τοπικές μεταβλητές τμήμα δεδομένων, που περιέχει καθολικές μεταβλητές σωρός (heap), που είναι μνήμη η οποία δεσμεύεται δυναμικά κατά τη διάρκεια του χρόνου εκτέλεσης 15

Διεργασίες Χώρος διευθύνσεων Μια διεργασία στη μνήμη: Χώρος διευθύνσεων (address space) είναι μια λίστα από θέσεις της μνήμης, που μεταβάλλονται από ένα ελάχιστο όριο (συνήθως το 0) έως κάποιο μέγιστο, σχηματίζοντας μια περιοχή μέσα στην οποία η διεργασία μπορεί να διαβάσει και να γράψει 16

Διεργασίες Καταστάσεις διεργασίας Διάγραμμα καταστάσεων διεργασίας 17

Διεργασίες Πίνακας ελέγχου διεργασίας Πίνακας ελέγχου διεργασίας (Process Control Block PCB) Διάγραμμα εναλλαγής της ΚΜΕ από διεργασία σε διεργασία 18

Αρχεία Τα αρχεία είναι λογικές μονάδες αποθήκευσης πληροφοριών οι οποίες δημιουργούνται και διαχειρίζονται από το ΛΣ Το ΛΣ κρύβει τις φυσικές ιδιότητες των συσκευών αποθήκευσης, προσφέροντας ένα απλοποιημένο λογικό μοντέλο για την αποθήκευση πληροφοριών στους δίσκους Τυπική ονομασία αρχείων: όνομα και επέκταση αρχείου (π.χ.: prog.c) Δύο βασικοί τύποι αρχείων: κανονικά αρχεία και κατάλογοι Λειτουργίες αρχείων Κάθε ΛΣ προσφέρει συνήθως κλήσεις συστήματος για τα εξής: Δημιουργία, Διαγραφή, Άνοιγμα, Κλείσιμο, Ανάγνωση, Εγγραφή, Αναζήτηση, Λήψη ιδιοτήτων, Καθορισμός ιδιοτήτων αρχείου Στα δημοφιλή ΛΣ, Windows και Unix, το ΛΣ θεωρεί τα αρχεία ως ακολουθίες bytes και τίποτε παραπάνω, επιτυγχάνοντας μέγιστη ευελιξία Ιδιότητες (attributes) ή μεταδεδομένα αρχείων: Ανάλογα και με το σύστημα αρχείων (file system) του υπολογιστή, ένα αρχείο μπορεί να διαθέτει μια πληθώρα ιδιοτήτων, όπως Δημιουργός, Ιδιοκτήτης, Μέγεθος, Χρόνοι δημιουργίας, τελευταίας τροποποίησης, τελευταίας προσπέλασης, κ.λπ. 19

Συστήματα Αρχείων Κάθε δίσκος ενός υπολογιστή πρέπει να οργανωθεί σύμφωνα με κάποιο σύστημα αρχείων Οι περισσότεροι δίσκοι μπορούν να διαιρεθούν σε ένα ή περισσότερα διαμερίσματα (partitions), και κάθε διαμέρισμα να έχει ανεξάρτητο σύστημα αρχείων Ο πρώτος τομέας (τομέας 0) στο δίσκο ονομάζεται Βασική Εγγραφή Εκκίνησης (MBR Master Boot Record) και χρησιμοποιείται κατά την εκκίνηση του υπολογιστή Στο τέλος του MBR βρίσκεται ο πίνακας διαμερισμάτων Κατά την εκκίνηση του υπολογιστή, το BIOS μεταφέρει στη μνήμη το MBR και το εκτελεί. Το MBR εντοπίζει, διαβάζει και εκτελεί το πρώτο μπλοκ (μπλοκ εκκίνησης) του επιλεγμένου ενεργού διαμερίσματος του δίσκου. Το πρόγραμμα στο μπλοκ εκκίνησης φορτώνει και εκτελεί το ΛΣ που περιέχεται στο διαμέρισμα αυτό. 20

Μονοπρογραμματισμός και Πολυπρογραμματισμός Κατανομή Μνήμης 21

Λειτουργικά Συστήματα 0 ΚΜ KM: Κύρια Μνήμη ΛΣ 22

Προϋπόθεση εκτέλεσης κώδικα 0 ΚΜ ΛΣ Π Το πρόγραμμα πρέπει να βρίσκεται στην ΚΜ. 23

Περιβάλλον Προγραμματισμού Μονοπρογραμματισμός Πολυπρογραμματισμός 24

0 ΚΜ ΛΣ Μονοπρογραμματισμός Χαρακτηριστικό Στην ΚΜ υπάρχει μόνο ένα πρόγραμμα, (το οποίο εκτελείται από την ΚΜΕ). Π Τρόπος επεξεργασίας προγραμμάτων κατά δέσμες ή ομάδες ή παρτίδες (batch processing) 25

0 ΚΜ ΛΣ Π Μονοπρογραμματισμός Περιορισμοί Αδύνατη η εκτέλεση προγράμματος που το μέγεθός του υπερβαίνει τον διατιθέμενο χώρο της ΚΜ. Αδύνατη η εκτέλεση άλλων προγραμμάτων, αν δεν ολοκληρωθεί η εκτέλεση του προγράμματος που βρίσκεται στην ΚΜ. (Πρόβλημα με προγράμματα μικρής χρονικής διάρκειας) 26

0 ΚΜ ΛΣ Π1 Π2 Π3 Πολυπρογραμματισμός Χαρακτηριστικά Στην ΚΜ υπάρχουν πολλά προγράμματα, τα οποία εκτελούνται από την ΚΜΕ, συνήθως εκ περιτροπής (καταμερισμός χρόνου). Το ΛΣ έχει την ευθύνη της εκ περιτροπής εκτέλεσης των προγραμμάτων. Ευνοούνται προγράμματα μικρής χρονικής διάρκειας. Προσοχή: Τα προγράμματα δεν εκτελούνται ταυτόχρονα!!! 27

0 ΚΜ ΛΣ Π1 Π2 Π3 Πολυπρογραμματισμός Τρόπος επεξεργασίας προγραμμάτων σε σύνδεση (on line) Π.χ. ανάληψη, πληκτρολόγηση, προγράμματα άμεσης πληροφόρησης Προγράμματα υψηλής προτεραιότητας (high priority) κατά δέσμες ή ομάδες ή παρτίδες (batch processing) Π.χ. μισθοδοσία, εκτυπώσεις Προγράμματα χαμηλής προτεραιότητας (low priority) ΛΣ διακοπτόμενο (interrupt driven) 28

0 ΚΜ ΛΣ Π1 Πολυπρογραμματισμός Είδη Κατανομής ΚΜ Στατική Κατανομή Δυναμική Κατανομή Υπερβατική ή Εικονική Μνήμη (Τεχνική Σελιδοποίησης) Π2 Π3 29

ΛΣ Σύνολο: Στατική Κατανομή Μνήμης Χαρακτηριστικά 512K 256K 128K 896K Η ΚΜ είναι χωρισμένη από τον κατασκευαστή του Η/Υ σε τμήματα σταθερής χωρητικότητας. Σε ένα τμήμα της ΚΜ μπορεί να εισέλθει μόνο ένα πρόγραμμα. Προϋποθέσεις εκτέλεσης προγράμματος Το μέγεθός του δεν πρέπει να υπερβαίνει τη χωρητικότητα ενός τουλάχιστον των τμημάτων, στα οποία έχει χωρισθεί η ΚΜ. Το ως άνω τμήμα πρέπει να είναι διαθέσιμο. 30

Στατική Κατανομή Μνήμης ΛΣ Π4 250Κ Αναμονή ολοκλήρωσης του Π1 ή Π2 Π1 512K 412Κ Π5 100Κ Π1 Αναμονή ολοκλήρωσης 412Κ του Π1 ή Π2 ή Π3 100Κ Π2 256K 156Κ Π2 100Κ 156Κ Π3 128K 28Κ Π3 100Κ 28Κ Σύνολο: 896K 596Κ 300Κ 31

Δυναμική Κατανομή Μνήμης ΛΣ Χαρακτηριστικό Κάθε πρόγραμμα καταλαμβάνει ακριβώς τον χώρο που του είναι απαραίτητος. Π1 412Κ Π2 Π3 Π4 156Κ 28Κ 250Κ Π4 250Κ Σύνολο: 896K 596Κ 846Κ 300Κ 50Κ 32

Δυναμική Κατανομή Μνήμης ΛΣ Π1 Π3 Π2 Π3 Π4 Π4 Π5 412Κ 28Κ 156Κ 250Κ 28Κ 250Κ 200Κ 1. Ολοκλήρωση Π2 2. Δημιουργία Οπής 3. Άφιξη νέου προγράμματος 4. Μετακίνηση προγραμμάτων 5. Είσοδος νέου προγράμματος Π5 200Κ Σύνολο: 896K 846Κ 690Κ 890Κ 206Κ 50Κ 33

Δυναμική Κατανομή Μνήμης Περιορισμοί Αναμονή προγραμμάτων αν ο διαθέσιμος χώρος της ΚΜ υπολείπεται του χώρου που απαιτούν. Αδυναμία εκτέλεσης προγράμματος μεγαλυτέρου από τη χωρητικότητα της ΚΜ. 34

Υπερβατική ή Εικονική ΚΜ (Σελιδοποίηση) ΛΣ Χαρακτηριστικά Κάθε πρόγραμμα διαιρείται σε σελίδες (pages) ή τεμάχια (segments). Στην ΚΜ εισέρχονται μόνο τα τμήματα των προγραμμάτων που πρέπει να εκτελεσθούν. Π1 Π2 Π3 35

Υπερβατική ή Εικονική ΚΜ (Σελιδοποίηση) ΛΣ Αν απαιτείται η είσοδος νέου τμήματος στην ΚΜ τότε βγαίνει από την ΚΜ εκείνο το τμήμα που δεν έχει χρησιμοποιηθεί για το μεγαλύτερο χρονικό διάστημα. Π1 Π2 Π3 36

Υπερβατική ή Εικονική ΚΜ (Σελιδοποίηση) Πλεονεκτήματα Εκτέλεση προγραμμάτων με μέγεθος μεγαλύτερο από εκείνο της ΚΜ Σημαντική αύξηση του αριθμού των προγραμμάτων που βρίσκονται σε κατάσταση εκτέλεσης 37

Υπερβατική ή Εικονική ΚΜ (Σελιδοποίηση) ΑΡΧΗ ΝΑΙ Εκτέλεση Προγράμματος Μετά την εκτέλεση των εντολών της σελίδας n δεν εκτελούνται απαραίτητα οι εντολές της σελίδας n+1. ΟΧΙ ΤΕΛΟΣ 38

Μονοπρογραμματισμός και Πολυπρογραμματισμός Χρονοπρογραμματισμός (διεργασιών) 39

Χρονοπρογραμματισμός Είναι συχνό φαινόμενο πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο της ΚΜΕ Το τμήμα του ΛΣ που λαμβάνει την απόφαση για τη σειρά εκτέλεσης των διεργασιών ονομάζεται χρονοπρογραμματιστής (scheduler), ενώ ο αλγόριθμος που χρησιμοποιείται λέγεται αλγόριθμος χρονοπρογραμματισμού Τυπικοί στόχοι: αύξηση της διεκπεραιωτικής ικανότητας (throughput), δηλ. του αριθμού των ολοκληρωμένων διεργασιών ανά ώρα, μείωση του μέσου χρόνου διεκπεραίωσης των διεργασιών, δικαιοσύνη Οι διεργασίες περνούν το χρόνο τους είτε σε εκτέλεση στην ΚΜΕ είτε σε αναμονή στις μονάδες Ε/Ε. Διάκριση διεργασιών: Διεργασίες εξαρτημένες από την ΚΜΕ (computer-bound) αφιερώνουν τον περισσότερο χρόνο τους σε υπολογισμούς (έχουν μεγάλα ξεσπάσματα στην ΚΜΕ CPU bursts) Διεργασίες εξαρτημένες από είσοδο-έξοδο (I/O-bound) αφιερώνουν τον περισσότερο χρόνο τους σε είσοδο-έξοδο, όντας μπλοκαρισμένες και περιμένοντας κάποια εξωτερική συσκευή να ολοκληρώσει την εργασία της (έχουν μεγάλα ξεσπάσματα Ε/Ε I/O bursts) 40

Χρονοπρογραμματισμός Παραδείγματα Αλγορίθμων Εξυπηρέτηση με βάση τη σειρά άφιξης, χωρίς πολυπρογραμματισμό οι διεργασίες, καθώς καταφθάνουν, μπαίνουν σε μια ουρά και εκτελούνται με τη σειρά άφιξής τους όταν η εκτελούμενη διεργασία μπλοκαριστεί (δηλ. αναμένει Ε/Ε), δεν παίρνει κάποια άλλη τη θέση της Εξυπηρέτηση με βάση τη σειρά άφιξης εκτέλεση με βάση άφιξης όταν η εκτελούμενη διεργασία μπλοκαριστεί, τότε εκτελείται η επόμενη στη σειρά όταν μια μπλοκαρισμένη διεργασία ξαναγίνει έτοιμη, τότε τοποθετείται στο τέλος της τρέχουσας ουράς Εξυπηρέτηση με βάση τη μικρότερη διάρκεια (shortest job first) επιλέγεται προς εκτέλεση η διεργασία με τη μικρότερη χρονική διάρκεια ξεσπάσματος ΚΜΕ έτσι, ελαχιστοποιείται ο μέσος χρόνος εκτέλεσης στην ΚΜΕ Εξυπηρέτηση εκ περιτροπής (round robin, καταμερισμού χρόνου) σε κάθε διεργασία εκχωρείται κάποιο χρονικό διάστημα που ονομάζεται κβάντο χρόνου, μέσα στο οποίο επιτρέπεται η εκτέλεσή της στην ΚΜΕ όταν παρέλθει το διάστημα αυτό, η ΚΜΕ παραχωρείται υποχρεωτικά σε κάποια άλλη διεργασία για τη διάρκεια του επόμενου κβάντου 41

Χρονοπρογραμματισμός Άσκηση ΚΜΕ Δίσκος Εκτυπωτής Σύνολο P1 2 2 3 7 P2 3 2 1 6 P3 2 3 2 7 Σύνολο 7 7 6 20 ΚΜΕ Δίσκος Εκτυπωτής Εξυπηρέτηση με βάση τη σειρά άφιξης, χωρίς πολυπρογραμματισμό 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ΚΜΕ Δίσκος Εκτυπωτής ΚΜΕ Δίσκος Εκτυπωτής ΚΜΕ Δίσκος Εκτυπωτής Εξυπηρέτηση με βάση τη σειρά άφιξης 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Εξυπηρέτηση με βάση τη μικρότερη διάρκεια 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Εξυπηρέτηση εκ περιτροπής 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Χρονοπρογραμματισμός Άσκηση Εξυπηρέτηση με βάση τη σειρά άφιξης, χωρίς πολυπρογραμματισμό Εξυπηρέτηση με βάση τη σειρά άφιξης Εξυπηρέτηση με βάση τη μικρότερη διάρκεια Εξυπηρέτηση εκ περιτροπής Συνολικός Χρόνος Ανενεργός Χρόνος Ολοκλήρωση της P1 Ολοκλήρωση της P2 Ολοκλήρωση της P3 Μέσος Χρόνος Διεκπεραίωσης 20 40 7 13 20 13.33 12 16 7 8 12 9.00 10 10 7 10 9 8.67 12 16 9 12 11 10.67 43

Πολυεπεξεργασία, Παράλληλος Προγραμματισμός, Επεξεργασία σε Πραγματικό Χρόνο 44

Πολυεπεξεργασία Ένας Η/Υ με τουλάχιστον 2 ΚΜΕ Κύριος (Αφέντης) και Δούλοι (Σκλάβοι) Η/Υ - Μετωπικοί Η/Υ - ΚΜΕ σε κάρτα σχεδίασης - Η/Υ Κύριος ΜΛΑ Δούλος ΜΛΑ ΚΜ ΜΕ ΜΕ 45

Παράλληλος Προγραμματισμός Ανεξάρτητα μέρη ενός προγράμματος εκτελούνται ταυτόχρονα (την ίδια χρονική στιγμή) σε διαφορετικούς Η/Υ. Ένας Η/Υ έχει τον κεντρικό έλεγχο για την ομαλή εκτέλεση και ολοκλήρωση του προγράμματος. 46

Παράλληλος Προγραμματισμός Η/Υ 1 ΚΜΕ ΚΜ Η/Υ 2 ΚΜΕ ΚΜ ΜΛΑ ΜΛΑ ΜΕ ΜΕ Παράλληλες Μηχανές π.χ. Πολυπύρηνοι Επεξεργαστές Παράλληλη Επεξεργασία 47

Συμβατικός και Παράλληλος Προγραμματισμός ΑΡΧΗ 1 Διάβασε a i, Υπολόγισε Υπολόγισε i = 1, 2,, m μ = 1 m 1 x = m m Σ a i i = 1 m Σ (a i μ) 2 i = 1 Διάβασε b j, j = 1, 2,, n Υπολόγισε Υπολόγισε v = y = 1 n 1 n n bj Σ j = 1 n (bj ν) 2 Σ j = 1 1 Υπολόγισε r = x y Τύπωσε r ΤΕΛΟΣ 48

Συμβατικός και Παράλληλος Προγραμματισμός H/Y 1 (Δούλος) ΑΡΧΗ H/Y 2 (Κύριος) Διάβασε a i, Υπολόγισε Υπολόγισε i = 1, 2,, m μ = 1 m 1 x = m m Σ a i i = 1 m Σ (a i μ) 2 i = 1 Διάβασε b j, j = 1, 2,, n Υπολόγισε Υπολόγισε v = y = 1 n 1 n n bj Σ j = 1 n (bj ν) 2 Σ j = 1 Υπολόγισε r = x y Τύπωσε r ΤΕΛΟΣ 49

Επεξεργασία σε Πραγματικό Χρόνο Επεξεργασία που υπόκειται σε πραγματικούς χρονικούς περιορισμούς για έγκαιρη αντιμετώπιση ανεπιθύμητων κρισίμων καταστάσεων Π.χ. - Ενεργοποίηση συστήματος αεροσάκου - Ενεργοποίηση συστήματος απεμπλοκής φρένων αυτοκινήτου - Ενεργοποίηση συστήματος αποτροπής έκρηξης σε σταθμό παραγωγής πυρηνικής ενέργειας Προγράμματα Πραγματικού Χρόνου 50

Σύνοψη και Γενιές Λειτουργικών Συστημάτων 51

Σύνοψη Επεξεργαστών Επεξεργασία κατά Δέσμες ή Ομάδες ή Παρτίδες Επεξεργασία σε Σύνδεση Επεξεργασία Πραγματικού Χρόνου Παράλληλη Επεξεργασία 52

Γενιές ΛΣ 0 η Γενιά - Δεν υπάρχει ΛΣ (Κώδικας για τα περιφερειακά γράφεται από τους προγραμματιστές εφαρμογών) - Προγράμματα σε γλώσσα μηχανής (Γλώσσα 1 ης Γενιάς) - Μονοπρογραμματισμός - Επεξεργασία κατά δέσμες - Υποαπασχόληση ΚΜΕ 1 η Γενιά - Προγράμματα σε Συμβολική Γλώσσα (Γλώσσα 2 ης Γενιάς) - Μονοπρογραμματισμός - Επεξεργασία κατά δέσμες - Υποαπασχόληση ΚΜΕ 53

2 η Γενιά Γενιές ΛΣ - ΛΣ στο δίσκο (Disk OS) - Πολυπρογραμματισμός Καταμερισμός χρόνου - Προγράμματα σε γλώσσα 3 ης Γενίας, 4 ης Γενιάς - Επεξεργασία κατά δέσμες, σε σύνδεση, σε πραγματικό χρόνο, πολυεπεξεργασία, Παράλληλες Μηχανές 3 η Γενιά - Βελτίωση της 2ης Γενιάς 54

4 η Γενιά Γενιές ΛΣ - Μικροϋπολογιστές - Παραθυρικό περιβάλλον, φιλικότητα ΛΣ - Δίκτυα Η/Υ (δημόσια, ιδιωτικά κλπ) - Έμφαση σε Γλώσσες Πολύ Υψηλού Επιπέδου (Γλώσσες 4 ης Γενιάς) 5 η Γενιά - Διαδικτυακές εφαρμογές - Επεξεργασία πληροφορίας (όχι μόνον δεδομένων) - Επεξεργασία εικόνας, ήχου, ομιλίας 55