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



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

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Περιβαλλοντικών Δεδομένων

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στους Αλγορίθμους

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

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

Διοικητική Λογιστική

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

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

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

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Λογιστική Κόστους Ενότητα 10: Ασκήσεις Προτύπου Κόστους Αποκλίσεων.

Εισαγωγή στους Αλγορίθμους

Διαχείριση Πολιτισμικών Δεδομένων

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Άσκηση Αλγόριθμος Dijkstra

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους

Λογιστική Κόστους Ενότητα 11: Λογισμός Κόστους (1)

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Μηχανολογικό Σχέδιο Ι

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 1: Εκτιμητές και Ιδιότητες. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου

Ιστορία της μετάφρασης

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 4: Πηγές Δεδομένων- Δευτερογενή Στοιχεία. Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Εκκλησιαστικό Δίκαιο. Ενότητα 10η: Ιερά Σύνοδος της Ιεραρχίας και Διαρκής Ιερά Σύνοδος Κυριάκος Κυριαζόπουλος Τμήμα Νομικής Α.Π.Θ.

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

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 1: Ο ΡΟΛΟΣ ΤΩΝ ΠΩΛΗΣΕΩΝ ΣΤΟ ΠΛΑΙΣΙΟ ΤΗΣ ΣΤΡΑΤΗΓΙΚΗΣ ΜΑΡΚΕΤΙΝΓΚ

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Λογιστική Κόστους. Ενότητα 4: ΣΥΜΠΕΡΙΦΟΡΑ - ΦΥΣΗ ΚΟΣΤΟΥΣ. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal

Διοικητική Λογιστική

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 7: Υπερφόρτωση τελεστών. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Οργάνωση και Διοίκηση Πωλήσεων

Οικονομετρία Ι. Ενότητα 3: Θεώρημα των Gauss Markov. Δρ. Χαϊδώ Δριτσάκη Τμήμα Λογιστικής & Χρηματοοικονομικής

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

Ηλεκτροτεχνία ΙΙ. Ενότητα 2: Ηλεκτρικά κυκλώματα συνεχούς ρεύματος. Δημήτρης Στημονιάρης, Δημήτρης Τσιαμήτρος Τμήμα Ηλεκτρολογίας

Βάσεις Περιβαλλοντικών Δεδομένων

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 1

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Δομές Δεδομένων Ενότητα 1

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διοίκηση Έργου. Ενότητα 4: Μέθοδοι Χρονικού Προγραμματισμού Έργων. Σαμαρά Ελπίδα Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

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

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Τεχνολογία Πολυμέσων. Ενότητα 8: Pool Table. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών

Εκκλησιαστικό Δίκαιο

Συστήματα Αναμονής. Ενότητα 5: Ανέλιξη Poisson. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Συστήματα Αναμονής. Ενότητα 3: Στοχαστικές Ανελίξεις. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Γενικά Μαθηματικά Ι. Ενότητα 12: Κριτήρια Σύγκλισης Σειρών. Λουκάς Βλάχος Τμήμα Φυσικής ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Συστήματα Αναμονής. Ενότητα 9: Ανέλιξη Γέννησης - Θανάτου. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

ΗΛΕΚΤΡΟΤΕΧΝΙΑ-ΗΛΕΚΤΡΟΝΙΚΗ ΕΡΓΑΣΤΗΡΙΟ

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

Λογιστική Κόστους Ενότητα 5: Προορισμός Κόστους

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Προγραμματισμός H/Y Ενότητα 7: Αρχεία. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Εισαγωγικές έννοιες θεωρίας Συστημάτων Αυτομάτου Ελέγχου Ενότητα 2 η : ΠΕΡΙΓΡΑΦΗ ΣΥΣΤΗΜΑΤΩΝ ΜΕ ΜΑΘΗΜΑΤΙΚΑ ΜΟΝΤΕΛΑ

Ψηφιακή Επεξεργασία Εικόνων

Σχεδίαση Δικτύων Υπολογιστών

Ειδικά Θέματα Δικτύων Ι

Συστήματα Αναμονής. Ενότητα 6: Θεωρία Ουρών. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Ειδικά Θέματα Δικτύων Ι

Συστήματα Αναμονής. Ενότητα 7: Ουρά Μ/Μ/1. Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ

