Toplo i hladno povezivanje uređaja. Hot plug

Original: Some Nifty udev pravila i primjeri
Autori: Vimal Daga, Davender Singh
Datum objave: 28.06.2012
Prijevod: A.Panin
Datum objave prevoda: 23. oktobar 2012

Zahvaljujući udev sistemu koji su razvili Greg Kroah-Hartman, Kay Sievers i Dan Stekloff, proces povezivanja fleš diskova, tvrdi diskovi, kamere i mobilne telefone na sistem koji radi na Linuxu postao je jednostavan i upravljiv kao nikada prije. Prvi put implementiran u Linux kernelu verzije 2.6, udev sistem rukuje i uređajima za vruće priključivanje na sistem koji radi i uređajima za hladno uključivanje (prikačeni prije nego što je sistem uključen). U ovom članku ćemo proći kroz proces dinamičkog kreiranja datoteka uređaja u direktoriju /dev i dati neke primjere prilagođavanja za upotrebu ili samo za zabavu.

udev je implementacija sistema datoteka devfs uređaja u korisničkom prostoru. Sistem uključuje uslugu udevd, konfiguracijske datoteke i datoteke pravila koje se koriste za dinamičko upravljanje datotekama Linux uređaja smještenim u /dev direktoriju kao odgovor na događaje (uevents) generirane kernelom. Udev je uspješno u potpunosti zamijenio staru implementaciju devfs od verzije Linux kernela 2.6.

Koja je bila potreba za potpuno redizajniranom implementacijom sistema za upravljanje datotekama uređaja? I zašto je implementacija udev bila tako uspješna? Da biste dobili odgovor, morate pogledati istoriju razvoja interfejsa drajvera uređaja za Linux OS.

Svaka datoteka uređaja ima dvije 8-bitne vrijednosti koje su joj pridružene: manji identifikator (manji broj) i glavni identifikator (glavni broj). Svaki upravljački program uređaja ima glavni identifikator; i svi fajlovi uređaja koji rade pod ovim drajverom imaju isti glavni identifikator. Manji ID-ovi uređaja se razlikuju za različite uređaje koji koriste ovaj drajver.

U ranim verzijama Linuxa, /dev sistem datoteka je sadržavao jednu statičku datoteku za svaki uređaj koji je mogao biti priključen na sistem (i kontroliran od strane drajvera uređaja). Nažalost, ovaj pristup je imao niz problema: nije bilo dovoljno vrijednosti identifikatora da se dodijele svim mogućim uređajima, posebno s obzirom na sve veći broj podržanih uređaja. Takođe, posedovanje više od 18.000 fajlova uređaja zahtevalo je mnogo dodatnog prostora na disku. Ovi problemi su riješeni tako što je udev dozvolio da ignorira manje i glavne vrijednosti ID datoteke uređaja.

Kada su uređaji koji se spajaju na toplo, kao što je USB hardver, nije bilo dosljednosti u imenovanju i identifikaciji datoteke uređaja. Na primjer, na sistemu sa dva USB štampača, jedan od štampača može biti predstavljen sa /dev/usb/lp0, a drugi sa /dev/usb/lp1 - ali nema jasnog razumevanja koji štampač je predstavljen kojim fajlom . Ovo ponašanje se može promeniti u zavisnosti od toga koji je uređaj bio uključen kada se računar pokrenuo ili povezan ranije - ili se može promeniti u zavisnosti od toga da li je uređaj povezan na USB čvorište ili direktno na USB port sistema. Ovo ponašanje je uvijek bilo frustrirajuće i zbunjujuće za korisnike. Udev sistem vam omogućava da postavite trajno ime uređaja koristeći pravila.

Ostale udev funkcije rješavaju mnoge probleme naslijeđene od devfs-a:

  • udev radi u korisničkom prostoru, smanjujući količinu i složenost kernel koda.
  • udev vam omogućava da dodijelite trajno ime uređaja koje ne ovisi o redoslijedu u kojem su uređaji uključeni i lokaciji uređaja na magistrali.
  • udev dinamički modificira datoteke u /dev direktoriju, stvarajući datoteke samo za uređaje koji su prisutni i povezani na sistem. Također je moguće dodijeliti proizvoljna imena uređaja korištenjem simboličkih veza do datoteka uređaja.
  • udev pruža informacije o uređaju aplikacijama u korisničkom prostoru, uklanjajući potrebu za pristupom internim elementima kernela za dobijanje ovih informacija.

Kako udev radi

Udevd servis sluša na netlink soketu događaje koje generiše kernel kada je uređaj povezan ili isključen. Ove događaje možete pratiti naredbom udevmonitor - pokrenite je, priključite USB uređaj kao što je fleš disk i isključite ga (novije distribucije možda nemaju udevmonitor - koristite udevadm u ovom slučaju.)

Tokom pokretanja, udev montira tmpfs sistem datoteka u /dev direktorij. Nakon toga, datoteke uređaja se kopiraju iz direktorija /lib/udev/device u direktorij /dev, a udev počinje prihvaćati događaje kernela za hladno priključene uređaje. Direktorij /etc/udev/rules.d se koristi za promjenu postavki uređaja, kreiranje simboličkih veza do datoteka uređaja i još mnogo toga. Za hot plug uređaje, udevd osluškuje događaje kernela koristeći D-Bus, zatim dobija atribute novog uređaja iz /sys sistema datoteka i primjenjuje pravila zasnovana na atributima - tada se kreira datoteka uređaja na /dev sistemu datoteka. Udev vam također omogućava da učitate namjenske drajvere uređaja koristeći mehanizam "modalias".

udev pravila i primjeri

Udev pruža mogućnost promjene svog ponašanja na osnovu pravila i konfiguracijskih datoteka. Možete nadjačati način na koji pravila koja dolaze sa sistemom (obično se nalaze u /lib/udev/rules.d) funkcionišu ili dodati prilagođene i specifične karakteristike koje odgovaraju vašim potrebama. Pravila se mogu dodati u /etc/udev/rules.d/ direktorij - direktorij za pojedinačna prilagođena pravila.

Kreirajte svoja pravila (koja dodeljuju naziv datoteke uređaju, kreiraju simbolične veze, postavljaju dozvole i radite šta god želite) u ovom direktorijumu. Da biste bili sigurni da je pravilo ispred ostalih, uvjerite se da ime datoteke počinje brojem manjim od ostalih pravila koja bi trebala biti izvršena nakon njega - na primjer, 10-local.rules .

Onemogućite root korisnički nalog dok administrator ne poveže svoj USB disk

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

Da bi ovo pravilo funkcionisalo, potrebno je da razvijete aplikaciju ili shell skriptu sa datim imenom kako biste dobili serijski broj uređaja povezanog sa sistemom i uporedili ga sa poznatim serijskim brojem administratorskog uređaja. Ako se serijski brojevi poklapaju, program će ukloniti potrebnu liniju za auth pam_deny.so iz datoteke /etc/pam.d/login, što će omogućiti prijavu pod račun root korisnik. Ako su povezani drugi USB uređaji, neće se vršiti promjene u fajlovima. Naprotiv, čim se USB disk isključi, ova linija će se ponovo dodati u datoteku.

Ovo pravilo je testirano na RHEL 5.0 distribuciji i dobro je funkcionisalo, međutim, kada koristite komandu su ili kada se prijavljujete u režim jednog korisnika pri pokretanju, ovo pravilo neće raditi. Da biste onemogućili root prijavu kada koristite naredbu su, možete učiniti sljedeće:

  1. Uredite datoteku /etc/security/access.conf dodavanjem korijena reda: ALL .
  2. Uredite datoteku /etc/pam.d/system-auth, dodajući kao drugi red potreban račun pam_access.so.
  3. Uredite datoteku /etc/pam.d/su i učinite da prvi red ove datoteke u nalogu reda uključuje system_auth.

Ove radnje, naravno, mora izvršiti program enable_root_login. Nakon provjere serijskog broja USB uređaja da li pripada administratoru, program bi trebao ukloniti sve promjene napravljene na fajlovima, a ako priključeni uređaj ne pripada administratoru, izvršiti sve gore navedene radnje na fajlovima.

Ovi koraci vas neće spriječiti da se prijavite kao root u modu za jednog korisnika, ali možete postaviti lozinku na GRUB bootloader kako biste spriječili lak pristup jednokorisničkom modu.

