Hamilton C kabuğu - Hamilton C shell
|
Windows 7 masaüstünde 64 bit Hamilton C kabuğu.
| |
| Orijinal yazar(lar) | Nicole Hamilton |
|---|---|
| İlk sürüm | 12 Aralık 1988 |
| kararlı sürüm | 5.2.g / 5 Mart 2017
|
| 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 |
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ı
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ığı
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 .