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. İş 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.
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. 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. 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.
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. 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.
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. 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.
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.
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
- ^ "Arşivlenmiş kopya". 9 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 30 Eylül 2015 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
- ^ "Arşivlenmiş kopya". 4 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 4 Şubat 2018.
Dış bağlantılar
Ayrıca bakınız
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
YAFFS Yet Another Flash File System Yeni Zelanda daki Whitecliffs sehrinden Charles Manning tarafindan Aleph One sirketi icin tasarlanmis ve yazilmis bir dosya sistemi turudur Yaffs1 bu dosya sisteminin ilk surumudur ve 512 bayt boyutlu 16 byte yedek OOB Out of Band alana sahip o andaki NAND yongalari icin tasarlanmistir Is 2002 yilinda basladi ve ilk o yil serbest birakildi Ilk calisma Toby Churchill Ltd ve Brightstar Engineering tarafindan finanse edildi Bu eski mikrocip genelde sayfa basina 2 veya 3 yazma dongusune izin verir YAFFS bunun avantajlarindan yararlanir kirli sayfalar belirli bir yedek alan baytina yazarak isaretlenir Yeni NAND flas cipleri daha siki yazma gereksinimleri olan daha buyuk sayfalara ilk 2K sayfaya 64 bayt OOB daha sonra 4K ya sahiptir Bir silme blogu icindeki her sayfa 128 kilobayt sirali sirada yazilmalidir ve her sayfanin yalnizca bir kez yazilmasi gerekir YAFFS2 bu yeni yongalari barindiracak sekilde tasarlandi YAFFS1 kaynak koduna dayaniyordu buyuk fark ic yapilarin 512 bayt boyutlandirmanin varsayacak sekilde sabitlenmemesi ve her yazili sayfaya bir blok sira numarasi yerlestirilmesiydi Bu sekilde daha eski sayfalar bir kez yaz kurali ihlal edilmeden mantiksal olarak uzerine yazilabilir 2003 yilinin sonlarinda serbest birakildi YAFFS veri butunlugu yuksek oncelige sahip tutan guclu bir gunluk yapili dosya sistemidir Ikinci bir YAFFS hedefi yuksek performansdir YAFFS cogu alternatifi gecemez Ayrica tasinabilir olacak sekilde tasarlanmistir ve Linux Windows CE pSOS ECos ThreadX ve cesitli ozel amacli OS lerde kullanilmistir Bir varyant olan YAFFS Direct gomulu sistem ler veya bootloader bulunmayan durumlarda kullanilir ayni cekirdek dosya sistemine sahiptir ancak hem ust hem de alt duzey koda ve NAND flash donanimina daha basit arayuze sahiptir YAFFS kod tabani hem GNU Genel Kamu Lisansi kapsaminda hem de Aleph One dan edinilen her bir urun lisansi altinda lisanslidir YAFFS1YAFFS dosya sistemini basitce flas hafizasini silmenin otesinde baslatmak icin ozel bir prosedur yoktur Kotu bir blokla karsilasildiginda YAFFS blogun yedek alaninin besinci baytini isaretleyen akilli ortam semasini izler Bu sekilde isaretlenmis bloklar bundan sonra ayrilmamis olarak kalir Dosya verileri yazmak icin YAFFS baslangicta Zaman Damgasi ad yol gibi dosya meta verilerini aciklayan butun bir sayfada YAFFS terminolojisinde yiginlar yazar Yeni dosyaya benzersiz bir nesne kimlik numarasi atanir dosyadaki her veri yigini yedek alan icindeki bu benzersiz nesne kimligini icerecektir YAFFS bu parcalarin fiziksel konumunun RAM da bir agac yapisini korur Bir yigin artik gecerli degilse dosya silinir veya dosyanin bir kismi uzerine yazilir YAFFS yiginin yedek alanindaki belirli bir bayt i kirli olarak isaretler Bir blok 32 sayfa kirli olarak isaretlendiginde YAFFS blogu silebilir ve alani geri alabilir Dosya sisteminin bos alani dusuk oldugunda YAFFS bir grup iyi sayfayi yeni bir bloga birlestirir YAFFS daha sonra orijinal bloklarin her birindeki kirli sayfalarin kullandigi alani geri ister YAFFS sistemi NAND flas aygiti taktiginda yedek alanini tarayarak gecerli verileri kontrol etmek icin her blogu ziyaret etmelidir Bu bilgilerle birlikte bellekte yerlesik agac veri yapisini yeniden yapilandirir YAFFS2YAFFS2 kendi kavraminda YAFFS1 e benzer ve ayni kodun cogunu paylasiyor YAFFS2 kod tabani YAFFS1 veri formatlarini geriye donuk uyumluluk ile destekler Temel fark YAFFS2 nin modern NAND flasinin bir kez yaz gerekliligini karsilamak icin onemli cemberleri atlamasi gerektigidir YAFFS2 her yeni yazilmis blogu monoton olarak artan bir sira numarasi ile isaretler Parcalarin dizisi blok sira numarasi ve blok icindeki parcanin ofsetinden cikarilabilir Boylece YAFFS2 flasi taradiginda ve ayni ObjectIDs ve ChunkNumbers a sahip birden fazla parcayi tespit ettiginde en buyuk sira numarasini alarak hangisini kullanacagini secebilir Verimlilik sebeplerinden dolayi YAFFS2 ayrica shrink basliklari kavramini da getirmektedir Ornegin bir dosya daha kucuk bir boyuta yeniden boyutlandirildiginda YAFFS1 etkilenen parcalarin hepsini kirli olarak isaretleyecektir YAFFS2 bunu bir kez yaz kurali nedeniyle yapamaz Bunun yerine YAFFS2 o noktadan onceki belirli sayida sayfanin gecersiz oldugunu belirten bir shrink basligi yazar Bu YAFFS2 nin sistem yeniden baslatildiginda dosya sisteminin son durumunu yeniden yapilandirmasini saglar YAFFS2 NAND flasin daha soyut bir tanimini kullanir ve farkli geometrilere sahip daha cesitli flash parcalari kotu blok kullanim kurallari vb ile kullanilmasini saglar YAFFS2 daha sonra normal takma taramayi atlayan cok hizli montaj surelerine izin veren kontrol noktasi destegi ekledi Performans degisir ancak 2 GB icin 3 saniyelik montaj suresi bildirilmistir Kaynakca Arsivlenmis kopya 9 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 30 Eylul 2015 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Arsivlenmis kopya 4 Subat 2018 tarihinde kaynagindan Erisim tarihi 4 Subat 2018 Dis baglantilarAyrica bakiniz