ENOTHTA 1 EIΣAΓΩΓIKEΣ ENNOIEΣ

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

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

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

Επιτεύγµατα των Λ.Σ.

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

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

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

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

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

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

ENOTHTA 5 XPONO POMOΛOΓHΣH

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 1

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

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

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

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

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

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

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

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

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

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


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

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

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

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

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

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

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

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

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

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

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

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

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

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

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

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

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

ENOTHTA 2 IEPΓAΣIEΣ: ΠEPIΓPAΦH KAI EΛEΓXOΣ

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

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

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

ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

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

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

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

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

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

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

Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας

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

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

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

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

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

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ENOTHTA 9 AΣΦAΛEIA KAI ΠPOΣTAΣIA

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Λειτουργικά Συστήματα

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

Περιγραφή και Έλεγχος ιεργασιών

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

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

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

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

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

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

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

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

Ενότητα 1 (Κεφάλαιο 2) Εισαγωγικές Έννοιες. Περιεχόμενα. Λειτουργικό Σύστημα. Στόχοι και λειτουργίες του Λ.Σ.

6. Εισαγωγή στον προγραµµατισµό

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

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

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

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

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

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

Εισαγωγή στο λειτουργικό σύστηµα Unix

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

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

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

Συστήματα Πληροφοριών Διοίκησης Ενότητα 5: Λογισμικό Πληροφοριακών Συστημάτων

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

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

Πληροφορική Ι (Θεωρία)

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

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

Transcript:

ENOTHTA 1 Περιεχόµενα 1. Tι είναι Λειτουργικό Σύστηµα. Pόλος και Στόχοι ενός Λειτουργικού Συστήµατος 2. Iστορία και Eξέλιξη των Λειτουργικών Συστηµάτων 3. Bασικές Eννοιες και Eπιτεύγµατα των Λειτουργικών Συστηµάτων 4. οµή ενός Λειτου ργικού Συστήµατος 5. Mερικά Tυπικά Λειτουργικά Συστήµατα 1-1

EΠΛ 222 ENOTHTA 1 1. Tι είναι Λ.Σ. Pόλος και Στόχοι ενός Λ.Σ. Λειτουργικό Σύστηµα είναι ένα πρόγραµµα που ελέγχει την εκτέλεση των προγραµµάτων εφαρµογών και προσφέρει µία διασύνδεση (interface) µεταξύ του χρήστη και του H/Y. Στόχοι ενός λειτουργικού συστήµατος: Παροχή διευκολύνσεων στη χρήση του H/Y. Πιο αποδοτική χρήση των διαθέσιµων πόρων (resources) του συστήµατος. υνατότητα για εύκολη επέκταση µε επιπλέον λειτουργικότητες αλλά και διόρθωση υπάρχοντων λαθών. Oι στόχοι αυτοί καθορίζουν και το διπλό ρόλο που παίζει ένα λειτουργικό σύστηµα σε σχέση µε το χρήστη και τον H/Y: Ως µία εκτεταµένη (extended) ή ιδεατή (virtual) µηχανή που παρέχει µία διασύνδεση µεταξύ χρήστη και H/Y. Ως διαχειριστής των πόρων του συστήµατος (resource manager). Σηµειώστε επίσης ότι η ανάπτυξη των Λ.Σ. οδηγεί αναγκαστικά στη δηµιουργία πιο πολύπλοκων σε χρήση και σε λειτουργία περιβαλλόντων: Tο Multics ανακοινώθηκε το 1963 και έτρεξε το 1969. Tο OS 360 όταν πρωτοβγήκε στην αγορά είχε 1000 λάθη (bugs). Ένα µικρό Λ.Σ. έχει µέγεθος 100K και ένα µεγάλο 10M γραµµών. Tο Windows NT της Microsoft υπέφερε επί 7 χρόνια µε προβλήµατα. H δηµιουργία ενός Λ.Σ. παίρνει µεταξύ 100-1000 ανθρώπινα χρόνια (man years). 1-2

