Συστήματα Υπολογιστών 2008-09

Σχετικά έγγραφα
Εισαγωγή στην Πληροφορική

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

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

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

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

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

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

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

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

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

Λογισμικό - Προγράμματα

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

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

Οργάνωση Υπολογιστών (IΙI)

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

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

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

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

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

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

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

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

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

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

Το υλικό του υπολογιστή

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

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

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

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

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

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

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

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

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

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

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

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

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

Κεφάλαιο 2.4: Εργασία με εικονίδια

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

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

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

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

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

Λειτουργικά Συστήματα. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Οργάνωση Υπολογιστών (ΙI)

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο

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

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

Κύρια μνήμη. Μοντέλο λειτουργίας μνήμης. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (ΙI)

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

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

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

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

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

Εισαγωγή στους Η/Υ. Γιώργος Δημητρίου. Μάθημα 1 ο

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

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

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

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

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

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

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

Εικονική Μνήμη (Virtual Μemory)

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Λειτουργικά Συστήματα. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

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

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

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

ΗΜΥ 313: Τεχνολογία Λειτουργικών Συστηµάτων

i Στα σύγχρονα συστήματα η κύρια μνήμη δεν συνδέεται απευθείας με τον επεξεργαστή

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

Transcript:

Συστήματα Υπολογιστών 2008-09 Λειτουργικά Συστήματα Μέρος 1 ο Δρ Διονύσης Κεχαγιάς Δρ Φιλαρέτη Τσαλακανίδου Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Τμήμα Ηλετρολόγωνν Μηχανικών και Μηχανικών Υπολογιστών

Περιεχόμενo διαλέξεων Ορισμός Λειτουργικού Συστήματος (ΛΣ) Λειτουργίες των ΛΣ Διάφοροι τύποι ΛΣ - παραδείγματα Το υλικό του υπολογιστή Διεργασίες, παράλληλη επεξεργασία Συγχρονισμός, αδιέξοδα Διαχείριση μνήμης Σύστημα αρχειοθέτησης Λειτουργίες εισόδου / εξόδου (Ε/Ε) 2

Ορισμός Λειτουργικού Συστήματος

Τι είναι το Λειτουργικό Σύστημα (Operating System- OS) Ένα υπολογιστικό σύστημα απαρτίζεται από επεξεργαστές (CPU), κύρια μνήμη, δίσκους, πληκτρολόγιο, οθόνη, δικτυακές διασυνδέσεις, εκτυπωτές, άλλες συσκευές εισόδου/εξόδου Το λειτουργικό σύστημα είναι το στρώμα λογισμικού που διαχειρίζεται αυτές τις συσκευές και παρέχει προγράμματα χρήστη με απλούστερη διασύνδεση με το υλικό 4

Γνωστά λειτουργικά συστήματα Linux Windows OS X 5

Τι ΔΕΝ είναι ΛΣ Εφαρμογές που όμως μας δίνουν την αίσθηση ενός ολοκληρωμένου περιβάλλοντος εργασίας. Π.χ. Microsoft Office Windows Explorer Matlab 6

Αρχιτεκτονική Υπολογιστικών Συστημάτων Εφαρμογές Μεταγλωττιστές Διορθωτές Ερμηνευτές Λειτουργικό σύστημα Γλώσσα μηχανής Μικροαρχιτεκτονική Φυσικές συσκευές 7

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

