PaSh kabuk komut dosyası paralelleştirme sistemi Linux Vakfı'nın kanatları altına giriyor

Kabuk komut dosyalarının paralel yürütülmesine yönelik araçlar geliştiren PaSh projesi, geliştirmeye devam etmek için gerekli altyapı ve hizmetleri sağlayacak olan Linux Vakfı'nın himayesinde hareket ettiğini duyurdu. Proje kodu MIT lisansı altında dağıtılmaktadır ve Python, Shell, C ve OCaml'deki bileşenleri içermektedir.

PaSh bir JIT derleyicisi, çalışma zamanı ve açıklama kitaplığı içerir:

  • Çalışma zamanı, komut dosyalarının paralel yürütülmesini desteklemek için bir dizi temel öğe sağlar.
  • Ek açıklama kitaplığı, bireysel POSIX ve GNU Coreutils komutlarının paralelleştirilmesine izin verilen durumları tanımlayan bir dizi özellik tanımlar.
  • Derleyici, önerilen Shell komut dosyasını anında soyut bir sözdizimi ağacına (AST) ayrıştırır, onu paralel yürütmeye uygun parçalara böler ve bunlara dayanarak, bazı bölümleri aynı anda çalıştırılabilen komut dosyasının yeni bir sürümünü oluşturur. Paralelleştirmeye izin veren komutlarla ilgili bilgiler derleyici tarafından açıklama kitaplığından alınır. Komut dosyasının paralel çalışan bir sürümünü oluşturma sürecinde, Çalışma Zamanından ek yapılar koda eklenir.

PaSh kabuk komut dosyası paralelleştirme sistemi Linux Vakfı'nın kanatları altına giriyor

Örneğin, f1.md ve f2.md adlı iki dosyayı işleyen bir komut dosyası cat f1.md f2.md | tr A'dan Az'a | tr -cs A-Za-z '\n' | sıralama | benzersiz | comm -13 dict.txt — > dışarı kedi dışarı | tuvalet -l | sed 's/$/ mispelled words!/' normalde iki dosyayı sırayla işler:

PaSh kabuk komut dosyası paralelleştirme sistemi Linux Vakfı'nın kanatları altına giriyor
ve PaSh'nin kontrolü altında başlatıldığında, her biri kendi dosyasını işleyen, aynı anda yürütülen iki iş parçacığına bölünecektir:
PaSh kabuk komut dosyası paralelleştirme sistemi Linux Vakfı'nın kanatları altına giriyor


Kaynak: opennet.ru

Yorum ekle