EΠΛ 222 ENOTHTA 1 1.1. O ρόλος του Λ.Σ. ως εκτεταµένης/ιδεατής µηχανής EΦAPMOΓEΣ TPAΠEZIKO ΣYΣTHMA, KPATHΣEIΣ ΘEΣEΩN, ΠAIΓXNI IA APPLICATIONS Λ O Γ I Σ M I K O Σ Y Σ T H M A T O Σ XPHΣIMA ΠPOΓPAMMATA (UTILITIES): KEIMENOΓPAΦOI, IEPMHNEYTEΣ ENTOΛΩN, EΠIMEΛHTEΣ KEIMENOY, METAΓΛΩTTIΣTEΣ ΛEITOYPΓIKO ΣYΣTHMA (OPERATING SYSTEM) S Y S T E M S O F T W A R E Y Λ I K O ΓΛΩΣΣA MHXANHΣ (ASSEMBLY LANGUAGE) MIKPOΠPOΓPAMMATIΣMOΣ (MICROPROGRAMMING) ΦYΣIKEΣ ΣYΣKEYEΣ (DEVICES) H A R D W A R E Προσεγγίζοντας το θέµα του ρόλου ενός Λ.Σ. από την κορυφή προς τη βάση διαπιστώνουµε ότι κυρίαρχη φροντίδα του είναι να αποµονώσει τη γυµνή µηχανή από τον χρήστη στον οποίο παρουσιάζει µία πιο απλή, εύχρηστη και κατανοητή παραλλαγή της, δηλαδή µία εκτεταµένη ή ιδεατή µορφή. 1-3

EΠΛ 222 ENOTHTA 1 1.1. O ρόλος του Λ.Σ. ως εκτεταµένης/ιδεατής µηχανής (συνέχεια) H διασύνδεση χρήστη-µηχανής που δηµιουργεί το Λ.Σ. έχει ως σκοπό την παροχή των ακόλουθων υπηρεσιών: ιευκόλυνση στη δηµιουργία προγραµµάτων, επιτρέποντας τη χρήση του κατάλληλου λογισµικού του συστήµατος (διορθωτές κειµένου, µεταγλωττιστές, απασφαλµατωτές, κλπ.). [H παροχή των υπηρεσιών αυτών δεν είναι κατ ανάγκη ευθύνη του Λ.Σ.] ιαχείρηση του συστήµατος κατά την εκτέλεση ενός προγράµµατος (π.χ. µεταφορά δεδοµένων και εντολών προς και από την κύρια µνήµη) και ετοιµασία συσκευών για χρήση. Eύκολη προσπέλαση στις συσκευές εισόδου/εξόδου µέσω απλών εντολών διαβάσµατος και γραψίµατος και παροχή αφαιρετικών µηχανισµών από τις ιδιαιτερότητες της κάθε συσκευής. Eλεγχόµενη πρόσβαση σε αρχεία (είδη αρχείων, ταυτόχρονη προσπέλαση από πολλούς χρήστες, κλπ.). Eλεγχόµενη πρόσβαση στο σύστηµα (ασφάλεια δεδοµένων, µη εξουσιοδοτηµένη χρήση πληροφοριών, κλπ.). Aντιµετώπιση λαθών και προσπαθειών για λανθασµένη χρήση του συστήµατος (π.χ. διαίρεση µε 0, διακοπή λειτουργίας συσκευής). Στατιστική χρήσης του συστήµατος (κατάλληλη για καλύτερη προσαρµογή του συστήµατος στις ανάγκες των χρηστών του, υπολογισµό λογαριασµών, κλπ.). 1.2. O ρόλος του Λ.Σ. ως διαχειριστή πόρων Προσεγγίζοντας το θέµα του ρόλου ενός Λ.Σ. από τη βάση προς την κορυφή διαπιστώνουµε ότι το Λ.Σ. οφείλει να: ελέγχει ποιος χρησιµοποιεί ποιους πόρους, διαβαθµίζει τις απαιτήσεις για πόρους και χρεώνει για τη χρήση τους, επιλαµβάνεται για τις αντικρουόµενες διεκδικήσεις από διαφορετικά προγράµµατα και χρήστες. 1-4

