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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική

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

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

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

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

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

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

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

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

Ενότητα. Εισαγωγή στη Microsoft Access

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Τεχνικό Σχέδιο - CAD

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Νέες Τεχνολογίες και Καλλιτεχνική Δημιουργία

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

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

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

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

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

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

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

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

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

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

Εισαγωγή στην Πληροφορική

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

Διδακτική των εικαστικών τεχνών Ενότητα 2

Διδακτική των εικαστικών τεχνών Ενότητα 2

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

Διδακτική της Πληροφορικής

Ηλεκτροτεχνία ΙΙ. Ενότητα 1: Βασικές Έννοιες Ηλεκτροτεχία Ηλεκτρονική. Δημήτρης Στημονιάρης, Δημήτρης Τσιαμήτρος Τμήμα Ηλεκτρολογίας

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

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

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

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

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

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

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

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

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

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

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

Transcript:

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

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

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

Εισαγωγικές έννοιες. Αρχεία (files). Ονομασία αρχείων. Δομή των αρχείων. Τύποι αρχείων. Binary αρχεία. File Attributes. Λειτουργίες αρχείων. Κατάλογοι. Σκοποί ενότητας 4

Περιεχόμενα ενότητας Εισαγωγικές έννοιες. Αρχεία (files). Ονομασία αρχείων. Δομή των αρχείων. Τύποι αρχείων. Binary αρχεία. File Attributes. Λειτουργίες αρχείων. Κατάλογοι. 5

Συστήματα αρχείων 6

Εισαγωγικές έννοιες (1/2) Όλες σχεδόν οι εφαρμογές διαβάζουν, γράφουν ή τροποποιούν κάποια δεδομένα. Τα δεδομένα αυτά θα πρέπει να είναι διαθέσιμα για μακρόχρονη χρήση (πιθανώς για πάντα). Βασικές απαιτήσεις για την μακρόχρονη αποθήκευση δεδομένων: 1. Όγκος δεδομένων: Θα πρέπει να είναι δυνατή η αποθήκευση μεγάλης ποσότητας δεδομένων (>> RAM). 2. Διατήρηση δεδομένων: οι πληροφορίες πρέπει να εξακολουθούν να υπάρχουν μετά τον τερματισμό της διεργασίας που τα δημιούργησε. 3. Παράλληλη χρήση δεδομένων: πολλές διεργασίες θα πρέπει να έχουν τη δυνατότητα ταυτόχρονης χρήσης. 7

Εισαγωγικές έννοιες (2/2) Μέσα για την μακροπρόθεσμη αποθήκευση δεδομένων: δίσκοι, μαγνητικές ταινίες, CD, DVD κτλ. Θεωρούμε τον δίσκο ως μία γραμμική ακολουθία από μπλοκ σταθερού μεγέθους, με 2 μόνο λειτουργίες: 1. Ανάγνωση του μπλοκ k. 2. Εγγραφή στο μπλοκ k. Βασικά θέματα που προκύπτουν είναι: 1. Πως θα αναζητούνται τα δεδομένα; 2. Πως προστατεύονται τα δεδομένα ενός χρήστη από κάποιον άλλο χρήστη? 3. Πως βρίσκονται τα ελεύθερα μπλοκ; 8

Αρχεία (files) (1/2) Αρχεία: μία νέα αφαίρεση του ΛΣ για την διαχείριση των δεδομένων ενός συστήματος. Λογικές μονάδες δεδομένων, τις οποίες δημιουργούν, και διαχειρίζονται οι διεργασίες. Αποτελεί το χώρο διευθύνσεων των δεδομένων στο δίσκο Ότι είναι ο χώρος διευθύνσεων (address space) για τη RAM, είναι το αρχείο για το δίσκο. Η διαχείριση των αρχείων γίνεται από το ΛΣ. Δημιουργία, τροποποίηση, καταστροφή. Ονομασία, δόμηση, υλοποίηση Προσπέλαση, προστασία, χρήση. 9

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

Ονομασία αρχείων (1/2) Μέγεθος ονόματος: Στο FAT-16, FAT-32 (MS-DOS μέχρι Win98), μέχρι 8 χαρακτήρες. Στο NTFS (WIN NT και μετά) μέχρι 255 χαρακτήρες Διάκριση πεζών-κεφαλαίων: Στα windows δεν γίνεται διάκριση. Στο UNIX γίνεται διάκριση. Προεκτάσεις αρχείων (file extensions): Στα windows έχουν νόημα για το ΛΣ. Στο UNIX είναι συμβάσεις των χρηστών. 11

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

