İçeriğe atla

Zlib

zlib
zlib logo
İlk yayınlanma1 Mayıs 1995 (1995-05-01)
Güncel sürüm1.3.1 / 22 Ocak 2024 (8 ay önce) (2024-01-22)
Programlama diliC
İşletim sistemiÇoklu ortam
TürVeri sıkıştırma
Resmî sitesizlib.net
Kod deposu Bunu Vikiveri'de düzenleyin

zlib, veri sıkıştırma için kullanılan yazılım kütüphanesidir. 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.

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.[1] Bu uygulamalardan en ünlüleri şu şekilde sıralanabilir:

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

Kaynakça

  1. ^ zlib Applications, 18 Nisan 2002, 10 Haziran 2019 tarihinde kaynağından arşivlendi, erişim tarihi: 4 Mart 2021 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">C (programlama dili)</span> programlama dili

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

<span class="mw-page-title-main">Ogg</span>

Ogg ya da bir diğer yazılışıyla OGG, Xiph.org Vakfı tarafından geliştirilen açık ve özgür bir çokluortam dosya biçimidir. Yazılım patentlerinin tehdidi altında olmayan bu dosya biçimi, akışkan video için optimize edilmiş yüksek kalitede çokluortam gerçeklemeleri için geliştirilmiştir.

Veri sıkıştırma, bilgisayardaki veya belleği olan herhangi bir elektronik cihazdaki verilerin daha az yer kaplaması amacıyla sıkıştırılması anlamına gelir. Bilgisayarda, Windows işletim sistemi altında en yaygın olan veri (dosya) sıkıştırma programları WinZip ve WinRAR iken Linux sisteminde ise Gzip, Bzip2'dır.

<span class="mw-page-title-main">Bzip2</span> Sıkıştırma protokolü

bzip2 veya BZ2, Julian Seward tarafından geliştirilmiş özgür yazılım/açık kaynak kodlu yazılım veri sıkıştırma algoritmasıdır. Seward'ın geliştirdiği program 1996 yılında 0.15 sürümü ile kullanıma sunuldu. Veri sıkıştırıcısının istikrarı ve yaygın kullanımı zamanla arttı ve 1.0 sürümü 2000 yılının sonlarında çıktı.

<span class="mw-page-title-main">Portable Network Graphics</span>

PNG, "Taşınabilir Ağ Grafiği" anlamındaki (Portable Network Graphics) 'in kısaltmasıdır ve kayıpsız sıkıştırarak görüntü saklamak için kullanılan bir saklama biçimidir. PNG biçiminde paletli ya da gerçek renkte görüntüler seçimlik bir saydamlık kanalıyla saklanabilir.

WinRAR, Windows için Shareware dosya arşivleme ve veri sıkıştırma yazılımıdır. Eugene Roshal tarafından geliştirilen yazılım 1995 yılında piyasaya sürüldü ve dünyanın en popüler dosya sıkıştırma yazılımları arasındadır.

<span class="mw-page-title-main">FLAC</span> ses kodlama formatı

FLAC dijital sesin kayıpsız olarak sıkıştırılması için kullanılan bir ses kodlama formatıdır ve aynı zamanda referans kod çözümü uygulamasının adıdır. FLAC algoritması ile sıkıştırılmış sayısal ses orijinal boyutunun% 50-60'ına kadar indirgenebilir ve orijinal ses verilerinin özdeş bir kopyasına dek sıkıştırma yapabilir. Örneğin sıkıştırılmamış 1 dakikalık WAV dosyası boyutu yaklaşık 10 MB iken, FLAC dosyası 4,2-6,3 MB arasındadır.

<span class="mw-page-title-main">TIFF</span> Görüntü dosyası biçimleri serisi

Tagged Image File Format grafik, fotoğraf gibi dosyalar için kullanılan bir biçimdir. Aldus isimli şirket tarafından üretilip 1986 yılında ilk sürümü duyurulmuştur. 1994 yılında Aldus Corp ile Adobe Systems'in birleşmesinden sonra TIFF 6.0 geliştirilmiş ve birçok yeni özellikler eklenmiştir. JPEG ve PNG gibi TIFF de yüksek renk derinliği olan görüntülerde kullanılır. Photoshop, GIMP gibi görüntü işleme programları TIFF biçimini destekler.

<span class="mw-page-title-main">7-zip</span>

7-Zip, özgür ve ücretsiz bir dosya arşivleyicisidir. 7-Zip’in Komut İstemi sürümü Unix benzeri sistemler içinde düşünülmüş hatta AmigaOS bu saydıklarımıza dahil. Aynı zamanda DOS için de uyumlu DOS Portu için veya HX-DOS genişletişicisi ile Windows komut İstemcisi'nde çalıştırılabilir. 7-zip, temel olarak 7z arşiv biçiminde çalışsa da, diğer arşiv biçimlerini de okuyabilme yetisine sahiptir. Kullanıcı yazılımın çizgesel (grafiksel) ara yüzü ile işlem yapabileceği gibi direkt komut satırından da yazılımı çalıştırarak işlem yapabilir ya da yazılıma Windows Shell ortamı benzeri platformlarla da denetim sağlanabilir. 2000 senesinde çalışmalarına başlanan 7-Zip, Igor Pavlov tarafından geliştirildi. Pazarın hâkimiyetini elinde tutan ticari rakiplerine WinZip ve WinRAR a karşı olarak ürün özgür GNU LGPL lisansı altında dağıtılmaya başlandı. Sonuç olarak ortaya ciddi bir alternatif olarak özgür ve ücretsiz bir yazılım çıktı.

