Системаи параллелизатсияи скрипти Shell PaSh зери боли Бунёди Linux қарор дорад

Лоиҳаи PaSh, ки абзорҳо барои иҷрои мувозии скриптҳои қабеҳро таҳия мекунад, эълом кард, ки таҳти сарпарастии Бунёди Linux ҳаракат мекунад, ки инфрасохтор ва хидматҳои заруриро барои идомаи рушд таъмин хоҳад кард. Рамзи лоиҳа таҳти иҷозатномаи MIT паҳн карда мешавад ва ҷузъҳои Python, Shell, C ва OCaml-ро дар бар мегирад.

PaSh як компилятори JIT, вақти корӣ ва китобхонаи эзоҳро дар бар мегирад:

  • Runtime маҷмӯи ибтидоиро барои дастгирии иҷрои параллелии скриптҳо таъмин мекунад.
  • Китобхонаи эзоҳҳо маҷмӯи хосиятҳоеро муайян мекунад, ки ҳолатҳоеро тавсиф мекунанд, ки дар онҳо параллелизатсияи фармонҳои инфиродии POSIX ва GNU Coreutils иҷозат дода мешавад.
  • Компилятор скрипти пешниҳодшудаи Shell-ро дар як дарахти абстрактии синтаксис (АСТ) таҳлил мекунад, онро ба порчаҳои барои иҷрои параллелӣ мувофиқ тақсим мекунад ва дар асоси онҳо версияи нави скриптро ташкил медиҳад, ки қисмҳои онҳоро ҳамзамон иҷро кардан мумкин аст. Маълумот дар бораи фармонҳое, ки параллелизатсияро иҷозат медиҳанд, аз ҷониби компилятор аз китобхонаи эзоҳҳо гирифта мешавад. Дар ҷараёни тавлиди версияи мувозии скрипт, конструксияҳои иловагӣ аз Runtime ба код ворид карда мешаванд.

Системаи параллелизатсияи скрипти Shell PaSh зери боли Бунёди Linux қарор дорад

Масалан, скрипте, ки ду файлро коркард мекунад f1.md ва f2.md cat f1.md f2.md | tr AZ az | tr -cs A-Za-z '\n' | навъ | ягона | comm -13 dict.txt — > берун гурба берун | wc -l | sed 's/$/ калимаҳои хато!/' одатан ду файлро пайдарпай коркард мекунад:

Системаи параллелизатсияи скрипти Shell PaSh зери боли Бунёди Linux қарор дорад
ва вақте ки таҳти назорати PaSh оғоз мешавад, он ба ду риштаи ҳамзамон иҷрошаванда тақсим карда мешавад, ки ҳар кадоми онҳо файли худро коркард мекунанд:
Системаи параллелизатсияи скрипти Shell PaSh зери боли Бунёди Linux қарор дорад


Манбаъ: opennet.ru

Илова Эзоҳ