Θεσμοί Ευρωπαϊκών Λαών Ι 19 ος -20 ος αιώνας

Συστήματα Πολυμέσων Ενότητα 4: Συμπίεση. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΑΝΤΙΡΡΥΠΑΝΤΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΑΙΩΡΟΥΜΕΝΩΝ ΣΩΜΑΤΙΔΙΩΝ Ενότητα 2: Αιωρούμενα σωματίδια & Απόδοση συλλογής Αν. Καθ. Δρ Μαρία Α. Γούλα Τμήμα Μηχανικών

Κβαντική Επεξεργασία Πληροφορίας

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 2 - Εργαστήριο

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Constructors και destructors

Οργάνωση και Διοίκηση Πωλήσεων Ενότητα 8: ΟΡΓΑΝΩΣΗ ΤΗΣ ΔΥΝΑΜΗΣ ΠΩΛΗΤΩΝ

Βάσεις Δεδομένων Ενότητα 1

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

Εισαγωγή στη Διοίκηση Επιχειρήσεων Ενότητα 3: Λήψη Αποφάσεων Επίκ. Καθηγητής Θεμιστοκλής Λαζαρίδης Τμήμα Διοίκηση Επιχειρήσεων (Γρεβενά)

Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Κληρονομικότητα. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Transcript:

Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 9: Αρχεία ΙΙ Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σεάδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI Δυτικής Μακεδονίας και στην Ανώτατη Εκκλησιαστική Ακαδημία Θεσσαλονίκης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3

Σκοποί ενότητας Υλοποίηση συστήματος αρχείων. Διάταξη του συστήματος αρχείων. Υλοποίηση των αρχείων(συνεχής κατανομή). Υλοποίηση των αρχείων(κατανομή συνδεδεμένης λίστας). Υλοποίηση καταλόγων. Υλοποίηση με κόμβους-i(i-nodes). Ημερολογιακά συστήματα αρχείων. Εικονικά συστήματα αρχείων. 4

Περιεχόμενα ενότητας (1/2) Υλοποίηση συστήματος αρχείων. Διάταξη του συστήματος αρχείων. Υλοποίηση των αρχείων(συνεχής κατανομή). Υλοποίηση των αρχείων(κατανομή συνδεδεμένης λίστας). Υλοποίηση καταλόγων. Υλοποίηση με κόμβους-i(i-nodes). Ημερολογιακά συστήματα αρχείων. Εικονικά συστήματα αρχείων. 5

Περιεχόμενα ενότητας (2/2) Διαχείριση βελτιστοποίηση συστήματος αρχείων. Μέγεθος μπλοκ. Παρακολούθηση των ελεύθερων μπλοκ. Ποσόστωση χρήσης δίσκου. Αντίγραφα ασφαλείας συστήματος αρχείων. The MS-DOS File System. The UNIX V7 File System. 6

Υλοποίηση συστήματος αρχείων 7

Διαφορετικές όψεις χρήσης και υλοποίησης συστήματος αρχείων Άποψη του χρήστη: Ονομασία αρχείων. Τρόπος προσπέλασης αρχείων και καταλόγων. Δομή αποθήκευσης (δένδρο αρχείων). Θέματα διασύνδεσης. Άποψη του προγραμματιστή: Αποθήκευση των αρχείων και καταλόγων. Διαχείριση χώρου στο δίσκο. Θέματα απόδοσης και Αξιοπιστίας. 8

Διάταξη του συστήματος αρχείων(1/3) Διαμέρισμα δίσκου (disk partition): Κάθε διαμέρισμα ενός δίσκου μπορεί να έχει διαφορετικό σύστημα αρχείων. Βασική Εγγραφή Εκκίνησης (MasterBootRecord): MBR: Χρησιμοποιείται για την εκκίνηση του υπολογιστή. Είναι ο τομέας 0 του δίσκου. Περιλαμβάνει: Τον πίνακα διαμερισμάτων (partitiontable): Βρίσκεται στο τέλος του MBR. Το BIOS φορτώνει στη μνήμη το MBR και αναζητεί το ενεργό διαμέρισμα. Το μπλοκ εκκίνησης (bootblock): Είναι το 1ο μπλοκ στο MBR το οποίο φορτώνει το ενεργό διαμέρισμα. 9