Στρωματοποιημένη αρχιτεκτονική υπολογιστικού συστήματος (2) Ο σκοπός της διαδρομής δεδομένων είναι η εκτέλεση ενός συνόλου εντολών, οι οποίες είναι ορατές σε ένα προγραμματιστή συμβολικής γλώσσας. Οι εντολές αυτές απότελούν τη γλώσσα μηχανής Η γλώσσα μηχανής περιέχει ένα μικρό αριθμό εντολών (50-300) που χρησιμοποιούνται για τη μεταφορά δεδομένων από/προς τη μηχανή, την εκτέλεση αριθμητικών πράξεων και τη σύγκριση τιμών Οι συσκευές εισόδου/εξόδου ελέγχονται μέσω της φόρτωσης τιμών σε ειδικούς καταχωρητές συσκευής Παράδειγμα: οδίσκοςμπορείναδιαβάσει, με φόρτωση στους καταχωρητές του των τιμών της διεύθυνσης του δίσκου, τη διεύθυνση της κύριας μνήμης, του αριθμού των bytes, της κατεύθυνσης (ανάγνωση ή εγγραφή) Για πολλές συσκευές ο χρονισμός παίζει φυσικά πολύ μεγάλο ρόλο και η πολυπλοκότητα αυξάνεται Την πολυπλοκότητα αυτή κρύβει από το χρήστη το λειτουργικό σύστημα! 9

Λογισμικό συστήματος Σύνολο τμημάτων λογισμικού που παραδίδονται προεγκατεστημένα σε έναν καινούργιο υπολογιστή Λειτουργικό σύστημα Συμβολομεταφραστές (Assemblers) Μεταγλωττιστές (Compilers) και διερμηνείς (Interpreters) υψηλού επιπέδου Συνδέτες των αντικειμενικών προγραμμάτων του χρήστη με τις βιβλιοθήκες του συστήματος Αποσφαλματωτές (Debuggers) για την βήμα προς βήμα παρακολούθηση της εκτέλεσης ενός προγράμματος και τον εντοπισμό λαθών Βιβλιοθήκες υποπρογραμμάτων που χρησιμοποιούνται στην ανάπτυξη και εκτέλεση προγραμμάτων Βοηθητικά συνοδευτικά προγράμματα επιπέδου εφαρμογών 10

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

ΟΠυρήνας(Kernel) Το κύριο τμήμα του ΛΣ Είναι συνήθως γραμμένος σε C ή συμβολική γλώσσα (Assembly) Διαχείριση διεργασιών, μνήμης και συσκευών Δευτερεύουσες λειτουργίες, π.χ. υποστήριξη δικτύωσης Προστατεύεται Δεν ανήκει σε κανένα χρήστη Δύο καταστάσεις λειτουργίας (dual mode) Kernel mode User mode Διεργασίες Πυρήνας Υλικό 12

Καταστάσεις λειτουργίας συστήματος Κατάσταση λειτουργίας πυρήνα Διαθέσιμοτοσύνολοτωνεντολώνεπεξεργαστήκαιτο σύνολο του υλικού Προστασία υλικού από τις λαθροχειρίες χρηστών Κατάσταση λειτουργίας χρήστη Υποσύνολο εντολών και υποσύνολο υλικού όχι εντολές που εμπλέκουν προστασία μνήμης και διαχείριση Ε/Ε Μεταγλωττιστές, διορθωτές, προγράμματα χρήστη Ουσιαστικά δύο διαφορετικά επίπεδα, ανεξάρτητα από τα δικαιώματα του χρήστη 13

Κλήσεις Συστήματος (System Calls) Διεργασία Χρήστη αιτείται τη χρήση πόρων Οι κατάλληλες ρουτίνες του πυρήνα πρέπει να κληθούν -> Κλήσεις Συστήματος Π.χ.. fork(), exec(), malloc(), read(), printf() Πώς εκτελείται μια κλήση συστήματος; Ρουτίνα βιβλιοθήκης που συνδέεται με τον κώδικα της διεργασίας Εντολή TRAP Αλλάζει το σύστημα από user mode σε kernel mode 14

Λειτουργίες των ΛΣ

Ποιος είναι ο ρόλος του ΛΣ; Επέκταση μηχανής Διαχείριση υλικών πόρων του ΗΥ Ανκαιακούγονταιωςδιακριτοίρόλοι, στην ουσία δεν είναι και τόσο διακριτοί 16

