Συστήματα Αρχείων (Σ.Α.)

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

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 6 : Δομές αρχείων. Δρ. Γκόγκος Χρήστος

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Πληροφορική 2. Δομές δεδομένων και αρχείων

Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου. Λειτουργικά Συστήματα Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3

1ο Εργαστήριο Σύστημα Αρχείων

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Κατανεμημένα Συστήματα Αρχείων

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι. Συστήματα Αρχείων. Επ. Καθ. Κ. Λαμπρινουδάκης

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

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

Δομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Δευτέρα 12:45-14:30 (Ν. κτ. Ηλεκτρ. Αμφ 1) Θεωρία Μαθήματος Παρουσίαση Εργαστηριακών Ασκήσεων

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

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

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


Λειτουργικά Συστήματα (ΗΥ321)

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

Λειτουργικά Συστήματα (Λ/Σ)

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Αυτοματοποιημένη χαρτογραφία

Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

Προγραμματισμός Διαδικτύου

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

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

Πανεπιςτήμιο Πελοποννήςου Τμήμα Επιςτήμησ και Τεχνολογίασ Τηλεπικοινωνιών. Λειτουργικά Συςτήματα Προγραμματιςμόσ Συςτήματοσ.

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Διαχείριση αρχείων. Τυπικές πράξεις με αρχεία. Δομή και οργάνωση αρχείων

Εφαρμογές Συστημάτων Γεωγραφικών Πληροφοριών

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

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

Volume Managers. Εργασία για το μάθημα Λειτουργικά Συστήματα Ι. Κοντεκάκης Ιωάννης.

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ)

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Εισαγωγή. E-03: Λειτουργικά Συστήµατα ΙΙ 6. Εαρινό Εξάµηνο Κατανεµηµένα συστήµατα αρχείων. Μέρη κατανεµηµένου συστήµατος αρχείων

Κατανεµηµένασυστήµατα αρχείων

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

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Ηλεκτρονικοί Υπολογιστές

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Αρχιτεκτονική Υπολογιστών

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Μάθημα 2 ο ΟΡΓΑΝΩΣΗ ΣΥΣΤΗΜΑΤΟΣ ΑΡΧΕΙΩΝ

Λειτουργικό σύστημα Unix

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

Λειτουργικά Συστήματα (ΗΥ222)

Ερµήνευση Boot Sector :

Εργαστήριο Λειτουργικών Συστημάτων. File Systems

Λειτουργικά Συστήματα. Ενότητα # 4: Συστήματα Αρχείων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ

Δομημένος Προγραμματισμός

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα αρχείων, δίσκοι

Κεφάλαιο 2. Διδακτικοί Στόχοι

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 6: Συμπίεση Windows

Εισαγωγή στα Λειτουργικά Συστήματα. Λειτουργικά Συστήματα 7ο εξάμηνο ΣΗΜΜΥ ακ. έτος

Σύστηµα Αρχείων File System

Αρχιτεκτονική Υπολογιστών

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Κατανεμημένα Συστήματα με Java. Ενότητα # 14: Κατανεμημένα συστήματα αποθήκευσης Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Λειτουργικά Συστήματα Ι. Συστήματα Αρχείων (File Systems)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

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

Οργάνωση Υπολογιστών (IΙI)

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Οντοκεντρικός Προγραμματισμός

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

Έλεγχος Κίνησης

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Εισαγωγή στον δομημένο προγραμματισμό

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Αποθήκευση και Οργάνωση αρχείων. Βάσεις Δεδομένων Μάθημα 2ο Διδάσκων: Μαρία Χαλκίδη

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Εισαγωγή στην Επιστήμη των Υπολογιστών

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

Transcript:

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

Συστήματα Αρχείων (Σ.Α.) σκελετός Διεπαφή Αρχεία Κατάλογοι Μονοπάτια Προσάρτηση ΣΑ Απομακρυσμένα ΣΑ Ζητήματα Υλοποίησης VFS Ανάθεση Ζητήματα (page cache, journaling,...)

Διεπαφή ΣΑ (από τη μεριά του χώρου χρήστη)

