zlib’in Veri Sıkıştırma Yazılım Kütüphanesi: Gzip ve Birçok Anaakım Yazılım Platformunda Sahne Arkasında Rol Oynama

TP; DR: Veri sıkıştırma için kullanılan açık kaynaklı bir yazılım kütüphanesi olan zlib, hem gzip yazılım programında hem de Linux, iOS ve macOS gibi yaygın olarak tanınan birçok yazılım platformunda hayati bir bileşendir. Başlangıçta 1995’te piyasaya sürülen ücretsiz çözüm, açık kaynak topluluğu tarafından sağlanan düzenli iyileştirmelerle hala yaygın kullanıma sahiptir. İleride, zlib Ortak Yaratıcı Mark Adler taraftarların bize olası performans iyileştirmeleri ve yeni standartlarla uyumluluk için göz kulak olmaları gerektiğini söyledi.


1995’te zlib Co-Creator Mark Adler’e yeni yayınladığı veri sıkıştırma için yazılım kütüphanesinin 2020’de hala yaygın olarak kullanacağını söylemiş olsaydınız, iyi bir kahkaha atacağını söyledi..

Mark, “25 yıl sonra bilgisayarların tamamen farklı olacağını – daha büyük, daha hızlı, daha yüksek verim – ve sıkıştırma teknolojilerinin çok daha gelişmiş olacağını biliyordum” dedi. “Zlib’in hala kullanımda olacağını düşünmenin hiçbir yolu yoktu. Ama bu.”

Mark, bazı kullanım durumları için bugün daha iyi sıkıştırma teknolojilerinin olduğunu kabul eden ilk kişi olsa da, hepsi farklı ödünleşimler sağlıyor.

Mark Adler ve zlib logosu

Ortak Yaratıcı Mark Adler bize veri sıkıştırma için kullanılan açık kaynaklı bir yazılım kütüphanesi olan zlib’e bir bakış verdi.

“Zlib, ne kadar sıkıştırma yaptığınıza ve ne kadar hızlı açıldığına karşı sıkıştırmanın ne kadar sürdüğü açısından belirli bir alanda yaşıyor.”

Açık kaynak teknolojisi de ücretsizdir, yaygın olarak kabul edilir ve olağanüstü taşınabilirliğe sahiptir. Gzip dosya biçimini ve yazılım uygulamasını desteklemenin yanı sıra, zlib Linux, macOS ve iOS dahil günümüzün en iyi bilinen işletim sistemlerinde hayati bir yazılım bileşenidir..

Intel ve CloudFlare, yaygın olarak kullanılan kitaplığın yüksek performanslı çatallarını korur. Ayrıca PlayStation 4, Wii, Xbox One ve Xbox 360 gibi popüler oyun konsollarında da yer alıyor.

Bugün, özgür yazılım açık kaynak topluluğu tarafından düzenli olarak geliştirilmektedir. Yine de Mark, performansı yükseltmeler ve yeni standartlarla daha iyi uyumluluk ile yazılımı potansiyel olarak iyileştirmeyi dört gözle beklediğini söyledi..

Onyıllardır Açık Kaynak Kod Sıkıştırma Katkısı

Zlib yazılım kütüphanesinin ilk halka açık versiyonu 1 Mayıs 1995’te açık kaynaklı zlib lisansı altında yayınlandı. Ancak Mark, zlib’in köklerinin 1980’lerin sonlarına doğru, MS-DOS çalıştıran bir IBM PC’den NeXT Bilgisayar Sistemine yükseldiğini ve fizik doktorasını tamamladığını söyledi. (Eğlenceli gerçek: NeXT, Inc, 1985’te Steve Jobs tarafından kuruldu, sonunda Apple tarafından emildi).

Mark, “Eski bilgisayarımdan NeXT Bilgisayarıma bir grup dosya aktarmak istedim, ancak zip dosyaları kullanmaktan başka iyi bir yolum yoktu” dedi. “Sorun, NeXT’de çözmenin bir yolu yoktu. Düşündüm ki, belki bu kendim yapabileceğim bir şey. ”

