O le Redox OS project na faʻaalia ai le pule o pusa pkgar, tusia i Rust

Fa'atonu faiga fa'atino Toe Fafo, tusia fa'aaoga le gagana Rust ma le manatu microkernel, tuuina atu pule paketi fou pkgar. O le poloketi o loʻo atiaʻe se faʻasologa fou o pusa, se faletusi faʻatautaia o pusa, ma se meafaigaluega laina laina mo le fatuina ma le toe maua mai o se faʻaputuga faʻamaonia faʻamaonia o faila. O le pkgar code o loʻo tusia i le Rust ma tufatufaina e i lalo ole laisene MIT.

O le pkgar format e le faʻafoliga e lautele ma e sili ona lelei i le amanaia o faʻamatalaga o le Redox OS operating system. E lagolagoina e le pule o pusa le fa'amaoniaina o puna'oa e fa'aaoga ai le saini fa'atekinolosi ma le fa'atonuga sa'o. E fa'atatau su'ega i le fa'aogaina o le hash function blake3. O le fa'amaoniaga fa'atatau a pkgar e mafai ona maua e aunoa ma le teuina moni o le pusa fa'amaumauga, e ala i le fa'aogaina na'o le vaega ulutala. Aemaise lava, o le afifi e aofia ai se faila ulutala (.pkgar_head) ma se faila faila (.pkgar_data). E mafai ona maua se afifi atoa o le saini sa'o (.pkgar) i le na'o le fa'apipi'i o le faila ulutala i le faila fa'amaumauga ("cat example.pkgar_head example.pkgar_data > example.pkgar").

O le faila faila o loʻo i ai siaki siaki eseese mo le ulutala ma fausaga faʻatasi ma faʻamaufaʻailoga mai le faila faʻamaumauga, faʻapea foʻi ma se saini numera e faʻamaonia ai le afifi. O le faila fa'amaumauga e aofia ai se lisi fa'asologa o faila uma ma fa'atonuga o lo'o tu'uina atu i totonu o le afifi. O elemene faʻamaumauga taʻitasi e muamua i se fausaga faʻatasi ai ma metadata e aofia ai se siaki tupe mo faʻamatalaga lava ia, lapopoa, aia tatau, ala fesoʻotaʻi o le faila o loʻo faʻapipiʻiina, ma le faʻaogaina o faʻamaufaʻailoga o le isi elemene faʻamaumauga. Afai i le faagasologa o le fa'afouga e le'i suia faila ta'itasi ma e fetaui le siaki, ona fa'ase'e lea ma le utaina.

E mafai ona e siakiina le faʻamaoni o le punavai e ala i le mauaina naʻo le faila faila, ma le saʻo o le faila faʻamaumauga filifilia e ala i le utaina naʻo fausaga ma faʻamaufaʻailoga o lenei faila ma faʻamautinoa latou te tausisia le siaki siaki faʻamaonia i le faila faila. O faʻamaumauga lava ia e mafai ona siakiina pe a uma ona utaina, faʻaaoga le siaki mai le fausaga ma faʻamaufaʻailoga i luma o faʻamaumauga.

O afifi e masani lava ona toe fai, o lona uiga o le fatuina o se afifi mo se lisi patino o le a maua ai i se afifi tutusa. A maeʻa faʻapipiʻi, naʻo metadata e faʻasaoina i totonu o le polokalama, lea e lava e toe faʻaleleia ai le afifi mai faʻamaumauga faʻapipiʻi (o le tuufaatasiga o le afifi, siaki tupe, auala ma aia tatau o loʻo i totonu o metadata).

Sini autu o le pkgar:

  • Atomicity-o fa'afouga e fa'aogaina otometi pe a mafai.
  • Fa'asaoina o feoaiga - o fa'amaumauga e fa'afeiloa'i i luga o le feso'ota'iga pe a suia le hash (i le taimi o fa'afouga, na'o faila faila e la'u mai).
  • O lo'o fa'aogaina le fa'atinoga maualuga, fa'avavevave fa'ata'ita'iga algorithms (blake3 e lagolagoina le fa'agaioina o fa'amaumauga tutusa pe a fa'atatauina fa'ailoga). Afai o faʻamatalaga mai le fale teu oloa e leʻi faʻapipiʻiina muamua, o se hash mo faʻamaumauga na sii mai e mafai ona faʻatatau i le taimi o le download.
  • Minimalistic - E le pei o isi faatulagaga, o le pkgar e aofia ai metadata e manaʻomia e aveese ai le afifi.
  • Tutoatasi o le lisi faʻapipiʻi - e mafai ona faʻapipiʻi le afifi i soʻo se lisi, e soʻo se tagata faʻaoga (e tatau i le tagata faʻaoga ona i ai le faʻatagaga tusitusi i le lisi filifilia).
  • Saogalemu - E fa'amaonia i taimi uma ia pa'u, ma fa'atino le fa'amaoniga a'o le'i faia fa'agaioiga moni i luga o le afifi (o le ulutala e uta muamua ma afai e sa'o le saini numera, o fa'amaumauga e utaina i totonu o se lisi le tumau, lea e si'i atu i le fa'atonuga fa'atonu pe a uma. fa'amaoniga).

puna: opennet.ru

Faaopoopo i ai se faamatalaga