zlib, veri sıkıştırma için kullanılan . Jean-loup Gailly ve Mark Adler tarafından yazılmış olan kütüphane, yine onların yazdığı gzip dosya sıkıştırma programında kullanılan DEFLATE algoritmasının soyutlanmış halidir. zlib ayrıca Linux, MacOS ve İOS gibi birçok yazılımın kritik bir parçasıdır. PlayStation 4, PlayStation 3, Wii U, Wii, Xbox One ve Xbox 360 gibi oyun konsollarında da zlib kütüphanesi kullanılmaktadır.
İlk yayınlanma | 1 Mayıs 1995 |
---|---|
Güncel sürüm | 1.3.1 / 22 Ocak 2024 | )
Programlama dili | C |
İşletim sistemi | Çoklu ortam |
Tür | Veri sıkıştırma |
Resmî sitesi | zlib.net |
Kod deposu |
|
zlib'in ilk genel sürümü olan 0.9, 1 Mayıs 1995'te libpng görüntü kitaplığıyla kullanılmak üzere tasarlanmış bir kütüphane olarak yayınlandı. zlib, zlib Lisansı ile dağıtılan bir özgür yazılımdır.
Yetenekler
Kapsülleme
zlib sıkıştırılmış verileri genellikle bir gzip veya zlib sarmalayıcısı ile yazılır. Sarmalayıcı, bir başlık ve treyler ekleyerek ham DEFLATE verisini kapsüller. Bu yöntem, ham DEFLATE versi tarafından sağlanmayan akış tanımlama ve hata algılama gibi özellikleri mümkün kılar.
Neredeyse tüm sistemlerde bulunan gzip dosya biçiminde kullanılan gzip başlığı, bir dosya adını ve diğer dosya sistemi bilgilerini sakladığı için zlib başlığından daha büyüktür.
Algoritma
Eylül 2018 itibarıyla zlib yalnızca DEFLATE ismindeki algoritmayı kullanır. Bu algoritma çok az sistem kullanımı ile iyi miktarda sıkıştırma sağlar. Algoritma ayrıca Zip arşiv formatında kullanılmaktadır. Algoritmanın başlığı, başka algoritmalar ile uyumlu olmasına karşın şu ana kadar hiçbir başka algoritmaya ihtiyaç duyulmamıştır.
Kaynak kullanımı
zlib, işlemci ve bellek kullanımının denetimi için bir takım kolaylıklar sağlar. Sıkıştırma hızını belirlemek için sıkıştırma seviyesiyle oynamak mümkündür. Ayrıca, bazı gömülü sistemler gibi kısıtlı bellek ortamlarında yararlı olan bellek muhafaza tesisleri de vardır.
Strateji
Sıkıştırma, belirli veri türleri için biçimlendirilebilir. Kütüphane belirli veri türlerini her zaman sıkıştırmak için kullanılıyorsa belirli bir strateji kullanmak sıkıştırmayı ve performansı artırabilir. Örneğin, eğer veri uzun ve tekrar eden byte'lar içeriyorsa run-lenght encoding (RLE) stratejisi daha yüksek hızlar için iyi sonuçlar verebilir. Umumi veriler için ise varsayılan strateji tercih edilir.
Hata yönetimi
Sıkıştırılmış verilerdeki hatalar tespit edilebilir ve atlanabilir. Ayrıca, sıkıştırılmış akışa "tam yıkama" noktaları yazılırsa bozuk veriler atlanabilir ve açma bir sonraki yıkama noktasında yeniden senkronize edilir. - Bozuk verilerin herhangi bir hata kurtarması sağlanmamasına rağmen. Tam yıkama noktaları, çeşitli çoklu medya uygulamalarında olduğu gibi bazı veri kayıplarının önemsiz olduğu güvenilir olmayan kanallardaki büyük veri akışları için kullanışlıdır. Ancak, birçok yıkama noktası oluşturmak, sıkıştırma miktarını (oranını) etkilediği kadar hızı da etkileyebilir.
Veri uzunluğu
Sıkıştırılabilen veya açılabilen veri uzunluğu için herhangi bir sınırlama yoktur. Kütüphaneye yapılan tekrarlı çağrılar, sınırsız sayıda veri bloğunun işlenmesine izin verir. Bazı yardımcı kodlar (sayaçlar), uzun veri akışları için taşmadan muzdarip olabilir; ancak bu, gerçek sıkıştırma veya açma işlemlerini etkilemez.
Uzun (veya sonsuz) bir veri akışını sıkıştırırken düzenli tam boşaltma noktalarının yazılması önerilir.
Uygulamalar
Günümüzde zlib, DEFLATE algoritmasını kullanan binlerce uygulama ile fiili bir standarttır. Bu uygulamalardan en ünlüleri şu şekilde sıralanabilir:
- Linux çekirdeği
- ve GNU Debugger
- Apache HTTP Sunucusu
- cURL
- OpenSSH
- OpenSSL ve GnuTLS
- FFmpeg
- rsync
- dpkg
- Apache Subversion ve CVS sürüm yönetim sistemi
- Git sürüm yönetim sistemi
- PostgreSQL'in RDBMS sistemi
- .NET Framework'deki class System.IO.Compression.DeflateStream
- VxWorks işletim sisteminin parçası olan TORNADO'daki "deflate" sistemi
zlib ayrıca özgür yapısı sayesinde Apple'ın İPhone ve Sony'nin PlayStation marka cihazlarında kullanılmaktadır.
Ayrıca bakınız
- DEFLATE
- gzip
- LZ77 ve LZ78 § LZ77
- Zip (dosya biçimi)
- zlib Lisansı
Kaynakça
- ^ zlib Applications, 18 Nisan 2002, 10 Haziran 2019 tarihinde kaynağından , erişim tarihi: 4 Mart 2021
Dış bağlantılar
- Resmî site
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
zlib veri sikistirma icin kullanilan Jean loup Gailly ve Mark Adler tarafindan yazilmis olan kutuphane yine onlarin yazdigi gzip dosya sikistirma programinda kullanilan DEFLATE algoritmasinin soyutlanmis halidir zlib ayrica Linux MacOS ve IOS gibi bircok yazilimin kritik bir parcasidir PlayStation 4 PlayStation 3 Wii U Wii Xbox One ve Xbox 360 gibi oyun konsollarinda da zlib kutuphanesi kullanilmaktadir zlibIlk yayinlanma1 Mayis 1995 1995 05 01 Guncel surum1 3 1 22 Ocak 2024 5 ay once 2024 01 22 Programlama diliCIsletim sistemiCoklu ortamTurVeri sikistirmaResmi sitesizlib netKod deposugithub com madler zlib zlib in ilk genel surumu olan 0 9 1 Mayis 1995 te libpng goruntu kitapligiyla kullanilmak uzere tasarlanmis bir kutuphane olarak yayinlandi zlib zlib Lisansi ile dagitilan bir ozgur yazilimdir YeteneklerKapsulleme zlib sikistirilmis verileri genellikle bir gzip veya zlib sarmalayicisi ile yazilir Sarmalayici bir baslik ve treyler ekleyerek ham DEFLATE verisini kapsuller Bu yontem ham DEFLATE versi tarafindan saglanmayan akis tanimlama ve hata algilama gibi ozellikleri mumkun kilar Neredeyse tum sistemlerde bulunan gzip dosya biciminde kullanilan gzip basligi bir dosya adini ve diger dosya sistemi bilgilerini sakladigi icin zlib basligindan daha buyuktur Algoritma Eylul 2018 itibariyla zlib yalnizca DEFLATE ismindeki algoritmayi kullanir Bu algoritma cok az sistem kullanimi ile iyi miktarda sikistirma saglar Algoritma ayrica Zip arsiv formatinda kullanilmaktadir Algoritmanin basligi baska algoritmalar ile uyumlu olmasina karsin su ana kadar hicbir baska algoritmaya ihtiyac duyulmamistir Kaynak kullanimi zlib islemci ve bellek kullaniminin denetimi icin bir takim kolayliklar saglar Sikistirma hizini belirlemek icin sikistirma seviyesiyle oynamak mumkundur Ayrica bazi gomulu sistemler gibi kisitli bellek ortamlarinda yararli olan bellek muhafaza tesisleri de vardir Strateji Sikistirma belirli veri turleri icin bicimlendirilebilir Kutuphane belirli veri turlerini her zaman sikistirmak icin kullaniliyorsa belirli bir strateji kullanmak sikistirmayi ve performansi artirabilir Ornegin eger veri uzun ve tekrar eden byte lar iceriyorsa run lenght encoding RLE stratejisi daha yuksek hizlar icin iyi sonuclar verebilir Umumi veriler icin ise varsayilan strateji tercih edilir Hata yonetimi Sikistirilmis verilerdeki hatalar tespit edilebilir ve atlanabilir Ayrica sikistirilmis akisa tam yikama noktalari yazilirsa bozuk veriler atlanabilir ve acma bir sonraki yikama noktasinda yeniden senkronize edilir Bozuk verilerin herhangi bir hata kurtarmasi saglanmamasina ragmen Tam yikama noktalari cesitli coklu medya uygulamalarinda oldugu gibi bazi veri kayiplarinin onemsiz oldugu guvenilir olmayan kanallardaki buyuk veri akislari icin kullanislidir Ancak bircok yikama noktasi olusturmak sikistirma miktarini oranini etkiledigi kadar hizi da etkileyebilir Veri uzunlugu Sikistirilabilen veya acilabilen veri uzunlugu icin herhangi bir sinirlama yoktur Kutuphaneye yapilan tekrarli cagrilar sinirsiz sayida veri blogunun islenmesine izin verir Bazi yardimci kodlar sayaclar uzun veri akislari icin tasmadan muzdarip olabilir ancak bu gercek sikistirma veya acma islemlerini etkilemez Uzun veya sonsuz bir veri akisini sikistirirken duzenli tam bosaltma noktalarinin yazilmasi onerilir UygulamalarGunumuzde zlib DEFLATE algoritmasini kullanan binlerce uygulama ile fiili bir standarttir Bu uygulamalardan en unluleri su sekilde siralanabilir Linux cekirdegi ve GNU Debugger Apache HTTP Sunucusu cURL OpenSSH OpenSSL ve GnuTLS FFmpeg rsync dpkg Apache Subversion ve CVS surum yonetim sistemi Git surum yonetim sistemi PostgreSQL in RDBMS sistemi NET Framework deki class System IO Compression DeflateStream VxWorks isletim sisteminin parcasi olan TORNADO daki deflate sistemi zlib ayrica ozgur yapisi sayesinde Apple in IPhone ve Sony nin PlayStation marka cihazlarinda kullanilmaktadir Ayrica bakinizDEFLATE gzip LZ77 ve LZ78 LZ77 Zip dosya bicimi zlib LisansiKaynakca zlib Applications 18 Nisan 2002 10 Haziran 2019 tarihinde kaynagindan erisim tarihi 4 Mart 2021 Dis baglantilarResmi site