Διδακτικά Βιβλία του Παιδαγωγικού Ινστιτούτου
Λειτουργίες που εκτελούνται στα αρχεία
Το τμήμα του ΛΣ που ασχολείται με το σύστημα αρχείων δίνει τη δυνατότητα στους χρήστες να εκτελέσουν διάφορες λειτουργίες στα αρχεία με δυο τρόπους: 1. Με κλήσεις ρουτινών συστήματος, οι οποίες γίνονται μέσα από τα προγράμματα του χρήστη 2. Με εντολές του ΛΣ, οι οποίες εισάγονται απευθείας από το χρήστη προς το ΛΣ. Οι εντολές αυτές συνήθως εκτελούν προγράμματα που χρησιμοποιούν κλήσεις συστήματος.
Οι κυριότερες λειτουργίες που παρέχονται από όλα τα ΛΣ είναι:
- Δημιουργία ενός νέου αρχείου. Αυτό αρχικά δεν περιέχει δεδομένα, δηλαδή το μέγεθος του είναι 0. Το νέο αρχείο, μετά τη δημιουργία του είναι «ανοικτό» και διαθέσιμο στη διεργασία που το δημιούργησε για να προσθέσει δεδομένα ξεκινώντας από την αρχή του.
- Διαγραφή ενός αρχείου από τη δευτερεύουσα μνήμη. Ανάλογα με το ΛΣ, τα περιεχόμενα του αρχείου μπορεί να χάνονται αυτομάτως ή να υπάρχει μια πιθανότητα να ανακτηθούν με ειδικά προγράμματα.
- Άνοιγμα ενός αρχείου από μια διεργασία, ώστε αυτή να έχει πρόσβαση στα περιεχόμενά του. Υπάρχουν διάφοροι τρόποι ανοίγματος ενός αρχείου: για ανάγνωση μόνο, για ανάγνωση και εγγραφή, για σειριακή ανάγνωση (δηλαδή μόνο από την αρχή προς το τέλος με τη σειρά). Ένα αρχείο μπορεί να ανοιχθεί ως μοιραζόμενο· στην περίπτωση αυτή πολλές διεργασίες μπορούν να έχουν συγχρόνως το ίδιο αρχείο ανοικτό, να διαβάζουν ή να γράφουν σε αυτό.
Η προσπέλαση των δεδομένων του αρχείου από μια διεργασία γίνεται πάντα στο τρέχον σημείο του αρχείου. Όταν το αρχείο δημιουργείται ή ανοίγει, το τρέχον σημείο είναι η αρχή του.
- Κλείσιμο ενός αρχείου που είχε ανοιχθεί νωρίτερα από μια διεργασία. Η διεργασία δεν έχει πλέον πρόσβαση στα περιεχόμενα του αρχείου, και όποιες αλλαγές είχαν γίνει σ' αυτό και δεν είχαν οριστικοποιηθεί τώρα μπορούν να αποθηκευθούν μόνιμα.
- Ανάγνωση δεδομένων από ένα ανοικτό αρχείο. Η ανάγνωση γίνεται στο τρέχον σημείο του αρχείου. Κατόπιν το τρέχον σημείο μετακινείται αυτόματα στα αμέσως επόμενα δεδομένα από αυτά που διαβάστηκαν.
- Εγγραφή δεδομένων σε ένα ανοικτό αρχείο, στο τρέχον σημείο του. Μετά από την εγγραφή το τρέχον σημείο προωθείται αμέσως μετά από τα δεδομένα που γράφτηκαν· εκεί θα γίνει η επόμενη εγγραφή.
Αν στο σημείο όπου έγινε η εγγραφή υπήρχαν δεδομένα, τότε αυτά χάνονται. Αν δεν υπήρχαν δεδομένα (π.χ. στο τέλος του αρχείου), τότε χρησιμοποιείται νέος χώρος στη δευτερεύουσα μνήμη για να καταγραφούν οι νέες πληροφορίες.
- Ανάγνωση ή αλλαγή των χαρακτηριστικών ενός αρχείου. Μια διεργασία μπορεί π.χ. να μάθει τον ιδιοκτήτη του αρχείου, την ημερομηνία δημιουργίας του κλπ. Δεν είναι δυνατόν όμως να αλλάξουν όλα τα χαρακτηριστικά του αρχείου, όπως το μέγεθος του αρχείου, το οποίο καθορίζεται έμμεσα από τα δεδομένα που περιέχει. Το κυριότερο χαρακτηριστικό ενός αρχείου που μπορεί να αλλάξει είναι το όνομά του.
Για να εκτελέσει μια διεργασία κάποια λειτουργία σε ένα αρχείο, πρέπει να διαθέτει τα ανάλογα δικαιώματα προσπέλασης σ' αυτό. Για να ανοίξει π.χ. ένα αρχείο για εγγραφή δεδομένων, η διεργασία (δηλαδή ο χρήστης στον οποίο ανήκει η διεργασία) πρέπει να έχει δικαίωμα εγγραφής στο αρχείο αυτό.
Για να εκτελέσει το ΛΣ όλες αυτές τις λειτουργίες χρησιμοποιεί δικά του αρχεία, τα οποία φυσικά δεν είναι προσπελάσιμα από τους χρήστες.