Διάταξη του συστήματος αρχείων (3/3) Σε κάθε partition περιλαμβάνονται: Το boot block περιλαμβάνει πληροφορία εάν το partition είναι ενεργό. Το superblock(υπερμπλόκ) περιέχει πληροφορίες για το σύστημα αρχείων (τύπος συστήματος αρχείων, αριθμός μπλοκ κτλ) και φορτώνεται στη μνήμη όταν ξεκινάει ο υπολογιστής ή την 1η φορά που θα χρησιμοποιηθεί το σύστημα αρχείων. Διαχείριση ελεύθερου χώρου (χάρτης bitή συνδεδεμένη λίστα). I-nodes: ένας πίνακας δομών δεδομένων, μία για κάθε αρχείο, με χρήσιμα στοιχεία που αφορούν το κάθε αρχείο. Βασικός κατάλογος. Αρχεία και άλλοι κατάλογοι. 11

Υλοποίηση των αρχείων (συνεχής κατανομή) Σε αυτή την περίπτωση, κάθε αρχείο καταλαμβάνει τόσα συνεχόμενα μπλοκ, όσα απαιτεί το μέγεθός του. Πλεονεκτήματα: Πολύ εύκολη υλοποίηση είναι. Εξαιρετική απόδοση ανάγνωσης. Μειονεκτήματα: Το σύστημα γρήγορα γεμίζει από κενά τα οποία είναι δύσκολο να διαχειριστεί. Δεν είναι εύκολη η διαχείριση αρχείων το οποίο ενδέχεται να αλλάξει μέγεθος (π.χ. ένα αρχείο κειμένου). Θα απαιτούσε συνεχή ανασυγκρότηση δίσκου (πολύ χρονοβόρο). Χρησιμοποιείται στα CD-ROM, εφόσον το μέγεθος των αρχείων είναι εκ των προτέρων γνωστό. 13

Υλοποίηση των αρχείων (κατανομή συνδεδεμένης λίστας)(2/2) Διατήρηση μίας συνδεδεμένης λίστας των μπλοκ δίσκου. Κάθε εγγραφή στη λίστα δείχνει ποιο (λογικό) μπλοκ του αρχείου αντιστοιχεί σε ποιο (φυσικό) μπλοκ του δίσκου. Επίσης έχει ένα δείκτη προς το επόμενο μπλοκ. Πλεονεκτήματα: Δεν υπάρχει απώλεια μπλοκ, παρά μόνο λόγω εσωτερικής κατάτμησης (απώλεια στο τελευταίο μπλοκ κάθε αρχείου). Αρκεί η αποθήκευση του 1ου μπλοκ κάθε αρχείου. Μειονεκτήματα: Η τυχαία προσπέλαση είναι πολύ αργή. (για ανάγνωση του N block, πρέπει πρώτα να βρεθούν τα προηγούμενα N-1 blocks). 15

Υλοποίηση των αρχείων Πλεονεκτήματα: (2/2) Δεν υπάρχει απώλεια μπλοκ, παρά μόνο λόγω εσωτερικής κατάτμησης (απώλεια στο τελευταίο μπλοκ κάθε αρχείου). Γρήγορη προσπέλαση. Μειονεκτήματα: Ο πίνακας πρέπει να διατηρείται στη μνήμη (πρόβλημα για μεγάλους δίσκους με πολλά αρχεία). Για μεγάλα συστήματα αρχείων γίνεται πολύ ακριβή η φόρτωση του πίνακα αρχείων στη μνήμη. 17

Πλεονεκτήματα: Υλοποίηση με κόμβους-i (inodes)(2/2) Αν γνωρίζουμε το i-nodeενός αρχείου, μπορούμε να βρούμε όλα τα μπλοκ του. Ο i-nodeενός αρχείου δεν βρίσκεται πάντα στη μνήμη (όπως το FAT) αλλά μόνο όταν το αρχείο είναι ανοικτό. Ο πίνακας κάθε i-nodeείναι ανάλογος του μεγέθους του κάθε αρχείου. Μειονεκτήματα: Κάθε i-nodeέχει συγκεκριμένο αριθμό εγγραφών. Ενδέχεται το μέγεθος του αρχείου να είναι μεγαλύτερο από το διαθέσιμο αριθμό δεικτών προς μπλοκ. Μία λύση είναι η τελευταία εγγραφή να δείχνει προς ένα μπλοκ ο οποίο περιλαμβάνει διευθύνσεις σε πολλά μπλοκ δίσκου 19

