Ζεστή και κρύα σύνδεση συσκευών. Ζεστό βύσμα

Πρωτότυπο: Μερικοί κανόνες και παραδείγματα Nifty udev
Συγγραφείς: Vimal Daga, Davender Singh
Ημερομηνία δημοσίευσης: 28 Ιουνίου 2012
Μετάφραση: Α.Πάνιν
Ημερομηνία δημοσίευσης μετάφρασης: 23 Οκτωβρίου 2012

Χάρη στο σύστημα udev που αναπτύχθηκε από τους Greg Kroah-Hartman, Kay Sievers και Dan Stekloff, η διαδικασία σύνδεσης μονάδων flash, σκληροι ΔΙΣΚΟΙ, κάμερες και κινητά τηλέφωνα σε ένα σύστημα που εκτελεί Linux έχει γίνει απλό και διαχειρίσιμο όσο ποτέ άλλοτε. Εφαρμόστηκε για πρώτη φορά στην έκδοση 2.6 του πυρήνα Linux, το σύστημα udev χειρίζεται τόσο τις συσκευές hot-plugging σε ένα σύστημα που εκτελείται όσο και τις συσκευές ψυχρής σύνδεσης (προσαρτημένες πριν από την ενεργοποίηση του συστήματος). Σε αυτό το άρθρο, θα ακολουθήσουμε τη διαδικασία της δυναμικής δημιουργίας αρχείων συσκευής στον κατάλογο /dev και θα παρέχουμε μερικά παραδείγματα προσαρμογών για χρήση ή απλώς για διασκέδαση.

Το udev είναι μια εφαρμογή χώρου χρήστη του συστήματος αρχείων συσκευής devfs. Το σύστημα περιλαμβάνει την υπηρεσία udevd, τα αρχεία διαμόρφωσης και τα αρχεία κανόνων που χρησιμοποιούνται για τη δυναμική διαχείριση των αρχείων συσκευής Linux που βρίσκονται στον κατάλογο /dev ως απόκριση σε συμβάντα που δημιουργούνται από τον πυρήνα (uevents). Το Udev αντικατέστησε επιτυχώς πλήρως την παλιά υλοποίηση devfs από την έκδοση 2.6 του πυρήνα Linux.

Ποια ήταν η ανάγκη για μια πλήρως επανασχεδιασμένη υλοποίηση του συστήματος διαχείρισης αρχείων συσκευής; Και γιατί ήταν τόσο επιτυχημένη η εφαρμογή udev; Για να λάβετε μια απάντηση, πρέπει να εξετάσετε το ιστορικό της ανάπτυξης των διεπαφών προγραμμάτων οδήγησης συσκευών Linux OS.

Κάθε αρχείο συσκευής έχει δύο τιμές 8-bit που σχετίζονται με αυτό: ένα δευτερεύον αναγνωριστικό (ελάσσονος αριθμός) και ένα κύριο αναγνωριστικό (μεγάλος αριθμός). Κάθε πρόγραμμα οδήγησης συσκευής έχει ένα κύριο αναγνωριστικό. και όλα τα αρχεία συσκευής που εκτελούνται σε αυτό το πρόγραμμα οδήγησης έχουν το ίδιο κύριο αναγνωριστικό. Τα δευτερεύοντα αναγνωριστικά συσκευών είναι διαφορετικά για διαφορετικές συσκευές που εκτελούν αυτό το πρόγραμμα οδήγησης.

Στις πρώτες εκδόσεις του Linux, το σύστημα αρχείων /dev περιείχε ένα στατικό αρχείο για κάθε συσκευή που μπορούσε να συνδεθεί στο σύστημα (και να ελέγχεται από ένα πρόγραμμα οδήγησης συσκευής). Δυστυχώς, αυτή η προσέγγιση είχε πολλά προβλήματα: δεν υπήρχαν αρκετές τιμές αναγνωριστικού για να εκχωρηθούν σε όλες τις πιθανές συσκευές, ειδικά ενόψει του αυξανόμενου αριθμού υποστηριζόμενων συσκευών. Επίσης, η ύπαρξη περισσότερων από 18.000 αρχείων συσκευής απαιτούσε πολύ επιπλέον χώρο στο δίσκο. Αυτά τα ζητήματα έχουν αντιμετωπιστεί επιτρέποντας στο udev να αγνοεί τις δευτερεύουσες και κύριες τιμές αναγνωριστικού αρχείου συσκευής.

Όταν συνδέονταν συσκευές όπως το υλικό USB, δεν υπήρχε συνέπεια στην ονομασία και την ταυτοποίηση του αρχείου της συσκευής. Για παράδειγμα, σε ένα σύστημα με δύο εκτυπωτές USB, ένας από τους εκτυπωτές μπορεί να αντιπροσωπεύεται από /dev/usb/lp0 και ο άλλος από /dev/usb/lp1 - αλλά δεν υπάρχει σαφής κατανόηση του ποιος εκτυπωτής αντιπροσωπεύεται από ποιο αρχείο . Αυτή η συμπεριφορά μπορεί να έχει αλλάξει ανάλογα με τη συσκευή που ήταν ενεργοποιημένη κατά την εκκίνηση ή τη σύνδεση του υπολογιστή πριν - ή μπορεί να αλλάξει ανάλογα με το αν η συσκευή είναι συνδεδεμένη σε διανομέα USB ή απευθείας στη θύρα USB του συστήματος. Αυτή η συμπεριφορά ήταν πάντα απογοητευτική και μπερδεμένη για τους χρήστες. Το σύστημα udev σάς επιτρέπει να ορίσετε ένα μόνιμο όνομα συσκευής χρησιμοποιώντας κανόνες.

Άλλες λειτουργίες udev λύνουν πολλά από τα προβλήματα που κληρονομήθηκαν από τους devfs:

  • Το udev εκτελείται στο χώρο χρήστη, μειώνοντας την ποσότητα και την πολυπλοκότητα του κώδικα του πυρήνα.
  • Το udev σάς επιτρέπει να εκχωρήσετε ένα μόνιμο όνομα συσκευής που δεν εξαρτάται από τη σειρά με την οποία περιλαμβάνονται οι συσκευές και τη θέση της συσκευής στο δίαυλο.
  • Το udev τροποποιεί δυναμικά αρχεία στον κατάλογο /dev, δημιουργώντας αρχεία μόνο για συσκευές που είναι παρούσες και συνδεδεμένες στο σύστημα. Είναι επίσης δυνατό να εκχωρήσετε αυθαίρετα ονόματα συσκευών χρησιμοποιώντας συμβολικούς συνδέσμους σε αρχεία συσκευών.
  • Το udev παρέχει πληροφορίες συσκευής σε εφαρμογές χώρου χρήστη, καταργώντας την ανάγκη πρόσβασης στα εσωτερικά του πυρήνα για τη λήψη αυτών των πληροφοριών.

Πώς λειτουργεί το udev

Η υπηρεσία udevd ακούει σε μια υποδοχή netlink για συμβάντα που δημιουργούνται από τον πυρήνα όταν μια συσκευή είναι συνδεδεμένη ή αποσυνδεδεμένη. Μπορείτε να παρακολουθήσετε αυτά τα συμβάντα με την εντολή udevmonitor - εκτελέστε το, συνδέστε μια συσκευή USB όπως μια μονάδα flash και αποσυνδέστε την (οι νεότερες διανομές ενδέχεται να μην έχουν udevmonitor - χρησιμοποιήστε το udevadm σε αυτήν την περίπτωση.)

Κατά την εκκίνηση, το udev προσαρτά το σύστημα αρχείων tmpfs στον κατάλογο /dev. Μετά από αυτό, τα αρχεία της συσκευής αντιγράφονται από τον κατάλογο /lib/udev/device στον κατάλογο /dev και το udev αρχίζει να δέχεται συμβάντα πυρήνα για συσκευές ψυχρής σύνδεσης. Ο κατάλογος /etc/udev/rules.d χρησιμοποιείται για την αλλαγή των ρυθμίσεων της συσκευής, τη δημιουργία συμβολικών συνδέσμων σε αρχεία συσκευής και πολλά άλλα. Για συσκευές hot plug, το udevd ακούει συμβάντα πυρήνα χρησιμοποιώντας το D-Bus και, στη συνέχεια, λαμβάνει τα χαρακτηριστικά της νέας συσκευής από το σύστημα αρχείων /sys και εφαρμόζει τους κανόνες που βασίζονται στα χαρακτηριστικά - στη συνέχεια δημιουργείται ένα αρχείο συσκευής στο σύστημα αρχείων /dev. Το Udev σάς επιτρέπει επίσης να φορτώνετε ειδικά προγράμματα οδήγησης συσκευών χρησιμοποιώντας τον μηχανισμό "modalias".

κανόνες και παραδείγματα udev

Το Udev παρέχει τη δυνατότητα αλλαγής της συμπεριφοράς του βάσει κανόνων και αρχείων διαμόρφωσης. Μπορείτε να παρακάμψετε τον τρόπο λειτουργίας των κανόνων που συνοδεύουν το σύστημα (που συνήθως βρίσκονται στο /lib/udev/rules.d ) ή να προσθέσετε προσαρμοσμένες και συγκεκριμένες δυνατότητες που ταιριάζουν στις ανάγκες σας. Οι κανόνες μπορούν να προστεθούν στον κατάλογο /etc/udev/rules.d/ - ο κατάλογος για μεμονωμένους προσαρμοσμένους κανόνες.

Δημιουργήστε τους κανόνες σας (που εκχωρούν ένα όνομα αρχείου συσκευής, δημιουργούν συμβολικούς συνδέσμους, ορίζουν δικαιώματα και κάνουν ό,τι θέλετε) σε αυτόν τον κατάλογο. Για να βεβαιωθείτε ότι ένας κανόνας προηγείται των άλλων, βεβαιωθείτε ότι το όνομα του αρχείου ξεκινά με έναν αριθμό μικρότερο από τους υπόλοιπους κανόνες που θα πρέπει να εκτελούνται μετά από αυτόν - για παράδειγμα, 10-local.rules .

Απενεργοποιήστε τον λογαριασμό χρήστη root μέχρι ο διαχειριστής να συνδέσει τη μονάδα USB

BUS=="usb", SUBSYSTEM=="block", PROGRAM="/bin/enable_root_login"

Για να λειτουργήσει αυτός ο κανόνας, πρέπει να αναπτύξετε μια εφαρμογή ή ένα σενάριο φλοιού με το συγκεκριμένο όνομα, προκειμένου να λάβετε τον σειριακό αριθμό της συσκευής που είναι συνδεδεμένη στο σύστημα και να τον συγκρίνετε με τον γνωστό σειριακό αριθμό της συσκευής του διαχειριστή. Εάν οι σειρικοί αριθμοί ταιριάζουν, το πρόγραμμα θα αφαιρέσει τη γραμμή που απαιτείται για την επικύρωση pam_deny.so από το αρχείο /etc/pam.d/login, το οποίο θα επιτρέπει τη σύνδεση κάτω από λογαριασμόςχρήστης root. Εάν είναι συνδεδεμένες άλλες συσκευές USB, δεν θα γίνουν αλλαγές στο αρχείο. Αντίθετα, μόλις αποσυνδεθεί η μονάδα USB, αυτή η γραμμή θα προστεθεί ξανά στο αρχείο.

Αυτός ο κανόνας δοκιμάστηκε στη διανομή RHEL 5.0 και λειτούργησε καλά, ωστόσο, όταν χρησιμοποιείτε την εντολή su ή όταν συνδέεστε σε λειτουργία ενός χρήστη κατά την εκκίνηση, αυτός ο κανόνας δεν θα λειτουργήσει. Για να απενεργοποιήσετε τη σύνδεση root όταν χρησιμοποιείτε την εντολή su, μπορείτε να κάνετε τα εξής:

  1. Επεξεργαστείτε το αρχείο /etc/security/access.conf προσθέτοντας τη ρίζα της γραμμής: ALL .
  2. Επεξεργαστείτε το αρχείο /etc/pam.d/system-auth , προσθέτοντας ως δεύτερη γραμμή απαιτείται λογαριασμός pam_access.so.
  3. Επεξεργαστείτε το αρχείο /etc/pam.d/su και ορίστε στην πρώτη γραμμή αυτού του αρχείου ο λογαριασμός γραμμής να περιλαμβάνει system_auth .

Αυτές οι ενέργειες, φυσικά, πρέπει να εκτελούνται από το πρόγραμμα enable_root_login. Αφού ελέγξει τον σειριακό αριθμό της συσκευής USB ότι ανήκει στον διαχειριστή, το πρόγραμμα θα πρέπει να αφαιρέσει όλες τις αλλαγές που έγιναν στα αρχεία και εάν η συνδεδεμένη συσκευή δεν ανήκει στον διαχειριστή, εκτελέστε όλες τις παραπάνω ενέργειες στα αρχεία.

Αυτά τα βήματα δεν θα σας εμποδίσουν να συνδεθείτε ως root σε λειτουργία ενός χρήστη, ωστόσο μπορείτε να ορίσετε έναν κωδικό πρόσβασης στον φορτωτή εκκίνησης GRUB για να αποτρέψετε την εύκολη πρόσβαση στη λειτουργία ενός χρήστη.

Μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή για να λάβετε πληροφορίες σχετικά με τον σειριακό αριθμό της συσκευής, το όνομα της συσκευής, το αναγνωριστικό προμηθευτή, το όνομα κατασκευαστή και άλλες παραμέτρους: udevinfo -a -p /sys/block/sdb

Οι νεότερες διανομές ενδέχεται να μην έχουν udevinfo, οπότε θα πρέπει να χρησιμοποιήσετε το udevadm αντί για το udevinfo .

Απενεργοποιήστε όλες τις θύρες USB

BUS=="usb", OPTIONS+="ignore_device"

Το αποτέλεσμα αυτού του κανόνα θα είναι να απενεργοποιήσετε όλες τις συσκευές που είναι συνδεδεμένες στις θύρες USB του συστήματός σας - οι εκτυπωτές USB, τα πληκτρολόγια και τα ποντίκια δεν θα λειτουργούν. Να είστε προσεκτικοί κατά τη χρήση!

Απενεργοποιήστε όλες τις συσκευές μπλοκ που είναι συνδεδεμένες σε θύρες USB

BUS=="usb", SUBSYSTEM=="block", OPTIONS+="ignore_device"

Αυτός ο κανόνας απενεργοποιεί την αναγνώριση μπλοκ συσκευών που είναι συνδεδεμένες σε θύρες USB. Αυτός ο κανόνας μπορεί να είναι χρήσιμος για τη βελτίωση της ασφάλειας των δεδομένων και του απορρήτου σε έναν οργανισμό.

Εκχωρήστε ένα μόνιμο όνομα στο αρχείο συσκευής της δεύτερης μονάδας IDE

Αντικαταστήστε το sdb εάν θέλετε να εφαρμόσετε τον κανόνα σε διαφορετική μονάδα δίσκου.

Αγνοήστε τη δεύτερη μονάδα USB SCSI/IDE που είναι συνδεδεμένη μέσω USB

KERNEL=="sdb", NAME="my_spare"

BUS=="usb", KERNEL=="hdb", OPTIONS+="ignore_device"

Προσθέστε έναν συμβολικό σύνδεσμο σε ένα δεδομένο αρχείο συσκευές USB-ποντίκια

SUBSYSTEM=="input", BUS=="usb", SYSFS(serial)=="0000:00:1d.0", SYMLINK+=="MY-USB-MOUSE"

Αλλαγή ονόματος αρχείου συσκευής με βάση τον κατασκευαστή της συσκευής

BUS=="usb", SYSFS(manufacturer)=="JetFlash", NAME="UNIVERSE"

Αυτός ο κανόνας αλλάζει το όνομα αρχείου της συσκευής σε "UNIVERSE" εάν ο κατασκευαστής της μονάδας flash USB είναι το JetFlash.

Επιτρέψτε επιλεκτικά τη χρήση συσκευών μπλοκ USB χρησιμοποιώντας ένα ειδικό πρόγραμμα

BUS=="usb", SUBSYSTEM=="block", PROGRAM="/bin/usbc.jar", RESULT!="my", OPTIONS+="ignore_device"

Εάν το πρόγραμμα βγάζει "my", η συσκευή μπορεί να χρησιμοποιηθεί, διαφορετικά η συσκευή αγνοείται.

Φανταστείτε ένα συνηθισμένο πρωινό σε ένα από τα πολυώροφα κτίρια του υπνοδωματίου της αγαπημένης μας πόλης: λεκάνη τουαλέτας, ντους, ξύρισμα, τσάι, βούρτσισμα των δοντιών σας, νερό για τη γάτα (ή με οποιαδήποτε άλλη σειρά) - και πηγαίνετε στη δουλειά ... Όλα είναι αυτόματα και χωρίς δισταγμό. Αρκεί να ρέει κρύο νερό από τη βρύση κρύου νερού, και ζεστό νερό ρέει από το ζεστό νερό. Και μερικές φορές ανοίγεις ένα κρύο, και από εκεί - βραστό νερό!! 11#^*¿>.

Ας το καταλάβουμε.

Παροχή κρύου νερού ή κρύου νερού

Το τοπικό αντλιοστάσιο τροφοδοτεί νερό στο κεντρικό δίκτυο από το δίκτυο ύδρευσης. Ένας μεγάλος σωλήνας τροφοδοσίας μπαίνει στο σπίτι και τελειώνει με μια βαλβίδα, μετά την οποία υπάρχει ένας μετρητής νερού.

Εν ολίγοις, το συγκρότημα του μετρητή νερού αποτελείται από δύο βαλβίδες, ένα φίλτρο και ένα μετρητή.



Ορισμένα διαθέτουν επιπλέον βαλβίδα ελέγχου.

και παράκαμψη μετρητή νερού.

Η παράκαμψη του μετρητή νερού είναι ένας πρόσθετος μετρητής με βαλβίδες που μπορούν να τροφοδοτήσουν το σύστημα εάν ο κύριος μετρητής νερού είναι σέρβις. Μετά τους μετρητές, τροφοδοτείται νερό στο κεντρικό σπίτι


όπου διανέμεται κατά μήκος ανυψωτικών που οδηγούν το νερό σε διαμερίσματα των ορόφων.



Ποια είναι η πίεση στο σύστημα;

9 ορόφους

Τα σπίτια ύψους έως και 9 ορόφων έχουν από κάτω προς τα πάνω ρέματα. Εκείνοι. από το μετρητή νερού μέσω ενός μεγάλου σωλήνα, το νερό φεύγει μέσω των ανυψωτικών στον 9ο όροφο. Εάν το vodokanal είναι σε καλή διάθεση, τότε στην είσοδο της κάτω ζώνης πρέπει να υπάρχουν περίπου 4 kg/cm2. Με μια πτώση πίεσης κατά ένα κιλό, για κάθε 10 μέτρα στήλης νερού, οι κάτοικοι στον 9ο όροφο θα δέχονται περίπου 1 κιλό πίεσης, κάτι που θεωρείται φυσιολογικό. Στην πράξη, στα παλιά σπίτια, η πίεση εισόδου είναι μόνο 3,6 κιλά. Και οι κάτοικοι του 9ου ορόφου αρκούνται σε ακόμη μικρότερη πίεση από 1kg / cm2

12-20 ορόφους

Εάν το σπίτι είναι υψηλότερο από 9 ορόφους, για παράδειγμα 16 ορόφους, τότε ένα τέτοιο σύστημα χωρίζεται σε 2 ζώνες. Ανώτερο και χαμηλότερο. Όπου παραμένουν οι ίδιες συνθήκες για την κάτω ζώνη και για την πάνω ζώνη η πίεση αυξάνεται στα 6 κιλά περίπου. Για να ανέβει το νερό στην κορυφή στη γραμμή παροχής και μαζί του το νερό ανεβαίνει στον 10ο όροφο. Σε σπίτια άνω των 20 ορόφων, η παροχή νερού μπορεί να χωριστεί σε 3 ζώνες. Με ένα τέτοιο σύστημα παροχής, το νερό στο σύστημα δεν κυκλοφορεί, βρίσκεται σε ένα τέλμα. Σε ένα πολυώροφο διαμέρισμα, κατά μέσο όρο, έχουμε πίεση από 1 έως 4 κιλά. Υπάρχουν και άλλες αξίες, αλλά δεν θα τις εξετάσουμε τώρα.

Παροχή ζεστού νερού ή ΖΝΧ

Σε ορισμένα χαμηλά κτίρια, το ζεστό νερό συνδέεται με τον ίδιο τρόπο, βρίσκεται σε ένα τέλμα χωρίς κυκλοφορία, γεγονός που εξηγεί το γεγονός ότι όταν ανοίγει μια βρύση ζεστού νερού, ρέει κρύο, δροσερό νερό για κάποιο χρονικό διάστημα. Αν πάρουμε το ίδιο σπίτι με 16 ορόφους, τότε σε ένα τέτοιο σπίτι το σύστημα ζεστού νερού είναι διατεταγμένο διαφορετικά. Το ζεστό νερό, όπως και το κρύο νερό, τροφοδοτείται επίσης στο σπίτι μέσω ενός μεγάλου σωλήνα και μετά το μετρητή πηγαίνει στο κεντρικό σπίτι.

το οποίο ανεβάζει το νερό στη σοφίτα όπου κατανέμεται κατά μήκος των ανυψωτικών και κατεβαίνει στο κάτω μέρος στη γραμμή επιστροφής. Παρεμπιπτόντως, οι μετρητές ζεστού νερού μετρούν όχι μόνο τον όγκο του χαμένου (καταναλωμένου) νερού στο σπίτι. Αυτοί οι μετρητές μετρούν επίσης την απώλεια θερμοκρασίας (υγοθερμίδες)

Η θερμοκρασία χάνεται όταν το νερό περνά μέσα από θερμαινόμενες ράγες πετσετών διαμερίσματος, οι οποίες παίζουν το ρόλο των ανυψωτικών.

Με αυτό το σχήμα, κυκλοφορεί πάντα ζεστό νερό. Μόλις ανοίξετε τη βρύση, το ζεστό νερό είναι ήδη εκεί. Η πίεση σε ένα τέτοιο σύστημα είναι περίπου 6-7 kg. στην παροχή και ελαφρώς χαμηλότερα στην επιστροφή για να διασφαλιστεί η κυκλοφορία.

Λόγω κυκλοφορίας, έχουμε πίεση στον ανυψωτικό, στο διαμέρισμα 5-6 κιλά. και αμέσως βλέπουμε τη διαφορά πίεσης μεταξύ κρύου και ζεστού νερού, από 2 κιλά. Αυτή ακριβώς είναι η ουσία της συμπίεσης ζεστού νερού σε κρύο νερό σε περίπτωση δυσλειτουργίας των υδραυλικών ειδών. Εάν έχετε παρατηρήσει ότι εξακολουθείτε να έχετε περισσότερη πίεση στο ζεστό νερό παρά στο κρύο, τότε φροντίστε να εγκαταστήσετε μια βαλβίδα αντεπιστροφής στην είσοδο κρύου νερού και οι βαλβίδες ελέγχου μπορούν να συμπεριληφθούν στην είσοδο ζεστού νερού, κάτι που θα βοηθήσει στην εξισορρόπηση της πίεσης περίπου ένα ψηφίο με κρύο. Παράδειγμα εγκατάστασης ρυθμιστή πίεσης

ζεστό βύσμα- ζεστό βύσμα) - έννοια των όρων ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣή σύνδεσηηλεκτρονικός εξοπλισμός από/προς το σύστημα (υπολογιστή) κατά τη λειτουργία του χωρίς απενεργοποίηση και διακοπή (το σύστημα) (HotPlug), καθώς και αντικατάσταση (επανασύνδεση) της μονάδας στο σύνολό της ( hot swap ). Υπάρχει επίσης ένας όρος για το αντίθετο του hot swap - Ψυχρή ανταλλαγή , δηλαδή, όλες οι (επανα)συνδέσεις γίνονται αφού σταματήσει το σύστημα και αφαιρεθεί η τάση (υπολειπόμενο δυναμικό).

Ο εξοπλισμός χωρίζεται σύμφωνα με αυτή την αρχή σε επιτρέποντας hot swap και δεν επιτρέπει.

Ιστορία

Προηγουμένως, ο εξοπλισμός που είχε σχεδιαστεί για να συνδέεται κατά τη διάρκεια εργασιών αντικατάστασης χρησιμοποιήθηκε μόνο σε ακριβά συστήματα και θεωρούνταν δύσκολο να σχεδιαστεί. Τελευταία φορά παρόμοια συστήματαέχουν γίνει κοινά ακόμη και σε φθηνούς υπολογιστές.

  • Σχεδιασμένο να μπορεί να εναλλάσσεται εν θερμώ και επομένως να μπορεί να εναλλάσσεται με τα πρότυπα PCMCIA, USB, FireWire, Fiber Channel και eSATA.
    Μεταξύ των συσκευών αυτού του τύπου είναι οι μονάδες flash, ορισμένοι σκληροί δίσκοι, συμπεριλαμβανομένων για συστοιχίες σε διακομιστές, κάρτες επέκτασης PCI-X, PCI Express, ExpressCard (PCMCIA, παλαιότερα ονομαζόμενες και κάρτες PC) που χρησιμοποιούνται σε φορητούς υπολογιστές, ακόμη και ορισμένα τροφοδοτικά .
  • Δεν εναλλάσσει πλήρως τις διεπαφές δίσκων SATA και δεν υποστηρίζει πλήρως το πρωτόκολλο IDE (το IDE είναι hot-pluggable).

Σχεδιασμός συστήματος

Οι υπολογιστές που έχουν σχεδιαστεί για να αντικαθιστούν τον εξοπλισμό εν κινήσει πρέπει με κάποιο τρόπο να ανιχνεύουν πότε μια συσκευή αποσυνδέεται και επίσης να περιέχουν ηλεκτρικά κυκλώματα που δεν είναι ευαίσθητα στις υπερτάσεις ρεύματος κατά τη σύνδεση και την αποσύνδεση. Επιπλέον, το τμήμα λογισμικού πρέπει να είναι σχεδιασμένο για ξαφνική απώλεια επικοινωνίας με τη συσκευή.

