Hamilton C kabuğu - Hamilton C shell

Hamilton C kabuğu
Windows 7.png'de Hamilton C kabuğu x64
Windows 7 masaüstünde 64 bit Hamilton C kabuğu.
Orijinal yazar(lar) Nicole Hamilton
İlk sürüm 12 Aralık 1988 ; 32 yıl önce ( 1988-12-12 )
kararlı sürüm
5.2.g / 5 Mart 2017 ; 4 yıl önce ( 2017-03-05 )
Yazılmış C
İşletim sistemi Windows (geçmişte OS/2 )
Tür Unix Shell üzerinde Windows'un
Lisans Ticari tescilli yazılım
İnternet sitesi hamiltonlabs .com /Cshell .htm

Hamilton C kabuk bir olan klon ait Unix C kabuk ve kamu hizmetleri için Microsoft Windows önceden herhangi koduna göre değil tamamen özgün çalışma olarak Hamilton Laboratuvarlarında Nicole Hamilton tarafından yarattı. İlk olarak 12 Aralık 1988'de OS/2'de ve Temmuz 1992'de Windows NT'de piyasaya sürüldü . OS/2 sürümü 2003'te durduruldu, ancak Windows sürümü aktif olarak desteklenmeye devam ediyor.

Tasarım

Hamilton C kabuğu, Unix C kabuğundan birkaç açıdan farklıdır. Bunlar, derleyici mimarisini, iş parçacığı kullanımını ve Unix kuralları yerine Windows'u izleme kararını içerir.

ayrıştırıcı

Image
Windows 7'de Hamilton C kabuğu ve Cygwin bash , faktoring için özyinelemenin kullanımını gösteriyor .

Orijinal C kabuğu, geçici bir ayrıştırıcı kullanır. Bu, sınırlamaları hakkında şikayetlere yol açmıştır. Kullanıcıların etkileşimli olarak yazdıkları şeyler için yeterince iyi çalışır, ancak bir kullanıcının bir komut dosyasına yazmak için zaman alabileceği daha karmaşık komutlar için pek iyi değildir. Örneğin, bir foreach ifadesinin çıktısını grep içine aktarmak mümkün değildir . Bir komutun ne kadar karmaşık işleyebileceğinin bir sınırı vardı.

Buna karşılık Hamilton, ifadeleri çalıştırmadan önce dahili bir formda derlemesine izin veren yukarıdan aşağıya özyinelemeli bir iniş ayrıştırıcısı kullanır . Sonuç olarak, ifadeler keyfi olarak iç içe veya borulanabilir. Dil ayrıca yerleşik ve kullanıcı tanımlı prosedürler, yerel değişkenler, kayan nokta ve ek ifadeler, düzenleme ve joker karakter kullanma operatörleri, " ..." olarak yazılmış ve sıfır veya daha fazla dizin düzeyiyle eşleşen " " olarak yazılmış bir joker karakter yapısı ile genişletilmiştir . desen eşleşmesinin geri kalanını yapmak için gereklidir.

İş Parçacığı

Image
Hamilton C kabuğu ve Cygwin bash tarih döngüleri.

Eksik çatal veya bu işlevselliği yeniden yüksek performanslı yol, Hamilton Windows'un kullandığı ipler yerine tesisleri. Yeni bir iş parçacığı oluşturulduğunda, aynı işlem alanı içinde çalışır ve tüm işlem durumunu paylaşır. Bir iş parçacığı geçerli dizini veya belleğin içeriğini değiştirirse, tüm iş parçacıkları için değiştirilir. Bir iş parçacığı oluşturmak bir işlemden çok daha ucuzdur, ancak aralarında izolasyon yoktur. Ayrı işlemlerin eksik yalıtımını yeniden oluşturmak için iş parçacıkları, kilitleri kullanarak kaynakları paylaşmak üzere işbirliği yapar .

Windows kuralları

Hamilton, sürücü harfleri , dosya adı eğik çizgileri , kaçış karakterleri vb. için Windows kurallarını doğrudan desteklemesi bakımından diğer Unix kabuklarından farklıdır .

Referanslar

Dış bağlantılar