Υλοποίηση καταλόγων (2/2) Ο κατάλογος περιέχει τις πληροφορίες που χρειάζονται για να βρεθεί το μπλοκ του δίσκου για κάθε αρχείο. π.χ, η διεύθυνση όλων των μπλοκ (για συνεχή κατανομή αρχείων), ή η διεύθυνση του 1ου μπλοκ (για συνδεδεμένη λίστα), ή ο αριθμός του κόμβου-i (για i-nodes). Επίσης περιλαμβάνει πληροφορίες χαρακτηριστικών. Στην περίπτωση της χρήσης i-nodes, τα χαρακτηριστικά του κάθε αρχείου μπορεί να αποθηκεύονται ήδη μέσα στον κάθε i-node. 21

Υλοποίηση καταλόγων. Χρήση μεγάλων ονομάτων αρχείων (1/3) Κάθε εγγραφή ενός αρχείου στον κατάλογο, έχει μία εγγραφή (π.χ. 255 χαρακτήρες ) για το όνομα του αρχείου. Όμως γίνεται σπατάλη σε περίπτωση χρήσης μικρών ονομάτων. Λύση: χρήση μεταβλητού μήκους για κάθε εγγραφή στον κατάλογο. 22

Υλοποίηση καταλόγων. Χρήση μεγάλων ονομάτων αρχείων (3/3) (α) Εσωτερικά (in-line): Κάθε εγγραφή έχει πεδία σταθερού μεγέθους και ένα πεδίο μεταβλητού μεγέθους για το όνομα. Χρησιμοποιείται κάποιος χαρακτήρας τερματισμού. Πρόβλημα κατά την διαγραφή αρχείων: Θα παραμείνει στον κατάλογο ένα κενό μεταβλητού μεγέθους, τοοποίο μπορεί να μην ταιριάζει με το νέο αρχείο. (β) με χρήση σωρού (heap): Τα ονόματα όλων των αρχείων διατηρούνται σε μία σωρό, στο τέλος του καταλόγου. Για κάθε αρχείο διατηρείται ένας δείκτης προς το όνομα στη σωρό. Σε αυτή την περίπτωση δεν υπάρχει περίπτωση να μην χωράει το όνομα ενός νέου αρχείου. Απαιτείται διαχείριση της σωρού. 24

Ημερολογιακά συστήματα αρχείων (Journaling File Systems)(1/2) Τήρηση ενός ημερολογίου (αρχείου καταγραφής) για τηνπεριγραφή των ενεργειών που πρόκειται να κάνειτο ΛΣ,πριν την πραγματοποίηση της ενέργειας. Σε περίπτωση κατάρρευσης του συστήματος, εξετάζεταιτο ημερολόγιο ώστε να μπορέσει να επαναληφθεί η αποτυχημένη λειτουργία. Παραδείγματα ημερολογιακών συστημάτων: Windows: NTFS. Linux: ext3, ReiserFS. 25

Ημερολογιακά συστήματα αρχείων (Journaling File Systems)(2/2) Παράδειγμα: ενέργειες για τη διαγραφή ενός αρχείου. : 1. Αφαίρεση αρχείου από τον κατάλογό του. 2. Αποδέσμευση του i-node που είχε δοθεί στο αρχείο, ώστε να μπορεί να επαναχρησιμοποηθεί. 3. Αποδέσμευση των μπλοκ του δίσκου που είχε το αρχείο, (μαρκάρισμα ως ελεύθερα). Σε περίπτωση κατάρρευσης του συστήματος: 1. Το ΛΣ έχει ήδη καταχωρήσει στο ημερολόγιο, τις απαιτούμενες ενέργειες. 2. Μετά από την εκτέλεση μίας ενέργειας, επαληθεύεται και διαγράφεται από το ημερολόγιο. 3. Σε περίπτωση κατάρρευσης του ΛΣ, ελέγχεται το ημερολόγιο. 26

Εικονικά συστήματα αρχείων (Virtual File Systems)(1/5) Στα Windows μπορούν να υπάρχουν διαφορετικά συστήματα αρχείων (NTFS, FAT-16, FAT-32) χωρίς καμία ενοποίηση. Στο UNIX όλα τα συστήματα αρχείων (ext2, ext3, ReiserFS) ενοποιούνται σε ένα κατάλογο. VFS (Virtual File System -Εικονικό σύστημα αρχείων): Αφαίρεση η οποία περιλαμβάνει όλες τις κοινές λειτουργίες των συστημάτων αρχείων, και τοποθέτηση του κώδικά του σε ένα υψηλότερο επίπεδο. Το VFS καλεί στη συνέχεια τα πραγματικά συστήματα αρχείων από το χαμηλότερο επίπεδο. 27

Εικονικά συστήματα αρχείων (Virtual File Systems)(3/5) Δημιουργούνται δύο διασυνδέσεις: Μία μεταξύ των κλήσεων συστήματος (που αφορούν τα αρχεία) και τουvfs, και μία μεταξύ του VFS και κάθε πραγματικού συστήματος αρχείων που βρίσκεται στο κατώτερο επίπεδο. Μπορεί και στο ίδιο διαμέρισμα (partition) του δίσκου, να βρίσκονται περισσότερα συστήματα αρχείων Αυτό συμβαίνει όταν χρησιμοποιούμε ένα virtualmachine: το κατώτεροσύστημα αρχείων, μπορεί να περιλαμβάνεται σε ένα ή περισσότερα μεγάλα αρχεία του υπερκείμενου ΛΣ. 29

Εικονικά συστήματα αρχείων (Virtual File Systems)(5/5) Όταν ξεκινά το σύστημα, το βασικό σύστημα αρχείων, καταχωρείται στο VFS. Όταν γίνεται ανάρτηση (mount) ενός άλλου συστήματος αρχείων, επίσης καταχωρείται στο VFS. Π.χ., μία διεργασία κάνει την κλήση open( /usr/include/unistd.h, O_RDONLY) 1. ToVFS βλέπει ότι έχει αναρτηθεί ένα σύστημα αρχείων στο /usr καιεντοπίζει το υπερμπλόκτου (ψάχνωνταςστη λίστα των αναρτημένων συστημάτων). 2. Βρίσκει το βασικό του κατάλογο και συνεχίζει την αναζήτηση της διαδρομής. 3. Στη συνέχεια δημιουργεί έναν εικονικό κόμβο (virtual-node, v- node) στη RAM, για το ζητούμενο αρχείο. 4. Για κάθε ανάγνωση ή εγγραφή, πρώτα αναζητά τον v-node(στο εικονικό σύστημα) και μετά τον i-node(στο πραγματικό σύστημα). 31

Διαχείριση βελτιστοποίηση συστήματος αρχείων 32

Μέγεθος μπλοκ (1/3) Τα αρχεία αποθηκεύονται σε μπλοκ σταθερού μεγέθους. Το μέγεθος του μπλοκ επηρεάζει την απόδοση του συστήματος αρχείων με δύο τρόπους: Χωρικά (space): όσο μεγαλύτερο είναι το μπλοκ, τόσο μεγαλύτερη σπατάλη χώρου στο δίσκο. Π.χ. αν μέγεθος μπλοκ = 64 ΚΒ, ένα αρχείο του1κβ θα καταλαμβάνει 64 ΚΒ στο δίσκο. Χρονικά (time): όσο μικρότερο το μέγεθος του μπλοκ, τόσο περισσότερα μπλοκ ανά αρχείο, άρα και μεγαλύτερος χρόνος προσπέλασης. Π.χ. αν μέγεθος μπλοκ = 1 ΚΒ, ένα αρχείο των64κβ θα χρειαστεί 64 προσπελάσεις. 33

Ποσόστωση χρήσης δίσκου (Disk Quotas)(1/2) Ποσόστωση χρήσης δίσκου: ο διαχειριστής αναθέτει σεκάθε χρήστη ένα μέγιστο πλήθος αρχείων και μπλοκ. 1. Ο χρήστης ανοίγει ένα αρχείο. 2. Το ΛΣ βρίσκει τα χαρακτηριστικά του αρχείου και τα τοποθετεί σε έναν πίνακα ανοικτών αρχείων στη μνήμη. 3. Κάθε αρχείο «χρεώνεται» στον ιδιοκτήτη του. 4. Υπάρχει επίσης ένας πίνακας με τις ποσοστώσεις τωνχρηστών (σε αριθμό αρχείων ή μπλοκ δίσκου) για τον έλεγχο. 37