Δομή των αρχείων (1/3) (1) Ακολουθία Byte Καμία δόμηση. Μονάδα του αρχείου είναι το byte. Το νόημα που θα δοθεί στα δεδομένα του αρχείου είναι δουλειά του προγράμματος χρήστη και δεν αφορά το ΛΣ. Το ΛΣ δεν απαγορεύει, ούτε επιβάλει κάποια ειδική δομή). Μέγιστη ευελιξία. Χρησιμοποιείται στο UNIX, windows, κτλ. Εικόνα 2: Δομή αρχείων. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 13

Δομή των αρχείων (2/3) (2) Ακολουθία εγγραφών (record): Μονάδα του αρχείου είναι μία εγγραφή με συγκεκριμένη μορφή. Το ΛΣ απαγορεύει τη δημιουργία αρχείων με διαφορετική δομή. Η ανάγνωση γίνεται επίσης ανά εγγραφή. Δεν χρησιμοποιείται πλέον. Εικόνα 2: Δομή αρχείων. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 14

Δομή των αρχείων (3/3) (3) Δένδρο (tree): Μονάδα του αρχείου είναι μία εγγραφή, αλλά χωρίς συγκεκριμένη μορφή. Κάθε εγγραφή έχει όμως υποχρεωτικά ένα κλειδί (key). Η αναζήτηση ή τοποθέτηση ενός αρχείου στο δένδρο, γίνεται με βάση το κλειδί. Χρησιμοποιείται σε mainframes για επεξεργασία εμπορικών δεδομένων. Εικόνα 3: Δομή αρχείων. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 15

Τύποι αρχείων (1/4) UNIX: Κανονικά αρχεία. Κατάλογοι. Ειδικά αρχεία χαρακτήρων (χρησιμοποιούνται για μοντελοποίηση σειριακών συσκευών Ε/Ε). Ειδικά αρχεία μπλοκ (χρησιμοποιούνται για μοντελοποίηση δίσκων). Windows: Μόνο κανονικά αρχεία και κατάλογοι. 16

Τύποι αρχείων (2/4) Τα κανονικά αρχεία χωρίζονται σε ASCII και binary files. ASCII αρχεία: Περιλαμβάνουν κείμενο και ειδικούς χαρακτήρες (line feed, carrige return). Μπορούν να επεξεργαστούν, τυπωθούν, χρησιμοποιηθούν για Ε/Ε, επικοινωνία διεργασιών κτλ. Binary (δυαδικά) αρχεία: Ότι δεν είναι ascii. Εσωτερική δομή, γνωστή στον προγραμματιστή. Δεν επεξεργάζονται ούτε τυπώνονται. 17

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

Τύποι αρχείων (4/4) Τα binary αρχεία έχουν δομή, για το ΛΣ. (α) ένα εκτελέσιμο αρχείο έχει πεδία όπως τον μαγικό αριθμό (δείχνει ότι είναι εκτελέσιμο το αρχείο), πεδία μεγέθους, σημαίες, κώδικα, δεδομένα, Bit για την επανατοποθέτησή τους στη μνήμη, πίνακα συμβόλων για debugging κτλ) (β) ένα αρχείο αρχειοθήκης (archive), χρησιμοποιείται στο UNIX για την ομαδοποίηση σε βιβλιοθήκες, υπομονάδων κώδικα που έχουν μεταγλωττιστεί αλλά δεν έχουν συνδεθεί. Κάθε υπομονάδα περιλαμβάνει μία επικεφαλίδα με πληροφορίες δημιουργίας, ιδιοκτήτη κτλ, και τον ίδιο τον μεταγλωττισμένο κώδικα της υπομονάδας. 19

Binary αρχεία (executable) Τα δυαδικά αρχεία σε αντίθεση με τα αρχεία ASCII δεν μπορούν να δεχτούν επεξεργασία με οποιονδήποτε editor ή να εμφανιστούν και να τυπωθούν όπως είναι. Συνήθως έχουν κάποια εσωτερική δομή η οποία είναι γνωστή στα προγράμματα που τα χρησιμοποιούν. Υπάρχουν περιπτώσεις που παρόλο το αρχείο από τεχνικής πλευρά είναι απλώς μια ακολουθία από bytes, το λειτουργικό σύστημα εκτελεί ένα αρχείο μόνο αν έχει την κατάλληλη μορφή. Το συγκεκριμένο αρχείο αποτελείται από πέντε κομμάτια: Την κεφαλίδα (header). Τον κώδικα. Τα δεδομένα. Τα bit επανατοποθέτησης (relocation bits). Και τον πίνακα συμβόλων. 20