Možete koristiti sljedeću naredbu da dobijete informacije o serijskom broju uređaja, nazivu uređaja, ID-u dobavljača, nazivu proizvođača i drugim parametrima: udevinfo -a -p /sys/block/sdb

Novije distribucije možda nemaju udevinfo, u kom slučaju biste trebali koristiti udevadm umjesto udevinfo .

Onemogućite sve USB portove

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

Rezultat ovog pravila će biti onemogućavanje svih uređaja povezanih na USB portove vašeg sistema - USB štampači, tastature i miševi neće raditi. Budite oprezni prilikom upotrebe!

Onemogućite sve blok uređaje priključene na USB portove

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

Ovo pravilo onemogućava prepoznavanje blokiranih uređaja povezanih na USB portove. Ovo pravilo može biti korisno za poboljšanje sigurnosti podataka i privatnosti u organizaciji.

Dodijelite trajno ime datoteci uređaja drugog IDE diska

Zamijenite sdb ako želite primijeniti pravilo na drugi disk.

Zanemarite drugi USB SCSI/IDE disk povezan preko USB-a

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

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

Dodajte simboličku vezu datoj datoteci USB uređaji-miševi

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

Promijenite naziv datoteke uređaja prema proizvođaču uređaja

BUS=="usb", SYSFS(proizvođač)=="JetFlash", NAME="UNIVERSE"

Ovo pravilo mijenja naziv datoteke uređaja u "UNIVERSE" ako je proizvođač USB fleš diska JetFlash.

Selektivno dopustite korištenje USB blok uređaja pomoću posebnog programa

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

Ako program ispiše "my", uređaj se može koristiti, inače se uređaj ignorira.

Zamislite jedno obično jutro u jednoj od visokih zgrada spavaćeg dijela našeg voljenog grada: WC šolja, tuš, brijanje, čaj, pranje zuba, voda za mačku (ili bilo kojim drugim redom) - i na posao... Sve je automatski i bez zadrške. Sve dok hladna voda teče iz slavine za hladnu vodu, a topla voda teče iz tople vode. I ponekad otvoriš hladnu, a odatle - kipuću vodu!! 11#^*¿>.

Hajde da to shvatimo.

Snabdijevanje hladnom vodom ili hladnom vodom

Lokalna crpna stanica opskrbljuje vodom magistralu iz vodovodne mreže. Velika dovodna cijev ulazi u kuću i završava se ventilom, nakon čega se nalazi vodomjer.

Ukratko, sklop vodomjera sastoji se od dva ventila, sita i mjerača.



Neki imaju dodatni nepovratni ventil.

i obilaznica vodomjera.

Bajpas vodomjera je dodatni mjerač sa ventilima koji mogu napajati sistem ako se servisira glavni vodomjer. Nakon brojila, voda se dovodi do kućne magistrale


gdje se raspoređuje duž uspona koji vode vodu do etažnih stanova.



Koliki je pritisak u sistemu?

9 spratova

Kuće visine do 9 spratova imaju dno izliva odozdo prema gore. One. od vodomjera kroz veliku cijev voda izlazi kroz uspone na 9. kat. Ako je vodokanal dobro raspoložen, tada na ulazu u donju zonu treba biti otprilike 4 kg/cm2. S obzirom na pad pritiska od jednog kilograma, na svakih 10 metara vodenog stuba, stanovnici 9. sprata će dobiti približno 1 kg pritiska, što se smatra normalnim. U praksi, u starim kućama, ulazni pritisak je samo 3,6 kg. A stanovnici 9. sprata zadovoljni su čak i manjim pritiskom od 1 kg / cm2

12-20 spratova

Ako je kuća viša od 9 spratova, na primer 16 spratova, onda je takav sistem podeljen u 2 zone. Gornji i donji. Tamo gdje ostaju isti uslovi za donju zonu, a za gornju zonu pritisak se podiže na oko 6 kg. Da bi se voda podigla do samog vrha u dovodnu liniju, a sa njom se voda diže do 10. sprata. U kućama iznad 20 spratova, vodosnabdevanje se može podeliti u 3 zone. S takvom shemom snabdijevanja, voda u sistemu ne cirkuliše, ona stoji na povratnoj vodi. U visokom stanu u prosjeku imamo pritisak od 1 do 4 kg. Postoje i druge vrijednosti, ali ih sada nećemo razmatrati.

Opskrba toplom vodom ili PTV

U nekim niskim zgradama topla voda je spojena na isti način, stoji na rukavcu bez cirkulacije, što objašnjava činjenicu da kada se otvori slavina za toplu vodu, neko vrijeme teče hladna, ohlađena voda. Ako uzmemo istu kuću sa 16 spratova, onda je u takvoj kući sistem tople vode uređen drugačije. Topla voda se, kao i hladna voda, takođe dovodi do kuće kroz veliku cev, a nakon brojila ide do kućne magistrale.

koji podiže vodu do tavana gdje se raspoređuje duž uspona i spušta do samog dna u povratni vod. Inače, mjerači tople vode ne računaju samo količinu izgubljene (potrošene) vode u kući. Ovi brojači takođe broje gubitak temperature (higokalorije)

Temperatura se gubi kada voda prolazi kroz stanu grijane držače za peškire, koje igraju ulogu uspona.

Sa ovom šemom, topla voda uvijek cirkuliše. Čim otvorite slavinu, topla voda je već tu. Pritisak u takvom sistemu je otprilike 6-7 kg. na dovodu i malo niže na povratku kako bi se osigurala cirkulacija.

Zbog cirkulacije dobijamo pritisak u usponu, u stanu 5-6 kg. i odmah vidimo razliku u pritisku između hladne i tople vode, od 2 kg. Upravo je to suština istiskivanja tople vode u hladnu u slučaju kvara vodovodne instalacije. Ako ste primijetili da i dalje imate veći pritisak na toplu vodu nego na hladnu vodu, onda obavezno instalirajte nepovratni ventil na ulazu za hladnu vodu, a na ulaz tople vode mogu biti uključeni kontrolni ventili koji će pomoći u izjednačavanju tlaka oko jedne cifre sa hladnom. Primjer ugradnje regulatora tlaka

hot plug- hot plug) - značenje pojmova ugasiti ili veza elektronske opreme u/iz (kompjuterskog) sistema tokom njegovog rada bez isključivanja napajanja i zaustavljanja (sistema) (HotPlug), kao i zamjene (ponovnog povezivanja) jedinice u cjelini ( hot swap ). Postoji i termin za suprotan termin hot swap - Hladna zamjena , odnosno sva (ponovna) povezivanja se vrše nakon što se sistem zaustavi i ukloni napon (rezidualni potencijal).

Oprema se po ovom principu deli na dozvoljavajući hot swap i ne dozvoljavajući.

Priča

Ranije se oprema dizajnirana za priključenje tokom zamjenskih radova koristila samo u skupim sistemima i smatrala se teškom za dizajn. Zadnji put slični sistemi postali su uobičajeni čak i na jeftinim računarima.

  • Dizajniran da može da se može zameniti bez isključivanja, a samim tim i da se može zameniti bez isključivanja na PCMCIA, USB, FireWire, Fibre Channel i eSATA standarde.
    Među uređajima ovog tipa su fleš diskovi, neki čvrsti diskovi, uključujući i za nizove u serverima, PCI-X, PCI Express, ExpressCard (PCMCIA, takođe ranije nazivane PC kartice) kartice za proširenje koje se koriste u laptop računarima, pa čak i neka napajanja .
  • Ne zamjenjuje u potpunosti SATA disk sučelje i ne podržava u potpunosti IDE protokol (IDE se može priključiti na vrijeme).

Dizajn sistema

Računari dizajnirani za zamjenu opreme u hodu moraju na neki način otkriti kada je uređaj isključen, a također moraju sadržavati električna kola koja su neosjetljiva na udare struje prilikom povezivanja i isključivanja. Osim toga, softverski dio mora biti dizajniran za iznenadni gubitak komunikacije s uređajem.

Neke šeme hot-swap zahtevaju da se prvo izda naredba za odvajanje, što pojednostavljuje njihov dizajn, ali ugrožava integritet podataka ako se uređaj ne odvoji na ispravan način ili dođe do greške na uređaju.

Složenije sheme imaju marginu redundancije i lako vraćaju podatke u slučaju iznenadnog isključivanja uređaja.