zlib patent endişelerine açık kaynaklı bir yanıtın bir parçası olarak oluşturuldu.

Görünen o ki yapabilirdi. Mark sadece dosyaları ayıklamak için bazı kodlar çalmakla kalmadı, aynı zamanda artık Info-ZIP olarak bilinen açık kaynaklı UnZip projesine katkıda bulundu. Sonra UnZip için bir zip programı yazdı ve açık kaynak dünyasına girişini daha da güçlendirdi..

Aynı zamanda, Fransa’dan Jean-loup Gailly, Info-Zip’in taşınabilir arşivcisi zip’in sıkıştırma kodunu yazdı. Mark, “Unix sisteminde şu anda mevcut olandan daha iyi bir şey sağlamak için Jean-loup’un kompresörünü ve dekompresörümüzü kullanabileceğimizi fark ettik. “İşte biz de öyle yaptık – onları gzip dediğimiz bir programda bir araya getir.”

Jean-loup gzip’in birincil yazarı, Mark ise gzip’in ve UnZip’in ana dekompresyon rutinlerinin yazarı olarak görev yaptı..

Genişleyen Kullanım Örnekleri & PNG Fotoğraf Formatının Oluşumu

gzip 31 Ekim 1992’de piyasaya sürüldü. 1994 yılında Unisys Corporation beklenmedik bir şekilde 1983 patentini Grafik Değişim Biçimi (GIF) dosyalarını yapmak için kullanılan LZW sıkıştırma algoritması üzerinde geliştirmeye karar verdi ve geliştiricileri teknolojiyi kullanarak yazılım yapmak için bir ücret ödeyerek.

Söylemeye gerek yok, açık kaynak topluluğu bu duyurudan çok daha az heyecanlıydı. Yanıt olarak Mark, Jean-loup ve çoklu dijital grafik uzmanları PNG Çalışma Grubu olarak bilinen şeyi oluşturdu.

Jean-loup’un sıkıştırma yazılımını ve Mark’ın dekompresyon yazılımını ve ayrıca görüntüleri sıkıştırmaya daha uygun hale getirmek için teknolojiyi kullanan grup, PNG dosya formatını geliştirdi. Kısaltma, Taşınabilir Ağ Grafikleri ve daha açık PNG’lerin GIF değil.

PNG

Zlib Yardımcı Yaratıcıları Mark Adler ve Jean-loup Gailly PNG görüntü formatının geliştirilmesine yardımcı oldu.

Mark, “Sadece lisanssız, açık kaynaklı bir görüntü formatı istediğimiz değil, birden fazla sorunu ele alan GIF’e kayıpsız yeni bir alternatif geliştirdik” dedi. “Ayrıca şeffaflık, renk haritası belirtimi ve daha fazla derinlik sağladı.”

Endüstrinin, daha fazla kodlama gerektiren yeni formatı benimseyebilmesini sağlamak, bu da PNG lib (şimdi libpng olarak bilinir) ve zlib oluşturulmasına neden oldu.

“PNG lib formatı oluşturacak bir yazılımdı,” dedi Mark. “Bit derinliği, renk sayısı ve saydamlık gibi çeşitli isteğe bağlı bilgilerle sahip olduğunuz her girdiyi alacaktı. Bu kütüphane PNG görüntüleri oluşturmanıza, PNG görüntülerini açmanıza ve bunları ham görüntü bilgilerine dönüştürmenize izin verdi. Diğer kütüphane, PNG lib tarafından ham sıkıştırma ve açma için kullanılan zlib idi. ”

Bu kütüphaneleri yazarken, Jean-loup ve Mark özellikle zlib’in çok daha geniş bir bağlamda uygulanabileceğini fark ettiler.

GitHub Topluluğu aracılığıyla Devam Eden Geliştirmeler

Mark, zlib’in kuruluşundan bu yana temelde değişmediğini, ancak yıllar boyunca taşınabilirlik ve uyumluluk güncellemeleri olduğunu söyledi..