EΠΛ 222 ENOTHTA 1 2. Iστορία και Eξέλιξη των Λ.Σ. H εξέλιξη των λειτουργικών συστηµάτων σχετίζεται σε µεγάλο βαθµό µε αυτή των H/Y. 1η Γενεά (1945-1955): Λυχνίες Kενού και Kάρτες Kαλωδιακών Συνδέσεων. Σχεδόν ανύπαρκτη η ύπαρξη και χρήση λειτουργικών συστηµάτων. Tο πρόγραµµα αποτελείτο από κάρτες καλωδιακών συνδέσεων (plugboards) που έτρεχαν στον H/Y (αν και όταν κάποιες από τις περίπου 20.000 λυχνίες κενού δεν ήταν καµένες). Προς τις αρχές της δεκαετίας του 50 γίνεται αναβάθµιση µε τη χρήση διάτρητων καρτών (punched cards) αντί για κάρτες καλωδιακών συνδέσεων. Eυθύνη του χρήστη να αναλάβει ο ίδιος όλες τις λειτουργίες που σχετίζονται µε την εκτέλεση κάποιου προγράµµατος: φόρτωµα του µεταγλωττιστή, βιβλιοθηκών, κλ.π, παραγωγή συµβολικής γλώσσας, φόρτωµα του συµβολοµεταφραστή και παραγωγή γλώσσας µηχανής. 2η Γενεά (1955-1965): Kρυσταλλοτρίοδοι και Συστήµατα Mαζικής Eπεξεργασίας. H χρήση κρυσταλλοτριόδων (transistors) έχει θετικό αντίκτυπο και στην ανάπτυξη του λογισµικού. Aναπτύσσεται η έννοια της εργασίας (job) αποτελούµενης από ένα ή περισσότερα προγράµµατα γραµµένα σε κάποια γλώσσα προγραµµατισµού (π.χ. FORTRAN) µαζί µε τα χρειαζόµενα δεδοµένα. Kάθε εργασία διαβάζονταν µέσα στον H/Y µε τη χρήση διάτρητων καρτών. Σειριακή επεξεργασία. Πρώτα ολοκληρώνεται µία εργασία πριν αρχίσει άλλη. Eλλειψη χρονοδροµολόγησης (scheduling). Kάποιος χρήστης µπορούσε να κλείσει τον H/Y για µία ώρα αν και τον χρειαζόταν τελικά µόνο 3 τέταρτα. Σπατάλη χρόνου στην προετοιµασία (set up) του συστήµατος µε τη φόρτωση του κατάλληλου λογισµικού συστήµατος (µεταφραστές γλωσσών, κλπ.). 1-5

EΠΛ 222 ENOTHTA 1 2. Iστορία και Eξέλιξη των Λ.Σ. (συνέχεια) Bελτίωση του προβλήµατος µε την ανάπτυξη συστηµάτων µαζικής σειριακής επεξεργασίας (batch processing). Tο σύστηµα διαβάζει τις εργασίες όλες µαζί και µόλις τελειώσει µία φορτώνει αµέσως την επόµενη εξοικονοµώντας έτσι σηµαντικό χρόνο. Yπεύθυνο για τον χειρισµό της όλης διεργασίας είναι ένα πρόγραµµα ονοµαζόµενο παρακολουθητής (monitor). O παρακολουθητής είναι ακόµα υπεύθυνος για το φόρτωµα του λογισµικού συστήµατος (π.χ. µεταφραστής) που χρειάζεται κάθε εργασία. O παρακολουθητής είναι ένα λειτουργικό σύστηµα σε εµβρυϊκή µορφή. Yπάρχει ανάγκη για περισσότερη κύρια µνήµη για να εξυπηρετηθούν οι ανάγκες του. Aναπτύσσονται στοιχειώδεις γλώσσες ελέγχου εργασιών (job control languages) για την παροχή οδηγιών στον παρακολουθητή. Παραµένει το πρόβληµα της σπατάλης χρόνου από τον επεξεργαστή όταν µία εργασία εκτελεί εντολές εισόδου ή εξόδου. Aνάπτυξη τεχνικών όπως προσωρινή καταχώρηση δεδοµένων εισόδου/εξόδου (buffering) και ετεροχρονισµός (spooling - Simultaneous Peripheral Operation On Line). Πρόγραµµα Xρήστη Π α ρ α κ ο λ ο υ θ η τ ή ς Oδηγοί Συσκευών (Device Drivers) Σειριοποίηση Eργασιών (Job Sequencing) Eρµηνευτής Γλώσσας Eλέγχου (Control Lang Interpreter) M o n i t o r Πρόγραµµα Xρήστη Kύρια Mνήµη χωρίς Παρακολουθητή Kύρια Mνήµη µε Παρακολουθητή 1-6

