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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

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

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

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

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

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

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

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

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

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

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

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

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

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

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

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

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

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

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

Κεφάλαιο 3: Λειτουργικά Συστήµατα

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

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

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

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

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

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

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

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

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

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

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

Εξετάσεις Προόδου 8/1/2014 Τεχνικός Εφαρμογών Πληροφορικής (Πολυμέσα/ Web designer - developper/video games)

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

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

Κεφάλαιο 3: Λειτουργικά Συστήματα

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

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

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling)

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

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

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

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

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

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

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

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

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

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

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

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

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

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

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

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

ροµολόγηση Επεξεργαστή

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

Προγραµµατισµός 2 The shell

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

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

Transcript:

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

Figure 3.1 Batch processing 0-2 Λογισμικό Συστήματος

Figure 3.2 Interactive processing 0-3 Λογισμικό Συστήματος

Figure 3.3 Software classification 0-4 Λογισμικό Συστήματος

Figure 3.4 The user interface act as an intermediary between users and the operating system kernel 0-5 Λογισμικό Συστήματος

Operating System Components User Interface: Communicates with users Ø Text based (Shell) Ø Graphical user interface (GUI) Kernel: Performs basic required functions Ø File manager Ø Device drivers Ø Memory manager Ø Scheduler and dispatcher 0-6 Λογισμικό Συστήματος

Figure 3.5 The booting process 0-7 Λογισμικό Συστήματος

Λογισμικό Συστήματος 8 Περιεχόµενα 1. Βασικό λειτουργικό σύστηµα 2. Επαύξηση των δυνατοτήτων του 2.1 Διανοµέας 2.2 Διαχείριση µνήµης 2.3 Χειρισµός εισόδου-εξόδου

Λειτουργικά συστήµατα Λογισμικό Συστήματος 9 Το λειτουργικό σύστημα εκπληρώνει πολλές επιμέρους λειτουργίες: 1. Κρύβει από το χρήστη τα χαρακτηριστικά του υλικού του υπολογιστή (χειρισμός εισόδου-εξόδου) 2. Παρέχει ευκολίες για το χειρισμό προγραμμάτων και δεδομένων (π.χ., μεταγλωτίση προγραμμάτων, συγχώνευση αρχείων) 3. Διαμοιράζει τους πόρους του Η/Υ σε χρήστες και προγράμματα συσκευές που δουλεύουν ταυτόχρονα

Λειτουργικά συστήµατα Λογισμικό Συστήματος 10 Μια εργασία (job) μπορεί να θεωρηθεί σαν μια σειρά δράσεων απαραίτητων για να εκτελεστεί ένα πρόγραμμα (π.χ., μεταγλώττιση του πηγαίου προγράμματος, φόρτωμα και εκτέλεση του αντικείμενου προγράμματος) Χωρίς λειτουργικό σύστημα ο χρήστης θα έπρεπε: 1. Να παρουσιάσει τον πηγαίο κώδικα σε κατάλληλη είσοδο 2. Να ενεργοποιήσει τον μεταγλωττιστή ώστε να διαβάσει από την είσοδο και να τοποθετήσει το αντικείμενο πρόγραμμα στη δευτερεύουσα μνήμη 3. Να ενεργοποιήσει το φορτωτή ώστε να μεταφέρει το αντικείμενο πρόγραμμα από τη δευτερεύουσα μνήμη στην κύρια μνήμη 4. Να τα τοποθετήσει τα δεδομένα που απαιτούνται στην κατάλληλη συσκευή εισόδου 5. Να αρχίσει την εκτέλεση του προγράμματος 6. Να συλλέξει το αποτέλεσμα από τη συσκευή εξόδου