Συσκευές αποθήκευσης Μόνιμα δεδομένα (persistent) (σε αντίθεση με μνήμη) Σκληροί Δίσκοι - Αργή πρόσβαση - Χρόνος αναζήτησης (seek time) - Solid State Disks (SSDs) Γραμμικός χώρος - Προσπέλαση βάση τμημάτων (blocks) Όχι ιδανικός για χρήστη/εφαρμογές - Συστήματα Αρχείων (Ιεραρχική Δομή) - Βάσεις Δεδομένων (SQL)

Συστήματα αρχείων Παράδειγμα Κατάλογοι (Κόμβοι Ιεραρχίας) Αρχεία (Δεδομένα) Παράδειγμα: / (root) home/ tmp/ john/ michelle/ paul/.bashrc hello.c docs/

Συστήματα αρχείων Παράδειγμα Κατάλογοι (Κόμβοι Ιεραρχίας) Αρχεία (Δεδομένα) Παράδειγμα: / (root) /home/michelle/hello.c #include <stdio.h> john/ home/ michelle/ tmp/ paul/ int main(int argc, char **argv) { printf("hello World!\n"); return 0; }.bashrc hello.c docs/

Αρχεία Αρχείο: Μόνιμος, συνεχής, λογικός χώρος διευθύνσεων. Μόνιμος: Παραμένει προβάσιμο και μετά τον τερματισμό του προγράμματος (ή το κλείσιμο του υπολογιστή) Λογικός: Ξεχωριστό από την φυσική απεικόνισή στην συσκευή αποθήκευσης Χώρος Διευθύνσεων: Διευθυνσιοδήτηση δεδομένων σε επίπεδο byte Συνεχής: Χωρίς κενά Everything is a file ρητό του Unix

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

Ιδιότητες Αρχείων Όνομα Αναγνωριστικό (εσωτερικό) Τύπος Θέση Μέγεθος Δικαιώματα (προστασία) Ώρα / Ημερομήνια πρόσβασης...

Λειτουργίες Αρχείων Δημιουργία (create) Ανάγνωση (read) Εγγραφή (write) Επανατοποθέτηση (seek) Διαγραφή (delete) Μηδενισμός (truncate) Απεικόνιση στη μνήμη (mmap)

Ανοιχτά Αρχεία Πρόβαση από εφαρμογή χώρου χρήστη: Άνοιγμα (open) Εγγραφή / Ανάγνωση / Επανατοποθέτηση (επηρεάζουν την τρέχουσα θέση) Κλείσιμο (close) Πλήροφορίες που χρειάζεται να διατηρεί το ΛΣ:

Ανοιχτά Αρχεία Πρόβαση από εφαρμογή χώρου χρήστη: Άνοιγμα (open) Εγγραφή / Ανάγνωση / Επανατοποθέτηση (επηρεάζουν την τρέχουσα θέση) Κλείσιμο (close) Πλήροφορίες που χρειάζεται να διατηρεί το ΛΣ: Πίνακας ανοιχτών αρχείων (δομή περιγραφής αρχείου File Control Block (FCB)) FCB: Αρχείο στο Σ.Α. (i-node στο UNIX) τύπος αρχείου, μέγεθος αρχείου δείκτες προς δεδομένα στο Σ.Α. πληροφορίες ιδιοκτησίας, δικαιωμάτων...

Μέθοδοι Πρόσβασης πώς αποθηκεύονται δεδομένα στα αρχεία; Ακολουθιακή (sequential) Άμεση (εγγραφές σταθερού μήκους) Έμμεση (π.χ. ευρετήρια / δείκτες)

Κατάλογοι Κατάλογος ενός επιπέδου Κατάλογος δύο επιπέδων Κατάλογοι δενδρικής δομής Κόμβοι Ιεραρχίας Σύνολα κόμβων που μπορούν να είναι: Αρχεία Κατάλογοι

Παράδειγμα Δενδρικής Δομής / (root) home/ tmp/ john/ michelle/ paul/ tmpfile01 tmpfile02.bashrc hello.c docs/ report notes

Λειτουργίες Καταλόγων Αναζήτηση αρχείου (με βάση το όνομα) Δημιουργία αρχείου Διαγραφή αρχείου Μετονομασία αρχείου Διάσχιση ιεραρχίας

