ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1
Χρήση Κρυφής Μνήμης (Cache) για Καλύτερη Επίδοση Κρυφή μνήμη (block cache): συλλογή από μπλοκ τα οποία ανήκουν λογικά στο δίσκο, αλλά διατηρούνται στη μνήμη για λόγους απόδοσης Συνηθισμένος αλγόριθμος για τη διαχείριση της κρυφής μνήνης: ελέγχει όλες τις αιτήσεις ανάγνωσης για να διαπιστώσει αν το ζητούμενο μπλοκ βρίσκεται στην κρυφή μνήμη Αν ΝΑΙ, η αίτηση ανάγνωσης μπορεί να ικανοποιηθεί χωρίς πρόσβαση στον δίσκο Αν ΟΧΙ, το μπλοκ τοποθετείται πρώτα στην κρυφή μνήμη και μετά αντιγράφεται όπου χρειάζεται. Οι επόμενες αιτήσεις για το ίδιο μπλοκ μπορούν να ικανοποιηθούν από την κρυφή μνήμη Λειτουργικά Συστήματα 2
Χρήση Κρυφής Μνήμης (Cache) για Καλύτερη Επίδοση Για την εξακρίβωση ύπαρξης μπλοκ στην κρυφή μνήμη:κατακερματισμός Δ/νσεων του Δίσκου και χρήση πίνακα κατακερματισμού (Hash Table). Για τα μπλοκ που έχουν ίδια τιμή κατακερματισμού: Δημιουργία Αλυσίδων Σύγκρουσης και λίστας διπλής κατεύθυνσης που διατρέχει όλα τα μπλόκ με βάση τη σειρά χρήσης Όταν πρόκειται να φορτωθεί ένα μπλοκ σε μια γεμάτη κρυφή μνήμη, πρέπει να αφαιρεθεί από αυτή κάποιο άλλο μπλοκ, το οποίο θα ξαναγραφτεί στον δίσκο αν έχει τροποποιηθεί από την ώρα που μεταφέρθηκε στην μνήμη. Για την κατάσταση αυτή που μοιάζει με τη λειτουργία της σελιδοποίησης μπορούν να εφαρμοστούν όλοι οι συνηθισμένοι αλγόριθμοι σελιδοποίησης Λειτουργικά Συστήματα 3
CD-ROM Καταχώρηση Καταλόγου στο ISO 9660: για να διασφαλιστεί η ανάγνωση όλων των CD-ROM από κάθε υπολογιστή, ανεξάρτητα από τη διάταξη των byte και το ΛΣ που χρησιμοποιείται Μοναδική συνεχής σπείρα που περιέχει τα bit σε γραμμική ακολουθία, τα οποία χωρίζονται σε λογικά μπλοκ (λογικοί τομείς) των 2352 byte (ωφέλιμο τμήμα 2048byte) Oι καταχωρήσεις καταλόγων έχουν μεταβλητά μήκη Λειτουργικά Συστήματα 4
CD-ROM Μέγεθος Καταχώρησης Δνση 1 ου μπλόκ Μέγεθος Αρχείου Δυνατότητα η καταχώρηση καταλόγου να αναφέρεται σε αρχείο που βρίσκεται σε άλλο CD Στόχος είναι οι καταχωρήσεις να έχουν μονό αριθμό bytes Σημαίες (flags): διάφορα bit π.χ. για τον διαχωρισμό, καταχώρισης αρχείου από καταχώριση καταλόγου, για την ενημέρωση για την επόμενη καταχώριση σε έναν κατάλογο Interleave: σχετίζεται με την παρεμβολή τμημάτων αρχείων (δεν χρησιμοποιείται στην απλούστερη εκδοχή του ISO 9660) Tα δύο τελευταία πεδία δεν υπάρχουν πάντα Συμπλήρωμα (padding): αν χρειάζεται προστίθεται ένα byte με τιμή 0 ώστε κάθε καταχώριση καταλόγου να χρησιμοποιεί ζυγό αριθμό byte Σύστημα (system): χρησιμοποιείται από κάθε σύστημα για διαφορετικό σκοπό Λειτουργικά Συστήματα 5
MS-DOS Δείκτης σε FAT Αν και οι κατάλογοι του MS-DOS έχουν μεταβλητό μέγεθος, χρησιμοποιούν καταχωρίσεις με σταθερό μήκος 32byte Η αποθήκευση του μεγέθους του αρχείου με αριθμό των 32bit περιορίζει θεωρητικά το μέγεθός τους έως 4GB (λόγω άλλων περιορισμών μειώνεται σε μικρότερο ή ίσο των 2GB) Το MS-DOS παρακολουθεί τα μπλοκ των αρχείων μέσω ενός πίνακα κατανομής αρχείων (File Allocation Table) στην κύρια μνήμη Λειτουργικά Συστήματα 6
MS-DOS FAT-12, FAT-16, FAT-32: ανάλογα με πόσα bit περιέχει μια διεύθυνση δίσκου Σε όλα τα συστήματα FAT, το μπλοκ δίσκου μπορεί να είναι οποιοδήποτε πολλαπλάσιο των 512 byte (πιθανώς διαφορετικό για κάθε διαμέρισμα), και το σύνολο των επιτρεπόμενων μπλοκ είναι διαφορετικό σε κάθε υλοποίηση Μέγιστο μέγεθος των διαμερισμάτων του δίσκου Λειτουργικά Συστήματα 7
MS-DOS Το MS-DOS χρησιμοποιεί το FAT για να παρακολουθεί τα ελεύθερα μπλοκ δίσκου Κάθε μπλοκ που δεν έχει εκχωρηθεί σημειώνεται με έναν ειδικό κωδικό. Όταν το MS-DOS χρειάζεται ένα νέο μπλοκ δίσκου, ψάχνει στο FAT για να βρει μια καταχώριση που περιέχει τον κωδικό αυτό => δεν χρειάζεται χάρτης bit ή λίστα ελεύθερων μπλοκ Λειτουργικά Συστήματα 8
UNIX V7 Καταχώρηση Καταλόγου στο UNIX V7: οι 2 παράμετροι περιορίζουν το μέγιστο αριθμό αρχείων ανά σύστημα αρχείων σε 64Κ Λειτουργικά Συστήματα 9
UNIX V7 Τα χαρακτηριστικά UNIX i-node περιλαμβάνουν: Μέγεθος αρχείου Χρόνος δημιουργίας, τελευταίας προσπέλασης και τελευταίας τροποποίησης Ιδιοκτήτη αρχείου Ομάδα Πληροφορίες προστασίας Μετρητή των καταχωρίσεων καταλόγου που δείχνουν στον συγκεκριμένο κόμβο UNIX i-node Λειτουργικά Συστήματα 10
UNIX V7 Αναζήτηση του Αρχείου /usr/ast/mbox Λειτουργικά Συστήματα 11