“Tabii ki, format birçok yerde kullanılıyor: PNG dosyalarında, HTTP, depolama formatlarında ve iletim süresini azaltmak için verileri bir yerden başka bir yere aktaran diğer birçok protokolde” dedi. “Ücretsiz olduğu ve herkes kullanabileceği için ne sıklıkta kullanıldığını bilmiyoruz, ancak aldığım sorulara dayanarak çok yaygın olarak kullanıldığını söyleyebilirim.”

Mark 2017’den beri bir güncelleme yayınlamadı, ancak açık kaynak topluluğunun son birkaç hafta içinde olduğu gibi değişiklikler yaptığını söyledi. Google ve IBM gibi sektör devleri de yıllar boyunca kendi kullanımları için iyileştirmeler yaptı ve Facebook, şirketin web sunucuları ve istemcilerinde performansı artırmak için teknolojide ilerleme kaydetti.

“Zlib’e başka alternatifler var, GitHub’da istenen özelliklere sahip diğer kütüphaneler var” diye ekledi. “Örneğin, LZ4 de sıkıştırmayan kayıpsız veri sıkıştırma kodudur, ancak çok daha hızlı sıkıştırır ve özellikle açar. Veya çok daha yüksek sıkıştırma sağlayabilen ancak genel olarak çok daha yavaş olan 7-Zip koduna dayanan XZ var. ”

Zstandard gibi yeni teknolojiler hem daha iyi sıkıştırma hem de hız sağlar.

Mark, “Zlib’in yerini Zstandard sıkıştırma ile değiştirmeyi hayal edebilirsiniz ve bu olabilir, ancak Zlib’in yaygın olarak kullanılması ve kullanıldığı tüm formatlar nedeniyle yeni teknolojinin devralınması biraz zaman alabilir.” Mark.

Gelecek: Yeni Standartlar İçeren Performans İyileştirmeleri

İnanması zor, ancak Mark’ın veri sıkıştırma alanındaki çalışmaları sadece bir hobi. Kaliforniya Teknoloji Enstitüsü’nden fizik doktorasını kazandıktan sonra Hughes Aircraft’ta Uzay ve İletişim Grubu ile güçlerini birleştirdi ve video sıkıştırma, hata düzeltme kodları ve X-ışını patlamalarının uydu kabloları üzerindeki etkileri üzerine çalıştı..

Bundan sonra, NASA’nın Saturn’e Cassini-Huygens araştırma görevinde Baş Görev Mühendisi olarak çalıştığı Jet İtici Laboratuvarı’na gitti. Ayrıca Mars Keşif Gezgini görevlerini planlamaktan sorumluydu ve Mars Sample Return projesinde Misyon ve Sistem Yöneticisi ve Baş Mühendis olarak görev yapmıştır. Bugün Apple’da donanım ve teknoloji geliştirme üzerinde çalışıyor.

“Hiçbir zaman veri sıkıştırmada çalışmayı istemedim, ancak projeyi canlı tutma zorunluluğu hissediyorum” dedi..

İleride Mark, zlib için üç önemli iyileştirme alanı gördüğünü söyledi. “Birincisi taşınabilirlik” dedi. “Son derece taşınabilir, ancak yapım sürecini daha sorunsuz hale getirmek için eski makyaj dosyaları ve CMake, Microsoft Visual Studio ve diğer oluşturma sistemleriyle yapılması gereken şeyler var.”

Diğer teknolojilerin yanı sıra montaj talimatları, CRC talimatları ve Adler-32 sağlama toplamı için hızlandırıcıları kullanarak belirli mimarilerde zlib performansını iyileştirmek için çok sayıda olasılık olduğunu söyledi. Mark, “Deflasyon veya enflasyon kodunun performansını artırmak için yapılabilecek ve yapılabilecek çok şey var, ancak bunlar ana Zlib dağıtımına entegre edilmedi” dedi..

Ayrıca yeni sıkıştırma standartlarını da dahil etme imkanı var.

“Örneğin, Zstandard, daha hızlı ve daha iyi bir performans, daha iyi sıkıştırma sağlamak için zlib’e eklenen başka bir sıkıştırma yöntemi olabilir. Bu, düşünülebilecek başka bir uzun vadeli eylem. ”

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector