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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Βέλτιστος Έλεγχος Συστημάτων

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

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

Ηλεκτρικές Μηχανές ΙI. Ενότητα 6: Εισαγωγή στους ασύγχρονους κινητήρες Τσιαμήτρος Δημήτριος Τμήμα Ηλεκτρολόγων Μηχανικών Τ.Ε

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

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

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

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

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

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

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): Κάθε διαμέρισμα ενός δίσκου μπορεί να έχει διαφορετικό σύστημα αρχείων. Βασική Εγγραφή Εκκίνησης (Master Boot Record): MBR: Χρησιμοποιείται για την εκκίνηση του υπολογιστή. Είναι ο τομέας 0 του δίσκου. Περιλαμβάνει: Τον πίνακα διαμερισμάτων (partition table): Βρίσκεται στο τέλος του MBR. Το BIOS φορτώνει στη μνήμη το MBR και αναζητεί το ενεργό διαμέρισμα. Το μπλοκ εκκίνησης (boot block): Είναι το 1ο μπλοκ στο MBR το οποίο φορτώνει το ενεργό διαμέρισμα. 9

Διάταξη του συστήματος αρχείων (2/3) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 10

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

Υλοποίηση των αρχείων (συνεχής κατανομή) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 12

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

Υλοποίηση των αρχείων (κατανομή συνδεδεμένης λίστας)(1/2) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 14

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

Υλοποίηση των αρχείων (1/2) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 16

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

Υλοποίηση με κόμβους-i (i-nodes) (1/2) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 18

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

Υλοποίηση καταλόγων (1/2) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 20

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

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

Υλοποίηση καταλόγων. Χρήση μεγάλων ονομάτων αρχείων (2/3) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 23

Υλοποίηση καταλόγων. Χρήση μεγάλων ονομάτων αρχείων (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) (2/5) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 28

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

Εικονικά συστήματα αρχείων (Virtual File Systems) (4/5) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 30

Εικονικά συστήματα αρχείων (Virtual File Systems) (5/5) Όταν ξεκινά το σύστημα, το βασικό σύστημα αρχείων, καταχωρείται στο VFS. Όταν γίνεται ανάρτηση (mount) ενός άλλου συστήματος αρχείων, επίσης καταχωρείται στο VFS. Π.χ., μία διεργασία κάνει την κλήση open( /usr/include/unistd.h, O_RDONLY) 1. To VFS βλέπει ότι έχει αναρτηθεί ένα σύστημα αρχείων στο /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

Μέγεθος μπλοκ (2/3) Ο πίνακας δείχνει τρεις μελέτες για την κατανομή του μεγέθους των αρχείων σε Η/Υ διαφορετικών χρήσεων. Π.χ. σε έναν web server (3η στήλη) μετρήθηκε ότι το 6,67 % των αρχείων είναι <=1 byte και ότι το 94,8% των αρχείων είναι <=64ΚΒ. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 34

Μέγεθος μπλοκ (3/3) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 35

Παρακολούθηση των ελεύθερων μπλοκ Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 36

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

Ποσόστωση χρήσης δίσκου (Disk Quotas) (2/2) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 38

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

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

Αντίγραφα ασφαλείας συστήματος αρχείων (backups) (3/4) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 41

Αντίγραφα ασφαλείας συστήματος αρχείων (backups) (4/4) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 42

Βελτίωση επίδοσης με κρυφή μνήμη (Caching) (1/2) Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 43

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

Μείωση της κίνησης του βραχίονα του δίσκου Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 45

The MS-DOS File System (1/2) Εικόνα 1: The MS-DOS File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 46

The MS-DOS File System (2/2) Εικόνα 2: The MS-DOS File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 47

The Windows 98 File System (1/3) Εικόνα 3: The WINDOWS 98 File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 48

The Windows 98 File System (2/3) Εικόνα 4: The WINDOWS 98 File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 49

The Windows 98 File System (3/3) Εικόνα 5: The WINDOWS 98 File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 50

The UNIX V7 File System (1/3) Εικόνα 6: The UNIX V7 File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 51

The UNIX V7 File System (2/3) Εικόνα 7: The UNIX V7 File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 52

The UNIX V7 File System (3/3) Εικόνα 8: The UNIX V7 File System. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 53

Βιβλιογραφία 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