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
Nidaamyada faylalka Virtual waxay u adeegaan sida nooc ka mid ah soo saarista sixirka kaas oo u oggolaanaya falsafada Linux inay dhahdo "wax walba waa fayl."
Waa maxay nidaamka faylka? Iyada oo ku saleysan ereyada mid ka mid ah wax ku darsadayaashii ugu horreeyay iyo qorayaasha Linux
Aasaaska Nidaamka Faylasha
Kernel-ka Linux wuxuu leeyahay shuruudo gaar ah oo loogu talagalay cidda loo tixgelin karo nidaamka faylka. Waa inay fulisaa hababka open()
, read()
ΠΈ write()
walxaha joogtada ah ee magacyo leh. Marka laga eego dhinaca shayga ku jihaysan
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
Nidaamyada caanka ah sida ext4, NFS, iyo /proc waxay leeyihiin saddex hawlood oo muhiim ah qaab-dhismeedka xogta C ee loo yaqaan 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/
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 goobta adeegsaduhu u gasho noocyada kala duwan ee nidaamyada faylalka sida caadiga ah lagu rakibo nidaamyada Linux. Qaab dhismeedka lama muujin pipes
, dmesg
ΠΈ POSIX clocks
, kuwaas oo sidoo kale hirgeliya qaab-dhismeedka file_operations
, laga dhex galo lakabka VFS.
VFS waa "lakabka duubka" ee u dhexeeya wicitaanada nidaamka iyo fulinta qaar file_operations
sida 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
/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?
Qof kastaa wuu ogyahay kaydintaas / tmp
on dhexdhexaad ah jirka - waalli!
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 qaybinta Linux waxay abuuraan / tmp qalabka kaydinta si caadi ah. Ha quusan hadday tani ku dhacdo nidaamkaaga sidoo kale. Raac tilmaamaha yar ee fudud 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/fstab
Xusuusnow inay tahay inay ku dhamaato khad cusub, haddii kale nidaamkaagu ma bootin doono.
/proc iyo /sys
Waxaa intaa dheer /tmp
, VFS (nidaamyada faylalka Virtual) ee aad u yaqaana isticmaalayaasha Linux /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/
.
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 /proc
, oo dhab ahaantii ku jira faylasha /proc
waxba ma jiraan marka qofna ma eegayo. Sida la sheegay
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
.
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
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
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
Source: www.habr.com