Λειτουργικά συστήµατα Λογισμικό Συστήματος 11 ØO ρυθμός διεκπεραίωσης εργασιών είναι πολύ χαμηλός ØΒελτίωση με τη χρήση κατάλληλου προγράμματος που ενεργοποιεί το μεταγλωττιστή, το φορτωτή και το αντικείμενο πρόγραμμα την κατάλληλη στιγμή Ø Ανάγκη ύπαρξης πληροφοριών ελέγχου για κάθε εργασία Ø Επίσης απαραίτητη η δυνατότητα διαχείρισης λαθών Ø...ουσιαστικά ένα εμβρυακό λειτουργικό σύστημα

Διαχείριση λειτουργιών εισόδου - εξόδου Λογισμικό Συστήματος 12 Ø Με τη χρήση του λειτουργικού ο ρυθμός εξυπηρέτησης εργασιών εξαρτάται ουσιαστικά από την ταχύτητα των συσκευών εισόδου/εξόδου Ø Χρήση διακοπών (interrupts) που δείχνουν ότι η μεταφορά δεδομένων έχει ολοκληρωθεί ØΗ διακοπή επιτρέπει στην CPU να αρχίσει την είσοδο/έξοδο, να συνεχίσει την επεξεργασία, και να ειδοποιηθεί όταν η είσοδος/έξοδος έχει ολοκληρωθεί ØΕπικάλυψη ειδόδου/εξόδου και επεξεργασίας με πολυπρογραμματισμό(multiprogramming): συνύπαρξη προγραμμάτων και δεδομένων για πολλές εργασίες στη μνήμη την ίδια στιγμή ØΠλεονεκτήματα από τη χρήση πολυπρογραμματισμού: Ø Αύξηση ρυθμού διεκπεραίωσης Ø Βελτίωση στη χρήση πόρων (π.χ., περιφερειακά) Ø Δυνατότητα πρόσβασης πολλών χρηστών ταυτόχρονα

Πολυπρογραµµατισµός Αρχικά 333 εργασίες το δευτερόλεπτο (1 εργασία κάθε 3 ms) Τελικά 500 εργασίες το δευτερόλεπτο (1 εργασία κάθε 2 ms) Αύξηση της τάξης του 50% Λογισμικό Συστήματος 13

Επαύξηση δυνατοτήτων του βασικού λειτουργικού συστήµατος Λογισμικό Συστήματος 14 l. Διανομή (dispatching) Κατάλληλη εναλλαγή του υπολογιστή από μια εργασία σε άλλη. 2. Χειρισμός διακοπών (interrupt handling) Διερμηνεία κάθε διακοπής ως σήμα ότι η μεταφορά εισόδου/εξόδου έχει ολοκληρωθεί και γι ' αυτό η εργασία η οποία ζήτησε τη μεταφορά μπορεί τώρα να προχωρήσει στην εκτέλεσή της. 3. Εκχώρηση πόρων (resource allocation) Εκχώρηση των πόρων του υπολογιστή σε εργασίες σύμφωνα με τις απαιτήσεις (μνήμη, συσκευές εισόδου-εξόδου, επεξεργαστή) 4. Προστασία πόρων (resource protection) Εξασφάλιση ότι καμία εργασία δεν μπορεί να έχει πρόσβαση σε κάποιο πόρο, ο οποίος δεν της έχει εκχωρηθεί. 5. Χρονοπρογραμματισμός (scheduling) Απόφαση για το ποια εργασία (ή εργασίες) θα επιλεγούν για εκτέλεση όταν κάποια άλλη εργασία τελειώσει.. Η απόφαση βασίζεται σε παράγοντες όπως το πόσο επείγει η κάθε εργασία, οι πόροι που προς το παρόν διατίθενται και οι πόροι που απαιτεί κάθε εργασία.