Το ΛΣ ως επεκταμένη (εικονική) μηχανή Virtual machine Προκειμένου να καλυφθεί η πολυπλοκότητα, η μηχανή εξοπλίζεται με το ΛΣ Στρώμα λογισμικού: παρέχει ένα βολικό σύνολο εντολών για τον προγραμματιστή Στην πραγματικότητα η εκτέλεση ενός προγράμματος περιλαμβάνει λεπτομέρειες που το ΛΣ αποκρύπτει από τον προγραμματιστή Παράδειγμα: Ηεντολήread block from file είναι ευκολότερη από τη σειρά εντολών που εμπλέκει τις λεπτομέρειες μετακίνησης της κεφαλής του δίσκου, την αναμονή για σταθεροποίηση της κεφαλής κλπ 17

Παράδειγμα Ε/Ε δεδομένων Θεωρήστε ένα πρόγραμμα που θέλει να διαβάσει δεδομένα από ένα αρχείο. Τα αρχεία (files) αποθηκεύονται σε μαγνητικούς δίσκους Δίσκοι: ένα ηλεκτρονικό τμήμα (controller - επεξεργαστής) ένα μαγνητικό τμήμα (επιφάνειες δίσκων πάνω στις οποίες γράφουν κεφαλές) Ο επεξεργαστής δέχεται εντολές για να: ανακτήσει δεδομένα (read) από συγκεκριμένες διευθύνσεις, να μετακινήσει τις κεφαλές σε καινούριες διευθύνσεις, κλπ ομοίως κατά την εγγραφή (write) 18

Πραγματική vs. Εικονική Εκτέλεση Προγράμματος Πραγματική εκτέλεση από το ΛΣ: Δημιούργησε διαταγή εγγραφής στο δίσκο με 13 παραμέτρους που τοποθετούνται σε 9 byte Καθόρισε τη διεύθυνση του τμήματος του δίσκου, τον αριθμό τομέων ανά τροχιά, το εύρος του χάσματος, κλπ Λειτουργία ολοκληρώνεται -> επιστρέφονται 23 πεδία καταστάσεων/λαθών + κατάσταση κινητήρα σε 7 byte Αν ο κινητήρας είναι απενεργοποιημένος πρέπει να ξεκινήσει πριν την εγγραφή, κλπ Πρόγραμμα σε ψευδοκώδικα: readfile { } άνοιξε το αρχείο; καθόρισε το μέγεθός του; δέσμευσε την αντίστοιχη μνήμη; διάβασε το αρχείο στη μνήμη; κλείσε το αρχείο; Η πραγματική εκτέλεση του προγράμματος εμπεριέχει εξαιρετικά μεγάλη πολυπλοκότητα που δεν ενδιαφέρει τον προγραμματιστή 19

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

Διαχείριση πόρων Παράδειγμα: Τι θα συνέβαινε αν τρία προγράμματα προσπαθούσαν να τυπώσουν παράλληλα στον ίδιο εκτυπωτή; Το λειτουργικό σύστημα διαχειρίζεται (αλλάζει) τη φυσική ροή των εντολών Χωροχρονική πολύπλεξη πόρων 21

Χρονική πολύπλεξη πόρων Οι πόροι χρησιμοποιούνται εναλλάξ από διάφορα προγράμματα Αν υπάρχει μόνο ένας επεξεργαστής και πολλά προγράμματα προς εκτέλεση πώς γίνεται η κατανομή του χρόνου ανά πρόγραμμα Εκτύπωση 22

Εκτέλεση εκ περιτροπής (round-robin) 23

Χωρική πολύπλεξη πόρων Το κάθε πρόγραμμα/χρήστης παραλαμβάνει ένα μέρος του πόρου παράδειγμα η μνήμη Κατανομή χώρου στο δίσκο 24

Το ΛΣ είναι η καρδιά και ο εγκέφαλος ενός Η/Υ!!!

