15 1 0 4000 1 https://haktanbozer.com.tr 300

inode Nedir?

inode bir dosya veya dizin gibi bir dosya sistemi nesnesini tanımlayan Unix tarzı bir dosya sistemindeki bir veri yapısıdır. Her bir inode, nesnenin verilerinin niteliklerini ve disk blok konumlarını depolar. Dosya sistemi nesne öznitelikleri, sahip ve izin verilerinin yanı sıra meta verileri (son değişiklik, erişim, değişiklik zamanları) içerebilir.

Dizinler, inodelara atanan isimlerin listesidir. Bir dizin, kendisi, ebeveyni ve alt öğelerinin her biri için bir girdi içerir.

Linux çekirdeği posta listesinde, “inode” içindeki “i” nin nedeni hakkında belirsizlik vardı. 2002’de, soru Unix’in öncüsü Dennis Ritchie’ye getirildi ve şu cevabı verdi:
Aslında ben de bilmiyorum. Bu sadece kullanmaya başladığımız bir terimdi. “Dizin” en iyi tahminimdir, çünkü dosyaların erişim bilgilerini diskte düz bir dizi olarak depolayan ve bunun dışında kalan tüm hiyerarşik dizin bilgileri ile biraz alışılmadık dosya sistemi yapısı. Dolayısıyla, i-numarası bu dizideki bir indekstir, i-node dizinin seçilen öğesidir. (1. baskı kılavuzunda “i-” gösterimi kullanıldı; kısa çizgisi kademeli olarak düşürüldü.)

Ritchie ve Ken Thompson’ın 1978 tarihli bir makalesi, “indeks” inodların etimolojik kökeni olduğu fikrini desteklemektedir. Yazdılar:
[…] Bir dizin girişi sadece ilişkili dosya için bir isim ve dosyanın kendisine bir işaretçi içerir. Bu işaretçi, dosyanın i-numarası (dizin numarası için) olarak adlandırılan bir tamsayıdır. Dosyaya erişildiğinde, i-numarası, dizinin bulunduğu aygıtın bilinen bir bölümünde depolanan bir sistem tablosuna (i-list) bir dizin olarak kullanılır. Burada bulunan girdi (dosyanın i-node u) dosyanın açıklamasını içerir.

Ek olarak, Maurice J. Bach bir inode‘un index node teriminin bir kısaltması olduğunu ve UNIX sistemindeki literatürde yaygın olarak kullanıldığını” yazdı.

 

Detaylar

Bir dosya sistemi, o dosyanın içeriğinin aksine, dosyalar hakkındaki veri yapılarına dayanır. Birincisine meta veri adı verilir – verileri tanımlayan veriler. Her dosya, genellikle bir i-numarası veya inode numarası olarak adlandırılan bir tamsayı ile tanımlanan bir inode ile ilişkilendirilir.

Inode lar, dosya sahipliği, erişim modu (okuma, yazma, yürütme izinleri) ve dosya türü gibi dosyalar ve dizinler (klasörler) hakkındaki bilgileri depolar. Birçok eski dosya sistemi uygulamasında, dosya sistemi oluştururken maksimum inode sayısı sabittir ve dosya sisteminin tutabileceği maksimum dosya sayısını sınırlar. Bir dosya sistemindeki inode‘lar için tipik bir ayırma buluşsal yöntemi, dosya sisteminde bulunan her 2K bayt için bir inode‘dur.

İnode numarası, cihazda bilinen bir konumdaki bir inode tablosunu indeksler. İnode numarasından, çekirdeğin dosya sistemi sürücüsü, dosyanın konumu da dahil olmak üzere inode içeriğine erişebilir ve böylece dosyaya erişime izin verebilir. Bir dosyanın inode numarası ls -i komutu kullanılarak bulunabilir. Ls -i komutu, raporun ilk sütununa i-node numarasını yazdırır.

ReiserFS, btrfs ve APFS gibi bazı Unix tarzı dosya sistemleri sabit boyutlu bir inode tablosunu atlar, ancak eşdeğer yetenekler sağlamak için eşdeğer verileri depolaması gerekir. Veriler, programlara veri sağlayan istatistik sistem çağrısına referansla istatistik verileri olarak adlandırılabilir. Sabit boyutlu tabloya yaygın alternatifler arasında B ağaçları ve türetilmiş B + ağaçları bulunur.

Dosya adları ve dizin etkileri:

  • İnode‘lar, sabit bağlantı adlarını içermez, yalnızca diğer dosya meta verilerini içerir.
  • Unix dizinleri, her biri bir dosya adı ve bir inode numarası içeren ilişki yapılarının listeleridir.
  • Dosya sistemi sürücüsü, belirli bir dosya adını arayan bir dizini aramalı ve ardından dosya adını doğru karşılık gelen inode numarasına dönüştürmelidir.

İşletim sistemi çekirdeğinin bu verilerin bellek içi temsiline Linux’ta struct inode denir. BSD’den türetilen sistemler vnode terimini kullanır (“v”, çekirdeğin sanal dosya sistemi katmanını ifade eder).

 

POSIX inode açıklaması

POSIX standardı, geleneksel UNIX dosya sistemlerinden büyük ölçüde etkilenen dosya sistemi davranışını zorunlu kılar. Bir inode, bir dosya için sisteme özgü bir benzersiz tanımlayıcı olarak tanımlanan “dosya seri numarası” ifadesiyle gösterilir. Bu dosya seri numarası, dosyayı içeren cihazın cihaz kimliği ile birlikte, tüm sistem içinde dosyayı benzersiz bir şekilde tanımlar.