Μονοπάτια στο Σ.Α. (τύπου Unix) Μονοπάτι (path): Συμβολοσειρα από αναγνωριστικά χωρισμένα από τον χαρακτήρα / πχ: /this/is/a/path/name Κανόνες: Το μονοπάτι είναι 1. απόλυτο αν ξεκινάει με / αφετηρία είναι η αρχή της ιεραρχίας 2. σχετικό (αν όχι) αφετηρία είναι ο τρέχων κατάλογος (ΤΚ) Το αναγνωριστικό:. σηματοδοτεί τον ΤΚ.. σηματοδοτεί τον πατέρα του TK

Παραδείγματα μονοπατιών ΤΚ: /home/michelle / (root) home/ tmp/ john/ michelle/ paul/ tmpfile01 tmpfile02.bashrc hello.c docs/ report notes

Παραδείγματα μονοπατιών ΤΚ: /home/michelle / (root) home/ tmp/ john/ michelle/ paul/ tmpfile01 tmpfile02.bashrc hello.c docs/ report notes /home/michelle/hello.c

Παραδείγματα μονοπατιών ΤΚ: /home/michelle / (root) home/ tmp/ john/ michelle/ paul/ tmpfile01 tmpfile02.bashrc hello.c docs/ report notes.bashrc

Παραδείγματα μονοπατιών ΤΚ: /home/michelle / (root) home/ tmp/ john/ michelle/ paul/ tmpfile01 tmpfile02.bashrc hello.c docs/ report notes./docs/notes

Παραδείγματα μονοπατιών ΤΚ: /home/michelle / (root) home/ tmp/ john/ michelle/ paul/ tmpfile01 tmpfile02.bashrc hello.c docs/ report notes../../tmp/tmpfile01

Σύνδεσμοι, δομή Γράφου Σύνδεσμοι: στο αρχείο (hard links) Ίδιο αρχείο (inode) με πολλαπλά ονόματα reference count στο όνομα (soft links) Επίλυση συνδέσμου με βάση το όνομα Oδηγούν σε δομή γράφου: Ακυκλικός γράφος Γενικός γράφος (με κύκλους): Κύκλοι οδηγούν σε προβλήματα Πολλά ΛΣ αποτρέπουν τη δημιουργία συνδέσμων αρχείων (hard links) σε καταλόγους Γενικά τα ΛΣ περιορίζουν τον αριθμό διάσχισης συμβολικών συνδέσμων (ELOOP).

Προσάρτηση ΣΑ (mount) Χρειάζονται: Σημείο προσάρτησης (mountpoint) Συσκευή αποθήκευσης (σκληρός δίσκος, flash) / (root) home/ tmp/ hello.c michelle/ john/ paul/ f01 f02.bashrc docs/ report notes

Απομακρυσμένα ΣΑ remote FTP / WWW Δικτυακά ΣΑ (Network FS) (πχ NFS, CIFS, AFS) Οι πόροι βρίσκονται σε απομακρυσμένο υπολογιστή Πρόσβαση σε αυτούς μέσω δικτύου (πχ TCP/IP) Πελάτης-Εξυπηρετητής (client-server) Κατανεμημένα ΣΑ (Distributed FS) (πχ Lustre) Οι πόροι βρίσκονται σε πολλαπλούς υπολογιστές Στόχοι: Προστασία πλεονασμός πληροφορίας (data redundancy) Επίδοση παράλληλη πρόσβαση Χειρισμός σφαλμάτων (πχ δικτυακό πρόβλημα)

Εφαρμογή Δικτυακών ΣΑ Μηχανήματα εργαστηρίου: Χωρίς δίσκο Προσαρτήσεις: κατάλογος ρίζας (/) κατάλογος χρηστών (/home)... Κοινά αρχεία (de-duplication)

Προστασία Κατηγορίες: Χρήστης Ομάδες Άλλοι Δικαιώματα: Ανάγνωση Εγγραφή Εκτέλεση Προσθήκη Διαγραφή Λίστα (για καταλόγους) Λίστα Ελέγχου πρόσβασης (ACL)