Binary αρχεία (archive) Αποτελείται από μια συλλογή διαδικασιών βιβλιοθήκης οι οποίες έχουν μεταγλωττιστεί αλλά δεν έχουν συνδεθεί. Η κάθε μία ξεκινάει με μία κεφαλίδα που αναφέρει το όνομα της, την ημερομηνία δημιουργίας, τον ιδιοκτήτη, τον κώδικα προστασίας και το μέγεθος. Οι κεφαλίδες των υπομονάδων είναι γεμάτες με δυαδικούς αριθμούς. Κάθε λειτουργικό σύστημα πρέπει να αναγνωρίζει τουλάχιστον ένα τύπο αρχείων, ο οποίος είναι τα εκτελέσιμα αρχεία του, αλλά μερικά λειτουργικά συστήματα αναγνωρίζουν περισσότερους από ένα τύπους. 21

Πρόσβαση στα αρχεία Αρχεία σειριακής πρόσβασης (sequential files) Ανάγνωση με τη σειρά, όλων των byte. Μόνο δυνατότητα rewind. Αρχεία τυχαίας προσπέλασης (random access files) Ανάγνωση σε οποιαδήποτε θέση. Δυνατότητα αναζήτησης θέσης μέσα στο αρχείο (seek). 22

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

File Attributes (1/2) Στα περισσότερα λειτουργικά συστήματα κάθε αρχείο συσχετίζεται με πρόσθετες πληροφορίες. Kαλούνται ιδιοχαρακτηριστικά του αρχείου (file attributes). 24

File Attributes (2/2) Περιγραφή της προστασίας του αρχείου (ανάγνωση, μεταβολή). Ταυτότητα του δημιουργού και του ιδιοκτήτη. Τρόποι προσπέλασης (σειριακή, τυχαία). Ένδειξη τροποποίησης. Ένδειξη κρυφού αρχείου. Ένδειξη προσωρινού αρχείου. Ένδειξη εφεδρείας. Μήκος εγγραφής. Στοιχεία του κλειδιού. Ημερομηνία και ώρα δημιουργίας / τελευταίας προσπέλασης / τελευταίας μεταβολής. Ημερομηνία και ώρα τελευταίας μεταβολής των ιδιοχαρακτηριστικών. Τρέχον μέγεθος / Μέγιστο μέγεθος. 25

Λειτουργίες αρχείων (1/3) Οι βασικές κλήσεις συστήματος που για τα αρχεία: Λειτουργίες αρχείων: Append. Seek. Get Attributes. Set Attributes. Rename. Create. Delete. Open. Close. Read. Write. 26

Λειτουργίες αρχείων (2/3) Η πρόσβαση στα αρχεία γίνεται μέσω κλήσεων στο ΛΣ open : Άνοιγμα αρχείου για επεξεργασία Μετέφερε τα περιεχόμενα του αρχείου από τον δίσκο στη μνήμη read : Ανάγνωση από το αρχείο write : Εγγραφή στο αρχείο seek : Μετακίνηση του δείκτη στο αρχείο close : Τέλος της πρόσβασης στο αρχείο και κλείσιμο του Μετέφερε τα περιεχόμενα του αρχείου από την μνήμη στον δίσκο. 27

Λειτουργίες αρχείων (3/3) Οι κλήσεις open() & close(): Το Λ.Σ. : Ο κύριος λόγος ύπαρξης είναι υψηλή απόδοση (performance). Ο χρήστης δηλώνει ότι πρόκειται να προσπελάσει ένα file με το open(). Ελέγχει τα δικαιώματα πρόσβασης του χρήστη στο αρχείο και Αποταμιεύει στη Κ.Μ. χρήσιμες πληροφορίες, όπως σε ποια disk blocks βρίσκονται αποθηκευμένα τα δεδομένα του αρχείου και τα attributes. Αυτές οι πληροφορίες έτσι θα βρίσκονται στη Κ.Μ. κάθε read() & write() δεν θα χρειαστεί διπλό κόστος I/O, ούτε το κόστος ελέγχου πρόσβασης. 28

