Dia duit gach duine! Leanaimid de bheith ag seoladh sruthanna nua do na cúrsaí a bhfuil grá agat dóibh cheana féin agus anois tá deifir orainn a fhógairt go bhfuil muid ag cur tús le sraith nua cúrsaí
Feidhmíonn córais comhaid fhíorúla mar chineál astarraingthe draíochta a ligeann d'fhealsúnacht Linux a rá gur "comhad é gach rud."
Cad is córas comhaid ann? Bunaithe ar fhocail duine de na chéad ranníocóirí agus údair Linux
Bunúsacha an Chórais Chomhaid
Tá ceanglais áirithe ag an eithne Linux maidir le haonán ar féidir a mheas mar chóras comhaid. Caithfidh sé na modhanna a chur i bhfeidhm open()
, read()
и write()
le haghaidh rudaí marthanacha a bhfuil ainmneacha orthu. Ó thaobh réad-dhírithe de
Más féidir linn eintiteas a oscailt, a léamh agus a scríobh, ansin meastar gur comhad é an t-aonán sin, mar a fheicimid ón sampla sa chonsól thuas.
Ní chuireann feiniméan VFS béim ach ar an tuairim atá cosúil le Unix gur “comhad é gach rud”. Smaoinigh cé chomh aisteach is a thaispeánann an sampla beag /dev/consól thuas conas a oibríonn an consól i ndáiríre. Taispeánann an pictiúr seisiún idirghníomhach Bash. Nuair a sheoltar teaghrán chuig an consól (gléas consól fíorúil) taispeántar ar scáileán fíorúil é. Tá airíonna eile, fiú strainséirí ag VFS. Mar shampla, ceadaíonn sé duit cuardach a dhéanamh de réir
Tá trí fheidhm thábhachtacha ag córais aithnidiúla ar nós ext4, NFS, agus /proc i struchtúr sonraí C ar a dtugtar read()
córas comhaid amháin agus ansin bain úsáid as an modh write ()
córas comhaid eile le haghaidh aschur sonraí.
Tá na sainmhínithe feidhm a bhaineann leis na cineálacha bunúsacha VFS sna comhaid fs/
córais comhaid áirithe a bheith ann. Tá eintitis mar cgroups
, /dev
и tmpfs
, a theastaíonn le linn an phróisis tosaithe agus dá bhrí sin sainmhínítear iad i bhfochomhadlann na eithne init/
. Fógra go cgroups
, /dev
и tmpfs
ná glaoch ar an "trí mhór" feidhmeanna file_operations
, ach léamh agus scríobh go díreach chun cuimhne.
Taispeánann an léaráid thíos conas a fhaigheann spás úsáideora rochtain ar na cineálacha éagsúla córas comhaid a shuitear go coitianta ar chórais Linux. Struchtúir nach dtaispeántar pipes
, dmesg
и POSIX clocks
, a chuireann an struchtúr i bhfeidhm freisin file_operations
, a rochtain tríd an gciseal VFS.
Is "ciseal fillte" é VFS idir glaonna córais agus feidhmiúcháin áirithe file_operations
Den sórt sin mar ext4
и procfs
. Feidhmeanna file_operations
is féidir leis idirghníomhú le tiománaithe gléas nó le gléasanna rochtana cuimhne. tmpfs
, devtmpfs
и cgroups
ná húsáid file_operations
, ach rochtain dhíreach ar an gcuimhne.
Soláthraíonn VFS a bheith ann an cumas cód a athúsáid, ós rud é nach gá na modhanna bunúsacha a bhaineann le córais comhad a ath-chur i bhfeidhm ag gach cineál córais comhaid. Is cleachtas coitianta é athúsáid cód i measc innealtóirí bogearraí! Mar sin féin, má tá an cód ath-inúsáidte
/tmp: Leid shimplí
Bealach éasca a bhrath go bhfuil VFS i láthair ar chóras ná clóscríobh mount | grep -v sd | grep -v :/
, a thaispeánfaidh gach gléasta (mounted
) córais comhaid nach bhfuil diosca cónaitheach agus neamh-NFS, rud atá fíor ar fhormhór na ríomhairí. Ceann de na gléasanna liostaithe (mounts
) Déanfaidh VFS gan dabht /tmp
, ceart?
Tá a fhios ag gach duine an stóráil sin / tmp
ar mheán fisiciúil - madness!
Cén fáth go bhfuil sé neamh-inmhianaithe a stóráil /tmp
ar na meáin fhisiciúil? Toisc go bhfuil na comhaid i /tmp
tá feistí sealadacha agus stórála níos moille ná an chuimhne ina gcruthaítear tmpfs. Ina theannta sin, is mó an seans go gcaithfí na meáin fhisiceacha nuair a bhíonn siad forscríofa ná mar a bhíonn cuimhne orthu. Ar deireadh, is féidir faisnéis íogair a bheith i gcomhaid in /tmp, agus mar sin is gné riachtanach é iad a imíonn siad ar gach atosaigh.
Ar an drochuair, cruthaíonn roinnt scripteanna suiteála dáileadh Linux / tmp ar an bhfeiste stórála de réir réamhshocraithe. Ná bíodh éadóchas ort má tharla sé seo do do chóras freisin. Lean roinnt treoracha simplí le tmpfs
a bheith ar fáil chun críocha eile. I bhfocail eile, is féidir le córas ina bhfuil tmpfs ollmhór agus comhaid mhóra air rith as cuimhne agus tuairteála. Leid eile: agus comhad á chur in eagar /etc/fstab
, cuimhnigh go gcaithfidh sé deireadh le líne nua, nó ní bheidh do chóras tosaithe.
/proc agus /sys
Chomh maith le /tmp
, Is iad VFS (córais comhaid fhíorúla) is mó a bhfuil aithne ag úsáideoirí Linux orthu /proc
и /sys
. (/dev
ina chónaí i gcuimhne roinnte agus nach bhfuil file_operations
). Cén fáth an dá chomhpháirt? Breathnaímid ar an gceist seo.
procfs
cruthaíonn sé léargas ar an eithne agus ar na próisis a ndéanann sé monatóireacht orthu userspace
. I /proc
prionnaíonn an t-eithne faisnéis faoina bhfuil ar fáil aige, amhail cur isteach, cuimhne fhíorúil, agus an sceidealóir. Thairis sin, /proc/sys
is é an áit a bhfuil na paraiméadair cumraithe leis an ordú sysctl
, ar fáil le haghaidh userspace
. Taispeántar stádas agus staitisticí na bpróiseas aonair in eolairí /proc/
.
Anseo /proc/meminfo
is comhad folamh é ina bhfuil faisnéis luachmhar mar sin féin.
Iompar /proc
léiríonn comhaid cé chomh difriúil is féidir le córais comhaid diosca VFS a bheith. Ar thaobh amháin, /proc/meminfo
go bhfuil faisnéis is féidir a fheiceáil leis an ordú free
. Ar an láimh eile, tá sé folamh! Conas a oibríonn sé? Tá an scéal i gcuimhne ar an alt cáiliúil dar teideal /proc
, agus i ndáiríre i gcomhaid /proc
níl aon rud ann nuair nach bhfuil aon duine ag féachaint. Mar a dúirt
An chuma ar an bhfolús procfs
ciall mar go bhfuil an t-eolas atá ann dinimiciúil. Staid beagán difriúil le sysfs
. Déanaimis comparáid idir cé mhéad comhad a bhfuil beart amháin ar a laghad iontu /proc
agus /sys
.
Procfs
Tá comhad amháin aige, is é sin an chumraíocht eithne easpórtáilte, ar eisceacht é toisc nach gá é a ghiniúint ach uair amháin in aghaidh an tosaithe. Ar an láimh eile, i /sys
tá go leor comhad níos mó, go leor acu a thógann suas leathanach iomlán de chuimhne. Comhaid de ghnáth sysfs
uimhir nó líne amháin go díreach a bheith iontu, murab ionann agus táblaí faisnéise a fhaightear ó chomhaid a léamh mar /proc/meminfo
.
Sprioc sysfs
- airíonna léite/scríofa den rud a ghlaonn an t-eithne a sholáthar «kobjects»
i spás úsáideora. An sprioc amháin kobjects
is link counting: nuair a bhaintear an nasc deiridh chuig kobject, déanfaidh an córas na hacmhainní a bhaineann leis a athbhunú. Mar sin féin, /sys
dhéanann suas an chuid is mó de na cáiliúil
Cuireann ABI cobhsaí an eithne teorainn leis an méid is féidir a bheith le feiceáil ann /sys
, ní cad atá i láthair i ndáiríre ag an nóiméad áirithe sin. Soláthraíonn liostú ceadanna comhad i sysfs léargas ar conas is féidir socruithe a chumrú le haghaidh gléasanna, modúil, córais comhad, etc. is féidir é a chumrú nó a léamh. Is é an chonclúid loighciúil go bhfuil procfs mar chuid de ABI cobhsaí an eithne freisin, cé nach bhfuil sé seo luaite go sainráite i
Comhaid i sysfs
déan cur síos ar airí ar leith amháin do gach aonán agus is féidir í a léamh, a scríobh, nó an dá rud. Ciallaíonn "0" sa chomhad nach féidir an SSD a bhaint.
Cuirimis tús leis an dara cuid den aistriúchán le conas monatóireacht a dhéanamh ar VFS ag baint úsáide as na huirlisí eBPF agus bcc, agus anois táimid ag fanacht le do thuairimí agus go traidisiúnta cuireadh a thabhairt duit
Foinse: will.com