İçeriğe atla

YAFFS

YAFFS (Yet Another Flash File System) Yeni Zelanda'daki Whitecliffs şehrinden Charles Manning tarafından Aleph One şirketi için tasarlanmış ve yazılmış bir dosya sistemi türüdür.

Yaffs1, bu dosya sisteminin ilk sürümüdür ve 512 bayt boyutlu (+ 16 byte yedek (OOB; Out-of-Band) alana sahip o andaki NAND yongaları için tasarlanmıştır.[1] İş 2002 yılında başladı ve ilk o yıl serbest bırakıldı. İlk çalışma Toby Churchill Ltd ve Brightstar Engineering tarafından finanse edildi.

Bu eski mikroçip genelde sayfa başına 2 veya 3 yazma döngüsüne izin verir. YAFFS bunun avantajlarından yararlanır: kirli sayfalar, belirli bir yedek alan baytına yazarak işaretlenir. Yeni NAND flaş çipleri, daha sıkı yazma gereksinimleri olan daha büyük sayfalara, ilk 2K sayfaya (+ 64 bayt OOB), daha sonra 4K'ya sahiptir. Bir silme bloğu içindeki her sayfa (128 kilobayt) sıralı sırada yazılmalıdır ve her sayfanın yalnızca bir kez yazılması gerekir.[2]

YAFFS2 bu yeni yongaları barındıracak şekilde tasarlandı. YAFFS1 kaynak koduna dayanıyordu; büyük fark, iç yapıların 512 bayt boyutlandırmanın varsayacak şekilde sabitlenmemesi ve her yazılı sayfaya bir blok sıra numarası yerleştirilmesiydi.[3] Bu şekilde, daha eski sayfalar "bir kez yaz" kuralı ihlal edilmeden mantıksal olarak üzerine yazılabilir. 2003 yılının sonlarında serbest bırakıldı.

YAFFS veri bütünlüğü yüksek önceliğe sahip tutan güçlü bir günlük yapılı dosya sistemidir. İkinci bir YAFFS hedefi yüksek performansdır. YAFFS, çoğu alternatifi geçemez. Ayrıca taşınabilir olacak şekilde tasarlanmıştır ve Linux, Windows CE, pSOS, ECos, ThreadX ve çeşitli özel amaçlı OS'lerde kullanılmıştır.[4] Bir varyant olan 'YAFFS / Direct', gömülü sistem'ler veya bootloader bulunmayan durumlarda kullanılır: aynı çekirdek dosya sistemine sahiptir, ancak hem üst hem de alt düzey koda ve NAND flash donanımına daha basit arayüze sahiptir.

YAFFS kod tabanı, hem GNU Genel Kamu Lisansı kapsamında hem de Aleph One'dan edinilen her bir ürün lisansı altında lisanslıdır.

YAFFS1

YAFFS dosya sistemini basitçe flaş hafızasını silmenin ötesinde başlatmak için özel bir prosedür yoktur. Kötü bir blokla karşılaşıldığında YAFFS, bloğun yedek alanının beşinci baytını işaretleyen akıllı ortam şemasını izler. Bu şekilde işaretlenmiş bloklar, bundan sonra ayrılmamış olarak kalır.[5]

Dosya verileri yazmak için, YAFFS başlangıçta Zaman Damgası, ad, yol gibi dosya meta verilerini açıklayan bütün bir sayfada (YAFFS terminolojisinde yığınlar) yazar. Yeni dosyaya benzersiz bir nesne kimlik numarası atanır; dosyadaki her veri yığını, yedek alan içindeki bu benzersiz nesne kimliğini içerecektir.[6] YAFFS, bu parçaların fiziksel konumunun RAM'da bir ağaç yapısını korur. Bir yığın artık geçerli değilse (dosya silinir veya dosyanın bir kısmı üzerine yazılır), YAFFS, yığının yedek alanındaki belirli bir bayt'ı 'kirli' olarak işaretler. Bir blok (32 sayfa) kirli olarak işaretlendiğinde YAFFS bloğu silebilir ve alanı geri alabilir. Dosya sisteminin boş alanı düşük olduğunda, YAFFS bir grup iyi sayfayı yeni bir bloğa birleştirir. YAFFS daha sonra, orijinal blokların her birindeki kirli sayfaların kullandığı alanı geri ister.

YAFFS sistemi NAND flaş aygıtı taktığında, yedek alanını tarayarak geçerli verileri kontrol etmek için her bloğu ziyaret etmelidir. Bu bilgilerle birlikte, bellekte yerleşik ağaç veri yapısını yeniden yapılandırır.

YAFFS2

YAFFS2 kendi kavramında YAFFS1'e benzer ve aynı kodun çoğunu paylaşıyor; YAFFS2 kod tabanı YAFFS1 veri formatlarını geriye dönük uyumluluk ile destekler. Temel fark, YAFFS2'nin modern NAND flaşının "bir kez yaz" gerekliliğini karşılamak için önemli çemberleri atlaması gerektiğidir.[7]

YAFFS2, her yeni yazılmış bloğu, monoton olarak artan bir sıra numarası ile işaretler. Parçaların dizisi, blok sıra numarası ve blok içindeki parçanın ofsetinden çıkarılabilir. Böylece, YAFFS2 flaşı taradığında ve aynı ObjectIDs ve ChunkNumbers'a sahip birden fazla parçayı tespit ettiğinde, en büyük sıra numarasını alarak hangisini kullanacağını seçebilir.[8] Verimlilik sebeplerinden dolayı, YAFFS2 ayrıca shrink başlıkları kavramını da getirmektedir. Örneğin, bir dosya daha küçük bir boyuta yeniden boyutlandırıldığında, YAFFS1 etkilenen parçaların hepsini kirli olarak işaretleyecektir - YAFFS2 bunu "bir kez yaz" kuralı nedeniyle yapamaz. Bunun yerine, YAFFS2, o noktadan önceki belirli sayıda sayfanın geçersiz olduğunu belirten bir "shrink başlığı" yazar. Bu, YAFFS2'nin sistem yeniden başlatıldığında dosya sisteminin son durumunu yeniden yapılandırmasını sağlar.[9]

YAFFS2, NAND flaşın daha soyut bir tanımını kullanır ve farklı geometrilere sahip daha çeşitli flash parçaları, kötü blok kullanım kuralları vb. ile kullanılmasını sağlar.[10]

YAFFS2 daha sonra normal takma taramayı atlayan, çok hızlı montaj sürelerine izin veren kontrol noktası desteği ekledi. Performans değişir, ancak 2 GB için 3 saniyelik montaj süresi bildirilmiştir.

Kaynakça

  1. ^ "Arşivlenmiş kopya". 9 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  2. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  3. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  4. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  5. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  6. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  7. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  8. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  9. ^ "Arşivlenmiş kopya". 30 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 
  10. ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Şubat 2018. 

Dış bağlantılar

Ayrıca bakınız

  • JFFS
  • JFFS2
  • UBIFS
  • LogFS

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

<span class="mw-page-title-main">Sabit disk sürücüsü</span> veri depo cihazı

Sabit disk ya da Hard disk kısaca HDD ya da Türkçesi ile sabit disk sürücüsü veri depolanması amacı ile kullanılan manyetik kayıt ortamlarıdır. Önceleri büyük boyutları ve yüksek fiyatları nedeni ile sadece bilgisayar merkezlerinde kullanılan sabit diskler, cep telefonları ve sayısal fotoğraf makineleri içine sığabilecek kadar küçülen boyutları ile günlük hayatımıza girmişlerdir.

<span class="mw-page-title-main">Unicode</span> endüstri standartı

Unicode Unicode Consortium organizasyonu tarafından geliştirilen ve her karaktere bir sayı değeri karşılığı atayan bir endüstri standardıdır. Sistemin amacı farklı karakter kodlama sistemlerinin birbiriyle tutarlı çalışmasını ve dünyadaki tüm yazım sistemlerinden metinlerin bilgisayar ortamında tek bir standart altında temsil edilebilmesini sağlamaktır. Evrensel Karakter Kümesi (UCS) olarak bilinen ISO/IEC 10646 standardı ise, her iki organizasyonun işbirliği ile aynı sayısal karşılıkları taşımaktadır. Unicode, son sürümü itibarıyla 129 farklı modern ve tarihî yazım sistemine ait 120.000'den fazla karakteri ve emoji gibi çeşitli sembol kümelerini kapsamaktadır.

macOS, Macintosh işletim sistemi ailesinin son sürümüdür ve Apple tarafından Macintosh bilgisayarları için tasarlanmış bir işletim sistemidir.

Berkeley r-komutları, bir Unix sisteminin kullanıcılarının TCP/IP bilgisayar ağı üzerinden başka bir Unix bilgisayarında oturum açmasını veya komutlar vermesini sağlamak için tasarlanmış bir bilgisayar programları paketidir. Berkeley r-komutları, 1982'de Berkeley'deki Kaliforniya Üniversitesi'ndeki Computer Systems Research Group (CSRG) tarafından, TCP/IP'nin erken uygulanmasına dayanarak geliştirildi.

CompactFlash(kısaltma CF) bir flaş bellek kart çeşididir. Bilgisayar, dijital fotoğraf makineleri ve PDA'larda kullanılmaktadır.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

Sayfalama ya da bellek adresleme, durgun sanal bellek sayfalarının ikincil bellekte (teker) saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir. Bir diğer anlamı, adres uzayının belli oranlarda bloklara ayrılmasıdır. Sayfalama, bellek mahallerine ulaşımı ve adreslemeyi kolaylaştırır. 6502 mikroişlemcili bir sistemde 65536'lık adres uzayı 256 adet 256 Baytlık hayalı sayfalara ayrılır. Genelde 6502 işlemcili sitemlerde 1. sayfa yığın olarak ayrılırken 0. sayfaya bakış tabloları veya veri blokları yerleştirilir.

<span class="mw-page-title-main">Canlı USB</span>

Canlı USB, önyüklenebilen tam bir işletim sistemi içeren taşınabilir bir USB'ye bağlı harici veri depolama aygıtıdır. Terim, USB flash sürücüleri anımsatır, ancak sırasıyla "canlı HDD" ve "canlı SSD" olarak adlandırılsalar da, harici bir sabit disk sürücüsünü veya yarıiletken sürücüyü kapsayabilir. Canlı CD'lerden sonraki evrimsel adımdır, ancak yazılabilir depolamanın ek avantajıyla, önyüklenen işletim sisteminde özelleştirmelere izin verir. Canlı USB'ler, sistem yönetimi, veri kurtarma veya test sürüşü için gömülü sistemlerde kullanılabilir ve USB cihazına ayarları kalıcı olarak kaydedebilir ve yazılım paketlerini yükleyebilir.

<span class="mw-page-title-main">Bellek Teknolojisi Aygıtı</span>

Bellek Teknolojsi Aygıtı (BTA), Linux'un flaş bellekler ile etkileşime geçebilmesi için kullanılan bir aygıt dosyasıdır. BTA alt sistemi, donanımlara ait aygıt sürücüleri ve yüksek seviye uygulamalar arasında bir soyutlama katmanı sağlamak için oluşturulmuştur. Karakter ve blok aygıtı dosyalarının daha önceden de var olsa da, anlam biçimleri flaş bellekli aygıtların çalışma prensipleriyle uyuşmamaktadır.

eMate 300 Appleın tasarladığı kişisel dijital asistan

eMate 300 Apple Computer tarafından Newton OS işletim sistemini çalıştıran düşük maliyetli bir dizüstü bilgisayar olarak eğitim pazarına tasarlanan, üretilen ve satılan bir kişisel dijital asistandır. Dahili bir klavye olan tek Newton Cihazıydı. EMate, 7 Mart 1997'de 799 ABD doları karşılığında tanıtıldı ve 27 Şubat 1998'de Apple Newton ürün grubu ve işletim sistemiyle birlikte durduruldu.

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

Apple A9X Apple tarafından tasarlanan 64 bit ARM tabanlı bir çip üzerinde sistem (SoC). İlk önce 9 Eylül 2015'te açıklanan ve 11 Kasım 2015'te piyasaya sürülen iPad Pro'da çıktı. A9X, önceki nesil nesil nesillerinde görülmeyen yeni bir yenilik olan M9 hareketli yardımcı işlemciye sahiptir. A9'un bir varyantı ve Apple'ın öncülünün 1.8 katı, önceki nesil A8X'in 2 katı GPU performansına sahip olduğunu iddia ediyor.

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

HTC HD2 HTC tarafından üretilmiş dokunmatik bir Windows Mobile aygıtıdır. HTC Touch ailesine dahildir. HTC HD2'nin söylentileri Eylül 2009'da ortaya çıkmaya başlamıştı. HD2 doğal olarak Windows Mobile 6.5 işletim sistemini çalıştırıyor ve Kasım 2009'da Avrupa'da, Aralık 2009'da Hong Kong'da ve Mart 2010'da Kuzey Amerika da dahil olmak üzere diğer bölgelerde yayımlandı. HTC Touch ve HTC Touch HD'nin devamı niteliğindeki telefonun ardılı, Windows Phone sistemli HTC HD7 modelidir.

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

Nokia N81 Nokia tarafından piyasaya sunulan Nokia N serisi'ne ait kızaklı akıllı telefon. 29 Ağustos 2007'de Nokia tarafından ilan edilerek bir sonraki ay açıklandı. S60 Symbian 9.2 sisteminde çalıştı. Nokia 6111, Nokia N76 ve Nokia N91 modellerinin devamı, Nokia N85 modelinin öncülüdür.

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.

Kriptografide, doldurma birçok farklı uygulamaya işaret eder.

<span class="mw-page-title-main">Psion Seri 3</span>

Psion Seri 3 1993 yılında sunulan, Psion Revonun öncülü olan kişisel dijital yardımcılarıdır. Psion PLC tarafından yapılmıştır. Dört ana varyant, Psion Series 3 (1991), Psion Series 3a (1993), Psion Series 3c (1996) ve tümü de 165 × 85 × 22 mm boyutlarındaki Psion Series 3mx (1998) 'dır. Buna ek olarak, rus dili için fabrika kurulu yazılımlara sahip bir Psion Series 3a çeşidi, bir Psion Series 3aR olarak adlandırıldı. Acorn Computers, Acorn Pocket Book ve Acorn Pocket Book II olarak pazarlanan Psion Series 3 ve 3a'nın yeniden oluşturulmuş bir versiyonunu sattı.

Uçucu Olmayan Dosya Sistemi (NVFS), Palm'in Kişisel Dijital Asistanı el modelleri Palm Tungsten T5, Tungsten E2, Palm TX, Z22, Treo 650/700/680 / 755p ve Palm Centro'nun piyasaya sürülmesiyle sunulan bir flash bellek dosya sistemidir.

<span class="mw-page-title-main">PlayStation 3 sistem yazılımı</span>

PlayStation 3 sistem yazılımı, PlayStation 3'ün güncellenebilir bellenimi ve işletim sistemidir. Sony'nin Playstation 3 için kullandığı taban, hem FreeBSD'nin hem de CellOS adlı NetBSD'nin bir çatalıdır. PlayStation 2 Linux'un ardılı, PlayStation 4 sistem yazılımının öncülüdür.

exFAT, Microsoft tarafından 2006 yılında tanıtılan ve USB flash sürücüler ve SD kartlar gibi flaş bellekler için optimize edilmiş bir dosya sistemidir. exFAT, Microsoft'un belirtimini yayınladığı 28 Ağustos 2019 tarihine kadar tescilliydi. Microsoft, tasarımının çeşitli unsurlarının patentlerine sahiptir.