Υλοποίηση ΣΑ (από τη μεριά του πυρήνα)

Συστήματα Αρχείων Πολλές υλοποιήσεις: UFS FAT16, FAT32 NTFS EXT2, EXT3, EXT4 ZFS BTRFS XFS, ReiserFS NFS, AFS...

ΛΣ και Συσκευές Αποθήκευσης Συστήματα Αρχείων - Ιεραρχική δομή πάνω από γραμμικό χώρο (συσκευή) Κρυφή Μνήμη - Η πρόσβαση στο δίσκο είναι αργή - Περιοχές αρχείων στη μνήμη Χρονοδρομολόγηση Ε/Ε - Μεγάλος χρόνος αναζήτησης (seek) - Βελτιστοποίηση Ε/Ε αιτήσεων Οδηγός συσκευής - Επικοινωνία με συσκευή - Εγγραφή τμημάτων (blocks) Δ Σύστημα Αρχείων (Filesystem) Κρυφή Μνήμη (Page Cache) Χρον/γηση Ε/Ε (I/O Scheduling) Οδηγός Συσκευής (Device Driver) Δίσκος Λ.Σ.

Αρχεία Δεδομένα περιεχόμενα των αρχείων Μέτα-δεδομένα δομή αρχείων, περιεχόμενα καταλόγων, ιδιότητες, κλπ... (ο,τι δεν είναι Δεδομένα)

Πληροφορίες που διατηρεί ένα ΣΑ Τμήμα ελέγχου εκκίνησης (boot control block) Τμήμα ελέγχου τόμου (volume control block) Δομή καταλόγων ιεραρχική δομή Τμήμα ελέγχου αρχείου (FCB) ένα ανά αρχείο Οι πληροφορίες: Υπάρχουν στη δευτερέυουσα συσκευή αποθήκευσης (δίσκος) Αποθηκεύονται και στη μνήμη για βελτίωση της ταχύτητας (caching) Στη μνήμη αποθηκεύονται: Πληροφορίες για την προσάρτηση Οικουμενικός πίνακας ανοιχτών αρχείων Πίνακας ανοιχτών αρχείων διεργασίας

FCB Πληροφορία ανά αρχείο Δικαιώματα Ημερομηνίες Χρήστης, Ομάδα, Λίστες πρόσβασης Μέγεθος Δεδομένα ή Τοποθεσία δεδομένων

Αναπαράσταση ΣΑ Ιεραρχία

Αναπαράσταση ΣΑ Ιεραρχία FCBs (inodes) FCB

Αναπαράσταση ΣΑ Ιεραρχία FCBs (inodes) hard links FCB FCB

Αναπαράσταση ΣΑ Ιεραρχία FCBs (inodes) hard links FCB soft links FCB

Λειτουργίες ΣΑ Διεργασία Πληροφορίες ιεραρχίας Πληροφορίες Αρχείου Περιεχόμενα Αρχείου Δίσκος

Λειτουργίες ΣΑ Διεργασία 5 Ανοιχτό Αρχείο Πληροφορίες open /path/to/file/name ιεραρχίας Πληροφορίες Αρχείου Περιεχόμενα Αρχείου Δίσκος

Λειτουργίες ΣΑ Διεργασία Ανοιχτό Αρχείο Πληροφορίες read 5 ιεραρχίας Πληροφορίες Αρχείου Περιεχόμενα Αρχείου Δίσκος

Εικονικό Σύστημα Αρχείων Virtual Filesystem VFS Διεργασία VFS isofs ext3 NFS /dev/cdrom /dev/sda1 server:/export

Δομές Linux VFS struct inode: Δομή που περιγράφει ένα αρχείο (FCB). struct file: Δομή που περιγράφει ένα ανοιχτό αρχείο. struct super_block: Δομή που περιγράφει ένα ΣΑ. struct dentry: Δομή που περιγράφει μια θέση στην ιεραρχία των ΣΑ. struct file_operations: Διαδικασίες για υλοποίηση λειτουργιών σε αρχεία (πχ read, write). Χρησιμοποιούνται για την υλοποίηση διαφορετικών ΣΑ.