Termin "hot swap" koristi se u dva značenja. S jedne strane, to znači mogućnost isključivanja ili spajanja uređaja bez isključivanja napajanja. S druge strane, to također može podrazumijevati automatsku detekciju uređaja kada je povezan. Prvo značenje termina odnosi se na interfejse RS-232, FireWire i najjednostavnije implementacije SCSI, drugo značenje - na USB, FireWire, PCI Express i sofisticirane SCSI varijante.

Dizajn gnijezda

Ekstremni kontaktni jastučići napajanja su duži od unutrašnjeg signala

Većina savremenih uređaja Koriste se pokretni kontakti koji mogu da se menjaju tokom rada. Jedan od njih je napravljen duži od ostalih kako bi prvi došao u kontakt sa pričvršćenim dijelom, kroz njega je spojena žica za uzemljenje. Preostali kontakti su skraćeni, ukupno mogu biti do 3 različite dužine. Kašnjenje između povezivanja prvog kontakta i narednih je od 25 do 250 milisekundi.

Električni krugovi se spajaju u dva stupnja: u prvom se strujno ograničeno kolo povezuje pomoću dužih kontakata, a zatim sa kraćim kontaktima punim napajanjem. Svi krugovi uključeni u vezu sadrže zaštitu od statičkog elektriciteta.

Evo primjera tipične sekvence povezivanja:

  1. Najduži kontakti su zatvoreni (uzemljeni). Ovo osigurava električnu sigurnost veze i zaštitu od statičkog naboja.
  2. Dugi ili srednji kontakti za prethodno napajanje se zatvaraju. Ulazni krugovi strujnih kola se pune.
  3. Kratki kontakti za napajanje su spojeni.
  4. Veza se smatra uspostavljenom. Uključuje se signal za uključenje.
  5. Kolo mekog uključivanja napaja uređaj.
  6. Kašnjenje u desetinama milisekundi.
  7. Strujni krug je završio meku vezu. Signal za uključenje se isključuje.
  8. Uređaj počinje punim radom.

Posebnu poteškoću predstavlja povezivanje više uređaja, jer povezivanje drugog, trećeg uređaja može poremetiti rad već spojenog. Za borbu protiv ove pojave koriste se filteri u izlaznim kolima ili privremeno logično zaustavljanje prijenosa podataka.

Softver za vruće uključivanje

Termin "hot plug" se također koristi u vezi sa softverom i označava mogućnost promjene programa bez zaustavljanja njegovog izvršavanja. Samo nekoliko programskih jezika podržava ovu mogućnost, uključujući Lisp, Erlang i Smalltalk. Java jezik podržava ovu funkciju samo dok se pokreće program za otklanjanje grešaka (Java Platform Debugger Architecture, JPDA).