Αντίγραφα ασφαλείας συστήματος αρχείων (backups)(1/4) Με τα αντίγραφα ασφαλείας είναι δυνατή η ανάκαμψητων αρχείων μετά από καταστροφή (ή σφάλμα). 1. Φυσική αντιγραφή (physical dump). Ξεκινά από το μπλοκ 0 μέχρι το τελευταίο μπλοκ του δίσκου. Αν το πρόγραμμα αντιγραφής έχει πρόσβαση στηδομή παρακολούθησης των ελεύθερων μπλοκ, μπορείνα τα αποφύγει. Επίσης θα πρέπει να καταγράψει την αντιστοιχία των αντιγραμμένων μπλοκ στα φυσικά μπλοκ. Δεν μπορεί να γίνει επιλεκτική αντιγραφή αρχείων. 39

Αντίγραφα ασφαλείας συστήματος αρχείων (backups)(2/4) Με τα αντίγραφα ασφαλείας είναι δυνατή η ανάκαμψητων αρχείων μετά από καταστροφή (ή σφάλμα). 2. Λογική αντιγραφή (logical dump): Εξετάζει ένα ή περισσότερους καταλόγους. Αντιγράφει μόνο τα αρχεία που έχουν τροποποιηθεί. Μπορεί να χρησιμοποιεί την ημερομηνία του τελευταίου πλήρες αντιγράφου. 40

Βελτίωση επίδοσης με κρυφή μνήμη (Caching)(2/2) Πριν την αναζήτηση ενός μπλοκ από το δίσκο, εξετάζεται αν υπάρχει στην κρυφή μνήμη. Αν ναι, διαβάζεται (πολύ πιο γρήγορα) από εκεί. Αν όχι, τοποθετείται το ζητηθέν μπλοκ στην κρυφή μνήμη, και μετά διαβάζεται από εκεί. Ο πίνακας κατακερματισμού (hashtable) χρησιμοποιείται για να ελέγχεται γρήγορα, εάν ένα μπλοκ υπάρχει στην κρυφή μνήμη. Όταν γεμίσει η κρυφή μνήμη, θα πρέπει αφαιρεθεί ένα μπλοκ ώστε να τοποθετηθεί κάποιο άλλο. Χρησιμοποιούνται αλγόριθμοι αντίστοιχοι με αυτούς για την αλλαγή σελίδας (π.χ. LRU) με τη βοήθεια διπλά συνδεδεμένης λίστας. Δυστυχώς ο LRU μπορεί να οδηγήσει στην περίπτωση μεταφοράς χρήσιμων μπλοκ σε κατάρρευση, γι αυτό χρησιμοποιείται μία τροποποίησή του. 44

1. Tanenbaum κεφάλαιο 4. Βιβλιογραφία Πηγή των διαφανειών τα slides από τα βιβλία και τα online-tutorials των : 1. Α. Tanenbaum. 2. W. Stallings. Καθώς και οι online σημειώσεις των 1. Π. Κοτζανικολάου. 2. Κ. Λαμπρινουδάκη. 3. Κ. Μαργαρίτη. 4. Γ. Παπαδόπουλου. 5. Χ. Μανιφάβα. Αll material copyright 1996-2012 All Rights Reserved..54

Τέλος Ενότητας

Σημείωμα Αναφοράς Copyright ΤΕΙ Δυτικής Μακεδονίας, Φραγκούλης Γεώργιος. «Εισαγωγή στα Λειτουργικά Συστήματα». Έκδοση: 1.0. Κοζάνη 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: URL.

Σημείωμα Αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-sa/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο. πουδεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο. πουδεν προσπορίζει στο διανομέα του έργου καιαδειοδόχοέμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο. Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχοξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί. 57

Διατήρηση Σημειωμάτων Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει: το Σημείωμα Αναφοράς. το Σημείωμα Αδειοδότησης. τη δήλωση Διατήρησης Σημειωμάτων. το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει). μαζί με τους συνοδευόμενους υπερσυνδέσμους. 58

Σημείωμα Χρήσης Έργων Τρίτων Το Έργο αυτό κάνει χρήση των ακόλουθων έργων: Εικόνες/Σχήματα/Διαγράμματα/Φωτογραφί ες: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 59