EΠΛ 222 ENOTHTA 1 3η Γενεά (1965-1980): Oλοκληρωµένα Kυκλώµατα και Πολυπρογραµµατισµός. H εισαγωγή ολοκληρωµένων κυκλωµάτων στην κατασκευή των H/Y οδήγησε στη βελτίωσή τους σε ταχύτητα και µνήµη και επέτρεψε την ανάπτυξη του πολυπρογραµµατισµού (multiprogramming), δηλαδή της ταυτόχρονης εκτέλεσης περισσοτέρων της µίας εργασιών. Eργασία 1 Eργασία 2 Eργασία 3 Λειτουργικό Σύστηµα Kύρια Mνήµη Mόλις µία εργασία σταµατούσε να χρησιµοποιεί τον επεξεργαστή για να εκτελέσει µία λειτουργία εισόδου/εξόδου, το λειτουργικό σύστηµα ξεκινούσε την εκτέλεση άλλης εργασίας. H κύρια µνήµη εποµένως ήταν µοιρασµένη µεταξύ του λειτουργικού συστήµατος και ενός αριθµού εργασιών. Eπιπλέον, αν περισσότερες από µία εργασίες ήταν υποψήφιες για εκτέλεση, έπρεπε να ορισθούν κάποια κριτήρια µε βάση τα οποία κάποια από αυτές θα επιλεγόταν να εκτελεσθεί. Aυτό οδήγησε στην ανάπτυξη της χρονοδροµολόγησης (scheduling). H δυνατότητα αποθήκευσης ενός αριθµού εργασιών στην κύρια µνήµη οδήγησε στην ανάγκη για διαχείρηση της µνήµης (memory management). Mία παραλλαγή του πολυπρογραµµατισµού που αναπτύχθηκε µε σκοπό την όσο το δυνατόν µεγαλύτερη εξοικονόµηση χρόνου ήταν ο καταµερισµός χρόνου (time sharing), όπου ένας αριθµός χρηστών ήταν συνδεδεµένοι ταυτόχρονα µε τον H/Y µε τη χρήση τερµατικών και µπορούσαν να διορθώσουν προγράµµατα, να εκτελέσουν εργασίες, κλπ. Tο πρώτο σύστηµα καταµερισµού χρόνου ήταν το CTSS (Compatible Time Sharing System) στο MIT το 1962. 1-7

EΠΛ 222 ENOTHTA 1 2. Iστορία και Eξέλιξη των Λ.Σ. (συνέχεια) 4η Γενεά (1980-1990): LSI/VLSI και Προσωπικοί Yπολογιστές. Mε την ανάπτυξη των κυκλωµάτων µεγάλης και πολύ µεγάλης ολοκλήρωσης (LSI, VLSI) µειώθηκε σηµαντικά το κόστος κατασκευής των H/Y και αναπτύχθηκαν οι προσωπικοί H/Y. Aνάπτυξη λειτουργικών συστηµάτων ενός χρήστη (single user) µε έµφαση στη φιλικότητα προς τον χρήστη (π.χ. MS-DOS, Windows, OS/2). Aνάπτυξη ισχυρών σταθµών εργασίας (workstations) και δικτύων (networks) που οδήγησαν στην ανάπτυξη λειτουργικών συστηµάτων για δίκτυα (network operating systems) και κατανεµηµένων λειτουργικών συστηµάτων (distributed operating systems). 3. Bασικές Eννοιες και Eπιτεύγµατα των Λ.Σ. ιεργασία (process): H οντότητα εκείνη που εκτελείται από τον επεξεργαστή. Aνά πάσα στιγµή στο σύστηµα υπάρχουν πολλές διεργασίες, µία από τις οποίες εκτελείται ενώ οι υπόλοιπες περιµένουν τη σειρά τους. Mία διεργασία µπορεί να δηµιουργήσει άλλες θυγατρικές διεργασίες (child processes) και να περιµένει (ή όχι) τον τερµατισµό τους πριν συνεχίσει τη δικιά της εκτέλεση. Π.χ. µία διεργασία που αντιστοιχεί στη χρήση του φλοιού (shell) δηµιουργεί µία άλλη διεργασία για κάθε απαίτηση ενός χρήστη. Για να µπορεί να αναστέλλεται προσωρινά η εκτέλεσή της, µία διεργασία παριστάνεται στο σύστηµα µε ένα σύνολο πληροφοριών όπως οι τιµές των καταχωρητών όταν σταµάτησε η εκτέλεσή της, ο ιδιοκτήτης της, κλπ. Oλες οι σχετικές µε κάποια διεργασία πληροφορίες αποθηκεύονται σε ένα πίνακα διεργασιών (process table) αποτελούµενο από µία δοµή για κάθε διεργασία, µε όλες τις δοµές συνδεδεµένες µεταξύ τους υπό µορφή συνδεδεµένης λίστας (linked list). 1-8

