Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

Salaamu caleykum Waxaan sii wadeynaa inaan bilowno barnaamijyo cusub oo loogu talagalay koorsooyinka aad horey u jeceshay, hadda waxaan ku degdegnay inaan ku dhawaaqno inaan bilaabayno koorsooyin cusub "Maamule" Linux»kaas oo bilaaban doona dhamaadka bisha April. Daabacaad cusub ayaa loo taariikhaysan doonaa dhacdadan. Qalabka asalka ah, waad awoodaa halkaan ka akhri.

Nidaamyada faylasha ee dalwaddu waxay u dhaqmaan sidii nooc ka mid ah sixir sixir ah oo u oggolaanaya falsafadda Linux in la yiraahdo "wax walba waa fayl."

Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

Waa maxay nidaamka faylalka? Sida laga soo xigtay mid ka mid ah qorayaashii ugu horreeyay ee wax ku soo kordhiyay iyo qorayaasha Linux Roberta Lava, "Nidaamka faylalka waa kaydinta kala sareynta xogta ee la ururiyey si waafaqsan qaab dhismeed gaar ah." Si kastaba ha ahaatee, qeexidani waxay si isku mid ah ugu habboon tahay VFAT (Shaxda Qoondaynta Faylka Virtual), Git iyo Cassandra (NoSQL database). Haddaba maxaa si sax ah u qeexaya shay sida "Nidaamka faylka"?

Aasaaska Nidaamka Faylasha

Muhiim Linux waxay leedahay shuruudo gaar ah oo hay'ad loogu tixgeliyo nidaam fayl. Waa inay hirgelisaa habab open(), read() и write() walxaha joogtada ah ee magacyo leh. Marka laga eego dhinaca shayga ku jihaysan barnaamijyada, kernel-ku wuxuu qeexayaa nidaamka faylalka guud inuu yahay is-dhexgal aan la taaban karin, saddexdan hawlood ee waaweynna waxaa loo tixgaliyaa "Virtual" oo aan lahayn qeexitaan la taaban karo. Sidaa darteed, hirgelinta nidaamka faylalka caadiga ah waxaa loo yaqaannaa nidaamka faylka dalwaddii (VFS).

Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

Haddii aan furi karno, akhrin karno, oo qori karno hay'ad, markaa ciddaas waxaa loo tixgeliyaa fayl, sida aan ka arki karno tusaalaha ku jira console-ka sare.
Dhacdada VFS waxay hoosta ka xariiqday kaliya u fiirsashada Unix-ka in "wax walbaa waa fayl". Ka fakar sida la yaab leh in tusaalahaas yar /dev/console ee kore uu muujinayo sida console-ku run ahaantii u shaqeeyo. Sawirku wuxuu muujinayaa fadhi Bash is dhexgal ah. U dirida xadhig konsole (qalabka konsole ee birta ah) waxa uu ku soo bandhigayaa shaashad macmal ah. VFS waxay leedahay waxyaabo kale, xitaa hanti shisheeye. Tusaale ahaan, waxay kuu ogolaanaysaa inaad ku baadho isaga.

Nidaamyada caanka ah sida ext4, NFS, iyo /proc waxay leeyihiin saddex hawlood oo muhiim ah qaab-dhismeedka xogta C ee loo yaqaan hawlgallada faylkaIntaa waxaa dheer, nidaamyada faylalka qaarkood waxay fidiyaan oo dib u hirgeliyaan shaqada VFS si la yaqaan oo ku salaysan walxaha. Sida Robert Love uu xusay, soo koobidda VFS waxay u oggolaanaysaa dadka isticmaala Linux Si taxaddar la'aan ah u koobi faylalka una soo guuri nidaamyada hawlgalka ee dhinac saddexaad ama hay'adaha aan la taaban karin sida tuubooyinka, iyada oo aan laga walwalin qaabkooda xogta gudaha. Dhinaca isticmaalaha (meelaha isticmaalaha), geeddi-socodku wuxuu ka koobi karaa fayl una gudbin karaa qaab-dhismeedka xogta kernel iyadoo la adeegsanayo wicitaan nidaamsan. read() hal faylal ka dibna isticmaal habka write () nidaam kale oo faylal ah oo loogu talagalay soo saarista xogta.

