Λειτουργικό Σύστημα 2ο μέρος
Κατηγορίες Λογισμικού
Κατηγορίες Λογισμικού Λογισμικό Εφαρμογών: Εκτέλεση εργασιών με σκοπό την αξιοποίηση του υπολογιστή (π.χ λογιστικά φύλλα, συστήματα βάσεων δεδομένων κλπ) Λογισμικό Συστήματος: Παροχή υποδομής που απαιτεί το λογισμικό εφαρμογών
Κατηγορίες Λογισμικού Βοηθητικό λογισμικό: Θεμελιώδεις δραστηριότητες του υπολογιστή που δεν ανήκουν στο λειτουργικό σύστημα. Επεκτείνουν τις δυνατότητες του λειτουργικού συστήματος (π.χ formatting δίσκου) Λειτουργικό Σύστημα: Λογισμικό που ελέγχει τη συνολική λειτουργία του υπολογιστή
Κατηγορίες Λογισμικού Φλοιός: Τμήμα του ΛΣ μέσω του οποίου διεξάγεται η επικοινωνία του χρήστη με τη μηχανή. Για την επίτευξη αυτής της επικοινωνίας γίνεται χρήση μίας γραφικής διασύνδεσης με το χρήστη (graphical user interface – GUI) Πυρήνας: Στοιχεία λογισμικού τα οποία εκτελούν πολύ βασικές λειτουργίες του υπολογιστικού συστήματος (π.χ file manager)
Διαχείριση Μνήμης Διαχειριστής Μνήμης: Τμήμα του πυρήνα επιφορτισμένο με τον ρόλο του συντονισμού της χρήσης της κύριας μνήμης του υπολογιστή. Σε πολυχρηστικά ή πολυδιεργασιακά περιβάλλοντα ο υπολογιστής πρέπει να διεκπεραιώνει πολλές εργασίες ταυτόχρονα.
Διαχείριση Μνήμης Εκχώρηση: Καθορισμός επαρκούς χώρου μνήμης για την εκτέλεση μίας διεργασίας (πρόγραμμα και δεδομένα) Προστασία: Παρεμπόδιση προσπέλασης οποιασδήποτε διεργασίας σε περιοχή της μνήμης που δεν της έχει εκχωρηθεί Χρησιμοποίηση: Χρήση μνήμης κατά τον καλύτερο δυνατό τρόπο. Εκχώρηση όσο το δυνατόν περισσότερης και εξασφάλιση ύπαρξης διεργασιών στη μνήμη προς εκτέλεση
Χρησιμοποίηση Το ΛΣ μπορεί να εκχωρήσει σε μία διεργασία οποιοδήποτε τμήμα της μνήμης είναι διαθέσιμο Δυνατότητα μεταφοράς προγράμματος και δεδομένων από μία περιοχή της μνήμης σε μία άλλη Σκοπός είναι να διατηρούνται στην Κύρια Μνήμη όσο το δυνατόν περισσότερες εκτελέσιμες διεργασίες
Χρησιμοποίηση Τεχνική ανταλλαγής: Απομάκρυνση προγράμματος και δεδομένων δεσμευμένης εργασίας από την Κύρια Μνήμη στη Δευτερεύουσα Κατακερματισμένη μνήμη: Σημαντικό ποσοστό της αποτελείται από μη εκχωρημένες περιοχές καθεμία πολύ μικρή να χωρέσει μία νέα διεργασία (μέθοδοι αντιμετώπισης: συγχώνευση γειτονικών περιοχών, συμπύκνωση)
Σελιδοποίηση Επιτρέπει εκτέλεση διεργασίας όπου μέρος του προγράμματος και των δεδομένων βρίσκονται στην μνήμη. Πρόγραμμα και δεδομένα διαμερίζονται σε σελίδες ίσου μήκους και η μνήμη του υπολογιστή χωρίζεται σ’ έναν αριθμό πλαισίων σελίδας του ίδιου μεγέθους
Σελιδοποίηση Κάθε πλαίσιο σελίδας χωράει μία σελίδα Εκχώρηση από το ΛΣ στις διεργασίες πλαισίων σελίδας Επιτρέπει σ’ ένα πρόγραμμα να είναι μεγαλύτερο από τη μνήμη του υπολογιστή. Δίνει την ιδέα της εικονικής μνήμης
Πολιτικές Αντικατάστασης Σελίδων Απόφαση για το ποια σελίδα πρέπει να απομακρύνει Μεγαλύτερη παραμονή στη μνήμη Λιγότερο πρόσφατη χρησιμοποίηση Λιγότερο συχνή χρησιμοποίηση
Χρονοπρογραμματιστής Ευθύνη για την εκκίνηση μίας λειτουργίας Λαμβάνει υπόψη Ποσότητα πόρων που απαιτούνται Διαθέσιμη ποσότητα πόρων Προτεραιότητα εργασίας Χρονικό διάστημα αναμονής εργασίας
Εκχώρηση Πόρων Στατική: Όλοι οι πόροι που απαιτούνται εκχωρούνται στη διεργασία κατά την ενεργοποίηση και απελευθερώνονται όταν αυτή ολοκληρωθεί Δυναμική: Εκχώρηση πόρων όταν απαιτούνται και απελευθέρωση όταν δεν χρειάζονται Στη δυναμική έχουμε καλύτερη εκχώρηση πόρων αλλά υπάρχει πρόβλημα δημιουργίας αδιέξοδου Αδιέξοδο: Δύο (ή περισσότερες) διεργασίες όπου καθεμία κρατάει ένα πόρο που απαιτεί μία από τις άλλες
Σύστημα Αρχειοθέτησης (File System) Μπλοκς: Μονάδες σταθερού μεγέθους στη δευτερεύουσα μνήμη Ο χώρος στη δευτερεύουσα μνήμη εκχωρείται σε μπλοκς Το αρχείο καταλαμβάνει έναν αριθμό από μπλοκς Το σύστημα αρχειοθέτησης πρέπει να κρατάει πληροφορίες σχετικά με το ποια μπλοκς έχουν εκχωρηθεί στα αρχεία και ποια είναι ελέυθερα
Αρχεία Δευτερεύουσα μνήμη: Είναι η μνήμη όπου αποθηκεύονται προγράμματα και δεδομένα για μεγάλο χρονικό διάστημα Αρχείο: Συλλογή πληροφοριών η οποία αποτελεί μία οντότητα για τους χρήστες (π.χ: έγγραφο κειμένου, φωτογραφία, πρόγραμμα κλπ.) Σύστημα αρχειοθέτησης: Τμήμα του λειτουργικού συστήματος που είναι υπεύθυνο για τα αρχεία
Σύστημα Αρχειοθέτησης Λειτουργίες Δημιουργία και διαγραφή αρχείων Προσπέλαση αρχείων Διαχείριση χώρου δευτερεύουσας μνήμης Προστασία αρχείων από μη εξουσιοδοτημένη προσπέλαση Προστασία αρχείων από φθορά ή απώλεια λόγω βλάβης του υλικού ή του λογισμικού
Σύστημα αρχειοθέτησης Κατάλογος Το σύστημα αρχειοθέτησης διατηρεί ένα κατάλογο όπου υπάρχουν τα ονόματα των αρχείων και των αντίστοιχων θέσεων στο μέσο αποθήκευσης
Χειρισμός Ι/Ο Απαιτήσεις: Οι Ι/Ο συσκευές διαθέτουν ποικιλία λειτουργικών χαρακτηριστικών Το λειτουργικό σύστημα θα πρέπει να γνωρίζει πότε αρχίζουν οι μεταφορές Ι/Ο και πότε τερματίζουν Κάποιες Ι/Ο συσκευές είναι μοιραζόμενες
Αίτηση μεταφοράς Ι/Ο Έλεγχος ορθότητας αίτησης Έναρξη μεταφοράς Αλλαγή κατάστασης διεργασίας σε δεσμευμένη Κλήση διανομέα για επιλογή νέας διεργασίας
Ολοκλήρωση μεταφοράς Ι/Ο Δηλώνεται με μία διακοπή (interrupt) O χειριστής διακοπής (τμήμα του λειτουργικού συστήματος: Προσδιορίζει την πηγή της διακοπής Αλλάζει την κατάσταση της διεργασίας από δεσμευμένη σε έτοιμη Επανενεργοποιεί τη διεργασία που έτρεχε όταν έγινε η διακοπή ή γίνεται επιλογή μίας άλλης διεργασίας για να τρέξει