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

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

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


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

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

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

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

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

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

Μάθημα 8: Διαχείριση Μνήμης

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

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

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

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

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

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

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

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

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

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

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

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

Κεφάλαιο 2.4: Εργασία με εικονίδια

Λιβανός Γιώργος Εξάμηνο 2017Β

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

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

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

Εφαρμογές Πληροφορικής Διαχείριση Αρχείων Η έννοια του αρχείου, βασικές έννοιες διαχείρισης αρχείων.

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

ΠΡΟΗΓΜΕΝΟΙ ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ PROJECT 2: MEMORY MANAGEMENT

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15

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

Συνεργείο Αυτοκινήτων

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

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

Α2. Δίνεται το επόμενο τμήμα προγράμματος σε ΓΛΩΣΣΑ:

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

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

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

S, (5, -3, 34, -23, 7) ( *, _

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

Οργάνωση και Σχεδίαση Υπολογιστών Η ιασύνδεση Υλικού και Λογισµικού, 4 η έκδοση. Κεφάλαιο 5. Μεγάλη και γρήγορη: Αξιοποίηση της ιεραρχίας της µνήµης

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

Πως θα αποθηκεύσει τη λίστα με τα ψώνια του και θα την ανακτήσει στο Σ/Μ; και πως θα προσθέσει στη λίστα του επιπλέον προϊόντα;

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

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

ΦΥΛΛΟ ΠΛΗΡΟΦΟΡΙΩΝ. Μονάδες μέτρησης χωρητικότητας μνήμης - Η περιφερειακή μνήμη

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Εικονική Μνήμη (1/2)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

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

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access Κεφάλαιο 2 Χειρισμός πινάκων... 27

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

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

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Κ.Α.ΕΛ.Ε. Σημειώσεις επάνω στο Λειτουργικό Σύστημα Windows XP. Εισηγητής: Χαριτωνίδης Γεώργιος. Βόλος, Νοέμβριος 2008

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Μάριος Αγγελίδης

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Εικονική Μνήμη (Virtual Μemory)

Μάθημα 3ο. Διαχείριση αρχείων

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Πληροφορική. Εργαστηριακή Ενότητα 2 η : Το βιβλίο εργασίας του MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

ÁÎÉÁ ÅÊÐÁÉÄÅÕÔÉÊÏÓ ÏÌÉËÏÓ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31

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

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

Βάσεις Δεδομένων Ι 6. Ιδιότητες πεδίων. Τμήμα Διοίκησης Επιχειρήσεων (Μεσολόγγι) ΤΕΙ Δυτικής Ελλάδας

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

Διαχείριση Βάσης Δεδομένων (dbadmin)

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

Μάθημα 4.2 Η μητρική πλακέτα

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Οι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2008

Οδηγός γρήγορης εκκίνησης

ΠΛΕ- 027 Μικροεπεξεργαστές

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

Αρχιτεκτονική Υπολογιστών II Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Transcript:

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

Αρχεία με Χαρτογράφηση στη Μνήμη Κάποια ΛΣ υποστηρίζουν μηχανισμό για την χαρτογράφηση (mapping) των αρχείων στο χώρο των διευθύνσεων της διεργασίας που εκτελείται. Συγκεκριμένα, αξιοποιούνται οι εντολές: Map: Αυτή παρέχει ένα όνομα αρχείου και μια εικονική διεύθυνση και αναγκάζει το ΛΣ να απεικονίσει το αρχείο μέσα στο χώρο διευθύνσεων ξεκινώντας από τη συγκεκριμένη εικονική διεύθυνση Unmap: Αφαιρεί τα αρχεία από το χώρο διευθύνσεων Λειτουργικά Συστήματα 2

Αρχεία με Χαρτογράφηση στη Μνήμη Τα βασικά προβλήματα: Επειδή συνήθως η διαχείριση μνήμης γίνεται μέσω σελίδων ή / και τμημάτων, το σύστημα δεν είναι εύκολο να γνωρίζει το ακριβές μέγεθος του αρχείου (παρά μόνο σε πλήθος σελίδων) Ένα αρχείο που είναι χαρτογραφημένο στη μνήμη μπορεί να ανοίξει για συμβατική ανάγνωση από άλλη διεργασία και να δημιουργηθεί πρόβλημα «ασυνεπών» εκδόσεων του αρχείου. Τέλος αν κάποιο αρχείο είναι πολύ μεγάλο θα πρέπει η εντολή map να χαρτογραφεί μόνο μέρος του αρχείου Λειτουργικά Συστήματα 3

Υλοποίηση Συστήματος Αρχείων Οι περισσότεροι δίσκοι μπορούν να διαιρεθούν σε ένα ή περισσότερα διαμερίσματα (partitions) και κάθε διαμέρισμα να έχει ανεξάρτητο σύστημα αρχείων. Ο τομέας 0 του δίσκου ονομάζεται Βασική Εγγραφή Εκκίνησης (MBR Master Boot record) και εκτελείται όταν ξεκινάει ο υπολογιστής. Στο τέλος του MBR βρίσκεται ο Πίνακας Διαμερισμάτων που περιέχει την αρχική και τελική διεύθυνση κάθε διαμερίσματος. Ένα από τα διαμερίσματα του πίνακα σημειώνεται ως ενεργό Το πρόγραμμα του MBR έχει ως στόχο να εντοπίσει το ενεργό διαμέρισμα και να αναγνώσει το πρώτο του μπλόκ που είναι το μπλόκ εκκίνησης (boot block). Λειτουργικά Συστήματα 4

Υλοποίηση Συστήματος Αρχείων Για λόγους ομοιομορφίας, το πρώτο μπλόκ σε όλα τα διαμερίσματα είναι το μπλόκ εκκίνησης στο οποίο τοποθετείται το πρόγραμμα εκκίνησης του λειτουργικού συστήματος του συγκεκριμένου διαμερίσματος (ακόμα και αν το συγκεκριμένο διαμέρισμα δεν περιέχει λειτουργικό σύστημα εκκίνησης). Με εξαίρεση το μπλόκ εκκίνησης, η δομή των διαμερισμάτων τροποποιείται από σύστημα αρχείων σε σύστημα αρχείων. Λειτουργικά Συστήματα 5

File System Implementation Περιέχει διάφορες κρίσιμες παραμέτρους για το Σύστημα Αρχείων (τύπος συστήματος αρχείων, πλήθος μπλόκς κ.λ.π.), & τοποθετείται στη μνήμη όταν ξεκινάει ο υπολογιστής ή χρησιμοποιείται για πρώτη φορά στο σύστημα αρχείων Πληροφορίες για τα ελεύθερα μπλόκς (Χάρτης ψηφίων ή λίστα από δείκτες) Πίνακας από i-κόμβους (ένας κόμβος για κάθε αρχείο) Βσικός Κατάλογος (περιέχει την κορυφή του δένδρου του συστήματος αρχείων) A possible file system layout Λειτουργικά Συστήματα 6

Υλοποίηση Αρχείων Ίσως το πιο σημαντικό ζήτημα στην υλοποίηση της αποθήκευσης των αρχείων είναι να γνωρίζουμε σε κάθε χρονική στιγμή ποια μπλοκ του δίσκου ανήκουν σε κάθε αρχείο Χρησιμοποιούνται διάφοροι μέθοδοι σε κάθε ΛΣ Λειτουργικά Συστήματα 7

Υλοποίηση Αρχείων Συνεχής Κατανομή Η πιο απλή μέθοδος είναι να αποθηκεύουμε κάθε αρχείο ως μία συνεχή αλληλουχία μπλοκ δίσκου Παράδειγμα 1: σε έναν δίσκο που διαθέτει μπλοκ με χωρητικότητα 1ΚΒ, ένα αρχείο με μέγεθος 50ΚΒ θα δεσμεύσει 50 συνεχόμενα μπλοκ Παράδειγμα 2: σε έναν δίσκο που διαθέτει μπλοκ με χωρητικότητα 2ΚΒ, ένα αρχείο με μέγεθος 50ΚΒ θα δεσμεύσει 25 συνεχόμενα μπλοκ Λειτουργικά Συστήματα 8

Υλοποίηση Αρχείων Συνεχής Κατανομή Συνεχής κατανομή του χώρου του δίσκου για 7 αρχεία * Κάθε αρχείο ξεκινάει στην αρχή ενός νέου μπλοκ οπότε, αν το αρχείο Α έχει μέγεθος 3 ½ μπλοκ, χάνεται κάποιος χώρος στο τέλος του τελευταίου μπλοκ Λειτουργικά Συστήματα 9

Υλοποίηση Αρχείων Συνεχής Κατανομή Η συνεχής κατανομή έχει δύο σημαντικά πλεονεκτήματα: 1. Είναι απλή στην υλοποίηση επειδή για να γνωρίζουμε πού βρίσκονται τα μπλοκ ενός αρχείου χρειάζεται να θυμόμαστε μόνο 2 αριθμούς: τη διεύθυνση του 1 ου μπλοκ στον δίσκο και το πλήθος των μπλοκ που καταλαμβάνει το αρχείο Αν γνωρίζουμε τον αριθμό του 1 ου μπλοκ, ο αριθμός οποιουδήποτε άλλου μπλοκ μπορεί να βρεθεί με μία απλή πρόσθεση 2. Η απόδοση κατά την ανάγνωση είναι εξαιρετική επειδή μπορεί να διαβαστεί ολόκληρο το αρχείο από τον δίσκο με μία λειτουργία: χρειάζεται μόνο μία αναζήτηση (για το 1 ο μπλοκ) Λειτουργικά Συστήματα 10

Υλοποίηση Αρχείων Συνεχής Κατανομή Μειονέκτημα: με την πάροδο του χρόνου, ο χώρος του δίσκου κατατέμνεται Ο δίσκος δεν συμπτύσσεται για να κλείσει το κενό, επειδή αυτό θα απαιτούσε να αντιγραφούν όλα τα μπλοκ που ακολουθούν το κενό (θα μπορούσαν να είναι και εκατομύρια), κάτι το οποίο θα απαιτούσε ώρες ή ακόμα και μέρες στους μεγάλους δίσκους Η επαναχρησιμοποίηση του ελεύθερου χώρου των κενών απαιτεί τη διατήρηση μιας λίστας των κενών, πράγμα που είναι εφικτό. Όταν όμως δημιουργείται ένα νέo αρχείο, είναι απαραίτητοο να γνωρίζουμε από πριν το τελικό του μέγεθος, ώστε να μπορέσουμε να επιλέξουμε ένα κενό με κατάλληλο μέγεθος Κατάσταση του δίσκου μετά τη διαγραφή των αρχείων D και E Χρησιμοποιείται ακόμη στην πράξη στα CD-ROΜ: όλα τα μεγέθη είναι γνωστά εκ των προτέρων και δεν πρόκειται να αλλάξουν στο μέλλον κατά τη χρήση του συστήματος αρχείων του CD-ROM Λειτουργικά Συστήματα 11

Υλοποίηση Αρχείων Κατανομή Συνδεδεμένης Λίστας Αποθήκευση αρχείων σε μια συνδεδεμένη λίστα από μπλοκ δίσκου. Η πρώτη λέξη κάθε μπλοκ χρησιμοποιείται σαν δείκτης προς το επόμενο. Το υπόλοιπο τμήμα του μπλοκ χρησιμοποιείται για την αποθήκευση των δεδομένων => μπορούν να χρησιμοποιηθούν όλα τα μπλοκ του δίσκου=>δεν υπάρχει απώλεια χώρου εξαιτίας κατάτμισης (εκτός από την εσωτερική κατάτμιση του τελευταίου μπλοκ Αρκεί να αποθηκευτεί η διεύθυνση του πρώτου μπλοκ στην καταχώριση καταλόγου. Το υπόλοιπο αρχείο μπορεί να βρεθεί με αφετηρία αυτό το σημείο Λειτουργικά Συστήματα 12

Υλοποίηση Αρχείων Κατανομή Συνδεδεμένης Λίστας Όμως: Αργή τυχαία προσπέλαση Για να φτάσει στο μπλοκ n, το ΛΣ πρέπει να ξεκινήσει από την αρχή και να διαβάσει τα n-1 προηγούμενα μπλοκ, ένα προς ένα. Όλες αυτές οι αναγνώσεις είναι εξαιρετικά χρονοβόρες Απώλεια χώρου από τους δείκτες σε κάθε μπλοκ Ο διαθέσιμος χώρος δεν είναι δύναμη του 2 πια, αφού δείκτης καταλαμβάνει κάποια bytes. Τα «περίεργα» μεγέθη μπλοκ είναι λιγότερο αποδοτικά επειδή πολλά προγράμματα γράφουν και διαβάζουν μπλοκ των οποίων το μέγεθος είναι δύναμη του 2 Λειτουργικά Συστήματα 13

Υλοποίηση Αρχείων Κατανομή Συνδεδεμένης Λίστας με Χρήση ενός Πίνακα στην Κύρια Μνήμη Η λέξη με το δείκτη από κάθε μπλοκ μεταφέρεται σε ένα πίνακα στη μνήμη, που είναι γνωστός ως Πίνακας Κατανομής Αρχείων (File Allocation Table) Και οι 2 αλυσίδες τερματίζονται σε κάποιον ειδικό αριθμό (π.χ. -1), ο οποίος δεν είναι έγκυρος αριθμός μπλοκ Λειτουργικά Συστήματα 14

Υλοποίηση Αρχείων Κατανομή Συνδεδεμένης Λίστας με Χρήση ενός Πίνακα στην Κύρια Μνήμη Διαθέσιμο για αποθήκευση το σύνολο του μπλοκ Γρήγορη τυχαία προσπέλαση Μειονέκτημα: Διατηρείται στη μνήμη ολόκληρος ο πίνακας (->για έναν δίσκο 1ΤΒ και μέγεθος μπλοκ 1ΚΒ, ο πίνακας χρειάζεται 1 δισεκατομμύριο καταχωρίσεις, μία για καθένα από τα 1 δισεκατομμύριο μπλοκ) Απαιτείται ~ 60-80 MB για 20GB δίσκου Εξάρτηση του μεγέθους του πίνακα από το μέγεθος του δίσκου Λειτουργικά Συστήματα 15

Υλοποίηση Αρχείων Κόμβοι i (Index Nodes) Σε κάθε αρχείο αντιστοιχίζεται μια δομή δεδομένων: κόμβος i (i node από index node) Περιέχει τις διευθύνσεις στο δίσκο των μπλοκ του αρχείου Τις ιδιότητες του αρχείου Ο κόμβος i βρίσκεται στη μνήμη μόνο όταν είναι ανοιχτό το αντίστοιχο αρχείο Αν κάθε κόμβος i καταλαμβάνει n byte και μπορούν να είναι ανοιχτά το πολύ k αρχεία, η συνολική μνήμη που καταλαμβάνεται από τον πίνακα που περιέχει τους κόμβους i (για όλα τα ανοιχτά αρχεία) είναι μόνο kn byte => χρειάζεται να δεσμευθεί εκ των προτέρων μόνο αυτή η μικρή ποσότητα χώρου Λειτουργικά Συστήματα 16

Υλοποίηση Αρχείων Κόμβοι i (Index Nodes) Αυτή η σχεδίαση λοιπόν απαιτεί στη μνήμη την ύπαρξη πίνακα με μέγεθος που εξαρτάται από το μέγιστο επιτρεπόμενο αριθμό των ανοιχτών αρχείων και όχι το μέγεθος του δίσκου, όπως στην Κατανομή Συνδεδεμένης Λίστας με Χρήση ενός Πίνακα στην Κύρια Μνήμη Πρόβλημα: αν καθένας από τους κόμβους i διαθέτει χώρο για έναν σταθερό αριθμό διευθύνσεων δίσκου, τι θα συμβεί αν το μέγεθος ενός αρχείου υπερβεί αυτό το όριο; Πιθανή λύση:μπορεί να δεσμευθεί η τελευταία διεύθυνση δίσκου όχι για μπλοκ δεδομένων αλλά για τη διεύθυνση ενός μπλοκ που περιέχει περισσότερες διευθύνσεις από μπλοκ δίσκου Λειτουργικά Συστήματα 17

Υλοποίηση Καταλόγων Για να ανοίξει ένα αρχείο αξιοποιείται το όνομα διαδρομής που παρέχει ο χρήστης για να εντοπιστεί η καταχώριση καταλόγου στον δίσκο Η καταχώρηση καταλόγου παρέχει τις πληροφορίες που χρειάζονται για να βρεθούν τα μπλόκ του δίσκου η διεύθυνση δίσκου ολόκληρου του αρχείου για τη περίπτωση συνεχούς κατάτμισης Ο αριθμός του πρώτου μπλόκ για τις δύο περιπτώσεις συνδεδεμένης λίστας Ο αριθμός του κόμβου i Ένα ζήτημα είναι η επιλογή του χώρου για την αποθήκευση των ιδιοτήτων (attributes) του αρχείου Λειτουργικά Συστήματα 18

Υλοποίηση Καταλόγων (a) Απλή Σχεδίαση: κάθε κατάλογος αποτελείται από μία λίστα με καταχωρίσεις σταθερού μεγέθους (μια ανά αρχείο), που περιέχουν το όνομα του αρχείου (σταθερού μεγέθους), μια δομή με τις ιδιότητες του αρχείου, και μια ή περισσότερες διευθύνσεις στο δίσκο (μέχρι κάποιο μέγιστο) οι οποίες αναφέρουν που βρίσκονται τα μπλοκ του δίσκου Λειτουργικά Συστήματα 19

Υλοποίηση Καταλόγων ((b) Σχεδίαση καταλόγου στον οποίο κάθε καταχώριση αναφέρεται απλώς σε έναν κόμβο i: οι ιδιότητες αποθηκεύονται μέσα στους κόμβους, και όχι στις καταχωρήσεις καταλόγου => οι καταχωρίσεις καταλόγου είναι μικρότερες: απλώς το όνομα του αρχείου και ο αριθμός του κόμβου i Λειτουργικά Συστήματα 20

Διαχείριση Μεγάλων Ονομάτων Αρχείων στους Καταλόγους Όλα σχεδόν τα ΛΣ υποστηρίζουν μεγάλα ονόματα αρχείων μεταβλητού μήκους. Πώς μπορούν να υλοποιηθούν; Απλούστερη προσέγγιση: να τεθεί ένα όριο στο μήκος των ονομάτων των αρχείων (τυπικά 255 χαρακτήρες) και να χρησιμοποιηθεί μία από τις προηγούμενες 2 μεθόδους, δεσμεύοντας 255 χαρακτήρες για κάθε όνομα αρχείου Η προσέγγιση αυτή σπαταλάει αρκετό χώρο στον κατάλογο, επειδή ελάχιστα αρχεία έχουν τόσο μεγάλα ονόματα => για να αυξηθεί η αποδοτικότητα απαιτείται μία διαφορετική δομή Λειτουργικά Συστήματα 21

Διαχείριση Μεγάλων Ονομάτων Αρχείων στους Καταλόγους α) Εσωτερικά: κάθε καταχώριση καταλόγου περιλαμβάνει ένα σταθερό τμήμα, το οποίο ξεκινάει συνήθως με το μέγεθος της καταχώρισης και συνεχίζεται με δεδομένα σταθερής δομής (π.χ. ιδιοκτήτης, ώρα δημιουργίας, πληροφορίες προστασίας, κ.ά.). Η κεφαλίδα ακολουθείται από το πραγματικό όνομα αρχείου, όσο μεγάλο και αν είναι. Κάθε όνομα αρχείο τερματίζεται με έναν ειδικό χαρακτήρα (Χ). Για να επιτρέπεται σε κάθε καταχώριση καταλόγου να ξεκινάει σε όριο λέλξς, κάθε όνομα αρχείου συμπληρώνεται μέχρι το τέλος της τελευταίας λέξης Λειτουργικά Συστήματα 22

Διαχείριση Μεγάλων Ονομάτων Αρχείων στους Καταλόγους β) Σε Σωρό: οι καταχωρήσεις καταλόγου έχουν μεταβλητό μήκος και όλα τα ονόματα αρχείων διατηρούνται σε έναν σωρό στο τέλος του καταλόγου => δεν υπάρχει πλέον πραγματική ανάγκη να ξεκινούν τα ονόματα αρχείων στα όρια των λέξεων και δεν χρειάζονται χαρακτήρες συμπλήρωσης μετά από τα ονόματα των αρχείων Λειτουργικά Συστήματα 23

Κοινόχρηστα Αρχεία Υπάρχουν προβλήματα συγχρονισμού του αρχείου!! Λειτουργικά Συστήματα 24

Κοινόχρηστα Αρχεία Το πρόβλημα του συγχρονισμού μπορεί να λυθεί με δύο τρόπους: Τα μπλόκ του δίσκου δεν παρουσιάζονται στους καταλόγους αλλά σε μικρές δομές δεδομένων (π.χ. Κόμβους i για το UNIX) οι οποίες είναι συσχετισμένες με το ίδιο το αρχείο O B συνδέεται με ένα από τα αρχεία του C μέσω της δημιουργίας ενός νέου αρχείου τύπου LINK, και της τοποθέτησης του νέου αυτού αρχείου στον κατάλογο του Β. Το νέο αρχείο περιέχει απλώς το όνομα της διαδρομής που έχει συνδεθεί. Ο τρόπος αυτός είναι γνωστός ως «Συμβολική Σύνδεση». Λειτουργικά Συστήματα 25

Κοινόχρηστα Αρχεία (με χρήση μικρών Δομών Δεδομένων) (a) Αρχική Κατάσταση (b) Μετά τη σύνδεση του χρήστη Β με το αρχείο, ο μετρητής συνδέσεων στον κόμβο αυξάνει κατά 1, ώστε το σύστημα να γνωρίζει πόσες καταχωρήσεις καταλόγων δείχνουν στο αρχείο της συγκεκριμένη χρονική στιγμή (c) Μετά που ο αρχικός χρήστης C διαγράφει το αρχείο (=> διαγράφει την καταχώριση καταλόγου του C) παραμένει άθικτος ο κόμβος και ο μετρητής των συνδέσεων παίρνει την τιμή 1. Όταν ο Β αποφασίσει να το διαγράψει, ο μετρητής θα γίνει 0 και το αρχείο θα διαγραφεί Λειτουργικά Συστήματα 26

Διαχείριση Χώρου Δίσκου Αποθήκευση αρχείου σε συνεχή ακολουθία από byte Οδηγεί στο πρόβλημα της μεταφοράς του αρχείου όταν αυτό μεγαλώσει Αποθήκευση αρχείου σε μπλοκ σταθερού μεγέθους Ποιο πρέπει να είναι το μέγεθος του μπλοκ Μεγάλο μέγεθος μπλοκ: Απώλεια χώρου σε μικρά αρχεία Ταχύτερη μεταφορά δεδομένων Μικρό μέγεθος μπλοκ: Καλύτερη χρήση του χώρου του δίσκου Μικρότερος ρυθμός μεταφοράς δεδομένων Κεντρική τιμή μεγέθους αρχείων: 2475 byte Λειτουργικά Συστήματα 27

Διαχείριση Χώρου Δίσκου Block size Η συνεχής καμπύλη (αριστερή κλίμακα) δίνει το ρυθμό μεταφοράς δεδομένων του δίσκου Η διακεκομμένη καμπύλη (δεξιά κλίμακα) δίνει την αποδοτικότητα χρήσης του χώρου του δίσκου Για αρχεία μεγέθους 2KB Λειτουργικά Συστήματα 28