Διάφοροι τύποι ΛΣ

Ιστορική εξέλιξη των ΛΣ 1 η γενιά (1945-1955): Λυχνίες κενού και πίνακες συνδέσεων 2 η γενιά (1955-1965): Τρανζίστορ και συστήματα δέσμης 3 η γενιά (1965-1980): Ολοκληρωμένα κυκλώματα και πολυπρογραμματισμός 4 η γενιά (1980-σήμερα): Προσωπικοί υπολογιστές 27

Κατηγορίες ΛΣ ΛΣ Μεγάλων Υπολογιστών OS/360 ΛΣ Διακομιστών Unix, Windows 2003 Server, Linux ΛΣ Πολυεπεξεργαστών Συνήθως παραλλαγές ΛΣ Διακομιστών ΛΣ Προσωπικών Υπολογιστών Windows XP, Vista, Mac OS X, Linux 28

Κατηγορίες ΛΣ (συνέχεια) ΛΣ Πραγματικού Χρόνου VxWorks, QNX Ενσωματωμένα ΛΣ Για τον έλεγχο συσκευών που δεν είναι υπολογιστές (ΤV, κινητά, φούρνοι μικροκυμάτων) PalmOS, Windows CE, Symbian ΛΣ για έξυπνες κάρτες Proprietary, Java-oriented 29

Παραδείγματα Λειτουργικών Συστημάτων

Λειτουργικό σύστημα UNIX Αναπτύχθηκε το 1970 (AT&T, Bell Labs) Αρχικά σε μίνι υπολογιστές PDP-11 Έγινε διαθέσιμος ο πηγαίος κώδικας Αναπτύχθηκαν από τρίτους βελτιωμένες εκδόσεις για άλλους υπολογιστές (π.χ. Berkley) Ανάπτυξη προτύπου POSIX UNIX (1990) 31

Πρότυπο POSIX (Portable Operating System IX) Ορίζει 60 βασικές κλήσεις συστήματος (π.χ. open, close, read, για αρχεία, εντολές για τη δημιουργία νέων διεργασιών, κτλ) Ορίζει βασικά βοηθητικά προγράμματα λειτουργικού συστήματος π.χ. ls, cp, mv (εντολές καταλόγων) cc (συμβολο-μεταφραστής γλώσσας C ) Σύγχρονα συστήματα (π.χ. Solaris) ορίζουν ένα υπερσύνολο εντολών/ προγραμμάτων 32

Κατάταξη κλήσεων συστήματος UNIX 33

Τυπική δομή συστήματος UNIX 34

Διασύνδεση με το χρήστη: Κέλυφος (Shell) Πρόγραμμα επιπέδου χρήστη με διασύνδεση με γραμμή εντολών (command line) 35

Διασύνδεση με το χρήστη: Παραθυρικό σύστημα X Windows Motif Gnome 36

Βασική φιλοσοφία UNIX Ένας μικρός σε μέγεθος πυρήνας Ανταλλαγή προγραμμάτων μέσω πηγαίου κώδικα σε γλώσσα C Συμβολο-μεταφραστής για την εγκατάσταση του ίδιου προγράμματος σε υπολογιστές με διαφορετική αρχιτεκτονική 37

Λειτουργικό σύστημα Windows NT MS-DOS (1981-1985). Λειτουργικό σύστημα ενός χρήστη με κέλυφος Windows 3.X (1985-1995). Προσθήκη συστήματος γραφικής διασύνδεσης με τον χρήστη Windows 95,98 (1995-1998). Συνύπαρξη με MS-DOS. Συμβιβασμοί λόγω συμβατότητας (σύστημα αρχείων FAT). Plug and Play, βελτιωμένη γραφική διασύνδεση Windows NT (1991-) 38