Ορισμένα συστήματα hot-swap απαιτούν να εκδοθεί πρώτα μια εντολή αποσύνδεσης, η οποία απλοποιεί τη σχεδίασή τους, αλλά απειλεί την ακεραιότητα των δεδομένων εάν η συσκευή δεν αποσυνδεθεί με τον σωστό τρόπο ή παρουσιαστεί σφάλμα στη συσκευή.

Πιο πολύπλοκα σχήματα έχουν περιθώριο πλεονασμού και επαναφέρουν εύκολα δεδομένα σε περίπτωση ξαφνικού τερματισμού λειτουργίας της συσκευής.

Ο όρος «hot swap» χρησιμοποιείται με δύο έννοιες. Από τη μία πλευρά, σημαίνει τη δυνατότητα αποσύνδεσης ή σύνδεσης της συσκευής χωρίς να απενεργοποιήσετε την τροφοδοσία. Από την άλλη πλευρά, μπορεί επίσης να σημαίνει αυτόματη ανίχνευση συσκευής όταν είναι συνδεδεμένη. Η πρώτη έννοια του όρου ισχύει για τις διεπαφές RS-232, FireWire και τις απλούστερες υλοποιήσεις του SCSI, η δεύτερη έννοια - σε USB, FireWire, PCI Expressκαι εξελιγμένες παραλλαγές SCSI.

Σχέδιο φωλιάς

Τα ακραία μαξιλαράκια επαφής του τροφοδοτικού είναι μακρύτερα από το εσωτερικό σήμα

Πλέον σύγχρονες συσκευέςΧρησιμοποιούνται κινούμενες επαφές με δυνατότητα εναλλαγής. Ένα από αυτά είναι μακρύτερο από τα άλλα για να έρθει πρώτος σε επαφή με το προσαρτημένο μέρος, μέσω αυτού συνδέεται ένα καλώδιο γείωσης. Οι υπόλοιπες επαφές γίνονται πιο κοντές, συνολικά μπορεί να υπάρχουν έως και 3 διαφορετικά μήκη. Η καθυστέρηση μεταξύ της σύνδεσης της πρώτης επαφής και των επόμενων είναι από 25 έως 250 χιλιοστά του δευτερολέπτου.

Τα κυκλώματα ισχύος συνδέονται σε δύο στάδια: στο πρώτο, ένα κύκλωμα περιορισμένου ρεύματος συνδέεται χρησιμοποιώντας μεγαλύτερες επαφές και, στη συνέχεια, με μικρότερες επαφές, πλήρη τροφοδοσία ρεύματος. Όλα τα κυκλώματα που εμπλέκονται στη σύνδεση περιέχουν προστασία από στατικό ηλεκτρισμό.

Ακολουθεί ένα παράδειγμα τυπικής ακολουθίας σύνδεσης:

  1. Οι μεγαλύτερες επαφές είναι κλειστές (γείωση). Αυτό διασφαλίζει την ηλεκτρική ασφάλεια της σύνδεσης και την προστασία από στατικό φορτίο.
  2. Οι μεγάλες ή μεσαίες επαφές προτροφοδοσίας κλείνουν. Τα κυκλώματα εισόδου των κυκλωμάτων ισχύος φορτίζονται.
  3. Συνδέονται σύντομες επαφές τροφοδοσίας.
  4. Η σύνδεση θεωρείται εδραιωμένη. Το σήμα ενεργοποίησης ανάβει.
  5. Το κύκλωμα μαλακής ενεργοποίησης ενεργοποιεί τη συσκευή.
  6. Καθυστέρηση σε δεκάδες χιλιοστά του δευτερολέπτου.
  7. Το κύκλωμα τροφοδοσίας έχει ολοκληρώσει τη μαλακή σύνδεση. Το σήμα ενεργοποίησης σβήνει.
  8. Η συσκευή ξεκινά την πλήρη λειτουργία.

Ιδιαίτερη δυσκολία είναι η σύνδεση πολλών συσκευών, αφού η σύνδεση δεύτερης, τρίτης συσκευής μπορεί να διαταράξει τη λειτουργία μιας ήδη συνδεδεμένης. Για την καταπολέμηση αυτού του φαινομένου, χρησιμοποιούνται φίλτρα στα κυκλώματα εξόδου ή ένας προσωρινός λογικός τερματισμός της μετάδοσης δεδομένων.

Λογισμικό ζεστής σύνδεσης

Ο όρος "hot βύσμα" χρησιμοποιείται επίσης σε σχέση με το λογισμικό και σημαίνει τη δυνατότητα αλλαγής του προγράμματος χωρίς διακοπή της εκτέλεσής του. Μόνο λίγες γλώσσες προγραμματισμού υποστηρίζουν αυτή τη δυνατότητα, συμπεριλαμβανομένων των Lisp, Erlang και Smalltalk. Η γλώσσα Java υποστηρίζει αυτήν τη δυνατότητα μόνο κατά την εκτέλεση του προγράμματος εντοπισμού σφαλμάτων (Java Platform Debugger Architecture, JPDA).

