ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Redox OS прСдстави ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ pkgar, написан Π½Π° Rust

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми РСдокс, написана ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΅Π·ΠΈΠΊΠ° Rust ΠΈ концСпцията Π·Π° микроядро, прСдставСни Π½ΠΎΠ² ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ pkgar. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π° Π½ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ инструмСнти Π·Π° ΠΊΠΎΠΌΠ°Π½Π΄Π΅Π½ Ρ€Π΅Π΄ Π·Π° създаванС ΠΈ ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° криптографски ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° колСкция ΠΎΡ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. ΠšΠΎΠ΄ΡŠΡ‚ pkgar Π΅ написан Π½Π° Rust ΠΈ разпространява сС ΠΎΡ‚ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Π½Π° MIT.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΡŠΡ‚ pkgar Π½Π΅ ΠΏΡ€Π΅Ρ‚Π΅Π½Π΄ΠΈΡ€Π° Π·Π° унивСрсалност ΠΈ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½, ΠΊΠ°Ρ‚ΠΎ сС Π²Π·Π΅ΠΌΠ°Ρ‚ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ спСцификитС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма Redox OS. ΠœΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΡŠΡ‚ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ†ΠΈΡ„Ρ€ΠΎΠ² подпис ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° цСлостта. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈΡ‚Π΅ суми сС изчисляват с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ…Π΅Ρˆ функция Π‘Π»Π΅ΠΉΠΊ3. Π‘Π²ΡŠΡ€Π·Π°Π½Π°Ρ‚Π° с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° функционалност Π½Π° pkgar ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π±Π΅Π· Ρ€Π΅Π°Π»Π½ΠΎ ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π°Ρ€Ρ…ΠΈΠ²Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Ρ‡Ρ€Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ само Π½Π° Π·Π°Π³Π»Π°Π²Π½Π°Ρ‚Π° част. По-спСциално, ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ сС ΡΡŠΡΡ‚ΠΎΠΈ ΠΎΡ‚ Π·Π°Π³Π»Π°Π²Π΅Π½ Ρ„Π°ΠΉΠ» (.pkgar_head) ΠΈ Ρ„Π°ΠΉΠ» с Π΄Π°Π½Π½ΠΈ (.pkgar_data). ΠŸΡ€Π°Π²ΠΈΠ»Π½ΠΎ подписан пълСн ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ (.pkgar) ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ Ρ‡Ρ€Π΅Π· просто добавянС Π½Π° заглавния Ρ„Π°ΠΉΠ» към Ρ„Π°ΠΉΠ»Π° с Π΄Π°Π½Π½ΠΈ (β€žcat example.pkgar_head example.pkgar_data > example.pkgarβ€œ).

Заглавният Ρ„Π°ΠΉΠ» ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈ суми Π·Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°Ρ‚Π° ΠΈ структури с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π° с Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ² подпис Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π€Π°ΠΉΠ»ΡŠΡ‚ с Π΄Π°Π½Π½ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π° послСдоватСлСн списък Π½Π° всички Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, доставСни Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π°. ВсСки Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ сС ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π° ΠΎΡ‚ структура с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ, която Π²ΠΊΠ»ΡŽΡ‡Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π° сума Π·Π° самитС Π΄Π°Π½Π½ΠΈ, Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΏΡ€Π°Π²Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ, относитСлСн ΠΏΡŠΡ‚ Π½Π° инсталирания Ρ„Π°ΠΉΠ» ΠΈ отмСстванС Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° слСдващия Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ. Ако ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ са сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° сума съвпада, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‚Π΅ сС пропускат ΠΈ Π½Π΅ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ цСлостта Π½Π° ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊΠ°, ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ само заглавния Ρ„Π°ΠΉΠ», ΠΈ корСктността Π½Π° избрания Ρ„Π°ΠΉΠ» с Π΄Π°Π½Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ Π·Π°Ρ€Π΅Π΄ΠΈΡ‚Π΅ само структуритС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Ρ‚ΠΎΠ·ΠΈ Ρ„Π°ΠΉΠ» ΠΈ сС ΡƒΠ²Π΅Ρ€ΠΈΡ‚Π΅, Ρ‡Π΅ Ρ‚Π΅ отговарят Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° сума, сСртифицирана Π² заглавния Ρ„Π°ΠΉΠ». Π‘Π°ΠΌΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΈ слСд ΠΊΠ°Ρ‚ΠΎ са Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈ, ΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½Π°Ρ‚Π° сума ΠΎΡ‚ структурата с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ, ΠΏΡ€Π΅Π΄Ρ…ΠΎΠΆΠ΄Π°Ρ‰ΠΈ Π΄Π°Π½Π½ΠΈΡ‚Π΅.

ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ ΠΏΠΎ своята ΡΡŠΡ‰Π½ΠΎΡΡ‚ са повтаряСми, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° дирСктория Π²ΠΈΠ½Π°Π³ΠΈ Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ‚. Π‘Π»Π΅Π΄ инсталиранСто Π² систСмата сС записват само ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΎΡ‚ инсталиранитС Π΄Π°Π½Π½ΠΈ (ΡΡŠΡΡ‚Π°Π²ΡŠΡ‚ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π½ΠΈΡ‚Π΅ суми, ΠΏΡŠΡ‚ΠΈΡ‰Π°Ρ‚Π° ΠΈ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ сС ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅).

Основни Ρ†Π΅Π»ΠΈ Π½Π° pkgar:

  • Атомност – Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ възмоТно.
  • БпСстяванС Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊ - Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° само ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ…Π΅ΡˆΡŠΡ‚ сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ (ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ сС изтСглят само ΠΏΡ€ΠΎΠΌΠ΅Π½Π΅Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅).
  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ сС високопроизводитСлни, Π±ΡŠΡ€Π·ΠΈ криптографски Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ (blake3 ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ ΠΏΡ€ΠΈ изчисляванС Π½Π° Ρ…Π΅ΡˆΠΎΠ²Π΅). Ако Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π΅ са Π±ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€Π°Π½ΠΈ, Ρ…Π΅Ρˆ Π·Π° ΠΈΠ·Ρ‚Π΅Π³Π»Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС изчислСн ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изтСглянС.
  • ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡ‚ΠΈΡ‡Π΅Π½ - Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ, pkgar Π²ΠΊΠ»ΡŽΡ‡Π²Π° само ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΈΡ‚Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°.
  • НСзависимост Π½Π° инсталационната дирСктория - ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС инсталиран във всяка дирСктория, ΠΎΡ‚ всСки ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» (потрСбитСлят трябва Π΄Π° ΠΈΠΌΠ° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° запис Π² ΠΈΠ·Π±Ρ€Π°Π½Π°Ρ‚Π° дирСктория).
  • Бигурност - ΠŸΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π²ΠΈΠ½Π°Π³ΠΈ сС провСряват криптографски ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°Ρ‚Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° дСйствитСлнитС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (ΠΏΡŠΡ€Π²ΠΎ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° Π·Π°Π³Π»Π°Π²ΠΊΠ°Ρ‚Π° ΠΈ Π°ΠΊΠΎ цифровият подпис Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π΅Π½, Π΄Π°Π½Π½ΠΈΡ‚Π΅ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°Ρ‚ във Π²Ρ€Π΅ΠΌΠ΅Π½Π½Π° дирСктория, която сС прСмСства Π² Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° дирСктория слСд ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°).

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€