Qeexitaannada shaqada ee ka tirsan noocyada VFS ee saldhigga ah waxay ku jiraan faylasha fs/*.c Koodhka isha kernel, halka buug-hoosaadyo fs/ waxaa ku jira hababka faylalka qaarkood. Xuddunta sidoo kale waxa ku jira qaybo ay ka mid yihiin cgroups, /dev и tmpfs, kuwaas oo loo baahan yahay inta lagu jiro habka boot-ka oo sidaas darteed lagu qeexay kernel subdirectory init/. U fiirso taas cgroups, /dev и tmpfs Ha u yeedhin hawlaha "saddexda waaweyn". file_operations, laakiin si toos ah u akhri oo u qor xusuusta.
Jaantuska hoose wuxuu muujinayaa sida booska isticmaaluhu u galo noocyada kala duwan ee nidaamyada faylasha ee badanaa lagu rakibo nidaamyada. LinuxDhismayaasha noocan oo kale ah ee aan la muujin pipes, dmesg и POSIX clocks, kuwaas oo sidoo kale hirgeliya qaab-dhismeedka file_operations, laga dhex galo lakabka VFS.

Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

VFS waa "lakabka duubka" ee u dhexeeya wicitaanada nidaamka iyo fulinta qaar file_operationssida ext4 и procfs. Hawlaha file_operations waxay la falgali karaan darawalada aaladaha ama aaladaha gelitaanka xusuusta. tmpfs, devtmpfs и cgroups ha isticmaalin file_operations, laakiin si toos ah u gal xusuusta.
Jiritaanka VFS waxay siisaa fursad dib loogu isticmaalo koodka, maadaama hababka aasaasiga ah ee la xidhiidha nidaamyada faylalka aan loo baahnayn in dib loo fuliyo nooc kasta oo nidaamka faylka ah. Dib-u-isticmaalka koodku waa dhaqan caadi ah oo dhex mara injineerada software-ka! Si kastaba ha noqotee, haddii koodka dib loo isticmaali karo uu ka kooban yahay khaladaad halis ah, dhammaan fulinta dhaxalka hababka caadiga ah ayaa dhibaato iyaga.

/tmp: tilmaan fudud

Habka ugu fudud ee lagu ogaan karo in VFS ay ku jiraan nidaamka waa in la qoro mount | grep -v sd | grep -v :/, kaas oo tusi doona dhammaan rakibay (mounted) Nidaamyada faylalka aan degenayn disk-ga iyo kuwa aan NFS ahayn, taas oo run ku ah kombiyuutarada intooda badan. Mid ka mid ah kuwa kor ku xusan (mounts) shaki la'aan VFS way dhici doontaa /tmp, sax?

Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

Qof kastaa wuu ogyahay kaydintaas / tmp on dhexdhexaad ah jirka - waalli! Xigasho.

Waa maxay sababta aan loo baahnayn in la kaydiyo /tmp on warbaahinta jirka? Sababtoo ah faylalka ku jira /tmp waa ku meel gaadh iyo qalabka kaydinta ayaa ka gaabiya xusuusta meesha tmpfs lagu abuuray. Waxaa intaa dheer, warbaahinta jireed ayaa aad ugu nugul xirashada marka la qoro marka loo eego xusuusta. Ugu dambeyntii, faylasha ku jira /tmp waxay ka koobnaan karaan macluumaad xasaasi ah, markaa ka dhigista inay ku luminayaan dib-u-bilaabid kasta waa sifo muhiim ah.

Nasiib darro, qaar ka mid ah qoraallada rakibidda Linux Qaybintu waxay abuurtaa /tmp qalabka kaydinta si caadi ah. Ha quusan haddii ay tani ku dhacdo nidaamkaaga. Raac dhowr tilmaamood oo fudud oo leh Arch Wikisi tan loo hagaajiyo, lana soco in xusuusta loo qoondeeyay tmpfs waxay noqotaa mid aan loo heli karin ujeedooyin kale. Si kale haddii loo dhigo, nidaamka leh tmpfs weyn iyo faylal waaweyn oo ku yaal waxay ka dhammaan karaan xusuusta iyo shil. Tilmaam kale: markaad tafatirayso faylka /etc/fstabXusuusnow inay tahay inay ku dhamaato khad cusub, haddii kale nidaamkaagu ma bootin doono.

/proc iyo /sys

Waxaa intaa dheer /tmp, VFS (nidaamyada faylasha dalwaddu), kuwaas oo ay dadka isticmaala aad u yaqaanaan Linux - waa /proc и /sys. (/dev deggan tahay xusuusta la wadaago oo aan lahayn file_operations). Waa maxay sababta labadan qaybood? Bal aan eegno arrintan.

procfs abuuraa sawir qaade ah kernel-ka iyo hababka ay ula socoto userspace. The /proc Kernelku wuxuu daabacaa macluumaadka ku saabsan waxa la heli karo, sida kala goynta, xusuusta casriga ah, iyo jadwalaha. Ka sokow, /proc/sys waa meesha ay xuduudaha lagu habeeyey amarka sysctl, diyaar u ah userspace. Heerka iyo tirakoobka hababka gaarka ah ayaa lagu muujiyay buug-yaraha /proc/.

Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

waa /proc/meminfo waa fayl madhan oo si kastaba ha ahaatee ka kooban macluumaad qiimo leh.

Dabeecadda /proc faylalka ayaa muujinaya sida nidaamyada faylalka diskooga ee VFS ay u kala duwanaan karaan. Dhinac, /proc/meminfo waxaa ku jira macluumaad lagu arki karo amarka free. Dhanka kale, waa faaruq! Sidee u shaqeysaa? Xaalku waxa uu xasuusinayaa maqaalkii caanka ahaa ee ciwaankiisu ahaa Dayaxu ma jiraa iyadoon cidina eegayn? Xaqiiqda iyo Aragtida Quantum"oo uu qoray borofisar cilmiga fiisigiska ee jaamacadda Cornell David Mermin sannadkii 1985kii. Xaqiiqdu waxay tahay in kernelku uu ururiyo tirakoobka xusuusta marka codsi la sameeyo /proc, oo dhab ahaantii ku jira faylasha /proc waxba ma jiraan marka qofna ma eegayo. Sida la sheegay Mermin, "Caqiidada tirada aasaasiga ah ayaa sheegaysa in cabbiradu guud ahaan aysan muujinayn qiimaha hore u jiray ee hantida la qiyaasay." (Oo u tixgeli su'aasha ku saabsan dayaxa sidii shaqo-guri!)
Faaruqnimo u muuqata procfs macno samaynaya sababtoo ah macluumaadka halkaas ku jira waa firfircoon. Xaalad yar oo ka duwan sysfs. Aynu is barbar dhigno inta fayl ee ugu yaraan hal byte cabbirkoodu yahay /proc iyo /sys.

Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

Procfs wuxuu leeyahay hal fayl, oo ah qaabeynta kernel-ka la dhoofiyo, taas oo ah ka reeban sababtoo ah waxay u baahan tahay oo kaliya in la soo saaro hal mar boot kasta. Dhanka kale, in /sys waxaa jira faylal badan oo waaweyn, kuwaas oo intooda badan qaata bog dhan oo xusuusta ah. Caadiyan faylasha sysfs ka kooban hal lambar ama xariiq, si ka duwan shaxda macluumaadka laga helay akhrinta faylalka sida /proc/meminfo.

Goolka sysfs - Bixinta wax akhrinta/qorista waxa kernelku u yeedho «kobjects» meel adeegsi Hadafka kaliya kobjects waa tirinta isku xirka: marka xiriirka ugu dambeeya ee kobject la saaro, nidaamku wuxuu soo celin doonaa kheyraadka la xiriira. Si kastaba ha ahaatee, /sys wuxuu ka kooban yahay inta badan kuwa caanka ah "ABI xasilloon oo loogu talagalay isticmaalka goobta" xudunta u ah, taas oo qofna weligiis ma karo, xaalad kasta "jab". Tani macnaheedu maaha in faylasha ku jira sysfs ay taagan yihiin, taas oo noqonaysa mid aan waafaqsanayn tirinta tixraaca walxaha aan degganayn.
Kernel's ABI xasilloon ayaa xaddidaya waxa ka dhex muuqan kara /sys, ma aha waxa run ahaantii jira wakhtigaas. Liistada oggolaanshaha faylka ee sysfs waxay ku siinaysaa aragti ku saabsan sida loo habayn karo aaladaha, modules-yada, nidaamyada faylalka, iwm. waa la habayn karaa ama la akhriyi karaa. Gabagabada macquulka ah ayaa ah in procfs ay sidoo kale qayb ka tahay kernel's xasilloon ABI, in kasta oo tan aan si cad loo sheegin dukumentiyo.

Nidaamyada faylasha dalwaddii ee gudaha LinuxMaxaa loogu baahan yahay sideese u shaqeeyaan? Qaybta 1aad

Faylasha gudaha sysfs sharax hal hanti gaar ah oo loogu talagalay qayb kasta oo waxay noqon kartaa mid la akhriyi karo, la qori karo, ama labadaba. "0" ee ku jira faylka waxay la macno tahay in SSD-ga aan la saari karin.

Aynu ku bilowno qaybta labaad ee tarjumaada sida loola socdo VFS anagoo adeegsanayna agabka eBPF iyo bcc webinar furan, kaas oo uu qaban doono macalinkayaga Abriil 9 - Vladimir Drozdetsky.

Source: www.habr.com

U soo iibso martigelin lagu kalsoonaan karo oo loogu talagalay bogagga leh ilaalinta DDoS, VPS VDS servers 🔥 Iibso martigelin degel oo lagu kalsoonaan karo oo leh ilaalinta DDoS, VPS VDS servers | ProHoster