Bir POSIX sistemi içinde, bir dosya, stat sistem çağrısı tarafından alınabilen aşağıdaki özniteliklere sahiptir:

  • Cihaz Kimliği (bu, dosyayı içeren cihazı, yani seri numarasının benzersizlik kapsamını tanımlar).
  • Dosya seri numaraları.
  • Dosya türünü ve dosyanın sahibinin, grubunun ve diğerlerinin dosyaya nasıl erişebileceğini belirleyen dosya modu.
  • Kaç tane sabit bağlantının inode‘a işaret ettiğini belirten bir bağlantı sayısı.
  • Dosya sahibinin Kullanıcı Kimliği.
  • Dosyanın Grup Kimliği.
  • Bir cihaz dosyasıysa, dosyanın cihaz kimliği.
  • Bayt cinsinden dosyanın boyutu.
  • Zaman damgaları, inode‘un kendisinin en son ne zaman değiştirildiğini (ctime, inode değişim zamanı), dosya içeriğinin en son değiştirildiği (mtime, değişiklik zamanı) ve en son erişilen (zaman, erişim zamanı) olduğunu söyler.
  • Tercih edilen I/O blok boyutu.
  • Bu dosyaya ayrılan blok sayısı.

 

Çıkarımlar

  • Dosyaların birden çok adı olabilir. Birden fazla isim aynı inode ile sabit bağlantılıysa isimler eşdeğerdir; yani, ilk yaratılacak olanın özel bir durumu yoktur. Bu, inode (sayı) yerine orijinal isme bağlı olan sembolik bağlardan farklıdır.
  • Bir inode‘un bağlantısı olmayabilir. Bağlantısız bir dosya diskten kaldırılır ve kaynakları yeniden tahsis edilmek üzere serbest bırakılır, ancak silme işlemi, dosyayı açan tüm işlemlerin ona erişmeyi bitirmesini beklemelidir. Bu, onları yürüten işlemler tarafından dolaylı olarak açık tutulan yürütülebilir dosyaları içerir.
  • Açık bir dosyadan onu açmak için kullanılan dosya adına eşlemek genellikle mümkün değildir. İşletim sistemi, dosya adını hemen bir inode numarasına dönüştürür ve ardından dosya adını atar. Bu, getcwd () ve getwd () kitaplık işlevlerinin, çalışma diziniyle eşleşen bir inode içeren bir dosyayı bulmak için üst dizinde arama yaptığı, ardından bu dizinin üst dizinini aradığı ve kök dizine ulaşana kadar bu şekilde devam ettiği anlamına gelir. SVR4 ve Linux sistemleri, bunu mümkün kılmak için fazladan bilgi sağlar.
  • Tarihsel olarak, dizinleri sabit olarak bağlamak mümkündü. Bu, dizin yapısını, yönlendirilmiş döngüsel olmayan grafiğin aksine gelişigüzel yönlendirilmiş bir grafiğe dönüştürdü. Bir dizinin kendi üst adresi olması bile mümkündü. Modern sistemler genellikle bu kafa karıştırıcı durumu yasaklar, tek fark, kökün ebeveyninin hala kök olarak tanımlanmasıdır. Bu yasağın en önemli istisnası, süper kullanıcı tarafından dizinlerin sabit bağlantılarının oluşturulmasına izin veren Mac OS X’te (sürüm 10.5 ve üstü) bulunur.
  • Bir dosyanın inode numarası, aynı cihazdaki başka bir dizine taşındığında veya disk birleştirildiğinde aynı kalır ve bu da fiziksel konumunu değiştirebilir ve kesintisiz olarak okunup yazılırken bile taşınmasına ve yeniden adlandırılmasına izin verir. . Bu aynı zamanda, hem bir dosyanın dizin girişi hem de verileri hareket ettirildiğinde bu değişmezliği saklamanın bir yolu olmayan, FAT ve onun soyundan gelenler gibi Unix dışı birçok dosya sistemiyle tamamen uyumlu inode davranışının uygulanmasının imkansız olduğu anlamına gelir. .
  • Yeni kitaplıkların kurulumu, inode dosya sistemleri ile basittir. Çalışan bir işlem bir kitaplık dosyasına erişebilirken, başka bir işlem bu dosyanın yerini alır, yeni bir inode oluşturur ve yeni dosya için tamamen yeni bir eşleme var olur, böylece kitaplığa sonraki erişim girişimleri yeni sürümü alır. Bu özellik, halihazırda eşlenmiş kitaplıkları değiştirmek için yeniden başlatma ihtiyacını ortadan kaldırır.
  • Bir cihazın inode‘larının bitmesi mümkündür. Bu olduğunda, kullanılabilir boş alan olsa bile cihazda yeni dosyalar oluşturulamaz. Bu, birçok küçük dosya içeren posta sunucuları gibi kullanım durumlarında en yaygın olanıdır. Dosya sistemleri (JFS veya XFS gibi), dosya sistemini “büyütebilen” veya inode sayısını artırabilen kapsamlar veya dinamik inode tahsisi ile bu sınırlamadan kaçar.

 

 

Alıntıdır

Paylaş:
Ulam:Nedir?
Etiket:
Önceki Yazı
Türksat Kanal Güncelleme Sistemi Nedir?
Sıradaki Yazı
TP-Link Archer VR400 V1 Datasheet