Domenski orijentisani programski jezik 1C v8 pruža mogućnost promjene koda dok je program pokrenut. (http://v8.1c.ru/overview/release_8_1_5/administration.htm odjeljak "Ažuriranje dijelova konfiguracije"). Pošto se pojedinačni moduli kompajliraju u vrijeme izvršavanja programa, a kada se modul promijeni, on se ponovo kompajlira u sesiji, ovo zapravo nije "hot plug". efekat, i to samo za ovog korisnika (drugi moraju ponovo pokrenuti novu sesiju). U verziji v7, ova funkcija je bila prisutna i pri korištenju dodatnih softverskih alata (http://openconf.1cpp.ru/vk/turbomd/) i standardne naredbe #LoadFromFile.... (potrebno je samo ponovo otvoriti obrazac ili prijaviti ). Općenito, kada se koriste interpretirani programski jezici (sa spremanjem programskih tekstova unutar modula), "hot plugging" se implementira jednostavnom zamjenom tekstova.

Istrunuo stari vodovod u stanu. Znoj na cijevima, fistula za fistulom; isključite vodu, pa ponovo uključite - rđa šiklja iz slavina. I planira se popravka kuhinje s kupaonicom, a stare cijevi se ne dišu ni dišu - strašno ih je gledati. Moramo da se menjamo, ali posao je skup. Da li je moguće zamijeniti vodovod u stanu vlastitim rukama? Da, možete i bez ikakvih dozvola-projekata. Bit će potrebno samo dogovoriti se sa bravarom DEZ-a da se dovod vode do uspona isključi na najviše sat vremena; najvjerovatnije će se to moći riješiti za 10 minuta Ili upozorite susjede, ako nije štetno, i blokirajte / ponovo se prijavite.

Procedura zamjene

Zamjena vodovoda vrši se u određenom redoslijedu. Rad "na oko" i "u pokretu" u neprofesionalnom izvođenju često završava curenjem. Plan rada je otprilike ovako:

  1. Izbor materijala za nove cijevi.
  2. Izbor sheme distribucije tople i hladne vode.
  3. Izrada vodovodne šeme za stan.
  4. Proračun promjera cijevi prema odabranom materijalu i shemi.
  5. Priprema alata za montažu.
  6. Kupovina materijala.
  7. Montaža selekcionih i obračunskih jedinica, njihova ugradnja na uspone i registracija.
  8. Demontaža starih cijevi i vodovodne instalacije.
  9. Povezivanje HMS-a i aquastopa, ako postoji.
  10. Povezivanje filtera za tikvice (sa HMS-om je potrebno).
  11. Montaža cevi za toplu i hladnu vodu.
  12. Montaža i priključak vodovoda, starih ili novih.
  13. Ispitna opskrba vodom; otklanjanje uočenih nedostataka.
  14. Montaža i priključak bojlera.

HMS, filter tikvice i aquastop

HMS, ili hidromagnetski sistem, dugo se koristi u industriji za pripremu vode za filtraciju. U svakodnevnom životu ovaj uređaj, ne ulazeći u detalje, pretvara nečistoće u vodi u finu suspenziju, koja se zatim taloži u filteru u obliku mulja i povremeno se uklanja. HMS je apsolutno bezopasan, ne zahtijeva napajanje i održavanje tokom rada, ali nužno zahtijeva ugradnju vodomjera u antimagnetskom dizajnu (ovi su skuplji) i, nakon protoka vode, kombinovani filter tikvice.

Filter za balončiće sastoji se od tri sekcije spojene: prvi sakuplja mulj, drugi uklanja hlor, a treći služi za fino prečišćavanje vode i njeno omekšavanje. Ovo posljednje (nitko već duže vrijeme ne pije vodu iz česme) posebno je važno za kotao za pranje rublja.

HMS sa bočicama košta mnogo, ali dobro štite ne samo opremu, već i zdravlje. Žalili se ili ne, bili ogorčeni - nemojte biti ogorčeni, a pitka voda se čvrsto drži u deset najoskudnijih resursa na svijetu, a ne postoje globalni programi koji mogu dovesti njenu kvalitetu na nivo barem sredine prošlog veka, a nisu predviđene. Općenito, spašavanje davljenika je djelo samih davljenika.

Aquastop je također koristan uređaj, također ne zahtijeva napajanje i održavanje, ali je njegova funkcija drugačija. S naglim povećanjem struje (proboja) vode, aquastop se aktivira i njegov ventil odsiječe cijeli stan od uspona. Aquastopi dolaze u različitim sistemima, uključujući i elektrodinamičke, tako da je kod ugradnje aquastopa potreban i antimagnetski brojač.

Izbor cijevi

Novi vodovod u stanu počinje izborom cijevi. Čelik je u svakodnevnom životu zastario, a morate birati između metal-plastike, plastike i lemljenog bakra. Ova faza rada je možda najodgovornija - pogrešan izbor će poništiti sve napore, troškove i nevolje.

Bakar

Za bakarne vodovodne cijevi može se odmah reći: njihovi propagandisti ne znaju o čemu govore. Ili znaju, ali se ne postavljaju. Prvo, bakreni oksid se formira na bakru u kontaktu s vodom - isti crvenkast o kojem je Tom Sawyer govorio Huckleberryju Finnu. Da, osobi je potreban bakar, ali u zanemarivim količinama u obliku mikroelementa, a ne kao dio jakog otrova. Kao protuargument, kažu da bakar stvara zaštitni film s hlorom iz vode. Apsurdno za svakog ko se sjeća makar školske hemije.

Drugo, sastav lema za bakar uključuje kalaj. Bijeli kalaj, meki metal, s vremenom se pretvara u svoju drugu, kako kemičari kažu, alotropnu modifikaciju - sivi kalaj, mrvljivi prah. Odnosno, ugradnjom bakrenih cijevi (vrlo skupih), time 100% garantiramo curenje. I plaćanje za rad kompanije specijalizirane za bakrene cijevi, jer ih je nemoguće samostalno lemiti.

metal-plastika

Metalno-plastične cijevi su prilično skupe, ali se mogu spojiti ručno bez iskustva. Metalno-plastični vodovod se montira na posebne navojne sklopove sa brtvama ili ispod presovanja - fitinge. Osim toga, metalno-plastične cijevi mogu se glatko savijati. Hidrodinamički otpor i gubitak pritiska u metal-plastici su vrlo mali.

Za umetanje cijevi u fiting potreban vam je rezač cijevi, kliješta za presovanje i set razvrtača (razvrtača) za promjer cijevi. Uz njihovu pomoć, rad ide bez napora, a uz improvizirana sredstva - puna garancija curenja. Osim toga, životni vijek brtvi u spojnicama je ograničen, a s vremenom spoj počinje kapati. Stoga je ugradnja metalne plastike u zidove neprihvatljiva, te se preporučuje da se ne skriva u strobama.

Preporuča se vodosnabdijevanje metaloplastikom provoditi u odvojenim otvorenim prostorima, gdje su bitni minimalni otpor protoku vode i mogućnost jednostavne i brze pregrade spoja: pri spajanju bojlera, perilice rublja, sudopera itd. Adapteri od metal-plastike na druge vrste cijevi su uvijek u prodaji.

Plastika

Plastični vodovod u apartmanima je sada postao standard, ali plastika je drugačija. Da biste napravili pravi izbor, morate znati njihova svojstva i karakteristike.

polibutilen (PB)

Fleksibilna plastika sa dobrom toplotnom provodljivošću za plastiku. Održava temperature do 90 stepeni. Pravilno zalemljen spoj je apsolutno pouzdan. Prilično skupo. Koristi se za podno grijanje.

polietilen (PE)

Jeftino, ali za toplu vodu potrebne su cijevi ojačane polietilenom; obični polietilen ne drži 60 stepeni. Nemoguće je savijati i lijepiti, lemljeni spoj pouzdano drži pritisak ne veći od 3,5 atm, a pritisak vode u gradskom vodovodu može biti do 6 atm (0,6 Mbar) za hladnu vodu i 4,5 atm za toplu vodu , tako da postoji mogućnost iznenadnog prodora. Hidraulički otpor je, međutim, najmanji od svih.

Čini se da su polietilenske cijevi loše za sve, ali imaju prednost koja može biti vrijedna svih njihovih nedostataka: ne boje se smrzavanja. Ledena pluta ih puca, a kada se topi, ponovo se skupljaju i ne pucaju, čak i ako puknete. Stoga se ugradnja polietilenskog vodovoda preporučuje u negrijanim, sezonskim i podzemnim prostorijama. Ne postoji alternativa polietilenu. Ali sa sustavom koji se stalno puni, potreban je aquastop.

PVC (PVC)

Svojstva polivinil hlorida (PVC) su dobro poznata: hemijski otporan, jeftin, otporan na toplotu do 80 stepeni, lako se lepi, ali nije jako jak i boji se ultraljubičastog zračenja. Spojevi, i zalemljeni i zalijepljeni, ispadaju krhkiji od čvrstog materijala, pa opasnost od proboja ostaje i potreban je aquastop. Zamjena pojedinačnih dijelova lijepljenog PVC-a, naravno, teža je nego kod sklopivih metal-plastičnih, ali lakša nego za lemljene spojeve: zagrijavanjem spoja kućnim sušilom za kosu, spoj se može odvojiti, a zatim ponovo zalijepiti. Općenito, opcija je proračunska ili za majstora početnika s dužinom glavne grane od uspona do najudaljenije točke izvlačenja ne više od 10 m i s najviše 7 točaka uzorkovanja.

propilen (PP)

Polaganje vodovoda u stanu sa poliizopropilenskim cijevima (propilen) je sada općenito prihvaćeno. Materijal nije jako skup, izdržljiv, otporan, lemljeni spojevi zadržavaju sve kvalitete baze, otpornost na toplinu - do 130 stupnjeva, pravilno zalemljeni drži do 12 atm. Hidraulički otpor je veći od PVC-a, ali je u svakom slučaju nakupljanje plaka u lumenu minimalno, a kod HMS-a je isključeno. Postoje samo dva nedostatka kada to radite sami:

  • Ne lijepi se, a lemljenje zahtijeva posebnu opremu i strogo pridržavanje tehnologije.
  • Ima prilično visok koeficijent toplinske ekspanzije. Utisnut u zid ili skriven u strobu, može savijati i slomiti pločicu, stoga pri polaganju svake cijevi morate obući čarapu od merilona ili sintetičke zimnice, što povećava cijenu rada.

Međutim, propilenski cevovod je daleko jedini koji se može uraditi jednom za svagda i zaboraviti. Stoga ćemo se posebno zadržati na lemljenju propilena, pogotovo jer se lemljenje druge plastike razlikuje samo po nižoj temperaturi (110-130 stupnjeva za polietilen i oko 150 za PVC).

Propilensko lemljenje

Lemljenje propilena rukotvorinom "gvozdenim" lemilom od kraja do kraja (vidi sliku desno) je neprihvatljivo:

  1. Zagađenje se nakuplja na "kobasici" iznutra, a ovako sastavljen cjevovod skloniji je začepljenju od čelika.
  2. Pritisak vode, pucajući u cijevi, ima tendenciju da razbije spoj. Na 16 stepeni u cevi i 20-25 napolju, nakon otprilike tri meseca prag zamora materijala je pređen, a spoj teče.

Montaža propilenskog cjevovoda vrši se na fitingima za lemljenje - ravnim (za spajanje dijelova cijevi), ugaonim, T, križnim. Cijev zagrijana do omekšavanja ubacuje se u držač također grijanog spoja i spoj se smrzava. U ovom slučaju, pritisak vode, naprotiv, pritiska cijev na kućište iznutra, pružajući čvrstoću, a ostaje samo brtvljenje za stopljenu zonu. Prilično velika krutost propilena ne dopušta da se obujmica koja pokriva cijev elastično proširi. Upravo ovakav dizajn spoja, u kombinaciji sa svojstvima materijala, čini propilenski cevovod pogodnim za ugradnju u zidove decenijama.

Bilješka: manje-više pristojno lemilo za propilen košta najmanje 2000 rubalja. i još uvijek je za nešto neprikladan, ali se ne troši od posla. Stoga ga ne morate kupiti, bolje je iznajmiti.

  • Za skriveno ožičenje u tipičnom stanu u stroboskopima ili monolitnim - svakako propilen.
  • Za grane velike dužine s velikim brojem točaka za unos vode - otvorene metalne plastike ili u kanalima s poklopcima koji se mogu ukloniti.
  • Za seoske kuće, sezonske kuće za iznajmljivanje, seoske kuće sa udaljenim pomoćnim zgradama, staklenike itd. - polietilen.
  • Za proračunske popravke ili u područjima sa nedostatkom vode, niskim pritiskom u vodovodu, sa vodom lošeg kvaliteta - PVC.

Dijagram ožičenja

Sakupljači-češljevi

Postoje dvije sheme za povlačenje vode u prostorijama: serijska i paralelna. Sa serijskom shemom, tačke analize su povezane na zajedničku cijev kroz T-e. Ova shema je najekonomičnija, ali s dugom dužinom ožičenja, velikim brojem tačaka raščlanjivanja i / ili s niskim pritiskom vode, nije prikladna, jer uvelike smanjuje pritisak.

U ovom slučaju, dovod vode se vrši paralelno iz „češljastog” kolektora, vidi sl. Češalj je sklop premosnih ventila, od svakog od kojih postoji čvrsta grana do tačke analize. Ventili regulišu pritisak odvojeno po tačkama. Grane do točaka izrađene su od metal-plastike ili polietilena: u ovom slučaju igra ulogu njihov mali hidraulički otpor, a kada se polažu u jednom komadu, prilično su pouzdani.

Izrada šeme zahvata vode

Šema vodoopskrbe u stanu potrebna je prvenstveno za sebe, kako se ne bi zbunili, ne bi pogriješili, a zatim da biste znali gdje se sve nalazi - za ovaj posao nije potrebna posebna dozvola. Ali prilikom registracije brojila, inspektor vodoprivrede može od vas tražiti da pogledate dijagram, tako da ga morate ispravno nacrtati.

Kompletna shema prema svim pravilima ozbiljan je posao za stručnog stručnjaka; na primjer - na velikoj slici, shema vodosnabdijevanja privatne kuće s ljetnom kuhinjom, koja je neophodna za odobrenje projekta. Ali da biste zamijenili cijevi u stanu, ne morate se tako mučiti, dovoljno je da dijagram jasno pokazuje i razumije:

  1. Cijevi za toplu i hladnu vodu, njihov tip i promjer lumena.
  2. Mjerni uređaji.
  3. Hitni ventili i odvodi.
  4. Zaustavni ventil.
  5. Tačke analize sa naznakom potrošača.
  6. Sigurnosna kopija grana i uređaja.
  7. Smjer toka vode.

Da bi sve ovo bilo jasno ne samo sebi, ili sebi godinu dana kasnije, pri crtanju se moraju poštovati određena pravila. Pogledajmo primjere, vidi sl. Na lijevoj strani - manje-više u redu, ali sa komentarima, desno - pogrešno:

  • Šema desno je napravljena u izometriji - za ljepotu, ili šta? Raskrsnice cijevi je zbunjuju, a ona ne daje predstavu o stvarnoj lokaciji tačaka analize: perilica rublja s bojlerom izlazi ispod poda.
  • Ima i previše strujnih strelica gdje je već jasno gdje teče, što također zbunjuje kolo.
  • Na istom mjestu su zaporni ventili sa mjernim uređajima prikazani nejasno i ne po pravilima.
  • Na istom mjestu - nije naznačena vrsta i promjer cijevi.
  • Na istom mjestu - ko je, gdje i kada vidio da je voda dovedena u kotao odozgo, a klozet ispran niz oseke?
  • Ali na dijagramu lijevo, stručnjaku nije jasno da je kotao (6) rezervni. Primjedba će biti: „Gdje je nepovratni ventil za vruće? Bez nje, kada je dovod zaustavljen, kotao će se sam ugurati u vrući uspon ako ventil (10) nije zatvoren. Ali to je već u suštini i sa punim razumijevanjem.

Ispravna pojednostavljena vodovodna shema u stanu

Primjer je proizvoljno, ne u skladu s pravilima za izradu projektne dokumentacije, ali potpuno razumljiv i bez ukrasa, završena shema zahvata vode prikazana je na sljedećoj slici. Ovo je također primjer paralelnog povlačenja; gde su češljevi, naravno.

Proračun cijevi

Prije nego što konačno odaberete cijevi, morate izračunati barem približno njihov promjer. To nije neophodno za "pametnost" - što je cijev uža, to je s jedne strane jeftinija. S druge strane, cijev premalog promjera za dovod vode će uzrokovati turbulencije u protoku u njoj. U isto vrijeme, propusnost cijevi naglo opada, a pri normalnom pritisku na ulazu iz slavine jedva će curiti.

Tačan proračun cjevovoda je stvar visokokvalificiranih stručnjaka, ali za gradski stan, kako bi normalno tekao, možete sami shvatiti. Početni podaci su:

  1. Minimalni dozvoljeni pritisak je 0,3 at.
  2. Gubitak pritiska po 1 m propilenske cijevi od 16 mm - 0,05 at.
  3. Prosječni gubitak tlaka za ožičenje stana po jedinici armature i armature je 0,15 at.
  4. Gubitak pritiska u jedinici za odabir i obračun - 0,25 at.
  5. Sa normalnim vrijednostima tlaka na ulazu u uspon od 1,5-4,5 atm, periodična turbulencija je neizbježna u cijevi od 12 mm, a ne uočava se u cijevima od 16 mm.
  6. Prostor za glavu za najdalju tačku je najmanje dva puta.

Ostaje saznati pritisak (pritisak) na ulazu, a možete odrediti hoće li serijskim ožičenjem takve vodene cijevi biti dovoljno pritiska za najdalju slavinu ili ćete je morati uzeti šire i skuplje . Pritisak na dnu uspona može se dobiti od manometra u podrumu ili od operatera zgrade; zatim oduzmite 0,6 atm po spratu. Također možete procijeniti za susjede na osnovu istih 0,6 at/kat: ako, recimo, tri kata gore od slavina, i dalje teče, onda imamo dobra 2 at. Ali u visokim zgradama takav trik ne funkcionira: kako ne bi pretjerano povećali troškove ožičenja stanova, izrađuju odvojene uspone za donji i gornji, pa čak i za donji, srednji i gornji kat.

Primjer izračuna: drugi sprat devetospratnice; stanari gornjih spratova se ne žale na vodu. Imamo najmanje 4 pod pritiskom. 11 jedinica armature (5 T-a, 6 koljena, 1 ventil) daje gubitke od 1,65 atm. Dužina cijevi od uspona do krajnjeg zida kuhinje je 6,5 m, što je još 0,325 atm gubitka. Ukupno, sa jedinicom za selekciju i obračun, imamo 0,325 + 1,65 + 0,25 = 2,225 atm gubitaka. Previše, morate provjeriti tlak manometrom i, najvjerovatnije, uzeti glavnu cijev 20-25 mm, ili se paralelno odvojiti od češlja, inače možete ostati "suhi" u suhom ljetu.

Bilješka: iz ovoga je jasno koliko je važno ispraviti cijevi i koliko je nepoželjno da se produžuju i zatrpaju spojnicama.

Ovisnost gubitaka u cijevima i spojevima je nelinearna: oni ovise o brzini protoka, koja zauzvrat ovisi o poprečnom presjeku lumena cijevi. Lagano povećanje promjera cijevi drastično smanjuje gubitke, tako da uobičajeno ožičenje cijevi od 20 mm za stanove sa slavinama do 16 mm točaka u većini slučajeva dobro funkcionira. U teškim slučajevima može se napraviti tačan proračun prema SNiP-u, unutrašnjem vodovodu i kanalizaciji zgrada. Postoje sve potrebne formule i nomogrami; proračun može da uradi osoba sa inženjerskim obrazovanjem bilo kog profila.

Samo treba imati na umu da na ovom računu već postoje tri SNiP-a sa istim indeksom: 2.04.01-85, 2.04.01-85 (2000) i 2.04.01-85 * “(Sistemi za vodosnabdijevanje i odvodnju u kući u zgradama)“. Tačno - SNiP posljednji.

Alati, materijali, demontaža starog

Specijalni alati za montažu stambenih cjevovoda opisani su gore u toku prezentacije. Za kupovinu materijala, naravno, morat ćete izračunati snimku, nomenklaturu i količinu na mjestu. Demontaža starih cijevi se vrši na uobičajene načine. Bolje je to učiniti nakon ugradnje i registracije vodomjera, kako ne biste dugo isključivali vodu na podove.

Dat ćemo samo jedan savjet: ne uzimajte ventile s polugom. Napravljena je od silumina ili plastike i ima tendenciju da se odlomi u najnepovoljnijem trenutku, baš kada je potrebno hitno zatvoriti. Uzmite kuglaste ventile sa leptir ručkom. Okrugle valovite ručke se također ne lome, ali mokre ili znojne ruke klize po njima.

Računovodstvo i kontrola

Jedinica za odabir i obračun se sastoji od zapornog ventila, grubog filtera, vodomjera i nepovratnog ventila. Sastavljen kao što je prikazano na slici. Svaki od uređaja označava smjer toka vode za njega, to se mora promatrati prilikom montaže.

Sklop se sastavlja hidroizolacijom spojeva FUM trakom i također se spaja na uspon, prethodno blokirajući vodu; Ne zaboravite zatvoriti zaporni ventil prije dovoda vode. Ovo je jedina operacija, i to kratkoročna, koja zahtijeva isključivanje dovoda vode susjedima u usponu.

Za hladnu i toplu vodu potrebne su odvojene mjerne jedinice. Vrlo je poželjno da brojači i ručke ventila budu istaknuti bojom. Očitavanje brojila treba da bude jasno čitljivo bez ikakvih dodatnih operacija (skidanje otvora i sl.), pa je često potrebno prethodno sastaviti dio integralnog cjevovoda, ponekad prilično bizarne konfiguracije, za povezivanje mjernih uređaja na uspon. Osim cijevi i lemilice, za to će vam trebati prijelazne spojnice od plastike do metalne MPV - unutrašnja spojnica s navojem. Plastika se spaja na uređaje za doziranje pomoću MRN - spojnica s vanjskim navojem.

Brojila se prodaju zapečaćena, ali to ne znači da možete odmah pozvati vodovod i platiti vodu prema potrošnji. Za to je fabrički pečat (ruska je zemlja bogata zanatlijama) da niko ne uđe u metar i tu nesto uvrne ili ne turpije. Fabrički pečat mora biti zaštićen; bez njega se brojilo smatra neupotrebljivim, kao i bez sertifikata za njega.

Prilikom postavljanja vodomjera potrebno je prijaviti se vodovodu i pozvati njegovog inspektora. Možete koristiti vodu prije njegovog dolaska, inspektoru nisu potrebna nulta očitavanja, on će zapisati početna, svojom plombom zapečatiti mjerač i filtrirati odvod. Plaćanje potrošnje vode vršiće se nakon registracije mjernih uređaja.

HMS, aquastop, filter

Iako je dizajn HMS-a neodvojiv i ne dozvoljava krađu vode uz njegovu pomoć, a ovaj uređaj se ne može zapečatiti, povezivanje HMS-a na mjerač je neprihvatljivo: rotor brojila može se začepiti muljem. HMS sa filterom tikvice se priključuje nakon mjernih uređaja; filter - odmah nakon HMS. Aquastop se može spojiti odmah nakon filtera, ali ako je elektrodinamički, magnetsko polje HMS-a može uzrokovati njegov pogrešan rad, ali nema smisla pripisivati ​​aquastop daleko od uspona: ne reagira na proboj prije to.

Video: pregled opcija rasporeda vodovodnih elemenata

Instalacija cjevovoda

Dakle, sada radimo vodovod. Montaža cijevi je već opisana, ali ugradnja cijelog sistema ima i vangrađevinske karakteristike, kao što je raspored kanala u košuljici. Potonji ne smije proći dalje od 150 mm od zida i ne bliže od 200 mm od namještaja. Vodovodne instalacije se, naravno, uklanjaju prije početka polaganja cijevi.

Prije svega, trebate instalirati lukove - plastične trake s MRV kvadratima za miksere. Pričvršćuju se na glavni zid samoreznim vijcima u tiplima. Prilikom pričvršćivanja morate uzeti u obzir debljinu završne obrade: žbuku i pločice ili drugi ukrasni premaz.

Bez puno građevinskog iskustva, vrlo je teško postići lokaciju izlaznih mlaznica u ravni sa zidom. Bolje ih je unaprijed napraviti SVOJSTVA iznad gotovog zida upola širine bočne strane ukrasnih čepova miksera: ako su čepovi neregulirani, lako se mogu podesiti na brusnom kolu ili ručno na brusnoj šipki.

Sljedeći trenutak je montaža dionica cjevovoda. Najprikladniji način je da ga sastavite na stolu i potpuno ga stavite u strobe. Ali onda se postavlja pitanje: kako provući cijevi kroz zidove? Sa metal-plastikom nema problema, sve je na odvojivim spojnicama, a za lemljene cijevi mogu se ponuditi dvije metode:

  • Uz pomoć MPH / MRV adaptera i metalno-plastičnih umetaka. U stanu je to prilično pouzdano, a u uglovima iznad stroba možete napraviti uklonjive otvore za reviziju i popravku navojnih spojeva.
  • Instalirajte cjevovode lokalno. Za to je potrebno kompaktno lemilo. Ovaj je skuplji, a treba raditi u pamučnim rukavicama da se slučajno ne opečete.

Četvrta tačka je lemljenje. Jedan lem zauzima 15 mm cijevi. Odnosno, ako postoji tačno 1 m između dva okova, potrebno je izrezati 1030 mm; ako 0,6 m - 630 mm itd.

Peta točka je savijanje metalno-plastičnih cijevi. Minimalni dozvoljeni radijus savijanja je 5 vanjskih promjera cijevi. Možete naići na preporuke: kažu, stavite tamo oprugu, napunite je pijeskom, a možete je generalno saviti pod uglom, pa izvucite oprugu i izvucite pijesak žičanom kukom. Ni u kojem slučaju: premaz cijevi se pogoršava, zaostala naprezanja u njemu su mnogo veća od dopuštenih, a metalno-plastična cijev poprima svojstva vrlo lošeg zahrđalog čelika.

I na kraju, . Ovo je poseban proizvodni ciklus, a obavlja se nakon puštanja u rad vodovoda. Cijevi za kotao se izrađuju unaprijed, ali se ventili na njima (na oba su svakako potrebni) odmah nakon ugradnje cijevi blokiraju, a cijevi se dodatno prigušuju.

Video: primjer montiranog vodovoda

Postoje dva različita načina za razmatranje vrućeg priključivanja. Kernel posmatra hotplugging kao interakciju između hardvera, kernela i drajvera kernela. Korisnici misle na hotplugging kao interakciju između kernela i korisničkog prostora kroz program koji se zove /sbin/hotplug. Ovaj program poziva kernel kada želi obavijestiti korisnički prostor da se neki tip hotplug događaja upravo dogodio u kernelu.

Dynamic Devices

Najčešća upotreba značenja izraza "hot plug" javlja se kada se govori o činjenici da većina svih računarskih sistema sada može da rukuje uređajima koji se pojavljuju ili nestaju kada se sistem uključi. Ovo se mnogo razlikuje od kompjuterskih sistema prije samo nekoliko godina, kada su programeri znali da samo trebaju skenirati sve uređaje u vrijeme pokretanja sistema i nikada nisu morali brinuti da će njihovi uređaji nestati kada se napajanje cijele mašine isključi. Sada, sa pojavom USB, CardBus PCMCIA, IEEE1394 i PCI kontrolera koji se mogu priključiti na toplo, Linux kernel mora biti u stanju da radi pouzdano bez obzira na to koji se hardver dodaje ili uklanja iz sistema. Ovo dodatno opterećuje pisce drajvera uređaja, jer sada moraju uvijek raditi s uređajem koji se iznenada oteo kontroli bez prethodne najave.

Svaki tip sabirnice drugačije upravlja gubitkom uređaja. Na primjer, kada se PCI, CardBus ili PCMCIA uređaj ukloni iz sistema, to se obično dešava prije nego što je upravljački program obaviješten o akciji putem funkcije uklanjanja. Prije nego što se to dogodi, sva čitanja sa PCI magistrale vraćaju sve postavljene bitove. To znači da vozači moraju uvijek provjeriti vrijednost podataka koje su pročitali sa PCI magistrale i biti u mogućnosti da pravilno obrade vrijednost 0xff.

Primjer ovoga se može vidjeti u drivers/usb/host/ehci-hcd.c, koji je PCI drajver za USB 2.0 (High-Speed) kontrolnu ploču. Ima sljedeći kod u svojoj glavnoj petlji rukovanja da otkrije da je kontrolna ploča uklonjena iz sistema:

rezultat = readl(ptr);

if (rezultat == ~(u32)0) /* mapa uklonjena */

Povratak -ENODEV;

Za USB drajvere, kada se uređaj sa kojim je USB drajver povezan ukloni iz sistema, sve urbs na čekanju koji su poslani na uređaj prvo ne uspevaju sa greškom -ENODEV. Upravljački program bi trebao prepoznati ovu grešku i na odgovarajući način očistiti sve I/O na čekanju, ako ih ima.

Hot plug uređaji nisu ograničeni na tradicionalne uređaje kao što su miševi, tastature i mrežne kartice. Postoje mnogi sistemi koji sada podržavaju uklanjanje i dodavanje cijelih procesora i memorijskih kartica. Srećom, Linux kernel pravilno upravlja dodavanjem i uklanjanjem takvih osnovnih "sistemskih" uređaja, tako da pojedinačni drajveri uređaja ne moraju brinuti o ovim stvarima.

/sbin/hotplug uslužni program

Kao što je ranije spomenuto u ovom poglavlju, kada se uređaj doda ili ukloni iz sistema, generira se "hot plug event". To znači da kernel poziva program korisničkog prostora /sbin/hotplug. Ovaj program je obično vrlo mala bash skripta koja jednostavno predaje izvršenje na listu drugih programa koji se nalaze u /etc/hotplug.d/ stablu direktorija. Za većinu Linux distribucija, ova skripta izgleda ovako:

DIR="/etc/hotplug.d"

za I u "$(DIR)/$1/"*.hotplug "$(DIR)/"default/*.hotplug ; uradi

Ako [ -f $I ]; onda

Test -x $I && $I $1 ;

urađeno

izlaz 1

Drugim riječima, skripta traži sve programe sa sufiksom .hotplug koji bi mogli biti zainteresirani za ovaj događaj i poziva ih, prosljeđujući im niz različitih varijabli okruženja koje je postavilo kernel. Više informacija o tome kako /sbin/hotplug skripta radi možete pronaći u komentarima programa i na stranici priručnika za hotplug(8).

Kao što je ranije spomenuto, /sbin/hotplug se poziva kada se kobject kreira ili uništi. Hotplug program se poziva sa jednim argumentom komandna linija A koji predstavlja naslov za ovaj događaj. Glavno jezgro i određeni podsistem takođe su uključeni u postavljanje skupa varijabli okruženja (pogledajte ispod) sa informacijama o tome šta se upravo dogodilo. Ove varijable se koriste u hotplug programima da bi se utvrdilo šta se upravo dogodilo u kernelu i da li postoji neka posebna radnja koja treba da se dogodi.

Argument komandne linije prosleđen u /sbin/hotplug je ime povezano sa ovim hotplug događajem, kao što je određeno ksetom dodeljenim kobjectu. Ovo ime se može postaviti pozivima funkcije name, koja je dio kset-ove hotplug_ops strukture opisane ranije u ovom poglavlju; ako ova funkcija nedostaje ili nikada nije bila pozvana, koristi se ime samog kseta.

Podrazumevane varijable okruženja koje su uvek postavljene za program /sbin/hotplug su:

AKCIJA

Niz dodaje (dodaje) ili uklanja (izbriši), u zavisnosti od toga da li je dati objekat upravo kreiran ili uništen.

DEVPATH

Put do direktorija u sistemu datoteka sysfs koji ukazuje na kobject koji je trenutno ili kreiran ili uništen. Imajte na umu da tačka montiranja sysfs sistema datoteka nije dodana ovoj putanji, tako da je njena definicija prepuštena programu korisničkog prostora.

SEQNUM

Redni broj za ovaj hotplug događaj. Redni broj je 64-bitni broj koji se povećava sa svakim generiranim događajem hotplug. Ovo omogućava korisničkom prostoru da sortira hotplug događaje onim redoslijedom kojim ih kernel generiše, budući da je moguće da programi korisničkog prostora rade van reda.

PODSISTEM

Isti niz je prošao kao argument komandne linije kao što je gore opisano.

Brojni različiti podsistemi sabirnice za pozivanje /sbin/hotplug dodaju svoje varijable okruženja kada je uređaj povezan sa magistralom dodan ili uklonjen iz sistema. Oni to rade u svom hotplug povratnom pozivu navedenom u strukturi kset_hotplug_ops koja je dodijeljena toj magistrali (kao što je opisano u odjeljku Operacije Hotplug). Ovo omogućava korisničkom prostoru da može automatski učitati potrebne module koji mogu biti potrebni za kontrolu uređaja koji je otkriven na magistrali. Evo liste različitih tipova sabirnica i varijabli okruženja koje dodaju u /sbin/hotplug poziv.

IEEE1394 (FireWire)

Svi uređaji na IEEE1394 magistrali, takođe poznati kao FireWire, imaju opciju imena za /sbin/hotplug i varijabla okruženja SUBSYSTEM je postavljena na ieee1394. Ieee1394 podsistem također uvijek dodaje sljedeće četiri varijable okruženja:

VENDOR_ID

24-bitni ID dobavljača za IEEE1394 uređaj.

MODEL_ID

24-bitni ID modela za IEEE1394 uređaj.

GUID

64-bitni GUID za ovaj uređaj.

SPECIFIER_ID

24-bitna vrijednost koja specificira vlasnika specifikacije protokola za ovaj uređaj

VERZIJA

Vrijednost koja specificira verziju specifikacije protokola za ovaj uređaj.

Net

Svi mrežni uređaji generiraju hotplug poruku kada je uređaj registriran ili odjavljen u kernelu. Poziv /sbin/hotplug ima parametar imena, a varijabla okruženja SUBSYSTEM je postavljena na net i dodaje samo sljedeću varijablu okruženja:

INTERFACE

Naziv interfejsa koji je registrovan ili odjavljen iz kernela. Primjeri za to su lo i eth0 .

PCI

Svi uređaji na PCI sabirnici imaju parametar imena i varijabla okruženja SUBSYSTEM je postavljena na pci. PCI podsistem također uvijek dodaje sljedeće četiri varijable okruženja:

PCI_CLASS

Broj PCI klase za ovaj uređaj u heksadecimalnom obliku.

PCI_ID

ID-ovi dobavljača i PCI uređaja za ovaj uređaj, heksadecimalni, spojeni u formatu dobavljač:uređaj.

PCI_SUBSYS_ID

ID-ovi dobavljača i PCI podsistema kombinirani u formatu subsys_vendor:subsys_device.

PCI_SLOT_NAME

"Ime" PCI slota koje je jezgro dalo uređaju u formatu domena:bus:slot:funkcija. Primjer bi bio 0000:00:0d.0 .

Unos

Za sve ulazne uređaje (miš, tastature, džojstike i tako dalje), poruka o hotplug-u se generiše kada se uređaj doda i ukloni iz kernela. Opcija /sbin/hotplug i varijabla okruženja SUBSYSTEM su postavljene na ulaz . Ulazni podsistem također uvijek dodaje sljedeće varijable okruženja:

PROIZVOD

Niz sa više vrijednosti koji navodi vrijednosti u heksadecimalnom obliku, bez vodećih nula, u formatu bustype:vendor:product:version.

Sljedeće varijable okruženja mogu biti prisutne ako ih uređaj podržava:

NAME

Naziv ulaznog uređaja, kako ga daje uređaj.

PHYS

Fizička adresa uređaja koju je podsistem za unos dao ovom uređaju. Trebao bi biti stabilan, ovisno o lokaciji magistrale na koju je uređaj povezan.

Svi oni dolaze iz ručke ulaznog uređaja i postavljeni su na odgovarajuće vrijednosti ako dati uređaj za unos to podržava.

USB

Svi uređaji na USB magistrali imaju parametar imena i varijabla okruženja SUBSYSTEM je postavljena na usb. USB podsistem također uvijek dodaje sljedeće varijable okruženja:

PROIZVOD

Niz u formatu idVendor/idProduct/bcdDevice

TYPE

String u formatu bDeviceClass/bDeviceSubClass/bDeviceProtocol, koji definira ova polja zavisna od USB uređaja.

Ako je polje bDeviceClass postavljeno na 0, postavlja se i sljedeća varijabla okruženja:

INTERFACE

String u formatu bInterfaceClass/bInterfaceSubClass/bInterfaceProtocol, koji definira ova polja zavisna od USB uređaja.

Ako je odabrana opcija izgradnje kernela CONFIG_USB_DEVICEFS, koja bira da se usbfs sistem datoteka ugradi u kernel, također se postavlja sljedeća varijabla okruženja:

UREĐAJ

Niz koji pokazuje gdje se uređaj nalazi u usbfs sistemu datoteka. Ovaj red ima format /proc/bus/usb/USB_BUS_NUMBER/ SB_DEVICE_NUMBER, gdje je USB_BUS_NUMBER trocifreni broj USB magistrale na koju je uređaj povezan, a USB_DEVICE_NUMBER je trocifreni broj koji je jezgro dodijelilo ovom USB uređaju.

SCSI

Svi SCSI uređaji generiraju događaj hotplug kada se SCSI uređaj kreira ili ukloni iz kernela. Poziv /sbin/hotplug ima parametar imena i varijablu okruženja SUBSYSTEM postavljenu na scsi za svaki SCSI uređaj koji se dodaje ili uklanja iz sistema. SCSI sistem ne dodaje nikakve dodatne varijable okruženja, ali se ovdje spominje jer postoji posebna SCSI skripta korisničkog prostora koja može odrediti da SCSI drajver (disk, traka, normalni, itd.) treba učitati za specificirani uređaj SCSI.

Priključne stanice za prijenosna računala

Ako se priključna stanica za prijenosna računala koja podržava Plug-and-Play doda ili ukloni iz pokretanja Linux sistemi(uključivanjem laptopa u stanicu ili njegovim uklanjanjem), generiše se događaj hotplug. Poziv /sbin/hotplug ima parametar imena i varijablu okruženja SUBSYSTEM postavljenu na dock. Druge varijable okruženja nisu postavljene.

S/390 i zSerija

Na arhitekturi S/390, arhitektura sabirnice kanala podržava širok izbor hardvera, od kojih svaki pokreće /sbin/hotplug događaje kada se dodaju ili uklone iz Linux virtuelnog sistema. Svi ovi uređaji imaju parametar imena za /sbin/hotplug i varijablu okruženja SUBSYSTEM postavljenu na dasd. Druge varijable okruženja nisu postavljene.

Korištenje /sbin/hotplug

Sada kada Linux kernel poziva /sbin/hotplug za svaki uređaj koji je dodan ili uklonjen iz kernela, u korisničkom prostoru je kreiran niz vrlo korisnih alata kako bi se ovo iskoristilo. Dva od najpopularnijih alata su Linux hotplug skripte i udev.

Linux hotplug skripte

Linux hotplug skripte su počele kao prvi korisnik koji je pozvao /sbin/hotplug. Ove skripte gledaju različite varijable okruženja koje kernel postavlja da opiše uređaj koji je upravo otkrio, a zatim pokušavaju pronaći modul kernela koji odgovara tom uređaju.

Kao što je ranije objašnjeno, kada upravljački program koristi makro MODULE_DEVICE_TABLE, program, depmod, uzima ove informacije i kreira datoteke koje se nalaze u /lib/module/KERNEL_VERSION/modules.*map. Znak * je razlika, ovisno o vrsti sabirnice koju vozač podržava. Trenutno se kreiraju datoteke modula kartice za drajvere koji rade sa uređajima koji podržavaju PCI, USB, IEEE1394, INPUT, ISAPNP i CCW podsisteme.

Hotplug skripte koriste ove tekstualne datoteke mape modula da definiraju modul kako bi ga pokušali učitati kako bi podržao uređaj koji je nedavno otkrio kernel. Oni učitavaju sve module i ne zaustavljaju se na prvom meču, kako bi kernel mogao odlučiti koji je modul najprikladniji. Ove skripte ne oslobađaju sve module kada se uređaji uklone. Ako bi to pokušali učiniti, mogli bi slučajno isključiti uređaje koje također kontrolira upravljački program uređaja koji je uklonjen.

Imajte na umu da sada kada modprobe program može čitati MODULE_DEVICE_TABLE informacije direktno iz modula bez potrebe za fajlovima mape modula, hotplug skripte se mogu svesti na mali omotač oko modprobe programa.

udev

Jedan od glavnih razloga za kreiranje jednog modela drajvera u kernelu bio je da se omogući korisnikskom prostoru da upravlja /dev stablom na dinamičan način. To se nekada radilo u korisničkom prostoru implementacijom devfs-a, ali ta kodna baza je polako trula zbog nedostatka aktivnog održavača i nekih nepopravljivih osnovnih grešaka. Nekoliko programera kernela shvatilo je da ako se sve informacije o uređaju izvezu u korisnički prostor, on može obaviti sve potrebno upravljanje /dev stablom.

devfs ima neke vrlo značajne nedostatke u svom dizajnu. Zahtijeva da svaki drajver uređaja bude modificiran kako bi ga podržao i zahtijeva od drajvera uređaja da navede ime i lokaciju u /dev stablu gdje se nalazi. Također ne rukuje pravilno dinamičkim glavnim i manjim brojevima, prisiljavajući politiku imenovanja uređaja da pripada kernelu, a ne korisničkom prostoru. Programeri Linux kernela zaista mrze da imaju politiku u kernelu i pošto politika imenovanja devfs ne prati specifikaciju Linux Standard Base, to im stvarno smeta.

Od kada je Linux kernel počeo da se instalira na ogromne servere, mnogi korisnici su se suočili sa problemom upravljanja velikim brojem uređaja. Sa nizovima disk jedinica od preko 10.000 jedinstvenih uređaja, vrlo je težak zadatak osigurati da svaki disk uvijek bude imenovan istim tačnim imenom, gdje god se nalazi u nizu diskova ili kada ga kernel otkrije. Ovo je isti problem sa kojim korisnici desktop računara pate kada pokušaju da povežu dva USB štampača na svoj sistem, a zatim shvate da nemaju načina da osiguraju da se štampač poznat kao /dev/lpt0 ne promeni i ponovo dodeli drugom štampaču. događaj ponovnog pokretanja sistema.

Tako je stvoren udev. Oslanja se na sve informacije o uređaju koje se izvoze u korisnički prostor putem sysfs-a i obavještenja putem /sbin/hotplug da je uređaj dodan ili uklonjen. Odluke o politici, kao što je ime uređaja, mogu se specificirati u korisničkom prostoru, izvan kernela. Ovo osigurava da je politika imenovanja uklonjena iz kernela i omogućava veći stepen fleksibilnosti u imenovanju svakog uređaja.

Za više informacija o korištenju udev-a i kako ga postaviti, pogledajte dokumentaciju koja dolazi u paketu s udev paketom u vašoj distribuciji.

Sve što drajver uređaja treba da uradi da bi udev radio ispravno sa njim je da osigura da se svi veći i manji brojevi dodeljeni uređaju koji kontroliše drajver izvoze u korisnički prostor preko sysfs-a. Za bilo koji drajver koji koristi podsistem da mu da glavni i manji broj, to već radi podsistem i drajver ne mora da radi nikakav posao. Primjeri podsistema koji to rade su podsistemi tty, misc, usb, ulaz, scsi, block, i2c, mreža i međuspremnik okvira. Ako vaš drajver sam preuzima glavni i manji broj preko cdev_init ili zastarjelog register_chrdev, upravljački program mora biti modificiran kako bi udev ispravno radio s njim.

udev traži u /class/ stablu u sysfs-u datoteku pod nazivom dev da odredi koji je glavni i sporedni broj dodijeljen datom uređaju kada ga kernel pozove preko /sbin/hotplug interfejsa. Drajver uređaja jednostavno treba da kreira takvu datoteku za svaki uređaj koji kontroliše. Obično je interfejs class_simple najlakši način da se to uradi.

Kao što je spomenuto u odjeljku "class_simple interface", prvi korak u korištenju sučelja class_simple je kreiranje class_simple strukture pozivanjem funkcije class_simple_create:

statička struktura class_simple *foo_class;

foo_class = class_simple_create(THIS_MODULE, "foo");

if (IS_ERR(foo_class)) (

Printk(KERN_ERR "Greška pri kreiranju foo klase.\n");

Goto error;

Ovaj kod kreira direktorij u sysfs-u na /sys/class/foo.

Kad god vozač pronađe novi uređaj i vi mu dodijelite manji broj, kao što je opisano u poglavlju 3, vozač mora pozvati funkciju class_simple_device_add:

class_simple_device_add(foo_class, MKDEV(FOO_MAJOR, manji), NULL, "foo%d", manji);

Ovaj kod uzrokuje kreiranje poddirektorija pod imenom fooN u /sys/class/foo, gdje je N manji broj za ovaj uređaj. Jedna datoteka se kreira u ovom direktoriju, dev , što je upravo ono što udev treba da kreira čvor uređaja za vaš uređaj. Kada se vaš upravljački program oslobodi s uređaja i odbacite manji broj koji mu je dodijeljen, potreban je poziv class_simple_device_remove za uklanjanje sysfs unosa za taj uređaj:

class_simple_device_remove(MKDEV(FOO_MAJOR, manji));

Kasnije, kada vam se cijeli drajver pokvari, potrebno je pozvati class_simple_destroy da biste uklonili klasu koju ste prvobitno kreirali pozivom class_simple_create :

class_simple_destroy(foo_class);

Datoteka dev, koja se kreira pozivanjem class_simple_device_add, sastoji se od glavnog i sporednog broja odvojenih znakom :. Ako vaš drajver ne želi da koristi class_simple interfejs jer želite da obezbedite druge datoteke unutar direktorijuma klasa za podsistem, koristite funkciju print_dev_t da pravilno formatirate glavne i sporedne brojeve za svaki uređaj.

mob_info