Τι είναι ένα αρχείο LOCK;
Ένα αρχείο LOCK είναι ένα μετονομασμένο αρχείο που χρησιμοποιείται από εφαρμογές και λειτουργικά συστήματα για να επισημάνουν ένα αρχείο ή κάποια συσκευή ως κλειδωμένη. Αυτό λέει σε άλλες εφαρμογές να μην χρησιμοποιούν το αρχείο εκτός εάν είναι ελεύθερο από την εφαρμογή που το χρησιμοποιεί. Στις περισσότερες περιπτώσεις, αυτά τα αρχεία κλειδώματος είναι άδεια, αλλά σε άλλες περιπτώσεις, μπορεί να περιέχουν πληροφορίες που σχετίζονται με το κλείδωμα, όπως ιδιότητες και ρυθμίσεις.
Μερικές φορές, το αρχείο .lock χρησιμοποιείται από το .NET Framework της Microsoft για τη δημιουργία κλειδωμένων αντιγράφων ενός αρχείου βάσης δεδομένων. Σε μια τέτοια περίπτωση, θα ανοίξει ένα αντίγραφο του αρχείου βάσης δεδομένων με επέκταση .lock. Αυτό δεν επιτρέπει στον χρήστη να κάνει αλλαγές στο αρχείο ενώ χρησιμοποιείται από άλλο χρήστη.
Μορφή αρχείου LOCK - Περισσότερες πληροφορίες
Ένα αρχείο LOCK δημιουργείται από κάθε εφαρμογή και η μορφή του αρχείου είναι συγκεκριμένη για την εφαρμογή. Αυτά τα αρχεία κλειδώματος μπορούν να αποθηκευτούν τόσο σε μορφή κειμένου όσο και σε δυαδική μορφή αρχείου.
Η παρουσία αρχείων κλειδώματος αποτρέπει την ταυτόχρονη πρόσβαση ενός πόρου σε πολλά αρχεία που προσπαθούν να αποκτήσουν πρόσβαση σε αυτόν τον πόρο. Δημιουργείται ένα αντίγραφο του αρχικού αρχείου με την επέκταση .lock με επίθημα στο όνομά του. Αυτό λέει σε άλλες εφαρμογές να έχουν πρόσβαση μόνο για ανάγνωση στο αρχείο. Για παράδειγμα, το resource.dat θα γίνει resource.data.lock.
Για τη γλώσσα προγραμματισμού Ruby, μπορεί να συναντήσετε το αρχείο gemfile.lock. Εδώ το Bundler διατηρεί αρχείο για τις ακριβείς εκδόσεις που έχουν εγκατασταθεί. Έτσι, όταν ένα έργο/βιβλιοθήκη μετακινηθεί σε άλλο μηχάνημα, το πακέτο που εκτελείται θα εξετάσει το Gemfile για την ακριβή σχετική έκδοση.
Κλείδωμα αρχείου στο Linux
Το Linux υποστηρίζει δύο τύπους κλειδαριών αρχείων: συμβουλευτικά και υποχρεωτικά κλειδώματα.
Advisory Locks: Τύπος κλειδώματος που δεν επιβάλλεται. Σε αυτή την περίπτωση, οι διαδικασίες που συμμετέχουν συνεργάζονται μεταξύ τους αποκτώντας ρητά κλειδαριές. Εάν αυτό δεν είναι δυνατό, οι συμβουλευτικές κλειδαριές αγνοούνται.
Υποχρεωτικά κλειδώματα: Σε περίπτωση υποχρεωτικού κλειδώματος, το λειτουργικό σύστημα επιβάλλει το κλείδωμα του αρχείου αποτρέποντας άλλες διεργασίες από την ανάγνωση ή την εγγραφή του αρχείου. Αυτό δεν απαιτεί καμία συνεργασία μεταξύ των διαδικασιών.
Το υποχρεωτικό κλείδωμα δεν απαιτεί καμία συνεργασία μεταξύ των διαδικασιών που συμμετέχουν. Μόλις ενεργοποιηθεί ένα υποχρεωτικό κλείδωμα σε ένα αρχείο, το λειτουργικό σύστημα αποτρέπει άλλες διεργασίες από την ανάγνωση ή την εγγραφή του αρχείου.