Υλοποίηση καταλόγου στη δευτερεύουσα συσκευή αποήκευσης Γραμμική λίστα Γραμμική αναζήτηση Πίνακας κατακερματισμού Χώρος Συγκρούσεις B-trees ή παραλλαγές (πχ Btrfs, ReiserFS) Οι πληροφορίες αυτές αντιγράφονται στη μνήμη από το ΛΣ για καλύτερη επίδοση

Μέθοδοι Ανάθεσης (allocation methods) (πχ ο χρήστης ζήτησε να γραφούν 4096 bytes σε ένα αρχείο) Μέθοδοι: Συνεχόμενη ανάθεση (contiguous allocation) Συνδεδεμένη ανάθεση (linked allocation) Ανάθεση με ευρετήριο (indexed allocation)

Συνεχόμενη ανάθεση (contiguous allocation) Τα δεδομένα των αρχείων τοποθετούνται συνεχόμενα Αρχικό τμήμα και μέγεθος Ακολουθιακή (sequential) και Άμεση (random) πρόσβαση (access) Δύσκολη η ανάθεση χώρου Δύσκολη η επέκταση των αρχείων Εξωτερικός κατακερματισμός Γενικά δεν χρησιμοποιείται Επεκτάσεις (extents) NTFS, XFS, ext4, btrfs

Συνεχόμενη ανάθεση παράδειγμα Αρχείο αρχή μέγεθος count 0 2 tr 14 3 mail 19 6 list 28 4 f 6 2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Συνδεδεμένη ανάθεση linked allocation Κάθε αρχείο είναι μια λίστα απο τμήματα (blocks). Το κάθε τμήμα περιλαμβάνει δείκτη στο επόμενο. Απλό, όχι σπατάλη χώρου Όχι άμεση πρόσβαση (random access) Αναζήτηση δίσκου (seek) χώρος για κάθε δείκτη Πίνακας ανάθεσης αρχείου (File Allocation Table FAT) pointer

Συνδεδεμένη ανάθεση παράδειγμα Αρχείο αρχή τέλος pizza 9 25 block pointer 9 16 16 1 1 10 10 25 25-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Ανάθεση με ευρετήριο Όλοι οι δείκτες του αρχείου σε μια θέση (index block). Σχήματα: Συνδεδεμένο σχήμα Πολυεπίπεδο ευρετήριο UFS: Συνδυασμένο σχήμα 12 άμεσα τμήματα 3 έμμεσα τμήματα: απλό (single indirect block) διπλό (double indirect block) τριπλό (triple indirect block)

Ανάθεση με ευρετήριο Παράδειγμα Αρχείο index block pizza 19 index block 9 16 1 10 25-1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Έμμεσα τμήματα indirect blocks άμεσο δεδομένα διπλά έμμεσο άμεσο δεδομένα τριπλά έμμεσο διπλά έμμεσο άμεσο δεδομένα

Διαχείριση ελεύθερου χώρου Διάνυσμα δυαδικών ψηφίων (bitvector / bitmap) 0 Το τμήμα χρησιμοποιείται 1 Το τμήμα είναι ελέυθερο Συνδεδεμένη λίστα Ομαδοποίηση (πολλαπλοί δείκτες) Καταγραφή πλήθους (αρχή, μέγεθος)

Κρυφή μνήμη Λειτουργίες: Τυπική Ε/Ε (πχ read()/write()) Ε/Ε που αντιστοιχίζεται στη μήμη (πχ mmap()) Κρυφές μνήμες buffer cache Τυπική Ε/Ε page cache E/E μνήμης Χρησιμοποιεί buffer cache Ενοποιημένη κρυφή μνήμη (page cache) (Linux)

ΣΑ με αρχεία καταγραφής journaled FS Ασύγχρονη λειτουργία, κρυφές μνήμες Προβλήματα από αναπάντεχο τερματισμό λειτουργίας (ΔΕΗ) Ανάνηψη, συνέπεια δεδομένων στον δίσκο Ημερολόγιο αλλαγών (journal) Πραγματοποιήση Αλλαγών Καταγραφή αλλαγών στο journal Πραγματοποίηση αλλαγών στις δομές του δίσκου ext3,...

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