Διανοµέας Λογισμικό Συστήματος 15 l. Η εκτέλεση ενός προγράμματος καλείται διεργασία (process) 2. Υπάρχουν διεργασίες του λειτουργικού συστήματος και των χρηστών 3. Πρέπει να γίνεται καταμερισμός της CPU μεταξύ των διεργασιών 4. Ο καταμερισμός επιτυγχάνεται με την εναλλαγή των διεργασιών στη CPU για εκτέλεση (π.χ., κάθε πεντηκοστό του δευτερολέπτου) Όταν μια διεργασία ξεκινήσει μπορεί να βρίσκεται σε μία από τις ακόλουθες καταστάσεις: 1. Τρέχουσα (running). 2. Έτοιμη (ready). 3. Δεσμευμένη ή μπλοκαρισμένη (blocked).

Διανοµέας Λογισμικό Συστήματος 16 Η ευθύνη για την εναλλαγή διεργασιών στη CPU ανατίθεται στο διανομέα (dispatcher) ο οποίος καλείται όταν: 1. Μια διεργασία απαιτεί μεταφορά εισόδου/εξόδου και άρα δεσμεύεται, ή 2. τελειώσει το κβάντο μιας διεργασίας που τρέχει, δείχνοντας ότι η αντίστοιχη CPU πρέπει να εκχωρηθεί. 3. Μια διεργασία που τρέχει, τελειώσει.

Διανοµέας Λογισμικό Συστήματος 17 Για την αποφυγή μονοπώλησης της CPU από μία διεργασία, ορίζεται ως μέγιστο ποσό χρόνου εκτέλεσης στη CPU κάθε φορά ένα κβάντο ή χρονοτεμάχιο (time-slice), π.χ., 0,02 0,25 sec

Διαχείριση µνήµης Λογισμικό Συστήματος 18 Η διαχείριση της μνήμης έχει τρεις βασικές όψεις: 1. Εκχώρηση (allocation): ορισμός μνήμης ικανής να χωρέσει το πρόγραμμα και τα δεδομένα του 2. Προστασία (protection): παρεμπόδιση της προσπέλασης οποιασδήποτε διεργασίας σε περιοχή της μνήμης που δεν της έχει εκχωρηθεί. 3. Χρησιμοποίηση (utilization): εκχωρούμε όσο το δυνατό μεγαλύτερου μέρους της και εξασφάλιση ύπαρξης διεργασιών στη μνήμη που είναι έτοιμες να εκτελεστούν Διαχωρισμός μεταξύ διευθύνσεων προγράμματος και διευθύνσεων μνήμης

Καταχωρητές βάσης και ορίου Λογισμικό Συστήματος 19

Μετασχηµατισµός διεύθυνσης Λογισμικό Συστήματος 20

Διαδικασία ανταλλαγής Λογισμικό Συστήματος 21 Ø Σκοπός του λειτουργικού είναι να κρατά στη μνήμη όσο το δυνατό περισσότερες διεργασίες Ø Η περιοχή μνήμης που καταλαμβάνει μια διεργασία δε μπορεί αν χρησιμοποιηθεί από άλλη Ø Διαδικασία swapping (ανταλλαγή): μεταφορά διεργασιών από την κύρια μνήμη στη δευτερεύουσα και δημιουργία χώρου για άλλες ØΌταν η διεργασία επιστρέφει στη μνήμη δεν καταλαμβάνει το ίδιο κομμάτι μνήμης ØΚριτήρια για την ανταλλαγή:προτεραιότητα διεργασίας, μέγεθος μνήμης που καταλαμβάνει, διάρκεια χρόνου που εκτιμάται ότι θα είναι δεσμευμένη, διάρκεια που έχει καταλάβει τη μνήμη

Κατακερµατισµός µνήµης Λογισμικό Συστήματος 22 Ø Ο υπερβολικός κατακερματισμός σημαίνει και χαμηλή χρησιμοποίηση της μνήμης Ø Αντιμετώπιση με προσεκτική εκχώρηση της μνήμης βάση κατάλληλων αλγορίθμων, συγχώνευση γειτονικών περιοχών αχρησιμοποίητης μνήμης, ή συμπύκνωση

