БистСма распараллСливания shell-скриптов PaSh ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° ΠΏΠΎΠ΄ ΠΊΡ€Ρ‹Π»ΠΎ Linux Foundation

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ PaSh, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ инструмСнты для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния shell-скриптов, объявил ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ΄ ΠΏΠΎΠΊΡ€ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Linux Foundation, которая прСдоставит инфраструктуру ΠΈ сСрвисы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для продолТСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π° языках Python, Shell, C ΠΈ OCaml.

PaSh Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ JIT-компилятор, runtime ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ:

  • Runtime прСдоставляСт Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΎΠ² для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния скирптов.
  • Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ опрСдСляСт Π½Π°Π±ΠΎΡ€ свойств, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ситуации Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… допускаСтся распараллСливаниС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ POSIX ΠΈ GNU Coreutils.
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π½Π° Π»Π΅Ρ‚Ρƒ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Shell-скрипт Π² абстрактноС синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ (AST), Ρ€Π°Π·Π±ΠΈΠ²Π°Π΅Ρ‚ Π½Π° Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹Π΅ для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния, ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° ΠΈΡ… основС Π½ΠΎΠ²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ скрипта, части ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ распараллСливания, бСрётся компилятором ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ. Π’ процСссС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ выполняСмого Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° скрипта Π² ΠΊΠΎΠ΄ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкции ΠΈΠ· Runtime.

БистСма распараллСливания shell-скриптов PaSh ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° ΠΏΠΎΠ΄ ΠΊΡ€Ρ‹Π»ΠΎ Linux Foundation

НапримСр, скрипт, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° f1.md ΠΈ f2.md cat f1.md f2.md | tr A-Z a-z | tr -cs A-Za-z ‘\n’ | sort | uniq | comm -13 dict.txt — > out cat out | wc -l | sed ‘s/$/ mispelled words!/’ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… условиях ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ:

БистСма распараллСливания shell-скриптов PaSh ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° ΠΏΠΎΠ΄ ΠΊΡ€Ρ‹Π»ΠΎ Linux Foundation
Π° ΠΏΡ€ΠΈ запускС ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ PaSh Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π±ΠΈΡ‚ Π½Π° Π΄Π²Π° ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ выполняСмых ΠΏΠΎΡ‚ΠΎΠΊΠ°, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ свой Ρ„Π°ΠΉΠ»:
БистСма распараллСливания shell-скриптов PaSh ΠΏΠ΅Ρ€Π΅ΡˆΠ»Π° ΠΏΠΎΠ΄ ΠΊΡ€Ρ‹Π»ΠΎ Linux Foundation


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