<span class="mw-page-title-main">TAR (dosya biçimi)</span>

TAR ya da bir başka deyişle tarball, açık kaynak kodlu bir belge sıkıştırma ve arşivleme biçimidir.

<span class="mw-page-title-main">Kayıpsız veri sıkıştırma</span>

Kayıpsız veri sıkıştırma belirli veri sıkıştırma algoritmalarını kullanarak var olan özgün veriyi sıkıştırılmış veri olarak yeniden oluşturma işlemidir. Kayıpsız terimi herhangi bir kalite veya veri kaybı olmadan özgün veriyi tekrar elde edebilecek şekilde sıkıştırmaktır. Eğer hedef kalite veya geri dönüştürebilme değilse kayıplı veri sıkıştırma yöntemi de kullanılabilir.

Rsync, Unix ve Windows sistemleri için bir uygulama yazılımıdır.

cat (Unix) komut satırı programı

cat, dosyaları sırasıyla okuyan ve standart çıktıya yazan POSIX standartlı bir Unix komutudur.

<span class="mw-page-title-main">PlayStation Vita</span>

PlayStation Vita, Sony Interactive Entertainment tarafından geliştirilen ve pazarlanan bir el tipi oyun konsoludur. İlk olarak 17 Aralık 2011'de Japonya'da, ardından 22 Şubat 2012'de Kuzey Amerika, Avrupa ve diğer uluslararası bölgelerde piyasaya sürüldü. Bu konsol, PlayStation Portable'ın halefi ve PlayStation markasının bir parçasıdır; sekizinci nesil video oyun konsollarının bir parçası olarak, Nintendo 3DS ile başlıca rekabet etmiştir.

<span class="mw-page-title-main">ClamAV</span>

ClamAV, Genel Kamu Lisansı ile lisanslanmış çoklu platform destekli bir antivirüs yazılımıdır. Otomatik virüs veritabanı güncelleme özelliğine sahiptir. Daha çok Unix temelli sistemler için tasarlanmaya başlanmış olmakla birlikte Windows, Mac OS X ortamlarında da kullanılabilmektedir.

zram, RAM'de, diğer bir deyişle bir RAM sürücüsünde sıkıştırılmış bir blok aygıtı oluşturmak ve anında "disk" sıkıştırması için bir Linux çekirdek modülü - yüklenebilir çekirdek modülüdür. Zram ile oluşturulan blok aygıtı daha sonra takas veya genel amaçlı RAM diski olarak kullanılabilir. Zram için en yaygın kullanılan iki dosya, geçici dosyaları depolamak ve takas "disk" olarak kullanmaktır. Başlangıçta, zram yalnızca ikinci fonksiyona sahipti, bu nedenle orijinal adı "compcache" idi.

<span class="mw-page-title-main">Xbox 360 sistem yazılımı</span> yükseltilebilir yazılım ve işletim sistemi

Xbox 360 sistem yazılımı veya Xbox 360 Dashboard, Xbox 360 için güncellenebilir bir yazılım ve işletim sistemidir. Daha önce 16 MB'lık bir dosya sisteminde bulunuyordu. Xbox One sistem yazılımının öncülü idi. Bununla birlikte, NXE Güncellemesi ile başlayarak, bir Sabit Sürücü takılıyken veya konsolun içine yerleştirilmiş yeterli flash depolama alanıyla konsolun daha sonraki revizyonlarından biriyle düzeltilen daha fazla depolama alanı bir gereklilik haline geldi. Sistem yazılımı, en fazla 32 MB sistem belleğine erişebilir, aksi takdirde Rastgele Erişim Belleği (RAM) olarak bilinir. Güncellemeler, Xbox Live hizmetinden doğrudan Xbox 360'a indirilebilir ve daha sonra yüklenebilir. Microsoft ayrıca, sistem yazılımı güncellemelerini kendi resmi Xbox web sitelerinden PC'lerine ve ardından güncellemenin sisteme yüklenebileceği depolama ortamlarına indirme olanağı da sağlamıştır.

PlayStation Portable sistem yazılımı, PlayStation Portable için resmi bir ürün yazılımıdır. PocketStation'un ardılı, PlayStation Vita sistem yazılımının öncülü oldu. LiveArea'yı grafik kabuğu olarak kullanır. PlayStation 3 konsoluna benzer şekilde XrossMediaBar'ı (XMB) kullanıcı arayüzü olarak kullanır. Güncellemeler, PlayStation Portable homebrew uygulamalarının ve eklentilerinin sistemde yürütülmesini önlemek için yeni güvenlik fonksiyonlarının yanı sıra güvenlik yamalarını da ekler. Güncellemeler dört şekilde elde edilebilir:

Nintendo 3DS sistem yazılımı, Nintendo, Nintendo IRD, Nintendo SPD, Nintendo SDD tarafından yaratılan, Nintendo 3DS video oyun konsolları ailesinde bulunan bir dizi güncellenebilir ürün yazılımı sürümü ve yazılımıdır. Nintendo DSi sistem yazılımının ardılıdır. Sistemin İnternet bağlantısı üzerinden indirilen güncellemeler, Nintendo'nun özellikler ve yazılım ekleyip kaldırmasına izin verir. Tüm güncellemeler ayrıca önceki güncellemelerdeki tüm değişiklikleri de içerir.

Bilişim ve haberleşmede, bit akışı veya ikili değer dizesi, bir bitler dizesidir.