Συµπύκνωση (compaction) Λογισμικό Συστήματος 23 Μειονέκτημα των παραπάνω σεναρίων: 1. Δεσμεύεται χώρος για όλο το πρόγραμμα και τα δεδομένα 2. Το μέγεθος του προγράμματος και των δεδομένων δεσμεύεται από το μέγεθος της μνήμης

Σελιδοποίηση (paging) Λογισμικό Συστήματος 24 Ø Σελιδοποίηση: τεχνική διαχείρισης της μνήμης που επιτρέπει σε μια διεργασία να εκτελεστεί ενώ μόνο μέρος της βρίσκεται στη μνήμη ØΤο πρόγραμμα διαμερίζεται σε σελίδες ίσου μήκους και η μνήμη χωρίζεται σε ένα αριθμό πλαισίων σελίδας του ίδιου μεγέθους ØΑν το μέγεθος σελίδας είναι 1000 τότε η σελίδα 0 περιέχει διευθύνσεις 0-999 και η σελίδα 1 1000-1999 ØΗ CPU μετασχηματίζει μια διεύθυνση προγράμματος σε διεύθυνση μνήμης με τον υπολογισμό από τη σελίδα και τη θέση (π.χ., 2764 à σελίδα 2 θέση 764) και τη χρήση πληροφοριών του λειτουργικού συστήματος (πίνακας σελίδων) για το πλαίσιο σελίδας που καταλαμβάνει ØΧαμηλός κατακερματισμός αλλά χρήση από πίνακες σελίδων και αύξηση της πολυπλοκότητας

Μετασχηµατισµός διεύθυνσης Λογισμικό Συστήματος 25

Μετασχηµατισµός διεύθυνσης Λογισμικό Συστήματος 26

Επιλογή σελίδας προς αντικατάσταση Λογισμικό Συστήματος 27 Υπάρχουν τρεις επιλογές που χρησιμοποιούνται συχνά για την επιλογή της σελίδας η οποία θα αντικατασταθεί: 1. Μεγαλύτερη παραμονή στη μνήμη (longest resident in memory) με την υπόθεση ότι πιθανώς δεν θα χρησιμοποιηθεί ξανά. 2. Λιγότερο πρόσφατη χρησιμοποίηση (least recently used) με την υπόθεση πως μια σελίδα που δεν έχει χρησιμοποιηθεί πολύ πρόσφατα δεν θα χρησιμοποιηθεί πάλι στο άμεσο μέλλον. 3. Λιγότερο συχνή χρησιμοποίηση (least frequently used) με την υπόθεση ότι μια σελίδα που δεν έχει χρησιμοποιηθεί πολύ συχνά στο άμεσο παρελθόν είναι ομοίως πιθανό να μη χρησιμοποιηθεί στο άμεσο μέλλον.

Χρονοπρογραµµατισµός και εκχώρηση πόρων Λογισμικό Συστήματος 28 Η ευθύνη για την εκκίνηση μιας λειτουργίας επαφίεται σε ένα στοιχείο που λέγεται χρονοπρογραμματιστής (scheduler) Για να αποφασίσει ο χρονοπρογραμματιστής πότε θα ξεκινήσει μια διεργασία παίρνει υπόψη του παράγοντες όπως: 1. Η ποσότητα των πόρων (π.χ. μνήμη, χρόνος επεξεργασίας, I/O συσκευές) που απαιτεί μια διεργασία. 2. Η ποσότητα των πόρων που είναι διαθέσιμες επί του παρόντος. 3. Η προτεραιότητα της εργασίας με την οποία σχετίζεται η διεργασία. 4. Το χρονικό διάστημα που περίμενε η σχετική εργασία. Επιλογή βάση κριτηρίων (π.χ., μεγαλύτερος βαθμός διεκπεραίωσης ή παροχή προτεραιότητας σε συγκεκριμένες λειτουργίας?) Στατική (απαιτούνται όλοι οι πόροι) ή δυναμική (δύσκολη στη διαχείριση deadlocks) εκχώρηση πόρων