EΠΛ 222 ENOTHTA 1 3. Bασικές Eννοιες και Eπιτεύγµατα των Λ.Σ. (συνέχεια) ηµιουργείται έτσι η ανάγκη για διαχείρηση των διεργασιών (process management) και επίλυση προβληµάτων όπως κακός συγχρονισµός µεταξύ διεργασιών, µη καθοριστική (non deterministic) συµπεριφορά και αδιέξοδα (deadlocks). ιαχείρηση Mνήµης (Memory Management): Mοίρασµα της µνήµης µεταξύ των διεργασιών που υπάρχουν στο σύστηµα. Aυτόµατη δέσµευση και αποδέσµευση µνήµης. Mακρόχρονη αποθήκευση πληροφοριών. Xρήση ιδεατής µνήµης (virtual memory): οι διεργασίες και τα προγράµµατα βλέπουν τη µνήµη από µία λογική οπτική γωνία χωρίς να χρειάζεται να γνωρίζουν πόση πραγµατική µνήµη είναι στην ουσία διαθέσιµη. Προστασία και Aσφάλεια των Πληροφοριών του Συστήµατος: H ταυτόχρονη ύπαρξη πολλών χρηστών αλλά και διεργασιών σε κάποιο σύστηµα δηµιουργεί ανάγκες για ασφάλεια των πληροφοριών από τυχαία ή εσκεµµένη προσπάθεια αλλοίωσης/καταστροφής τους. Oι διάφοροι µέθοδοι που έχουν υιοθετηθεί κυµαίνονται από απαγόρευση χρήσης του ίδιου λογισµικού από περισσότερες από µία διεργασίες µέχρι τη χρήση µηχανισµών όπως λίστες ελέγχου προσπέλασης, προσδιοριστές δικαιωµάτων, κλπ. ιαχείρηση των Πόρων (Resource Management) και Xρονοδροµολόγηση (Scheduling): Oσο το δυνατόν πιο αποτελεσµατική διαχείρηση των πόρων του συστήµατος µε βάση τα εξής κριτήρια: i) δικαιοσύνη (fairness), δηλαδή όλες οι διεργασίες κάποια στιγµή να εξυπηρετηθούν, ii) αναγνώριση τυχόν ιδιαιτεροτήτων κάποιας διεργασίας, όπως σύντοµο χρόνο εκτέλεσης ή µικρή απαίτηση σε µνήµη, iii) αποδοτικότητα (efficiency) του συστήµατος, δηλαδή µεγιστοποίηση του αριθµού των εργασιών που ολοκληρώνονται στη χρονική µονάδα µέτρησης (διεκπεραιωτική ικανότητα, throughput), ελαχιστοποίηση του χρόνου απόκρισης (response time) και εξυπηρέτηση όσο το δυνατόν περισσότερων χρηστών. 1-9

EΠΛ 222 ENOTHTA 1 4. οµή ενός Λειτουργικού Συστήµατος H παρουσίαση της δοµής ενός λειτουργικού συστήµατος εκ των έσω οδηγεί στο διαχωρισµό τους σε 2 κατηγορίες: Mονολιθικά συστήµατα (monolithic systems). Tο Λ.Σ. αποτελείται από µία συλλογή διεργασιών, κάθε µία των οποίων µπορεί να καλέσει οποιαδήποτε άλλη. Kάθε διεργασία είναι ορατή σε οποιαδήποτε άλλη. Aκόµα και εδώ όµως µπορεί να υπάρχει µία στοιχειώδης ιεραρχία: Kύρια διεργασία ιεργασίες εξυπηρέτησης Bοηθητικές διεργασίες Tο κυρίως πρόγραµµα επικαλείται την ενεργοποίηση µίας οµάδας διεργασιών εξυπηρέτησης οι οποίες µε τη σειρά τους υποβοηθούνται από άλλες βοηθητικές διεργασίες. 1-10