Κλήσεις ΛΣ για Αρχεία (1/2) Η πρόσβαση στα αρχεία γίνεται μέσω κλήσεων στο ΛΣ: create : Δημιουργία ενός νέου αρχείου. lock : Κλείδωμα αρχείου για αποτροπή χρήσης από άλλη διεργασία. delete : Σβήσιμο του αρχείου. rename: Μετονομασία αρχείου. append: Επισύναψη πληροφοριών στο τέλος του αρχείου. set Attributes : Αλλαγή των ιδιοχαρακτηριστικών του αρχείου. get attributes : Ερώτηση για την τιμή των ιδιοχαρακτηριστικών. 29

Κλήσεις ΛΣ για Αρχεία (2/2) Οι κλήσεις open και create επιστρέφουν κατά κανόνα έναν μικρό ακέραιο τον περιγραφέα του αρχείου (file descriptor). Ο fd χρησιμοποιείται στη συνέχεια για κάθε άλλη κλήση που έχει σχέση με το συγκεκριμένο αρχείο. Με τον τρόπο αυτό απλουστεύεται η πρόσβαση στο αρχείο μέσω του ονόματός του. 30

Κατάλογοι - Directories 31

Κατάλογοι (1/4) Tα συστήματα αρχείων υποστηρίζουν καταλόγους: Για να είναι δυνατή η αποθήκευση αρχείων σε λογικά σύνολα/υποσύνολα. Ο κατάλογος δίνει τη δυνατότητα στο χρήστη να ομαδοποιήσει αρχεία που σχετίζονται μεταξύ τους. Είναι ένα ειδικό αρχείο το οποίο περιέχει μία καταχώρηση για κάθε αρχείο που βρίσκεται μέσα στον κατάλογο. Υπάρχουν συστήματα καταλόγων ενός/δύο ή πολλαπλών επιπέδων: Πολλά λειτουργικά συστήματα υλοποιούν ιεραρχική δομή καταλόγων. Τree directory structure. 32

Κατάλογοι (2/4) Σύστημα καταλόγων ενός επιπέδου. Παράδειγμα. Περιέχει 4 αρχεία. Τα οποία ανήκουν σε 3 διαφορετικούς χρήστες (A, B, C). Πρόβλημα στην περίπτωση που το σύστημα υποστηρίζει πολλαπλούς χρήστες. Εικόνα 4: Κατάλογοι. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 33

Κατάλογοι (3/4) Σύστημα καταλόγων δύο επιπέδων. Παράδειγμα. Περιέχει 6 αρχεία Τα οποία ανήκουν σε 3 διαφορετικούς χρήστες (A, B, C). Κάθε χρήστης έχει τον προσωπικό του κατάλογο. Για χρήστες με μεγάλο αριθμό αρχείων η λύση πάλι δεν είναι ικανοποιητική. Εικόνα 5: Κατάλογοι. Πηγή: Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. 34

Κατάλογοι (4/4) Πηγή: 35

Κλήσεις ΛΣ για Καταλόγους Η πρόσβαση στους καταλόγους γίνεται μέσω κλήσεων στο ΛΣ. delete Διαγραφή ενός αρχείου από έναν κατάλογο. rename Μετονομασία ενός αρχείου (ή καταλόγου). mkdir Δημιουργία ενός καταλόγου. rmdir Διαγραφή ενός καταλόγου. opendir Αρχή πρόσβασης στα στοιχεία ενός καταλόγου. readdir Ανάγνωση στοιχείων από έναν κατάλογο. closedir Τέλος της πρόσβασης στον κατάλογο. 36

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

Ονόματα διαδρομών (2/2) Απόλυτο όνομα διαδρομής (absolute path name): /usr/jim/file1. Σχετικό όνομα διαδρομής (relative path name): Εάν ο τρέχων κατάλογος είναι ο /usr, τότε η παραπάνω διαδρομή, μπορεί να γραφεί ως: /jim/file1. Οι φάκελοι «.» και «..». : ο τρέχων κατάλογος...: ο αμέσως επάνω κατάλογος. 38

Λειτουργίες καταλόγων Κλήσεις συστήματος για τη διαχείριση καταλόγων: Λειτουργίες καταλόγων: Readdir. Rename. Link. Unlink. Create. Delete. Opendir. Closedir. 39

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

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

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

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

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

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