Λειτουργικό Σύστημα (Operating System) 1o μέρος
Εισαγωγή
Εισαγωγή Ένα υπολογιστικό σύστημα αποτελείται από διάφορα τμήματα Είναι αναγκαίο να υπάρχει ένα κομμάτι λογισμικού με σκοπό τη διαχείριση όλων αυτών των τμημάτων και την παροχή προγραμμάτων χρήστη με απλούστερη σύνδεση με το υλικό Αυτό το στρώμα λογισμικού ονομάζεται λειτουργικό σύστημα
Λειτουργίες του λειτουργικού συστήματος Απαλλαγή του χρήστη από θέματα σχετικά με χειρισμό εισόδου / εξόδου και άλλων σχετικών εργασιών Διευκόλυνση σχετικά με χειρισμό προγραμμάτων και δεδομένων Διαμοίραση πόρων του υπολογιστή ανάμεσα σε χρήστες που εργάζονται ταυτόχρονα
Βασικές έννοιες Εργασία (job): Σειρά δράσεων οι οποίες είναι απαραίτητες για την εκτέλεση ενός προγράμματος χρήστη Πόρος: Μνήμη, Ι/Ο συσκευές, επεξεργαστής Ρυθμός διεκπεραίωσης (throughput): Αριθμός εργασιών που εκτελεί ο υπολογιστής σε δεδομένο χρόνο
Βασικές έννοιες Ουρά εργασιών (FIFO): Οι εργασίες εκτελούνται μέσω μίας ουράς με την σειρά FIFO Πληροφορίες ελέγχου εργασιών (job control information): Περιγράφουν λεπτομερώς το είδος της εργασίας και τι ζητά ο χρήστης
Βασικές Έννοιες Διακοπές (interrupts): Σήματα των συσκευών εισόδου / εξόδου προς τον κεντρικό επεξεργαστή που δηλώνουν ότι η μεταφορά δεδομένων έχει ολοκληρωθεί Πολυπρογραμματισμός (multiprogramming): Προγράμματα και δεδομένα για πολλές εργασίες στην κεντρική μνήμη την ίδια στιγμή
Πολυπρογραμματισμός Διαδοχική εκτέλεση εργασιών:
Πολυπρογραμματισμός
Πολυπρογραμματισμός Ο επεξεργαστής χρησιμοποιείται συνεχώς Ρυθμός διεκπεραίωσης χωρίς πολυπρογραμματισμό: (1/6) – Ρυθμός διεκπεραίωσης με πολυπρογραμματισμό: (1/4) Βελτιωμένη χρησιμοποίηση πόρων Ταυτόχρονη πρόσβαση χρηστών (καταμερισμός χρόνου-> μοίρασμα επεξεργαστή ανάμεσα στους χρήστες
Πολυπρογραμματισμός - Απαιτήσεις Διανομή (dispatching): Εναλλαγή του υπολογιστή μεταξύ των εργασιών Χειρισμός διακοπών (interrupt handling): Σήμα ότι η εργασία ολοκλήρωσε τη μεταφορά και μπορεί να εκτελεστεί Εκχώρηση πόρων (resource allocation): Εκχώρηση πόρων σε εργασίες Προστασία πόρων (resource protection): Καμία εργασία δεν έχει πρόσβαση σε μη εκχωρημένο πόρο Χρονοπρογραμματισμός (scheduling):Απόφαση για το ποια εργασία θα εκτελεστεί όταν κάποια άλλη τελειώσει. Εξαρτάται από το πόσο επείγουσα είναι, τους διαθέσιμους πόρους και το πλήθος των πόρων που απαιτεί
Διανομέας (Dispatcher) Διεργασία (process): Εκτέλεση προγράμματος Ταυτόχρονη ύπαρξη διεργασιών -> καταμερισμός επεξεργαστή Καταμερισμός: Εναλλαγή CPU από τη μία διεργασία στην άλλη
Καταστάσεις διεργασίας Τρέχουσα (running): Εκτελείται από ΚΜΕ Έτοιμη (ready): Εκτελέσιμη και περιμένει να της εκχωρηθεί ΚΜΕ Δεσμευμένη ή μπλοκαρισμένη (blocked): Δεν μπορεί να εκτελεστεί μέχρι να συμβεί ένα γεγονός
Καταστάσεις διεργασίας
Κβάντο / Χρονοτεμάχιο Ποσό χρόνου που μία διεργασία μπορεί να εκτελείται συνεχώς
Διανομέας Στοιχείο του λειτουργικού συστήματος υπεύθυνο για την εναλλαγή της ΚΜΕ ανάμεσα στις διεργασίες Δίκαιος διαμοιρασμός ΚΜΕ