Λειτουργικό σύστημα Windows NT Πλήρες 32bit σύστημα Εκδόσεις για διακομιστές και σταθμούς εργασίας Επιτρέπει πολλούς χρήστες και πολυπρογραμματισμό (multitasking) Πιο αποτελεσματικό σύστημα αρχείων Πολυγλωσσική υποστήριξη (Unicode) 39

Δομή Windows NT 40

Win32 API (Διασύνδεση Προγραμματισμού Εφαρμογών) Υπερσύνολο κλήσεων συστήματος Αντικειμενοστραφής προσέγγιση 41

Φιλοσοφία Windows Πολύπλοκο, «κλειστό» λειτουργικό σύστημα (πολλές επανεκδόσεις, υψηλό κόστος) Απευθύνεται κυρίως σε υπολογιστές Intel Εξαιρετικά φιλικό και εύχρηστο για άπειρους χρήστες και προγραμματιστές 42

Απαιτήσεις σύγχρονων ΛΣ Φιλικό πλήρες GUI Plug and Play (σύνδεση και άμεση λειτουργία) Εύκολη δικτύωση Συστήματα αυτοματισμού γραφείου Αυξημένη ασφάλεια Ενσωματωμένα εργαλεία για πολυμέσα Περιβάλλον Internet Συνεργασία με κάρτες τύπου TV-Tuner Λογισμικά εργαλεία συστήματος 43

Desktop wars 44

Το υλικό του υπολογιστή

Υλικό υπολογιστών Επεξεργαστής: οεγκέφαλος CPU Μνήμη: η αποθηκευτική μονάδα του εγκεφάλου Συσκευές Ε/Ε Δίαυλος: οφορέαςεπικοινωνίας CPU Κύρια Μνήμη Μονάδα ελέγχου Συσκευές Ε/Ε Καταχωρητές Αριθμητική και Λογική Μονάδα (ALU) Ελεγκτές ΤΗΜΜΥ, ΑΠΘ, 2008-09 Συστήματα Δίαυλος Υπολογιστών: Συστήματος Λειτουργικά Συστήματα 46

Επεξεργαστές Κάθε επεξεργαστής μπορεί μόνο να εκτελέσει ένα συγκεκριμένο σύνολο εντολών (Pentium / Spark) Περιέχουν καταχωρητές για να διατηρούν προσωρινά αποτελέσματα και σημαντικές μεταβλητές Τι εντολές; Για τη φόρτωση από τη μνήμη στον καταχωρητή και το αντίστροφο Συνδυασμό τελεστέων (από διαφορετικούς καταχωρητές) σε ένα αποτέλεσμα (π.χ. πρόσθεση δύο λέξεων) 47

Μνήμη Η μνήμη πρέπει να είναι: Γρήγορη (να μη δεσμεύει τον επεξεργαστή) Μεγάλης χωρητικότητας (να επαρκεί για τις τρέχουσες ποσότητες δεδομένων) Φθηνή Μη πτητική (να μην χάνεται το περιεχόμενό της όταν σβήνει ο ΗΥ) Η προσπέλαση της μνήμης είναι χρονοβόρα διαδικασία και σχετίζεται με το πού βρίσκεται αρχιτεκτονικά, με το υλικό της και με τη διαχειριστική της ευελιξία 48

Ιεράρχηση μνήμης Τυπικός Χρόνος Προσπέλασης Τυπική Αποθηκευτική Ικανότητα 1 nsec 2nsec 10 nsec Πιο γρήγορη Καταχωρητές Κρυφή Μνήμη Κύρια Μνήμη Μεγαλύτερης χωρητικότητας 1 KB 2-4 MB 0,5-2 GB 10 msec 100 sec Μαγνητικός Δίσκος Μαγνητική Ταινία 80-250 GB 0,5-2 TB 49

Μνήμη 50

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