Χειρισµός εισόδου - εξόδου Λογισμικό Συστήματος 29 ØΟ χειρισμός των συναλλαγών εισόδου/εξόδου γίνεται από το λειτουργικό σύστημα : l. Οι συσκευές Ι/Ο που είναι συνδεδεμένες σ' έναν υπολογιστή διαθέτουν μεγάλη ποικιλία λειτουργικών χαρακτηριστικών 2. Για την αποδοτική εκχώρηση των επεξεργαστών σε σχέση με το πότε αρχίζουν και τελειώνουν οι μεταφορές I/O 3. Για την ασφαλή διαχείριση μοιραζόμενων shareab1e (σκληρός δίσκος) και μη μοιραζόμενων unshareable (εκτυπωτής) συσκευών Ι/Ο ØΗ κλήση για μεταφορά Ι/Ο ενεργοποιεί το κατάλληλο στοιχείου του λειτουργικού σε: 1. Έλεγχος της ορθότητας της αίτησης (δηλαδή ότι η συσκευή Ι/Ο είναι εκχωρημένη στη ζητούσα διεργασία). 2. Αρχικοποίηση της μεταφοράς εκτελώντας εντολές κατάλληλες για την αναφερόμενη συσκευή Ι/Ο. 3. Δέσμευσης της διεργασίας που υπέβαλλε την αίτηση. 4. Κλήση του διανομέα να επιλέξει κάποια άλλη διεργασία για να τρέξει.

Χειρισµός εισόδου - εξόδου Λογισμικό Συστήματος 30 Η ολοκλήρωση της μεταφοράς σηματοδοτείται με τη βοήθεια μιας διακοπής (η CPU εκτελεί ένα άλμα σε μια σταθερή θέση στη μνήμη) Αυτή η θέση περιέχει την πρώτη οδηγία του χειριστή διακοπής (interrupt handler), Ο χειριστής διακοπής: 1. Προσδιορίζει την πηγή της διακοπής και συνεπώς τη διεργασία 2. Μεταβάλλει την κατάσταση αυτής της διεργασίας (δεσμευμένη à έτοιμη) 3. Ενεργοποιεί εκ νέου τη διεργασία, η οποία έτρεχε όταν σημειώθηκε η διακοπή.

Έλεγχος εργασιών Λογισμικό Συστήματος 31 Οι οδηγίες από τον χρήστη στο λειτουργικό σύστημα εκφράζονται σε μια γλώσσα Ελέγχου Εργασιών (job control language) ή γλώσσα προσταγών (command Iauguage). Οι περισσότερες απ' αυτές τις γλώσσες επιτρέπουν να μεταβιβάζονται οι ακόλουθες μορφές πληροφοριών: 1. Λειτουργικές πληροφορίες (operational information) à τι λειτουργίες θέλει ο χρήστης να εκτελεστούν (π.χ. η αντιγραφή ενός αρχείου, η εκτέλεση ενός προγράμματος). 2. Ι/Ο πληροφορίες (Ι/Ο information), à από που πρόκειται να έρθουν τα προγράμματα και/ή τα δεδομένα και που πρόκειται να σταλεί η όποια έξοδος 3. Πληροφορίες πόρων (resource information), à εκτίμηση των πόρων που χρειάζονται για να εκτελεστεί η λειτουργία και χρησιμοποιούνται από τον χρονοπρογραμματιστή (scheduler) 4. Ταυτότητα του χρήστη (user identification), που καθορίζει ποιος είναι ο χρήστης και δίνει τα διαπιστευτήριά του (π.χ. αριθμός λογαριασμού του χρήστη και το συνθηματικό (password).

Σύστηµα αρχειοθέτησης Λογισμικό Συστήματος 32