Η προσανατολισμένη στον τομέα γλώσσα προγραμματισμού 1C v8 παρέχει τη δυνατότητα αλλαγής του κώδικα ενώ το πρόγραμμα εκτελείται. (http://v8.1c.ru/overview/release_8_1_5/administration.htm ενότητα "Ενημέρωση τμημάτων διαμόρφωσης"). Δεδομένου ότι μεμονωμένες μονάδες μεταγλωττίζονται τη στιγμή της εκτέλεσης του προγράμματος και όταν αλλάζει μια λειτουργική μονάδα, μεταγλωττίζεται ξανά στη συνεδρία, αυτό δεν είναι στην πραγματικότητα ένα "hot plug". Πρέπει να δημιουργήσετε ξανά τη συνεδρία για να γίνουν οι αλλαγές εφέ και μόνο για αυτόν τον χρήστη (άλλοι πρέπει να επανεκκινήσουν τη νέα περίοδο λειτουργίας). Στην έκδοση v7, αυτή η δυνατότητα ήταν επίσης παρούσα κατά τη χρήση πρόσθετων εργαλείων λογισμικού (http://openconf.1cpp.ru/vk/turbomd/) και της τυπικής εντολής #LoadFromFile... (χρειάζεται μόνο να ανοίξετε ξανά τη φόρμα ή την αναφορά ). Γενικά, κατά τη χρήση ερμηνευμένων γλωσσών προγραμματισμού (με αποθήκευση κειμένων προγράμματος εντός λειτουργικών μονάδων), το "hot plugging" υλοποιείται απλώς με την αντικατάσταση κειμένων.

Σαπισμένα παλιά υδραυλικά στο διαμέρισμα. Εφίδρωση στους σωλήνες, συρίγγιο μετά από συρίγγιο. κλείστε το νερό και μετά ανάψτε το ξανά - από τις βρύσες αναβλύζει σκουριά. Και σχεδιάζεται να επισκευαστεί η κουζίνα με μπάνιο και οι παλιοί σωλήνες δεν είναι κάτι που πρέπει να αγγίξετε ή να αναπνεύσετε - είναι τρομακτικό να τους κοιτάξετε. Πρέπει να αλλάξουμε, αλλά η δουλειά είναι ακριβή. Είναι δυνατόν να αντικαταστήσετε τα υδραυλικά του διαμερίσματος με τα χέρια σας; Ναι, μπορείς και χωρίς καμία άδεια-σχεδίαση. Θα χρειαστεί μόνο να συμφωνήσετε με τον κλειδαρά της DEZ να διακόψει την παροχή νερού στους ανυψωτήρες για το πολύ μία ώρα. πιθανότατα, θα είναι δυνατή η διαχείριση σε 10 λεπτά. Ή προειδοποιήστε τους γείτονες, εάν δεν είναι επιβλαβείς, και αποκλείστε / κάντε ξανά αίτηση.

Διαδικασία αντικατάστασης

Η αντικατάσταση της παροχής νερού πραγματοποιείται με μια συγκεκριμένη σειρά. Η εργασία "με το μάτι" και "εν κινήσει" σε μη επαγγελματικές επιδόσεις συχνά καταλήγει σε διαρροή. Το σχέδιο εργασίας είναι κάπως έτσι:

  1. Επιλογή υλικού για νέους σωλήνες.
  2. Επιλογή συστήματος διανομής ζεστού και κρύου νερού.
  3. Ανάπτυξη σχεδίου παροχής νερού για διαμέρισμα.
  4. Υπολογισμός της διαμέτρου των σωλήνων σύμφωνα με το επιλεγμένο υλικό και σχήμα.
  5. Προετοιμασία του εργαλείου στερέωσης.
  6. Αγορά υλικών.
  7. Συναρμολόγηση μονάδων επιλογής και λογιστικής, τοποθέτησή τους σε ανυψωτικά και εγγραφή.
  8. Αποξήλωση παλαιών σωλήνων και υδραυλικών ειδών.
  9. Σύνδεση HMS και aquastop, εάν παρέχεται.
  10. Σύνδεση φίλτρου φιάλης (απαιτείται με HMS).
  11. Εγκατάσταση σωλήνων ζεστού και κρύου νερού.
  12. Εγκατάσταση και σύνδεση υδραυλικών εγκαταστάσεων, παλαιών ή νέων.
  13. Δοκιμαστική παροχή νερού. εξάλειψη των εντοπισμένων ελαττωμάτων.
  14. Εγκατάσταση και σύνδεση του λέβητα.

HMS, φίλτρο φιάλης και aquastop

Το HMS, ή το υδρομαγνητικό σύστημα, έχει χρησιμοποιηθεί από καιρό στη βιομηχανία για την προετοιμασία του νερού για διήθηση. Στην καθημερινή ζωή, αυτή η συσκευή, χωρίς να υπεισέρχεται σε λεπτομέρειες, μετατρέπει τις ακαθαρσίες στο νερό σε ένα λεπτό εναιώρημα, το οποίο στη συνέχεια κατακάθεται στο φίλτρο με τη μορφή λάσπης και αφαιρείται περιοδικά. Το HMS είναι απολύτως ακίνδυνο, δεν απαιτεί παροχή ρεύματος και συντήρηση κατά τη λειτουργία, αλλά απαιτεί απαραιτήτως την εγκατάσταση ενός μετρητή νερού σε αντιμαγνητικό σχεδιασμό (αυτά είναι πιο ακριβά) και, μετά τη ροή του νερού, ένα συνδυασμένο φίλτρο φιάλης.

Το φίλτρο φιάλης αποτελείται από τρία τμήματα συνδεδεμένα σε σειρά: το πρώτο συλλέγει τη λάσπη, το δεύτερο αφαιρεί το χλώριο και το τρίτο χρησιμοποιείται για τον λεπτό καθαρισμό του νερού και τη μαλάκωσή του. Το τελευταίο (κανείς δεν πίνει νερό βρύσης για πολύ καιρό) είναι ιδιαίτερα σημαντικό για τον λέβητα του πλυντηρίου.

Το HMS με φιάλες κοστίζει πολύ, αλλά προστατεύουν καλά όχι μόνο τον εξοπλισμό, αλλά και την υγεία. Διαμαρτύρεστε ή όχι, αγανακτείτε - μην αγανακτείτε και το πόσιμο νερό συγκρατείται σταθερά στους δέκα πιο σπάνιους πόρους στον κόσμο και δεν υπάρχουν παγκόσμια προγράμματα που να μπορούν να φέρουν την ποιότητά του στο επίπεδο τουλάχιστον της μέσης του τελευταίου αιώνα, και δεν προβλέπονται. Γενικά, η σωτηρία των πνιγόμενων είναι έργο των ίδιων των πνιγόμενων.

Το Aquastop είναι επίσης μια χρήσιμη συσκευή, επίσης δεν απαιτεί τροφοδοσία και συντήρηση, αλλά η λειτουργία του είναι διαφορετική. Με μια απότομη αύξηση του ρεύματος (διάσπαση) του νερού, το aquastop ενεργοποιείται και η βαλβίδα του αποκόπτει ολόκληρο το διαμέρισμα από τον ανυψωτήρα. Τα Aquastops διατίθενται σε διαφορετικά συστήματα, συμπεριλαμβανομένων των ηλεκτροδυναμικών, επομένως απαιτείται επίσης ένας αντιμαγνητικός μετρητής κατά την εγκατάσταση ενός aquastop.

Επιλογή σωλήνων

Μια νέα υδραυλική εγκατάσταση σε ένα διαμέρισμα ξεκινά με την επιλογή των σωλήνων. Ο χάλυβας στην καθημερινή ζωή έχει καταστεί ξεπερασμένος και πρέπει να επιλέξετε από μεταλλικό πλαστικό, πλαστικό και χαλκό χαλκού. Αυτό το στάδιο της εργασίας είναι ίσως το πιο υπεύθυνο - η λάθος επιλογή θα ακυρώσει όλες τις προσπάθειες, τα έξοδα και τα προβλήματα.

Χαλκός

Για τους χάλκινους σωλήνες νερού μπορεί κανείς να πει αμέσως: οι προπαγανδιστές τους δεν ξέρουν για τι πράγμα μιλάνε. Ή ξέρουν, αλλά δεν ορίζουν τον εαυτό τους. Πρώτον, το οξείδιο του χαλκού σχηματίζεται στον χαλκό σε επαφή με το νερό - το ίδιο λάχανο για το οποίο μίλησε ο Τομ Σόγιερ στον Χάκλμπερι Φιν. Ναι, ένα άτομο χρειάζεται χαλκό, αλλά σε αμελητέες ποσότητες με τη μορφή μικροστοιχείου και όχι ως μέρος ενός ισχυρού δηλητηρίου. Ως αντεπιχείρημα λένε ότι ο χαλκός σχηματίζει ένα προστατευτικό φιλμ με το χλώριο από το νερό. Παράλογο για όποιον θυμάται τουλάχιστον τη σχολική χημεία.

Δεύτερον, η σύνθεση της συγκόλλησης για χαλκό περιλαμβάνει κασσίτερο. Ο λευκός κασσίτερος, ένα μαλακό μέταλλο, με την πάροδο του χρόνου μετατρέπεται στην άλλη, όπως λένε οι χημικοί, αλλοτροπική τροποποίηση - γκρι κασσίτερο, μια εύθρυπτη σκόνη. Δηλαδή, τοποθετώντας χάλκινους σωλήνες (πολύ ακριβούς), εγγυόμαστε 100% διαρροή. Και η πληρωμή για το έργο μιας εταιρείας που ειδικεύεται στους σωλήνες χαλκού, αφού είναι αδύνατο να τους συγκολλήσετε σωστά μόνοι σας.

μέταλλο-πλαστικό

Οι μεταλλικοί πλαστικοί σωλήνες είναι αρκετά ακριβοί, αλλά μπορούν να συνδεθούν με το χέρι χωρίς εμπειρία. Οι υδραυλικές εγκαταστάσεις από μεταλλικό πλαστικό συναρμολογούνται σε ειδικά συγκροτήματα με σπείρωμα με φλάντζες ή κάτω από πτύχωση - εξαρτήματα. Επιπλέον, οι μεταλλικοί-πλαστικοί σωλήνες μπορούν να κάμπτονται ομαλά. Η υδροδυναμική αντίσταση και η απώλεια πίεσης στο μέταλλο-πλαστικό είναι πολύ μικρές.

Για να εισαγάγετε έναν σωλήνα σε ένα εξάρτημα, χρειάζεστε έναν κόφτη σωλήνων, λαβίδες πρέσας και ένα σετ αγκαθωτών (εξάρτημα) για τη διάμετρο των σωλήνων. Με τη βοήθειά τους, η εργασία πηγαίνει αβίαστα και με αυτοσχέδια μέσα - πλήρης εγγύηση διαρροής. Επιπλέον, η διάρκεια ζωής των παρεμβυσμάτων στα εξαρτήματα είναι περιορισμένη και με την πάροδο του χρόνου, η άρθρωση αρχίζει να στάζει. Ως εκ τούτου, η τούβλα μετάλλου-πλαστικού σε τοίχους είναι απαράδεκτη και συνιστάται έντονα να μην το κρύβετε σε στροβοσκόπια.

Συνιστάται η παροχή νερού με μέταλλο-πλαστικό σε ξεχωριστούς ανοιχτούς χώρους, όπου η ελάχιστη αντίσταση στη ροή του νερού και η δυνατότητα απλού και γρήγορου διαφράγματος του αρμού είναι σημαντικές: όταν συνδέετε λέβητα, πλυντήριο ρούχων, νεροχύτη κ.λπ. Προσαρμογείς από μεταλλικό πλαστικό σε άλλους τύπους σωλήνων είναι πάντα σε πώληση.

Πλαστική ύλη

Τα πλαστικά υδραυλικά διαμερισμάτων έχουν γίνει πλέον το πρότυπο, αλλά τα πλαστικά είναι διαφορετικά. Για να κάνετε τη σωστή επιλογή, πρέπει να γνωρίζετε τις ιδιότητες και τα χαρακτηριστικά τους.

Πολυβουτυλένιο (PB)

Εύκαμπτο πλαστικό με καλή θερμική αγωγιμότητα για πλαστικό. Διατηρεί θερμοκρασίες έως και 90 βαθμούς. Μια σωστά συγκολλημένη ένωση είναι απολύτως αξιόπιστη. Αρκετά ακριβό. Χρησιμοποιείται για ενδοδαπέδια θέρμανση.

Πολυαιθυλένιο (PE)

Φτηνές, αλλά για ζεστό νερό, χρειάζονται σωλήνες ενισχυμένοι από πολυαιθυλένιο. Το συνηθισμένο πολυαιθυλένιο δεν κρατάει 60 μοίρες. Είναι αδύνατο να λυγίσετε και να κολλήσετε, ο συγκολλημένος σύνδεσμος διατηρεί αξιόπιστα πίεση όχι μεγαλύτερη από 3,5 atm και η πίεση νερού στην παροχή νερού της πόλης μπορεί να είναι έως και 6 atm (0,6 Mbar) για κρύο νερό και 4,5 atm για ζεστό νερό , ώστε να υπάρχει πιθανότητα ξαφνικής ανακάλυψης. Η υδραυλική αντίσταση, ωστόσο, είναι η μικρότερη από όλες.

Φαίνεται ότι οι σωλήνες πολυαιθυλενίου είναι κακοί για όλους, αλλά έχουν ένα πλεονέκτημα που μπορεί να αξίζει όλα τα μειονεκτήματά τους: δεν φοβούνται την κατάψυξη. Ο φελλός του πάγου τα σκάει, και όταν λιώσει, συρρικνώνονται ξανά, και δεν σκάνε, ακόμα κι αν ραγίσετε. Ως εκ τούτου, συνιστάται η εγκατάσταση συστήματος παροχής νερού από πολυαιθυλένιο σε μη θερμαινόμενους, εποχιακούς και υπόγειους χώρους. Δεν υπάρχει εναλλακτική λύση από το πολυαιθυλένιο. Αλλά με ένα συνεχώς γεμάτο σύστημα, χρειάζεται ένα aquastop.

PVC (PVC)

Οι ιδιότητες του πολυβινυλοχλωριδίου (PVC) είναι γνωστές: χημικά ανθεκτικό, φθηνό, ανθεκτικό στη θερμότητα έως 80 μοίρες, εύκολο να κολληθεί, αλλά όχι πολύ ισχυρό και φοβάται την υπεριώδη ακτινοβολία. Οι αρμοί, συγκολλημένοι και κολλημένοι, βγαίνουν πιο εύθραυστοι από το συμπαγές υλικό, επομένως ο κίνδυνος διάρρηξης παραμένει και χρειάζεται ένα aquastop. Η αντικατάσταση μεμονωμένων τμημάτων κολλημένου PVC, φυσικά, είναι πιο δύσκολη από ό, τι για πτυσσόμενο μέταλλο-πλαστικό, αλλά ευκολότερη από ό, τι για συγκολλημένες αρθρώσεις: η θέρμανση της άρθρωσης με οικιακό στεγνωτήρα μαλλιών, η άρθρωση μπορεί να διαχωριστεί και στη συνέχεια να κολληθεί ξανά. Γενικά, η επιλογή είναι οικονομική ή για αρχάριο πλοίαρχο με μήκος του κύριου κλάδου από τον ανυψωτικό έως το πιο απομακρυσμένο σημείο έλξης όχι μεγαλύτερο από 10 m και με όχι περισσότερα από 7 σημεία δειγματοληψίας.

Προπυλένιο (PP)

Η τοποθέτηση ύδρευσης διαμερίσματος με σωλήνες πολυϊσοπροπυλενίου (προπυλένιο) είναι πλέον γενικά αποδεκτή. Το υλικό δεν είναι πολύ ακριβό, ανθεκτικό, ανθεκτικό, οι συγκολλημένες αρμοί διατηρούν όλες τις ιδιότητες της βάσης, αντοχή στη θερμότητα - έως 130 μοίρες, σωστά συγκολλημένες συγκολλήσεις έως 12 atm. Η υδραυλική αντίσταση είναι υψηλότερη από αυτή του PVC, αλλά ούτως ή άλλως, η συσσώρευση πλάκας στον αυλό είναι ελάχιστη και με HMS αποκλείεται. Υπάρχουν μόνο δύο μειονεκτήματα όταν το κάνετε μόνοι σας:

  • Δεν κολλάει και η συγκόλληση απαιτεί ειδικό εξοπλισμό και αυστηρή τήρηση της τεχνολογίας.
  • Έχει αρκετά υψηλό συντελεστή θερμικής διαστολής. Βυθισμένο σε τοίχο ή κρυμμένο σε στροβοσκόπιο, μπορεί να λυγίσει και να σπάσει το κεραμίδι, επομένως, κατά την τοποθέτηση κάθε σωλήνα, πρέπει να φορέσετε μια κάλτσα από μέριλον ή συνθετικό χειμωνιάτικο, γεγονός που αυξάνει το κόστος εργασίας.

Ωστόσο, ο αγωγός προπυλενίου είναι μακράν ο μόνος που μπορεί να γίνει μια για πάντα και να ξεχαστεί. Επομένως, θα σταθούμε στη συγκόλληση του προπυλενίου ξεχωριστά, ειδικά επειδή η συγκόλληση άλλων πλαστικών διαφέρει μόνο σε χαμηλότερη θερμοκρασία (110-130 μοίρες για το πολυαιθυλένιο και περίπου 150 για το PVC).

Συγκόλληση προπυλενίου

Η συγκόλληση προπυλενίου με χειροτεχνικό κολλητήρι «σίδερο» από άκρη σε άκρη (δείτε την εικόνα στα δεξιά) είναι απαράδεκτη:

  1. Η ρύπανση συσσωρεύεται στο εσωτερικό του «λουκάνικου» και ο αγωγός που συναρμολογείται με αυτόν τον τρόπο είναι πιο επιρρεπής στο φράξιμο από τον χάλυβα.
  2. Η πίεση του νερού, που σκάει τους σωλήνες, τείνει να σπάσει τον σύνδεσμο. Στις 16 μοίρες στον σωλήνα και 20-25 έξω, μετά από περίπου τρεις μήνες ξεπερνιέται το όριο κούρασης του υλικού, και η άρθρωση ρέει.

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

Σημείωση: ένα περισσότερο ή λιγότερο αξιοπρεπές συγκολλητικό σίδερο για προπυλένιο κοστίζει τουλάχιστον 2000 ρούβλια. και είναι ακόμα ακατάλληλο για κάτι, αλλά δεν φθείρεται από τη δουλειά. Επομένως, δεν χρειάζεται να το αγοράσετε, είναι καλύτερο να το νοικιάσετε.

  • Για κρυφή καλωδίωση σε ένα τυπικό διαμέρισμα σε στροβοσκόπιο ή μονολιθικό - σίγουρα προπυλένιο.
  • Για κλάδους μεγάλου μήκους με μεγάλο αριθμό σημείων εισαγωγής νερού - ανοιχτό μεταλλικό πλαστικό ή σε κανάλια με αφαιρούμενα καλύμματα.
  • Για εξοχικές κατοικίες, εποχιακές ενοικιαζόμενες κατοικίες, εξοχικές κατοικίες με απομακρυσμένα βοηθητικά κτίρια, θερμοκήπια κ.λπ. - πολυαιθυλένιο.
  • Για επισκευές προϋπολογισμού ή σε περιοχές με έλλειψη νερού, χαμηλή πίεση στην παροχή νερού, με κακής ποιότητας νερό - PVC.

Διάγραμμα συνδεσμολογίας

Συλλέκτες-χτένες

Υπάρχουν δύο σχέδια για την άντληση νερού στις εγκαταστάσεις: σειριακή και παράλληλη. Με ένα σειριακό σχήμα, τα σημεία ανάλυσης συνδέονται με έναν κοινό σωλήνα μέσω των tees. Αυτό το σχήμα είναι το πιο οικονομικό, αλλά με μεγάλο μήκος καλωδίωσης, μεγάλο αριθμό σημείων ανάλυσης ή/και χαμηλή πίεση νερού, δεν είναι κατάλληλο, καθώς μειώνει σημαντικά την πίεση.

Σε αυτή την περίπτωση, η λήψη νερού γίνεται παράλληλα από τον συλλέκτη «χτένα», βλ. Μια χτένα είναι ένα συγκρότημα βαλβίδων παράκαμψης, από καθεμία από τις οποίες υπάρχει ένας συμπαγής κλάδος μέχρι το σημείο ανάλυσής της. Οι βαλβίδες ρυθμίζουν την πίεση χωριστά ανά σημεία. Τα κλαδιά στα σημεία είναι κατασκευασμένα από μέταλλο-πλαστικό ή πολυαιθυλένιο: στην περίπτωση αυτή παίζει ρόλο η χαμηλή υδραυλική τους αντίσταση και όταν τοποθετούνται σε ένα μόνο κομμάτι είναι αρκετά αξιόπιστα.

Ανάπτυξη σχεδίου υδροληψίας

Το σύστημα παροχής νερού στο διαμέρισμα χρειάζεται πρωτίστως για τον εαυτό του, ώστε να μην μπερδευτείτε, να μην υπολογίσετε λάθος και στη συνέχεια να μάθετε ακριβώς πού είναι όλα - δεν απαιτείται ειδική άδεια για αυτήν την εργασία. Αλλά κατά την εγγραφή του μετρητή, ο επιθεωρητής της κοινής ωφέλειας μπορεί να σας ζητήσει να δείτε το διάγραμμα, επομένως πρέπει να το σχεδιάσετε σωστά.

Ένα πλήρες σχέδιο σύμφωνα με όλους τους κανόνες είναι μια σοβαρή δουλειά για έναν έμπειρο ειδικό. για παράδειγμα - στο μεγάλο σχήμα, το σύστημα παροχής νερού μιας ιδιωτικής κατοικίας με καλοκαιρινή κουζίνα, το οποίο είναι απαραίτητο για την έγκριση του έργου. Αλλά για να αντικαταστήσετε τους σωλήνες στο διαμέρισμα, δεν χρειάζεται να ενοχλείτε έτσι, αρκεί το διάγραμμα να δείχνει καθαρά και να κατανοεί:

  1. Σωλήνες ζεστού και κρύου νερού, ο τύπος και η διάμετρος αυλού τους.
  2. Μετρητικές συσκευές.
  3. Βαλβίδες και αποχετεύσεις έκτακτης ανάγκης.
  4. Βαλβίδα διακοπής.
  5. Σημεία ανάλυσης με ένδειξη καταναλωτών.
  6. Δημιουργία αντιγράφων ασφαλείας υποκαταστημάτων και συσκευών.
  7. Κατεύθυνση ροής νερού.

Για να τα κάνετε όλα αυτά ξεκάθαρα όχι μόνο στον εαυτό σας ή στον εαυτό σας ένα χρόνο αργότερα, πρέπει να τηρείτε ορισμένους κανόνες όταν σχεδιάζετε. Ας δούμε παραδείγματα, βλέπε εικ. Αριστερά - λίγο πολύ εντάξει, αλλά με σχόλια, δεξιά - λάθος:

  • Το σχέδιο στα δεξιά γίνεται με ισομετρία - για ομορφιά, ή τι; Οι διασταυρώσεις των σωλήνων την μπερδεύουν και δεν δίνει ιδέα για την πραγματική θέση των σημείων ανάλυσης: το πλυντήριο με τον λέβητα βγαίνει κάτω από το πάτωμα.
  • Υπάρχουν επίσης πάρα πολλά βέλη ρεύματος όπου είναι ήδη ξεκάθαρο πού ρέει, γεγονός που επίσης προκαλεί σύγχυση στο κύκλωμα.
  • Στην ίδια θέση, βαλβίδες διακοπής με συσκευές μέτρησης απεικονίζονται αδιάκριτα και όχι σύμφωνα με τους κανόνες.
  • Στο ίδιο μέρος - ο τύπος και η διάμετρος των σωλήνων δεν υποδεικνύονται.
  • Στο ίδιο μέρος - ποιος, πού και πότε είδε ότι το νερό τροφοδοτήθηκε στο λέβητα από πάνω και η τουαλέτα ξεπλύθηκε από την άμπωτη;
  • Αλλά στο διάγραμμα στα αριστερά, δεν είναι καν σαφές σε έναν ειδικό ότι ο λέβητας (6) είναι εφεδρικός. Η παρατήρηση θα είναι: «Πού είναι η βαλβίδα ελέγχου για ζεστό; Χωρίς αυτό, όταν διακοπεί η παροχή, ο λέβητας θα διοχετεύσει τον δικό του λέβητα στο θερμό ανυψωτικό αν η βαλβίδα (10) δεν είναι κλειστή. Αλλά αυτό είναι ήδη στην ουσία και με πλήρη κατανόηση.

Σωστό απλοποιημένο σύστημα υδραυλικών εγκαταστάσεων στο διαμέρισμα

Ένα παράδειγμα είναι αυθαίρετα, όχι σύμφωνα με τους κανόνες σχεδιασμού τεκμηρίωσης σχεδιασμού, αλλά απολύτως κατανοητό και χωρίς διακοσμητικά στοιχεία, το ολοκληρωμένο σχήμα πρόσληψης νερού φαίνεται στο παρακάτω σχήμα. Αυτό είναι επίσης ένα παράδειγμα παράλληλης ανάληψης. όπου οι χτένες, φυσικά.

Υπολογισμός σωλήνων

Πριν επιλέξετε τελικά σωλήνες, πρέπει να υπολογίσετε τουλάχιστον κατά προσέγγιση τη διάμετρό τους. Αυτό δεν είναι απαραίτητο για "εξυπνάδα" - όσο πιο στενός είναι ο σωλήνας, τόσο φθηνότερος είναι, αφενός. Από την άλλη πλευρά, ένας σωλήνας πολύ μικρής διαμέτρου για παροχή νερού θα προκαλέσει αναταράξεις στη ροή σε αυτόν. Ταυτόχρονα, η απόδοση του σωλήνα πέφτει απότομα και σε κανονική πίεση στην είσοδο από τη βρύση, μετά βίας θα στάζει.

Ο ακριβής υπολογισμός του αγωγού είναι θέμα ειδικών υψηλής εξειδίκευσης, αλλά για ένα διαμέρισμα πόλης, για να ρέει κανονικά, μπορείτε να το καταλάβετε μόνοι σας. Τα αρχικά δεδομένα είναι:

  1. Η ελάχιστη επιτρεπόμενη πίεση είναι 0,3 at.
  2. Απώλεια πίεσης ανά 1 m σωλήνα προπυλενίου 16 mm - 0,05 at.
  3. Η μέση απώλεια πίεσης για την καλωδίωση του διαμερίσματος ανά μονάδα εξαρτημάτων και εξαρτημάτων είναι 0,15 at.
  4. Απώλεια πίεσης στη μονάδα επιλογής και λογιστικής - 0,25 at.
  5. Με κανονικές τιμές πίεσης στην είσοδο προς τον ανυψωτήρα 1,5-4,5 atm, οι περιοδικές αναταράξεις είναι αναπόφευκτες σε σωλήνα 12 mm και δεν παρατηρούνται σε σωλήνες 16 mm.
  6. Ο χώρος κεφαλής για το πιο απομακρυσμένο σημείο είναι τουλάχιστον δύο φορές.

Απομένει να μάθετε την πίεση (πίεση) στην είσοδο και μπορείτε να προσδιορίσετε εάν, με τη σειριακή καλωδίωση ενός τέτοιου σωλήνα που λειτουργεί, θα υπάρχει αρκετή πίεση για την πιο απομακρυσμένη βρύση ή θα πρέπει να την φαρδώσετε και πιο ακριβά . Η πίεση στο κάτω μέρος του ανυψωτικού μπορεί να ληφθεί από το μανόμετρο στο υπόγειο ή από τον χειριστή του κτιρίου. στη συνέχεια αφαιρέστε 0,6 atm ανά όροφο. Μπορείτε επίσης να υπολογίσετε για τους γείτονες με βάση το ίδιο 0,6 στο / όροφο: εάν, ας πούμε, τρεις ορόφους πάνω από τις βρύσες, εξακολουθεί να ρέει, τότε έχουμε ένα καλό 2 στο. Αλλά σε πολυώροφα κτίρια, ένα τέτοιο τέχνασμα δεν λειτουργεί: για να μην αυξηθεί υπερβολικά το κόστος της καλωδίωσης διαμερισμάτων, κάνουν ξεχωριστούς ανυψωτήρες για τον κάτω και τον επάνω όροφο, ακόμη και για τον κάτω, τον μεσαίο και τον επάνω όροφο.

Παράδειγμα υπολογισμού: ο δεύτερος όροφος ενός κτιρίου εννέα ορόφων. οι κάτοικοι των επάνω ορόφων δεν παραπονιούνται για το νερό. Έχουμε τουλάχιστον 4 σε πίεση. 11 μονάδες εξαρτημάτων (5 tees, 6 γωνίες, 1 βαλβίδα) δίνουν απώλειες 1,65 atm. Το μήκος του σωλήνα από τον ανυψωτήρα έως τον απομακρυσμένο τοίχο της κουζίνας είναι 6,5 m, που είναι άλλα 0,325 atm απώλειας. Συνολικά με τη μονάδα επιλογής και λογιστικής έχουμε απώλειες 0,325 + 1,65 + 0,25 = 2,225 atm. Πάρα πολύ, πρέπει να ελέγξετε την πίεση με ένα μανόμετρο και, πιθανότατα, να πάρετε τον κύριο σωλήνα 20-25 mm ή να χωρίσετε παράλληλα από τη χτένα, διαφορετικά μπορείτε να μείνετε "στεγνοί" το ξηρό καλοκαίρι.

Σημείωση: Από αυτό είναι σαφές πόσο σημαντικό είναι να ισιώσετε τους σωλήνες και πόσο ανεπιθύμητο είναι να επιμηκύνονται και να γεμίζουν με εξαρτήματα.

Η εξάρτηση των απωλειών σε σωλήνες και εξαρτήματα είναι μη γραμμική: εξαρτώνται από την ταχύτητα ροής, η οποία, με τη σειρά της, εξαρτάται από τη διατομή του αυλού του σωλήνα. Μια ελαφρά αύξηση της διαμέτρου του σωλήνα μειώνει δραστικά τις απώλειες, επομένως η συνηθισμένη καλωδίωση σωλήνων 20 mm για διαμερίσματα με βρύσες έως σημεία 16 mm λειτουργεί καλά στις περισσότερες περιπτώσεις. Σε δύσκολες περιπτώσεις, μπορεί να γίνει ακριβής υπολογισμός σύμφωνα με το SNiP, την εσωτερική παροχή νερού και την αποχέτευση κτιρίων. Υπάρχουν όλοι οι απαραίτητοι τύποι και νομογράμματα. ο υπολογισμός μπορεί να γίνει από άτομο με μηχανική εκπαίδευση οποιουδήποτε προφίλ.

Απλώς πρέπει να έχετε κατά νου ότι σε αυτόν τον λογαριασμό υπάρχουν ήδη τρία SNiP με τον ίδιο δείκτη: 2.04.01-85, 2.04.01-85 (2000) και 2.04.01-85 * "(Οικιακά συστήματα ύδρευσης και αποχέτευσης σε κτίρια)». Σωστό - SNiP τελευταίο.

Εργαλεία, υλικά, ξήλωμα του παλιού

Ειδικά εργαλεία για τη συναρμολόγηση σωλήνων διαμερισμάτων περιγράφονται παραπάνω στην πορεία της παρουσίασης. Για την αγορά υλικών, φυσικά, θα χρειαστεί να υπολογίσετε το υλικό, την ονοματολογία και την ποσότητα στη θέση τους. Η αποξήλωση παλαιών σωλήνων γίνεται με τον συνήθη τρόπο. Είναι καλύτερα να το κάνετε μετά την εγκατάσταση και την καταχώρηση του μετρητή νερού, για να μην σβήσετε το νερό στα πατώματα για μεγάλο χρονικό διάστημα.

Θα δώσουμε μόνο μία συμβουλή: μην παίρνετε βαλβίδες με μοχλό. Είναι κατασκευασμένο από σιλουμίνιο ή πλαστικό και τείνει να σπάσει την πιο ακατάλληλη στιγμή, ακριβώς όταν πρέπει να το κλείσετε επειγόντως. Πάρτε σφαιρικές βαλβίδες με λαβή πεταλούδας. Οι στρογγυλές κυματοειδείς λαβές επίσης δεν σπάνε, αλλά τα βρεγμένα ή ιδρωμένα χέρια γλιστρούν πάνω τους.

Λογιστική και έλεγχος

Η μονάδα επιλογής και λογιστικής αποτελείται από μια βαλβίδα διακοπής, ένα χοντρό φίλτρο, ένα μετρητή νερού και μια βαλβίδα αντεπιστροφής. Συναρμολογημένο όπως φαίνεται στην εικόνα. Κάθε μία από τις συσκευές υποδεικνύει την κατεύθυνση της ροής του νερού για αυτήν, πρέπει να τηρείται κατά τη συναρμολόγηση.

Το συγκρότημα συναρμολογείται με στεγανοποίηση των συνδέσεων με την ταινία FUM και συνδέεται επίσης με τον ανυψωτήρα, έχοντας προηγουμένως μπλοκάρει το νερό. Θυμηθείτε να κλείσετε τη βαλβίδα διακοπής πριν την παροχή νερού. Αυτή είναι η μόνη λειτουργία, και βραχυπρόθεσμη, που απαιτεί διακοπή της παροχής νερού στους γείτονες στο ανυψωτικό.

Απαιτούνται ξεχωριστές μονάδες μετρητών για κρύο και ζεστό νερό. Είναι πολύ επιθυμητό οι μετρητές και οι λαβές των βαλβίδων να επισημαίνονται με χρώμα. Οι ενδείξεις του μετρητή θα πρέπει να είναι ευανάγνωστες χωρίς πρόσθετες εργασίες (αφαίρεση καταπακτής, κ.λπ.), επομένως είναι συχνά απαραίτητο να προσυναρμολογηθεί ένα τμήμα ενός ενιαίου αγωγού, μερικές φορές μάλλον παράξενης διαμόρφωσης, για τη σύνδεση των δοσομετρικών συσκευών με τον ανυψωτήρα. Εκτός από σωλήνες και συγκολλητικό σίδερο, για αυτό θα χρειαστείτε μεταβατικούς συνδέσμους από πλαστικό σε μεταλλικό MPV - έναν εσωτερικό σύνδεσμο με σπείρωμα. Το πλαστικό συνδέεται με τις μονάδες μέτρησης χρησιμοποιώντας MRN - εξωτερικούς συνδέσμους με σπείρωμα.

Οι μετρητές πωλούνται σφραγισμένοι, αλλά αυτό δεν σημαίνει ότι μπορείτε να καλέσετε αμέσως το δίκτυο ύδρευσης και να πληρώσετε το νερό ανάλογα με την κατανάλωση. Η εργοστασιακή σφραγίδα είναι για αυτό (η ρωσική γη είναι πλούσια σε τεχνίτες) για να μην μπει κανείς στο μετρητή και να στρίψει ή να αρχειοθετήσει τίποτα εκεί. Η εργοστασιακή σφραγίδα πρέπει να προστατεύεται. χωρίς αυτό, ο μετρητής θεωρείται άχρηστος, καθώς και χωρίς πιστοποιητικό γι 'αυτό.

Κατά την εγκατάσταση μετρητών νερού, πρέπει να δηλώσετε στο δίκτυο ύδρευσης και να καλέσετε τον επιθεωρητή του. Μπορείτε να χρησιμοποιήσετε νερό πριν φτάσει, ο επιθεωρητής δεν χρειάζεται μηδενικές μετρήσεις, θα σημειώσει τις αρχικές, θα σφραγίσει το μετρητή και θα φίλτρο την αποστράγγιση με τη σφραγίδα του. Η πληρωμή για την κατανάλωση νερού θα γίνει μετά την εγγραφή των συσκευών μέτρησης.

HMS, aquastop, φίλτρο

Παρόλο που ο σχεδιασμός του HMS δεν μπορεί να διαχωριστεί και δεν επιτρέπει την κλοπή νερού με τη βοήθειά του και αυτή η συσκευή δεν μπορεί να σφραγιστεί, η σύνδεση του HMS στον μετρητή είναι απαράδεκτη: η πτερωτή του μετρητή μπορεί να φράξει με λάσπη. Το HMS με φίλτρο φιάλης συνδέεται μετά τις συσκευές μέτρησης. φίλτρο - αμέσως μετά το HMS. Ένα aquastop μπορεί να συνδεθεί αμέσως μετά το φίλτρο, αλλά εάν είναι ηλεκτροδυναμικό, το μαγνητικό πεδίο του HMS μπορεί να προκαλέσει την εσφαλμένη λειτουργία του, αλλά δεν έχει νόημα να αποδοθεί το aquastop μακριά από το φίλτρο: δεν αντιδρά σε μια σημαντική ανακάλυψη πριν το.

Βίντεο: μια επισκόπηση των επιλογών διάταξης για στοιχεία υδραυλικών εγκαταστάσεων

Εγκατάσταση αγωγού

Λοιπόν, τώρα κάνουμε τα υδραυλικά. Η συναρμολόγηση των σωλήνων έχει ήδη περιγραφεί, αλλά η εγκατάσταση ολόκληρου του συστήματος έχει επίσης μη κατασκευαστικά χαρακτηριστικά, όπως η διάταξη των καναλιών στο διάστρωμα. Το τελευταίο δεν πρέπει να περνάει περισσότερο από 150 mm από τον τοίχο και όχι πιο κοντά από 200 mm από τα έπιπλα. Τα υδραυλικά, φυσικά, αφαιρούνται πριν από την έναρξη της τοποθέτησης σωλήνων.

Πρώτα απ 'όλα, πρέπει να εγκαταστήσετε τόξα - πλαστικές λωρίδες με τετράγωνα MRV για μίξερ. Συνδέονται στον κύριο τοίχο με βίδες με αυτοκόλλητες βίδες σε πείρους. Κατά την προσάρτηση, πρέπει να λάβετε υπόψη το πάχος του φινιρίσματος: γύψο και πλακάκι ή άλλη διακοσμητική επίστρωση.

Χωρίς μεγάλη εμπειρία κατασκευής, είναι πολύ δύσκολο να επιτευχθεί η θέση των ακροφυσίων εξόδου στο ίδιο επίπεδο με τον τοίχο. Είναι καλύτερα να τα κάνετε ΙΔΙΟΤΗΤΕΣ πάνω από τον τελειωμένο τοίχο εκ των προτέρων το ήμισυ του πλάτους της πλευράς των διακοσμητικών καπακιών του μίξερ: εάν τα καπάκια δεν είναι ρυθμισμένα, μπορούν εύκολα να ρυθμιστούν σε σμυριδότροχο ή χειροκίνητα σε σμύριδα.

Η επόμενη στιγμή είναι η συναρμολόγηση των τμημάτων του αγωγού. Ο πιο βολικός τρόπος είναι να το συναρμολογήσετε στο τραπέζι και να το βάλετε εξ ολοκλήρου σε στροβοσκοπικά. Αλλά τότε τίθεται το ερώτημα: πώς να περάσουν σωλήνες μέσα από τοίχους; Δεν υπάρχουν προβλήματα με το μέταλλο-πλαστικό, είναι όλα σε αποσπώμενα εξαρτήματα και για συγκολλημένους σωλήνες, μπορούν να προσφερθούν δύο μέθοδοι:

  • Με τη βοήθεια προσαρμογέων MPH / MRV και μεταλλικών πλαστικών ενθέτων. Σε ένα διαμέρισμα, αυτό είναι αρκετά αξιόπιστο και στις γωνίες πάνω από τα στροβοσκόπια, μπορείτε να φτιάξετε αφαιρούμενες καταπακτές για αναθεώρηση και επισκευή συνδέσεων με σπείρωμα.
  • Εγκαταστήστε σωλήνες τοπικά. Αυτό απαιτεί ένα συμπαγές συγκολλητικό σίδερο. Αυτό είναι πιο ακριβό και πρέπει να δουλέψετε με βαμβακερά γάντια για να μην καείτε κατά λάθος.

Το τέταρτο σημείο είναι η συγκόλληση. Μια συγκόλληση παίρνει 15 mm σωλήνα. Δηλαδή, εάν υπάρχει ακριβώς 1 m μεταξύ δύο εξαρτημάτων, πρέπει να κόψετε 1030 mm. εάν 0,6 m - 630 mm κ.λπ.

Το πέμπτο σημείο είναι η κάμψη μεταλλικών-πλαστικών σωλήνων. Η ελάχιστη επιτρεπόμενη ακτίνα κάμψης είναι 5 εξωτερικές διάμετροι του σωλήνα. Μπορείτε να συναντήσετε συστάσεις: λένε, βάλτε ένα ελατήριο εκεί, γεμίστε το με άμμο και γενικά μπορείτε να το λυγίσετε υπό γωνία και να τραβήξετε το ελατήριο και να διαλέξετε την άμμο με ένα συρμάτινο άγκιστρο. Σε καμία περίπτωση: η επίστρωση του σωλήνα επιδεινώνεται, οι υπολειμματικές τάσεις σε αυτό είναι πολύ υψηλότερες από τις επιτρεπόμενες και ο μεταλλικός πλαστικός σωλήνας αποκτά τις ιδιότητες ενός πολύ φτωχού σκουριασμένου χάλυβα.

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

Βίντεο: ένα παράδειγμα τοποθετημένης υδραυλικής εγκατάστασης

Υπάρχουν δύο διαφορετικοί τρόποι για να εξετάσετε το ενδεχόμενο θερμής πρίζας. Ο πυρήνας βλέπει το hotpluging ως αλληλεπίδραση μεταξύ του υλικού, του πυρήνα και του προγράμματος οδήγησης πυρήνα. Οι χρήστες σκέφτονται το hotplug ως μια αλληλεπίδραση μεταξύ του πυρήνα και του χώρου χρηστών μέσω ενός προγράμματος που ονομάζεται /sbin/hotplug. Αυτό το πρόγραμμα καλείται από τον πυρήνα όταν θέλει να ειδοποιήσει το userpace ότι κάποιος τύπος συμβάντος hotplug μόλις συνέβη στον πυρήνα.

Δυναμικές Συσκευές

Η πιο κοινή χρήση της έννοιας του όρου "hot βύσμα" συμβαίνει όταν συζητάμε το γεγονός ότι τα περισσότερα συστήματα υπολογιστών μπορούν πλέον να χειριστούν συσκευές που εμφανίζονται ή εξαφανίζονται όταν το σύστημα είναι ενεργοποιημένο. Αυτό είναι πολύ διαφορετικό από τα συστήματα ηλεκτρονικών υπολογιστών μόλις πριν από λίγα χρόνια, όταν οι προγραμματιστές γνώριζαν ότι χρειαζόταν μόνο να σαρώσουν όλες τις συσκευές κατά την εκκίνηση και ποτέ δεν ανησυχούσαν μήπως εξαφανιστούν οι συσκευές τους όταν έκλεινε το ρεύμα ολόκληρου του μηχανήματος. Τώρα, με την έλευση των ελεγκτών USB, CardBus PCMCIA, IEEE1394 και PCI hot-pluggable, ο πυρήνας Linux πρέπει να μπορεί να λειτουργεί αξιόπιστα ανεξάρτητα από το υλικό που προστίθεται ή αφαιρείται από το σύστημα. Αυτό επιβαρύνει επιπλέον τον εγγραφέα του προγράμματος οδήγησης συσκευής, καθώς πρέπει τώρα να εργάζεται πάντα με μια συσκευή που ξαφνικά ξεφεύγει από τον έλεγχο χωρίς προηγούμενη ειδοποίηση.

Κάθε τύπος διαύλου χειρίζεται διαφορετικά την απώλεια συσκευής. Για παράδειγμα, όταν μια συσκευή PCI, CardBus ή PCMCIA αφαιρείται από το σύστημα, συνήθως συμβαίνει πριν ειδοποιηθεί το πρόγραμμα οδήγησης για την ενέργεια μέσω της λειτουργίας αφαίρεσης. Πριν συμβεί αυτό, όλες οι αναγνώσεις από το δίαυλο PCI επιστρέφουν όλα τα μπιτ που έχουν οριστεί. Αυτό σημαίνει ότι οι οδηγοί πρέπει να ελέγχουν πάντα την τιμή των δεδομένων που έχουν διαβάσει από το δίαυλο PCI και να μπορούν να επεξεργάζονται σωστά την τιμή 0xff.

Ένα παράδειγμα αυτού μπορεί να δει κανείς στο drivers/usb/host/ehci-hcd.c , το οποίο είναι ένα πρόγραμμα οδήγησης PCI για μια πλακέτα ελεγκτή USB 2.0 (High-Speed). Έχει τον ακόλουθο κωδικό στον κύριο βρόχο χειραψίας για να ανιχνεύσει ότι η πλακέτα ελεγκτή έχει αφαιρεθεί από το σύστημα:

αποτέλεσμα = readl(ptr);

if (αποτέλεσμα == ~(u32)0) /* ο χάρτης αφαιρέθηκε */

Επιστροφή -ENODEV;

Για προγράμματα οδήγησης USB, όταν η συσκευή με την οποία σχετίζεται το πρόγραμμα οδήγησης USB αφαιρείται από το σύστημα, τυχόν εκκρεμείς urb που στάλθηκαν στη συσκευή αποτυγχάνουν πρώτα με ένα σφάλμα -ENODEV. Το πρόγραμμα οδήγησης θα πρέπει να αναγνωρίσει αυτό το σφάλμα και να καθαρίσει κατάλληλα τυχόν εκκρεμείς εισόδους/εξόδους, εάν υπάρχουν.

Οι συσκευές Hot plug δεν περιορίζονται σε παραδοσιακές συσκευές όπως ποντίκια, πληκτρολόγια και κάρτες δικτύου. Υπάρχουν πολλά συστήματα που υποστηρίζουν πλέον την αφαίρεση και την προσθήκη ολόκληρων επεξεργαστών και καρτών μνήμης. Ευτυχώς, ο πυρήνας του Linux χειρίζεται σωστά την προσθήκη και την αφαίρεση τέτοιων βασικών συσκευών "συστήματος", επομένως τα προγράμματα οδήγησης μεμονωμένων συσκευών δεν χρειάζεται να ανησυχούν για αυτά τα πράγματα.

βοηθητικό πρόγραμμα /sbin/hotplug

Όπως αναφέρθηκε προηγουμένως σε αυτό το κεφάλαιο, όταν μια συσκευή προστίθεται ή αφαιρείται από το σύστημα, δημιουργείται ένα "συμβάν ζεστού βύσματος". Αυτό σημαίνει ότι ο πυρήνας καλεί το πρόγραμμα userspace /sbin/hotplug . Αυτό το πρόγραμμα είναι συνήθως ένα πολύ μικρό σενάριο bash που απλώς παραδίδει την εκτέλεση σε μια λίστα άλλων προγραμμάτων που βρίσκονται στο δέντρο καταλόγου /etc/hotplug.d/. Για τις περισσότερες διανομές Linux, αυτό το σενάριο μοιάζει με αυτό:

DIR="/etc/hotplug.d"

για I σε "$(DIR)/$1/"*.hotplug "$(DIR)/"default/*.hotplug ; κάνω

Αν [ -f $I ]; έπειτα

Δοκιμή -x $I && $I $1 ;

Έγινε

έξοδος 1

Με άλλα λόγια, το σενάριο αναζητά όλα τα προγράμματα με το επίθημα .hotplug που μπορεί να ενδιαφέρονται για αυτό το συμβάν και τα καλεί, μεταβιβάζοντάς τους μια σειρά από διαφορετικές μεταβλητές περιβάλλοντος που έχουν οριστεί από τον πυρήνα. Περισσότερες πληροφορίες για το πώς λειτουργεί το σενάριο /sbin/hotplug μπορείτε να βρείτε στα σχόλια του προγράμματος και στη σελίδα εγχειριδίου hotplug(8).

Όπως αναφέρθηκε προηγουμένως, το /sbin/hotplug καλείται όταν δημιουργείται ή καταστρέφεται ένα kobject. Το πρόγραμμα hotplug καλείται με ένα όρισμα γραμμή εντολών A που αντιπροσωπεύει τον τίτλο για αυτό το συμβάν. Ο κύριος πυρήνας και ένα συγκεκριμένο υποσύστημα εμπλέκονται επίσης στη ρύθμιση ενός συνόλου μεταβλητών περιβάλλοντος (δείτε παρακάτω) με πληροφορίες σχετικά με το τι μόλις συνέβη. Αυτές οι μεταβλητές χρησιμοποιούνται σε προγράμματα hotplug για να προσδιορίσουν τι έχει μόλις συμβεί στον πυρήνα και εάν υπάρχει κάποια ειδική ενέργεια που πρέπει να πραγματοποιηθεί.

Το όρισμα γραμμής εντολών που μεταβιβάστηκε στο /sbin/hotplug είναι το όνομα που σχετίζεται με αυτό το συμβάν hotplug, όπως προσδιορίζεται από το kset που έχει εκχωρηθεί στο kobject. Αυτό το όνομα μπορεί να οριστεί με κλήσεις στη συνάρτηση ονόματος, η οποία αποτελεί μέρος της δομής hotplug_ops του kset που περιγράφηκε νωρίτερα σε αυτό το κεφάλαιο. Εάν αυτή η συνάρτηση λείπει ή δεν έχει κληθεί ποτέ, χρησιμοποιείται το ίδιο το όνομα του kset.

Οι προεπιλεγμένες μεταβλητές περιβάλλοντος που ορίζονται πάντα για το πρόγραμμα /sbin/hotplug είναι:

ΔΡΑΣΗ

Η συμβολοσειρά προσθήκη (προσθήκη) ή αφαίρεση (διαγραφή), ανάλογα με το αν το δεδομένο αντικείμενο μόλις δημιουργήθηκε ή καταστράφηκε.

DEVPATH

Διαδρομή σε έναν κατάλογο στο σύστημα αρχείων sysfs που οδηγεί στο kobject που αυτή τη στιγμή είτε δημιουργείται είτε έχει καταστραφεί. Σημειώστε ότι το σημείο προσάρτησης του συστήματος αρχείων sysfs δεν προστίθεται σε αυτήν τη διαδρομή, επομένως ο ορισμός του αφήνεται στο πρόγραμμα userspace.

SEQNUM

Ο αριθμός σειράς για αυτό το συμβάν hotplug. Ο αριθμός ακολουθίας είναι ένας αριθμός 64-bit που αυξάνεται με κάθε συμβάν hotplug που δημιουργείται. Αυτό επιτρέπει στον χώρο χρήστη να ταξινομεί τα συμβάντα hotplug με τη σειρά που τα δημιουργεί ο πυρήνας, καθώς είναι δυνατό τα προγράμματα χώρου χρήστη να λειτουργούν εκτός λειτουργίας.

ΥΠΟΣΥΣΤΗΜΑ

Η ίδια συμβολοσειρά πέρασε ως όρισμα γραμμής εντολών όπως περιγράφεται παραπάνω.

Ένας αριθμός διαφορετικών υποσυστημάτων διαύλου για κλήση /sbin/hotplug προσθέτουν τα δικά τους μεταβλητές περιβάλλοντοςόταν μια συσκευή που σχετίζεται με το δίαυλο έχει προστεθεί ή αφαιρεθεί από το σύστημα. Το κάνουν αυτό στην επανάκληση του hotplug που καθορίζεται στη δομή kset_hotplug_ops που έχει εκχωρηθεί σε αυτόν τον δίαυλο (όπως περιγράφεται στην ενότητα Λειτουργίες Hotplug). Αυτό επιτρέπει στον χώρο χρήστη να μπορεί να φορτώνει αυτόματα τις απαραίτητες μονάδες που μπορεί να χρειαστούν για τον έλεγχο μιας συσκευής που έχει εντοπιστεί στο δίαυλο. Ακολουθεί μια λίστα με τους διαφορετικούς τύπους διαύλου και τις μεταβλητές περιβάλλοντος που προσθέτουν στην κλήση /sbin/hotplug.

IEEE1394 (FireWire)

Όλες οι συσκευές στο δίαυλο IEEE1394, γνωστές και ως FireWire, έχουν μια επιλογή ονόματος για το /sbin/hotplug και η μεταβλητή περιβάλλοντος SUBSYSTEM έχει οριστεί σε ieee1394. Το υποσύστημα Ieee1394 προσθέτει επίσης πάντα τις ακόλουθες τέσσερις μεταβλητές περιβάλλοντος:

VENDOR_ID

Αναγνωριστικό προμηθευτή 24-bit για τη συσκευή IEEE1394.

MODEL_ID

Αναγνωριστικό μοντέλου 24 bit για μια συσκευή IEEE1394.

ΟΔΗΓΟΣ

Το GUID 64-bit για αυτήν τη συσκευή.

SPECIFIER_ID

Τιμή 24-bit που καθορίζει τον κάτοχο της προδιαγραφής πρωτοκόλλου για αυτήν τη συσκευή

ΕΚΔΟΧΗ

Μια τιμή που καθορίζει την έκδοση προδιαγραφών πρωτοκόλλου για αυτήν τη συσκευή.

Καθαρά

Όλες οι συσκευές δικτύου δημιουργούν ένα μήνυμα hotplug όταν η συσκευή είναι εγγεγραμμένη ή μη καταχωρημένη στον πυρήνα. Η κλήση /sbin/hotplug έχει μια παράμετρο ονόματος και η μεταβλητή περιβάλλοντος SUBSYSTEM έχει οριστεί σε net και προσθέτει μόνο την ακόλουθη μεταβλητή περιβάλλοντος:

ΔΙΕΠΑΦΗ

Το όνομα της διεπαφής που καταχωρήθηκε ή καταργήθηκε από τον πυρήνα. Παραδείγματα αυτού είναι τα lo και eth0.

PCI

Οποιεσδήποτε συσκευές στο δίαυλο PCI έχουν μια παράμετρο ονόματος και η μεταβλητή περιβάλλοντος SUBSYSTEM έχει οριστεί σε pci. Το υποσύστημα PCI προσθέτει επίσης πάντα τις ακόλουθες τέσσερις μεταβλητές περιβάλλοντος:

PCI_CLASS

Ο αριθμός κλάσης PCI για αυτήν τη συσκευή, σε δεκαεξαδικό.

PCI_ID

Τα αναγνωριστικά του προμηθευτή και της συσκευής PCI για αυτήν τη συσκευή, σε δεκαεξαδικό, συνδέονται στη μορφή προμηθευτής:συσκευή .

PCI_SUBSYS_ID

Τα αναγνωριστικά προμηθευτή και υποσυστήματος PCI συνδυάζονται στη μορφή subsys_vendor:subsys_device .

PCI_SLOT_NAME

Το "όνομα" της υποδοχής PCI που δίνεται στη συσκευή από τον πυρήνα στη μορφή domain:bus:slot:function . Ένα παράδειγμα θα ήταν το 0000:00:0d.0 .

Εισαγωγή

Για όλες τις συσκευές εισόδου (ποντίκι, πληκτρολόγια, joystick και ούτω καθεξής), δημιουργείται ένα μήνυμα hotplug όταν μια συσκευή προστίθεται και αφαιρείται από τον πυρήνα. Η επιλογή /sbin/hotplug και η μεταβλητή περιβάλλοντος SUBSYSTEM έχουν οριστεί ως είσοδος. Το υποσύστημα εισόδου προσθέτει επίσης πάντα τις ακόλουθες μεταβλητές περιβάλλοντος:

ΠΡΟΪΟΝ

Μια συμβολοσειρά πολλών τιμών που παραθέτει τις τιμές σε δεκαεξαδικό, χωρίς αρχικά μηδενικά, στη μορφή bustype:πωλητής:προϊόν:έκδοση.

Οι ακόλουθες μεταβλητές περιβάλλοντος ενδέχεται να υπάρχουν εάν η συσκευή τις υποστηρίζει:

ΟΝΟΜΑ

Το όνομα της συσκευής εισόδου, όπως δίνεται από τη συσκευή.

ΦΥΣ

Η φυσική διεύθυνση της συσκευής που έδωσε το υποσύστημα εισόδου σε αυτήν τη συσκευή. Θα πρέπει να είναι σταθερό, ανάλογα με τη θέση του διαύλου στον οποίο συνδέθηκε η συσκευή.

Όλα προέρχονται από μια λαβή συσκευής εισόδου και ρυθμίζονται στις κατάλληλες τιμές εάν η δεδομένη συσκευή εισόδου το υποστηρίζει.

USB

Οποιεσδήποτε συσκευές στο δίαυλο USB έχουν μια παράμετρο ονόματος και η μεταβλητή περιβάλλοντος SUBSYSTEM έχει οριστεί σε usb. Το υποσύστημα USB προσθέτει επίσης πάντα τις ακόλουθες μεταβλητές περιβάλλοντος:

ΠΡΟΪΟΝ

Μια συμβολοσειρά σε μορφή idVendor/idProduct/bcdDevice

ΤΥΠΟΣ

Συμβολοσειρά σε μορφή bDeviceClass/bDeviceSubClass/bDeviceProtocol, το οποίο ορίζει αυτά τα πεδία που εξαρτώνται από τη συσκευή USB.

Εάν το πεδίο bDeviceClass έχει οριστεί σε 0, ορίζεται επίσης η ακόλουθη μεταβλητή περιβάλλοντος:

ΔΙΕΠΑΦΗ

Συμβολοσειρά σε μορφή bInterfaceClass/bInterfaceSubClass/bInterfaceProtocol, το οποίο ορίζει αυτά τα πεδία που εξαρτώνται από τη συσκευή USB.

Εάν είναι επιλεγμένη η επιλογή δημιουργίας πυρήνα CONFIG_USB_DEVICEFS, η οποία επιλέγει να ενσωματωθεί το σύστημα αρχείων usbfs στον πυρήνα, ορίζεται επίσης η ακόλουθη μεταβλητή περιβάλλοντος:

ΣΥΣΚΕΥΗ

Μια συμβολοσειρά που δείχνει πού βρίσκεται η συσκευή στο σύστημα αρχείων usbfs. Αυτή η γραμμή έχει τη μορφή /proc/bus/usb/USB_BUS_NUMBER/ SB_DEVICE_NUMBER, όπου USB_BUS_NUMBER είναι ο τριψήφιος αριθμός του διαύλου USB στον οποίο είναι συνδεδεμένη η συσκευή και USB_DEVICE_NUMBER είναι ο τριψήφιος αριθμός που εκχωρήθηκε από τον πυρήνα για αυτήν τη συσκευή USB.

SCSI

Όλες οι συσκευές SCSI δημιουργούν ένα συμβάν hotplug όταν δημιουργείται ή αφαιρείται μια συσκευή SCSI από τον πυρήνα. Η κλήση /sbin/hotplug έχει μια παράμετρο ονόματος και η μεταβλητή περιβάλλοντος SUBSYSTEM έχει οριστεί σε scsi για κάθε συσκευή SCSI που προστίθεται ή αφαιρείται από το σύστημα. Δεν προστίθενται επιπλέον μεταβλητές περιβάλλοντος από το σύστημα SCSI, αλλά αναφέρεται εδώ επειδή υπάρχει μια ειδική δέσμη ενεργειών SCSI χώρου χρήστη που μπορεί να καθορίσει ότι τα προγράμματα οδήγησης SCSI (μονάδα δίσκου, μονάδα ταινίας, κανονική κ.λπ.) θα πρέπει να φορτωθούν για το καθορισμένο συσκευή SCSI.

Σταθμοί σύνδεσης φορητών υπολογιστών

Εάν προστεθεί ή αφαιρεθεί ένας σταθμός σύνδεσης φορητού υπολογιστή με δυνατότητα Plug-and-Play σε έναν υπολογιστή που εκτελείται Συστήματα Linux(συνδέοντας έναν φορητό υπολογιστή στο σταθμό ή αφαιρώντας τον), δημιουργείται ένα συμβάν hotplug. Η κλήση /sbin/hotplug έχει μια παράμετρο ονόματος και η μεταβλητή περιβάλλοντος SUBSYSTEM έχει οριστεί ως βάση σύνδεσης. Δεν έχουν οριστεί άλλες μεταβλητές περιβάλλοντος.

S/390 και zSeries

Στην αρχιτεκτονική S/390, η αρχιτεκτονική του διαύλου καναλιού υποστηρίζει μια μεγάλη ποικιλία υλικού, καθένα από τα οποία ενεργοποιεί συμβάντα /sbin/hotplug όταν προστίθενται ή αφαιρούνται από το εικονικό σύστημα Linux. Όλες αυτές οι συσκευές έχουν μια παράμετρο ονόματος για το /sbin/hotplug και η μεταβλητή περιβάλλοντος SUBSYSTEM έχει οριστεί σε dasd. Δεν έχουν οριστεί άλλες μεταβλητές περιβάλλοντος.

Χρησιμοποιώντας /sbin/hotplug

Τώρα που ο πυρήνας Linux καλεί το /sbin/hotplug για κάθε συσκευή που προστίθεται ή αφαιρείται από τον πυρήνα, έχει δημιουργηθεί μια σειρά από πολύ χρήσιμα εργαλεία στο χώρο του χρήστη για να επωφεληθούν από αυτό. Δύο από τα πιο δημοφιλή εργαλεία είναι τα σενάρια hotplug Linux και το udev.

Σενάρια hotplug Linux

Τα σενάρια hotplug Linux ξεκίνησαν ως ο πρώτος χρήστης που καλούσε το /sbin/hotplug . Αυτά τα σενάρια εξετάζουν τις διάφορες μεταβλητές περιβάλλοντος που ορίζει ο πυρήνας για να περιγράψει τη συσκευή που μόλις ανακάλυψε και στη συνέχεια προσπαθούν να βρουν μια λειτουργική μονάδα πυρήνα που ταιριάζει με αυτήν τη συσκευή.

Όπως αναφέρθηκε προηγουμένως, όταν ένα πρόγραμμα οδήγησης χρησιμοποιεί τη μακροεντολή MODULE_DEVICE_TABLE, το πρόγραμμα, depmod , λαμβάνει αυτές τις πληροφορίες και δημιουργεί τα αρχεία που βρίσκονται στο /lib/module/KERNEL_VERSION/modules.*map. Το σύμβολο * είναι μια διάκριση, ανάλογα με τον τύπο του λεωφορείου που υποστηρίζει ο οδηγός. Επί του παρόντος, δημιουργούνται αρχεία καρτών λειτουργικών μονάδων για προγράμματα οδήγησης που λειτουργούν με συσκευές που υποστηρίζουν τα υποσυστήματα PCI, USB, IEEE1394, INPUT, ISAPNP και CCW.

Οι δέσμες ενεργειών Hotplug χρησιμοποιούν αυτά τα αρχεία κειμένου με χάρτη λειτουργιών για να ορίσουν μια λειτουργική μονάδα για να προσπαθήσουν να τη φορτώσουν για να υποστηρίξουν μια συσκευή που ανακαλύφθηκε πρόσφατα από τον πυρήνα. Φορτώνουν όλα τα modules και δεν σταματούν στην πρώτη αντιστοίχιση, έτσι ώστε να αφήσουν τον πυρήνα να αποφασίσει ποια ενότητα είναι η καταλληλότερη. Αυτά τα σενάρια δεν ξεφορτώνουν όλες τις λειτουργικές μονάδες όταν αφαιρούνται συσκευές. Εάν προσπάθησαν να το κάνουν αυτό, θα μπορούσαν κατά λάθος να απενεργοποιήσουν συσκευές που ελέγχονται επίσης από το πρόγραμμα οδήγησης συσκευής που αφαιρέθηκε.

Λάβετε υπόψη ότι τώρα που το πρόγραμμα modprobe μπορεί να διαβάσει πληροφορίες MODULE_DEVICE_TABLE απευθείας από λειτουργικές μονάδες χωρίς την ανάγκη για αρχεία χάρτη λειτουργιών, τα σενάρια hotplug μπορούν να μειωθούν σε ένα μικρό περιτύλιγμα γύρω από το πρόγραμμα modprobe.

udev

Ένας από τους κύριους λόγους για τη δημιουργία ενός μοντέλου μεμονωμένου προγράμματος οδήγησης στον πυρήνα ήταν να επιτραπεί ο χώρος χρήστη για τη διαχείριση του δέντρου /dev με δυναμικό τρόπο. Αυτό γινόταν στο userspace από την υλοποίηση devfs, αλλά αυτή η βάση κώδικα έχει σιγά-σιγά σαπίσει λόγω έλλειψης ενεργού συντηρητή και ορισμένων μη ανακτήσιμων υποκείμενων σφαλμάτων. Αρκετοί προγραμματιστές πυρήνα συνειδητοποίησαν ότι εάν όλες οι πληροφορίες της συσκευής εξάγονταν στο χώρο χρήστη, θα μπορούσε να κάνει όλη την απαραίτητη διαχείριση του δέντρου /dev.

Το devfs έχει μερικά πολύ σημαντικά ελαττώματα στον σχεδιασμό του. Απαιτεί κάθε πρόγραμμα οδήγησης συσκευής να τροποποιηθεί για να το υποστηρίζει και απαιτεί από το πρόγραμμα οδήγησης συσκευής να καθορίσει το όνομα και τη θέση στο δέντρο /dev όπου τοποθετείται. Επίσης, δεν χειρίζεται σωστά τους δυναμικούς μεγάλους και δευτερεύοντες αριθμούς, αναγκάζοντας την πολιτική ονομασίας συσκευών να ανήκει στον πυρήνα και όχι στον χώρο χρήστη. Οι προγραμματιστές του πυρήνα του Linux μισούν πραγματικά να έχουν μια πολιτική στον πυρήνα και δεδομένου ότι η πολιτική ονοματοδοσίας των devfs δεν ακολουθεί τις προδιαγραφές της Standard Base του Linux, τους ενοχλεί πραγματικά.

Από τότε που άρχισε να εγκαθίσταται ο πυρήνας του Linux σε τεράστιους διακομιστές, πολλοί χρήστες αντιμετώπισαν το πρόβλημα του τρόπου διαχείρισης ενός πολύ μεγάλου αριθμού συσκευών. Με συστοιχίες μονάδας δίσκου με περισσότερες από 10.000 μοναδικές συσκευές, είναι πολύ δύσκολο να διασφαλιστεί ότι κάθε δίσκος ονομάζεται πάντα με το ίδιο ακριβές όνομα, όπου κι αν τοποθετηθεί στη συστοιχία δίσκων ή όταν ανακαλυφθεί από τον πυρήνα. Αυτό είναι το ίδιο πρόβλημα που αντιμετωπίζουν οι χρήστες επιτραπέζιου υπολογιστή όταν προσπαθούν να συνδέσουν δύο εκτυπωτές USB στο σύστημά τους και, στη συνέχεια, συνειδητοποιούν ότι δεν έχουν τρόπο να διασφαλίσουν ότι ο εκτυπωτής που είναι γνωστός ως /dev/lpt0 δεν έχει αλλάξει και δεν εκχωρηθεί εκ νέου σε άλλον εκτυπωτή. συμβάν επανεκκίνησης συστήματος.

Έτσι, δημιουργήθηκε το udev. Βασίζεται σε όλες τις πληροφορίες της συσκευής που εξάγονται στο userspace μέσω sysfs και στην ειδοποίηση μέσω /sbin/hotplug ότι μια συσκευή έχει προστεθεί ή αφαιρεθεί. Οι αποφάσεις πολιτικής, όπως το όνομα που θα δοθεί στη συσκευή, μπορούν να καθοριστούν στο χώρο χρήστη, έξω από τον πυρήνα. Αυτό διασφαλίζει ότι η πολιτική ονομασίας αφαιρείται από τον πυρήνα και επιτρέπει μεγαλύτερο βαθμό ευελιξίας στην ονομασία κάθε συσκευής.

Για περισσότερες πληροφορίες σχετικά με τη χρήση του udev και τον τρόπο ρύθμισης του, ανατρέξτε στην τεκμηρίωση που συνοδεύει το πακέτο udev στη διανομή σας.

Το μόνο που χρειάζεται να κάνει ένα πρόγραμμα οδήγησης συσκευής για να λειτουργήσει σωστά το udev είναι να διασφαλίσει ότι τυχόν μεγάλοι και δευτερεύοντες αριθμοί που έχουν εκχωρηθεί σε μια συσκευή που ελέγχεται από το πρόγραμμα οδήγησης εξάγονται στον χώρο χρήστη μέσω του sysfs. Για κάθε πρόγραμμα οδήγησης που χρησιμοποιεί το υποσύστημα για να του δώσει έναν κύριο και δευτερεύοντα αριθμό, αυτό γίνεται ήδη από το υποσύστημα και το πρόγραμμα οδήγησης δεν χρειάζεται να κάνει καμία εργασία. Παραδείγματα υποσυστημάτων που το κάνουν αυτό είναι τα υποσυστήματα tty, misc, usb, input, scsi, block, i2c, network και frame buffer. Εάν το πρόγραμμα οδήγησης σας χειρίζεται τη λήψη του κύριου και του δευτερεύοντος αριθμού μέσω του cdev_init ή του καταργημένου register_chrdev , το πρόγραμμα οδήγησης πρέπει να τροποποιηθεί ώστε το udev να λειτουργεί σωστά με αυτό.

Το udev αναζητά στο δέντρο /class/ στο sysfs ένα αρχείο με το όνομα dev για να προσδιορίσει ποιος κύριος και δευτερεύων αριθμός εκχωρείται σε μια δεδομένη συσκευή όταν καλείται από τον πυρήνα μέσω της διεπαφής /sbin/hotplug. Το πρόγραμμα οδήγησης συσκευής πρέπει απλώς να δημιουργήσει ένα τέτοιο αρχείο για κάθε συσκευή που ελέγχει. Συνήθως, η διεπαφή class_simple είναι ο ευκολότερος τρόπος για να γίνει αυτό.

Όπως αναφέρθηκε στην ενότητα "class_simple interface", το πρώτο βήμα στη χρήση της διεπαφής class_simple είναι να δημιουργήσετε μια δομή class_simple καλώντας τη συνάρτηση class_simple_create:

static struct class_simple *foo_class;

foo_class = class_simple_create(THIS_MODULE, "foo");

εάν (IS_ERR(foo_class)) (

Printk(KERN_ERR "Σφάλμα δημιουργίας κλάσης foo.\n");

Σφάλμα μετάβασης.

Αυτός ο κώδικας δημιουργεί έναν κατάλογο στο sysfs στο /sys/class/foo.

Κάθε φορά που το πρόγραμμα οδήγησης βρίσκει μια νέα συσκευή και της εκχωρείτε έναν μικρό αριθμό, όπως περιγράφεται στο Κεφάλαιο 3, το πρόγραμμα οδήγησης πρέπει να καλεί τη συνάρτηση class_simple_device_add:

class_simple_device_add(foo_class, MKDEV(FOO_MAJOR, δευτερεύον), NULL, "foo%d", δευτερεύον);

Αυτός ο κώδικας προκαλεί τη δημιουργία ενός υποκαταλόγου με το όνομα fooN στο /sys/class/foo , όπου το N είναι ο δευτερεύων αριθμός για αυτήν τη συσκευή. Σε αυτόν τον κατάλογο δημιουργείται ένα μεμονωμένο αρχείο, το dev , το οποίο είναι ακριβώς αυτό που χρειάζεται το udev για να δημιουργήσει έναν κόμβο συσκευής για τη συσκευή σας. Όταν το πρόγραμμα οδήγησης αποδεσμεύεται από μια συσκευή και απορρίπτετε τον δευτερεύοντα αριθμό που του έχει εκχωρηθεί, απαιτείται μια κλήση προς class_simple_device_remove για την κατάργηση της καταχώρησης sysfs για αυτήν τη συσκευή:

class_simple_device_remove(MKDEV(FOO_MAJOR, δευτερεύον));

Αργότερα, όταν ολόκληρο το πρόγραμμα οδήγησης απενεργοποιηθεί, είναι απαραίτητο να καλέσετε το class_simple_destroy για να καταργήσετε την τάξη που δημιουργήσατε αρχικά καλώντας class_simple_create:

class_simple_destroy(foo_class);

Το αρχείο dev , το οποίο δημιουργείται καλώντας class_simple_device_add , αποτελείται από έναν κύριο και δευτερεύοντα αριθμό που χωρίζονται με έναν χαρακτήρα :. Εάν το πρόγραμμα οδήγησης δεν θέλει να χρησιμοποιήσει τη διεπαφή class_simple επειδή θέλετε να παρέχετε άλλα αρχεία μέσα στον κατάλογο κλάσης για το υποσύστημα, χρησιμοποιήστε τη συνάρτηση print_dev_t για να μορφοποιήσετε σωστά τους κύριους και δευτερεύοντες αριθμούς για κάθε συσκευή.

mob_info