Κύρια μνήμη (γνωστή και ως RAM) Κίνηση μέσω διαύλου Χάνει τα περιεχόμενά της όταν ο υπολογιστής είναι εκτός λειτουργίας Υπάρχει και αμετάβλητη μνήμη τυχαίας προσπέλασης που δεν χάνει το περιεχόμενό της Η μνήμη μόνο για ανάγνωση (ROM) δεν μπορεί να τροποποιηθεί και περιέχει συνήθως το πρόγραμμα εκκίνησης Η μνήμες EEPROM (electrically erasable programmable ROM) και flash RAM είναι μεν αμετάβλητες, μπορούν όμως να ξαναγραφούν 52

Μαγνητικός δίσκος Μηχανική συσκευή τρεις τάξεις μεγέθους πιο αργή, δύο τάξεις μεγέθους πιο φθηνή Αποτελείται από μεταλλικές πλάκες που περιστρέφονται με 5400, 7200, 10800 στροφές ανά λεπτό (RPM) Βραχίονας διαβάζει/γράφει ομόκεντρους κύκλους 53

Ελεγκτές -Controllers Ελεγκτής: τσιπ που ελέγχει τη συσκευή με φυσικό τρόπο δέχεται εντολές από το λειτουργικό σύστημα, π.χ. να διαβάσει δεδομένα από τη συσκευή, και τις εκτελεί Επιφορτίζεται με την απλούστερη παρουσίαση της λειτουργικότητας της συσκευής, π.χ. ανάγνωση από δίσκο (τομέα, κύλινδρο, ταχύτητα, κλπ) 54

Συσκευές Ε/Ε Συσκευή: ακολουθούν πρότυπες διαδικασίες και απλές διασυνδέσεις (interfaces) ώστε να τις διαχειρίζονται ελεγκτές Π.χ. κάθε δίσκος IDE (Integrated Drive Electronics) μπορεί να είναι διαχειριζόμενος από κάθε ελεγκτή IDE Το λογισμικό που επικοινωνεί με τον ελεγκτή λέγεται οδηγός συσκευής (device driver) Π.χ. κάθε scanner πρέπει να είναι εφοδιασμένος με οδηγούς για WinXP, LINUX, UNIX ώστε να μπορεί να εκτελείται σε κατάσταση λειτουργίας πυρήνα 55

Δίαυλοι - Channels Δεν αρκεί ένας δίαυλος για τη μεταφορά δεδομένων όλων των μονάδων του υπολογιστικού συστήματος Δίαυλος μνήμης, κρυφής μνήμης, SCSI small computer system interface (μεγάλο εύρος ζώνης), USB universal serial bus (αργές συνδέσεις, έλεγχος ανά 1ms ποντίκι, πληκτρολόγιο, κλπ) 56

Διεργασίες, Παράλληλη Επεξεργασία

Εισαγωγή Ο υπολογιστής μπορεί να κάνει πολλά πράγματα ταυτόχρονα να εκτελεί προγράμματα χρηστών να διαβάζει από το δίσκο να εκτυπώνει Ο επεξεργαστής μεταβαίνει από πρόγραμμα σε πρόγραμμα κυκλικά 10-100 msec για το καθένα 58

Σειριακή, ψευδοπαράλληλη, παράλληλη επεξεργασία Τι φαίνεται: σε ένα σύστημα η κεντρική μονάδα επεξεργασίας (CPU) εκχωρείται διαδοχικά σε διαφορετικά προγράμματα, εκτελώντας κάποιο τμήμα του καθενός για κάποια ms H CPU εκτελεί κάθε στιγμή ένα μόνο πρόγραμμα. Σε κάθε δευτερόλεπτο εκτελεί πολλά προγράμματα. Ψευδαίσθηση παράλληλης επεξεργασίας Παραλληλισμός υλικού πολλές μονάδες επεξεργασίας (μοιράζονται μία μνήμη) 59