EΠΛ 222 ENOTHTA 1 4. οµή ενός Λειτουργικού Συστήµατος (συνέχεια) Στρωµατοποιηµένα Συστήµατα (layered systems). H γενίκευση της προσέγγισης του προηγούµενου σχήµατος οδήγησε στην οργάνωση των λειτουργικών συστηµάτων σαν µία ιεραρχία επιπέδων, το καθένα από τα οποία επικοινωνεί κατ εξοχήν µόνο µε το επόµενο και προηγούµενο. O αριθµός των επιπέδων σε ένα Λ.Σ. ποικίλλει από το ένα Λ.Σ. στο άλλο. Oι Denning και Brown περιγράφουν µία δοµή αποτελούµενη από 13 συνολικά επίπεδα: Eπίπεδα 1 έως 4 αποτελούν το υλικό (κυκλώµατα, γλώσσα µηχανής) και ουσιαστικά δεν είναι µέρος του Λ.Σ. Eπίπεδο 5: ιαχείρηση στοιχειωδών διεργασιών (παροχή εντολών όπως suspend, resume, wait, signal) και υλοποίηση µεταγωγής περιβάλλοντος. Eπίπεδο 6: ιαχείρηση περιφερειακών συσκευών (π.χ. διάβασµα από ή γράψιµο σε δίσκο). Eπίπεδο 7: Iδεατή µνήµη (υποστήριξη λογικών διευθύνσεων µνήµης). Eπίπεδο 8: Eπικοινωνία µεταξύ διεργασιών (pipes). Eπίπεδο 9: ιαχείρηση αρχείων (create, open, write) στο επίπεδο του χρήστη (π.χ. µέσα από το ρεπερτόριο εντολών µίας γλώσσας προγραµµατισµού). Eπίπεδο 10: ιαχείρηση περιφερειακών συσκευών και παροχή οµοιογενών µηχανισµών πρόσβασης του χρήστη σε όλα τα είδη τους, έστω και αν αυτά παρουσιάζουν µεταξύ τους σηµαντικές διαφορές στη λειτουργία τους. Eπίπεδο 11: Kατάλογοι. Eπίπεδο 12: ιαχείρηση διεργασιών σε επίπεδο χρήστη. Eπίπεδο 13: Προγραµµατισµός συστήµατος µε κατάλληλες γλώσσες (όπως το κέλυφος του Unix). Σηµειωτέον ότι τα επίπεδα 5 έως 8 εστιάζουν τη λειτουργία τους σε διαδικασίες που επιτελούνται αποκλειστικά στο περιβάλλον ενός επεξεργαστή ενώ στα επίπεδα 8 έως 13 δύναται να γίνεται αναφορά και σε εξωτερικά του άµεσου περιβάλλοντος ενός µεµονωµένου H/Y αντικείµενα µε πρόσβαση σε άλλους H/Y µέσω χρήσης δικτύων. 1-11

EΠΛ 222 ENOTHTA 1 4. οµή ενός Λειτουργικού Συστήµατος (συνέχεια) Eπιστρέφοντας στον ρόλο του λειτουργικού συστήµατος βλέπουµε ότι εστιάζεται σε 4 βασικές περιοχές: IAXEIPHΣH IEPΓAΣIΩN (PROCESS MANAGEMENT) IAXEIPHΣH KYPIAΣ MNHMHΣ (MEMORY MANAGEMENT) POΛOΣ ΛEITOYPΓIKOY ΣYΣTHMATOΣ IAXEIPHΣH ΠEPIΦ. MNHMHΣ (STORAGE MANAGEMENT) IAXEIPHΣH ΣYΣKEYΩN E/E (I/O MANAGEMENT) 5. Mερικά τυπικά Λειτουργικά Συστήµατα Συστήµατα ενός χρήστη: MS-DOS, OS/2, Apple Macintosh, Windows NT, Windows 2000. Συστήµατα πολλών χρηστών: Unix, MVS, VM. 1-12