Morero oa Redox OS o hlahisitse molaoli oa sephutheloana sa pkgar, se ngotsoeng ka Rust

Baetsi ba sistimi e sebetsang Pherekano, ngotsoe ho sebelisa puo ea Rust le mohopolo oa microkernel, hlahisoa mookameli oa sephutheloana se secha pkgar. Morero o nts'etsapele sebopeho se secha sa liphutheloana, laeborari ea taolo ea liphutheloana, le lethathamo la lithulusi tsa mola oa taelo bakeng sa ho theha le ho khutlisa pokello ea lifaele tse netefalitsoeng ka mokhoa o hlakileng. Khoutu ea pkgar e ngotsoe ka Rust le ajoa ke tlas'a laesense ea MIT.

Sebopeho sa pkgar ha se etse eka ke sa bokahohle mme se ntlafatsoa ho ela hloko lintlha tsa tsamaiso ea Redox OS. Motsamaisi oa sephutheloana o ts'ehetsa netefatso ea mohloli a sebelisa signature ea dijithale le taolo ea botšepehi. Lichelete li baloa ho sebelisoa mosebetsi oa hash blake3. Ts'ebetso e amanang le netefatso ea pkgar e ka fihlelleha ntle le ho boloka polokelo ea polokelo, ka ho laola karolo ea hlooho feela. Haholo-holo, sephutheloana se na le faele ea lihlooho (.pkgar_head) le faele ea data (.pkgar_data). Sephutheloana se felletseng sa kakaretso se saennoeng ka nepo (.pkgar) se ka fumanoa ka ho kenya feela sehlooho sa faele faeleng ea data ("cat example.pkgar_head example.pkgar_data > example.pkgar").

Faele ea hlooho e na le li-checksum tse arohaneng bakeng sa hlooho le meaho e nang le li-parameter ho tsoa faeleng ea data, hammoho le signature ea dijithale ho netefatsa sephutheloana. Faele ea data e kenyelletsa lethathamo la tatellano la lifaele tsohle le li-directory tse fanoeng ka har'a sephutheloana. Karolo e 'ngoe le e' ngoe ea data e etelloa pele ke sebopeho se nang le metadata e kenyelletsang cheke bakeng sa data ka boeona, boholo, litokelo tsa phihlello, tsela e lekanyelitsoeng ea faele e kentsoeng, le ho felisoa ha li-parameter tsa karolo e latelang ea data. Haeba nakong ea ts'ebetso ea ntlafatso lifaele tsa motho ka mong li sa fetoha 'me checksum e ts'oana, joale lia qhekelloa ebe ha li laeloe.

U ka hlahloba botšepehi ba mohloli ka ho amohela feela faele ea hlooho, le ho nepahala ha faele ea data e khethiloeng ka ho kenya feela mehaho e nang le litekanyo tsa faele ena le ho etsa bonnete ba hore li lumellana le cheke e tiisitsoeng ka faele ea sehlooho. Lintlha ka boeona li ka hlahlojoa ka mor'a hore li behoe, li sebelisa checksum ho tloha mohahong o nang le li-parameter pele ho data.

Liphutheloana li ka phetoa ka tlhaho, ho bolelang hore ho theha sephutheloana sa bukana e itseng ho tla lula ho fella ka sephutheloana se ts'oanang. Kamora ho kenya, ke metadata feela e bolokiloeng tsamaisong, e lekaneng ho tsosolosa sephutheloana ho tloha ho data e kentsoeng (sebopeho sa sephutheloana, li-checksums, litsela le litokelo tsa ho fihlella li fumaneha metadata).

Lipheo tse ka sehloohong tsa pkgar:

  • Atomicity - lintlafatso li sebelisoa ka bo eona neng kapa neng ha ho khoneha.
  • Poloko ea sephethephethe - data e fetisetsoa marang-rang feela ha hash e fetoha (nakong ea ntlafatso, lifaele tse fetotsoeng feela li jarolloa).
  • Ts'ebetso e phahameng, ho sebelisoa li-algorithms tse potlakileng tsa li-cryptographic (blake3 e ts'ehetsa ts'ebetso ea data e ts'oanang ha ho baloa li-hashes). Haeba data e tsoang sebakeng sa polokelo ha e so ka e bolokoa, hash bakeng sa data e jarollotsoeng e ka baloa ka nako ea ho jarolla.
  • Minimalistic - Ho fapana le lifomate tse ling, pkgar e kenyelletsa feela metadata e hlokahalang ho ntša sephutheloana.
  • Boikemelo ba buka ea ho kenya - sephutheloana se ka kenngoa bukeng efe kapa efe, ke mosebelisi ofe kapa ofe (mosebelisi o tlameha ho ba le tumello ea ho ngola bukeng e khethiloeng).
  • Ts'ireletso - Lipakete li lula li netefatsoa ka mokhoa o hlakileng, 'me netefatso e etsoa pele ts'ebetso ea nnete e etsoa ka har'a sephutheloana (sehlooho se laeloa pele mme haeba signature ea dijithale e nepahetse, data e kenngoa bukeng ea nakoana, e fetisetsoang bukeng ea sepheo kamora moo. netefatso).

Source: opennet.ru

Eketsa ka tlhaloso