Διεργασία (Process) Η πιο σημαντική έννοια σε όλα τα λειτουργικά συστήματα Είναι ένα πρόγραμμα που εκτελείται Αποτελείται από: Μια περιοχή διευθύνσεων (εκτελέσιμος κώδικας, δεδομένα, στοίβα) Πόρους λειτουργικού συστήματος (π.χ. ανοιχτά αρχεία) Κατάσταση (μετρητής προγράμματος, καταχωρητές, δείκτης σωρού, παράμετροι κατάστασης) 60

Ψευδοπαράλληλες vs. σειριακές διεργασίες (a) Πολυ-προγραμματισμός τεσσάρων προγραμμάτων (b) Μοντέλο 4 ανεξάρτητων σειριακών διεργασιών (c) Μόνο ένα πρόγραμμα ενεργό κάθε στιγμή 61

Παράλληλες vs. ψευδοπαράλληλες διεργασίες 3 CPU 1CPU 62

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

Κλήσεις συστήματος για δημιουργία διεργασίας UNIX: Fork Δημιουργείται κλώνος της τρέχουσας διεργασίας Windows: CreateProcess +100 system calls για διαχείριση και συγχρονισμό διεργασιών 64

Κλήσεις συστήματος UNIX Windows Ερμηνεία fork CreateProcess Νέα διεργασία waitpid WaitforSingleObject Αναμονή execve ------ CreateProcess=fork+execve exit ExitProcess Τερματισμός open CreateFile Δημιουργία ή άνοιγμα close CloseHandle Κλείσιμο lseek SetFilePointer Μετακίνηση δείκτη Link, mount, chmod --------- kill --------- Δεν υποστηρίζουν σήματα 65

Τερματισμός διεργασιών Συνθήκες Τερματισμού Διεργασιών Κανονική έξοδος οικειοθελώς Ολοκλήρωση ή τερματισμός από χρήστη UNIX: exit, Windows: ExitProcess Έξοδος από σφάλμα κώδικα (π.χ διαίρεσημε 0) οικειοθελώς Μοιραίο σφάλμα π.χ. cc nonexistent.c εξαναγκάζεται Ctrl+C Από άλλη διεργασία (kill -9) - εξαναγκάζεται 66

Ιεραρχίες διεργασιών Μια μητρική διεργασία (πρόγονος) δημιουργεί μια θυγατρική διεργασία (απόγονος). Οι θυγατρικές διεργασίες μπορούν να δημιουργήσουν τις δικές τους θυγατρικές διεργασίες Η παραπάνω συσχέτιση σχηματίζει μια ιεραρχία Στο UNIX είναι γνωστή ως "process group Init login, etc. Στα Windows δεν υπάρχει η έννοια της ιεραρχίας διεργασιών Όλες οι διεργασίες δημιουργούνται ίσες ιεραρχικά 67

Παράδειγμα Μια διεργασία μπορεί να χρησιμοποιεί ως είσοδο την έξοδο μίας άλλης cat file1 file2 file3 grep tree Η πρώτη διεργασία εκτελεί το πρόγραμμα cat γιανασυνενώσει3 αρχεία και να στείλει το αποτέλεσμα στην έξοδο Η δεύτερη διεργασία εκτελεί το πρόγραμμα grep για να επιλέξει όλες τις γραμμές που περιλαμβάνουν τη λέξη tree 68

Καταστάσεις Διεργασιών Μεταβάσεις: 1. Περιμένει δεδομένα εισόδου (block) 2. Ο χρονοπρογραμματιστής επιλέγει άλλη διεργασία (η CPU δίνεται σε άλλη διεργασία) 3. H CPU δίνεταισεαυτήτηδιεργασία 4. Είσοδος διαθέσιμη Πιθανές καταστάσεις διεργασίας Εκτελείται (Running): έχει τη CPU Έτοιμη (Ready): μπορεί να εκτελεστεί, αλλά η CPU δόθηκε αλλού Μπλοκαρισμένη (Βlocked): αναμένει κάποιο συμβάν 69