Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεCapaneus Michel Τροποποιήθηκε πριν 10 χρόνια
1
Συστήματα αρχείων Γιατί μας χρειάζεται Τι είναι αρχείο Δομή, τύποι, ιδιότητες, μέθοδοι προσπέλασης, λειτουργίες αρχείων Αρχεία στο δίσκο, είδη κατανομής Κατάλογοι και μονοπάτια Λειτουργίες και υλοποίηση καταλόγων Υλοποίηση ονομάτων αρχείων Σύνδεσμοι
2
Γιατί χρειάζεται το σύστημα αρχείων; Ανάγκη αποθήκευσης μεγάλου όγκου πληροφοριών Η πληροφορία πρέπει να «επιβιώνει» μετά το τέλος της διεργασίας που την παρήγαγε Ίσως χρειάζεται πολλές διεργασίες να προσπελάσουν ταυτόχρονα την πληροφορία
3
Η έννοια του αρχείου Μπορούν να είναι δομημένα ή όχι: Μη δομημένα: ακολουθία από bytes Δομημένα: ακολουθία ή δέντρο από εγγραφές Σε βασισμένα σε Unix και Windows συστήματα είναι μη δομημένες ακολουθίες από bytes
4
Δομή αρχείου asd Ακολουθία από bytes Ακολουθία από εγγραφές Δέντρο από εγγραφές
5
Τύποι αρχείων Αν και είναι ακολουθίες από bytes, τα προγράμματα μπορούν να επιβάλλουν ορισμένες συμβάσεις: Αρχεία με ορισμένη δομή αναγνωρίζονται από την επέκτασή τους Οι εφαρμογές μπορεί να ψάχνουν για ορισμένη επέκταση για να εντοπίσουν τον τύπο του αρχείου Για το Λ.Σ. παραμένουν ακολουθίες από bytes!
6
Τύποι αρχείων.exe.comΕκτελέσιμο αρχείο κώδικα μηχανής.dllDynamic Link Library.objΑρχείο κώδικα μηχανής, αποτέλεσμα μεταγλώττισης.c.cppΑρχείο πηγαίου κώδικα σε C, C++.txtΚείμενο σε μορφή ASCII.hlpΑρχείο βοήθειας.libΒιβλιοθήκη ρουτινών σε κώδικα μηχανής.doc.xls.pptΑρχεία εφαρμογών του Office.htm.htmlΑρχεία γλώσσας HTML – σελίδες web.jpg.bmp.gifΑρχεία με εικόνες.mp3.wavΑρχεία ήχου.mpg.movΑρχεία κινούμενης εικόνας - video.zip.ace.arjΣυμπιεσμένα αρχεία
7
Τύποι αρχείων Τι τύπους αρχείων αναγνωρίζει το Λ.Σ.; Εκτελέσιμα αρχεία: Το Λ.Σ. πρέπει να καταλαβαίνει τη μορφή των εκτελέσιμων αρχείων προκειμένου να τα εκτελεί: Δημιουργία διεργασίας (fork) Ο κώδικας και τα δεδομένα μπαίνουν στο χώρο διευθύνσεων της διεργασίας (exec)
8
Ιδιότητες αρχείων Όνομα: η μόνη πληροφορία σε αναγνώσιμη μορφή Τύπος: για συστήματα που υποστηρίζουν διάφορους Θέση: δείκτης στη θέση του αρχείου στη συσκευή Μέγεθος: το τρέχον μέγεθος αρχείου Προστασία: ποιος μπορεί να γράψει, διαβάσει, εκτελέσει. Ώρα, ημερομηνία και αναγνωριστικό χρήστη: προστασία, ασφάλεια και παρακολούθηση χρήσης
9
Μέθοδοι προσπέλασης Ακολουθιακή Διάβασε όλα τα bytes/εγγραφές από την αρχή Δεν επιτρέπονται άλματα (μόνο επιστροφή στην αρχή) Κατάλληλη για μέσα όπως μαγνητική ταινία Τυχαία Τα bytes/εγγραφές μπορούν να διαβαστούν με οποιαδήποτε σειρά Ουσιώδες για βάσεις δεδομένων Επιλογή 1: μετατόπισε δείκτη και μετά διάβασε Επιλογή 2: διάβασε και μετά ενημέρωσε την τρέχουσα θέση δείκτη
10
Λειτουργίες αρχείων Δημιουργία Εγγραφή Ανάγνωση Αναζήτηση Διαγραφή Άνοιγμα Κλείσιμο Προσθήκη Μετονομασία Επιστροφή ιδιοτήτων Τροποποίηση/επιβολή ιδιοτήτων
11
Κλήσεις συστήματος σχετικές με αρχεία fd = open (name, mode) byte_count = read (fd, buffer, buffer_size) byte_count = write (fd, buffer, num_bytes) close (fd)
12
Αποθήκευση αρχείων σε δίσκο Τομέας 0: «Master Boot Record» (MBR) Περιέχει το χάρτη διαμερίσεων Ο υπόλοιπος δίσκος χωρίζεται σε διαμερίσεις Διαμέριση: ακολουθία διαδοχικών τομέων Κάθε διαμέριση μπορεί να έχει διαφορετικό σύστημα αρχείων (FAT32, NTFS, EXT3 κλπ.) Κάθε διαμέριση ξεκινά με ένα μπλοκ εκκίνησης (boot block) Περιέχει ένα μικρό πρόγραμμα Αυτό διαβάζει ένα Λ.Σ. από το σύστημα αρχείων σε αυτή τη διαμέριση Εκκίνηση Λ.Σ. Το BIOS διαβάζει το MBR και στη συνέχεια διαβάζει κι εκτελεί ένα μπλοκ εκκίνησης
13
Παράδειγμα δίσκου
14
Bytes αρχείου έναντι τομέων δίσκου Τα αρχεία είναι ακολουθίες από bytes Η διακριτότητα Ε/Ε αρχείων είναι bytes Οι δίσκοι είναι συστοιχίες από τομείς Η διακριτότητα Ε/Ε δίσκων είναι τομείς Τα δεδομένα των αρχείων πρέπει να αποθηκεύονται σε τομείς Τα συστήματα αρχείων ορίζουν ένα μέγεθος μπλοκ Μέγεθος μπλοκ = 2 n *μέγεθος τομέα Συνεχόμενοι τομείς ανατίθενται σε ένα μπλοκ Τα συστήματα αρχείων βλέπουν το δίσκο ως συστοιχία από μπλοκ Αναθέτουν μπλοκ στα αρχεία Διαχειρίζονται τον ελεύθερο χώρο του δίσκου
15
Συνεχής κατανομή Ιδέα: όλα τα μπλοκ του αρχείου είναι συνεχόμενα στο δίσκο Μετά από τη διαγραφή των D και F…
16
Συνεχής κατανομή Πλεονεκτήματα: Εύκολη στην υλοποίηση (απαιτείται αρχικός τομέας και μήκος αρχείου) Η απόδοση είναι καλή (για ακολουθιακή ανάγνωση) Μειονεκτήματα: Μετά από διαγραφές ο δίσκος κατακερματίζεται Χρειάζεται κατά διαστήματα συμπύκνωση Χρειάζεται διαχείριση λιστών ελεύθερων μπλοκ Αν νέο αρχείο τοποθετείται στο τέλος του δίσκου… Κανένα πρόβλημα Αν νέο αρχείο τοποθετείται σε «οπή»… Πρέπει να ξέρουμε το μέγιστο δυνατό μέγεθος του αρχείου κατά τη δημιουργία του!
17
Συνεχής κατανομή Καλή για CD-ROMs Όλα τα μεγέθη αρχείων είναι γνωστά εκ των προτέρων Τα αρχεία δεν διαγράφονται
18
Κάθε αρχείο είναι ακολουθία από μπλοκ Η πρώτη λέξη σε κάθε μπλοκ περιέχει τον αριθμό του επόμενου μπλοκ Η τυχαία προσπέλαση είναι αργή! Κατανομή συνδεδεμένης λίστας
19
Κράτα ένα πίνακα στη μνήμη Μια εγγραφή ανά μπλοκ δίσκου Κάθε εγγραφή περιέχει τη διεύθυνση του επόμενου μπλοκ Ένδειξη τέλους αρχείου (-1) Μια ειδική τιμή (-2) δείχνει ότι το μπλοκ είναι ελεύθερο Πίνακας κατανομής αρχείων (FAT)
21
Τυχαία προσπέλαση Ψάξε τη συνδεδεμένη λίστα (αλλά όλη στη μνήμη) Εγγραφή καταλόγου απαιτεί μόνο έναν αριθμό Αριθμός αρχικού μπλοκ Μειονέκτημα Ολόκληρος ο πίνακας πρέπει να είναι στη μνήμη με μιας! Παράδειγμα: 20 GB μέγεθος δίσκου 1 ΚΒ μέγεθος μπλοκ 4 bytes μέγεθος εγγραφής 80 ΜΒ μνήμης απαιτούνται για αποθήκευση του FAT Πίνακας κατανομής αρχείων (FAT)
22
Κάθε I-node («index-node») είναι μια δομή/εγγραφή Περιέχει πληροφορίες για το αρχείο I-nodes Αριθμός I-node χαρακτηριστικά Δείκτης Α.Ε.Μ Δείκτης Δ.Ε.Μ Δείκτης Τ.Ε.Μ Δείκτες σε data blocks Απλά Έμμεσο Μπλόκ Διπλά Έμμεσο Μπλόκ Τριπλά Έμμεσο Μπλόκ Δείκτες σε data blocks
23
«Φάκελος» Πρώιμα Λ.Σ. Πρόβλημα: διαμοίραση σε χρήστες Κατάλληλο για μικρά, ενσωματωμένα συστήματα Κατάλογοι ενός επιπέδου Root Directory cdab
24
Τα γράμματα δείχνουν σε ποιον ανήκει ένα αρχείο/κατάλογος Κάθε χρήστης έχει έναν κατάλογο /peter/g Συστήματα με καταλόγους δύο επιπέδων Root Directory harry cab peter cde todd dga micah eb
25
Δέντρο από καταλόγους Εσωτερικοί κόμβοι: κατάλογοι Φύλλα: αρχεία Συστήματα ιεραρχικών καταλόγων / ED CBA F GH ij mn o kl pq Κατάλογοι χρηστών Ριζικός κατάλογος Υποκατάλογοι
26
MULTICS >usr>jon>mailbox Windows \usr\jon\mailbox Unix /usr/jon/mailbox Απόλυτο όνομα μονοπατιού /usr/jon/mailbox Σχετικό όνομα μονοπατιού../jon/mailbox (αν είμαστε αρχικά στο /usr/mike) To. είναι ο τρέχων κατάλογος Το.. είναι ο γονικός κατάλογος Ονόματα μονοπατιών
27
Λειτουργίες καταλόγων Δημιουργία Διαγραφή Άνοιγμα για ανάγνωση Κλείσιμο Επιστροφή επόμενης εγγραφής Μετονομασία Δημιουργία συνδέσμου (link) Κατάργηση συνδέσμου
28
Υλοποίηση καταλόγων Λίστα από αρχεία Όνομα αρχείου Ιδιότητες αρχείου Απλή προσέγγιση: Βάλε όλες τις ιδιότητες μέσα στον κατάλογο Προσέγγιση Unix: Ο κατάλογος περιέχει Όνομα αρχείου Αριθμό I-node Το I-node περιέχει Ιδιότητες αρχείου
29
Υλοποίηση καταλόγων Απλή προσέγγιση “Kernel.h” “Kernel.c” “Main.c” “Proj7.pdf” “temp” “os” ιδιότητες
30
Υλοποίηση καταλόγων Προσέγγιση Unix “Kernel.h” “Kernel.c” “Main.c” “Proj7.pdf” “temp” “os” i-node
31
Υλοποίηση ονομάτων αρχείων Σύντομα, σταθερού μήκους ονόματα MS-DOS/Windows (παλιά) 8 + 3 σύμβαση Κάθε εγγραφή καταλόγου έχει 11 bytes για το όνομα Unix (αρχικά) Μέγιστο 14 χαρακτήρες Μεταβλητού μήκους ονόματα Unix, Windows (σήμερα) Μέγιστο 255 χαρακτήρες Η δομή καταλόγου γίνεται πιο περίπλοκη
32
Σκληροί και συμβολικοί σύνδεσμοι Σκληροί σύνδεσμοι: Και οι δύο κατάλογοι δείχνουν στο ίδιο i-node Συμβολικοί σύνδεσμοι Ένας κατάλογος δείχνει στο i-node του αρχείου Ο άλλος κατάλογος περιέχει το μονοπάτι
33
Σκληροί σύνδεσμοι / ED CBA F GH ij m no kl pq “m” “n” 123 45 “n” “o” 45 87 Κατάλογος “D” Κατάλογος “G” Το αρχείο μπορεί να έχει διαφορετικό όνομα σε κάθε κατάλογο /B/D/n1 /C/F/G/n2
34
Συμβολικοί σύνδεσμοι / ED CBA F GH ij m o kl pq “m” “n” 123 45 “n” “o” 91 87 Κατάλογος “D” Κατάλογος “G” Συμβολικός σύνδεσμος n “/B/D/n” Ξεχωριστό i-node = 91
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.