Archive for Temmuz, 2007

Unix Dosya Sistemleri

Temmuz 24, 2007

Merhaba Google ile aramın bozulmasından sonra yazdığım ilk yazı bu.Bu yazıda Unix tabanlı işletim sistemlerinde kullanılan dosya sistemlerinden bahsedeceğim.Şimdiye kadar pek çok dosya sistemi geliştirldi ama ben ağırlıklı olarak Linux’ta kullanılanlar ile en önemlilerine yer vermeye çalışacağım.Öncelikle dosya sistemi nedir öncelikle onu anlatayım.

Dosya Sistemi Nedir?(http://belgeler.org/sag/sag_fs-whatis.html)

Dosya sistemi disk üzerindeki dosyaların organize edilmesidir. Bir işletim sisteminin bir disk veya bölümleri üzerindeki dosyalarının izlerini bulmak için kullandığı yapı ve yönteme dosya sistemi (filesystem) denir. Ayrıca dosya sistemi terimi, dosyaların veya dosya sistemlerinin depolandığı bir disk veya disk üzerindeki bir bölümü tanımlamak için de kullanılabilir. Bu nedenle birisi “ben iki adet dosya sistemine sahibim” derken; aslında disk üzerinde her birinde dosyaların tutulduğu, iki adet bölüme veya ek bir disk bölümüne sahip olduğu anlaşılmalıdır.

Bir disk veya disk bölümü ile dosya sistemi arasındaki farklılık ne ihtiva ediyor olduğuna göre önem arz eder. Çok az program işlenmemiş disk veya bölüm yüzeyinde işlem yapabilir. Buna dosya sistemi yapabilen programlar dahildir. Şayet orada bir dosya sistemi var ise bu programların kullanılması sonucu silinir veya büyük ölçüde hasar görürler. Pek çok program ise dosya sistemleri üzerinde çalışır; olmayan veya yanlış parametreler içeren bölümler üzerinde çalışamazlar. Genelde dosya sistemi olmayan bir disk yüzeyinde bir program çalışmaz. Programların çalışması için bir dosya sistemine ihtiyaç vardır; dosya sistemlerinin olabilmesi için de bir disk veya disk bölümüne ihtiyaç duyulur.
Bir disk veya disk bölümü dosya sistemi olarak kullanılmadan önce, disk yüzeyi ilk haline döndürülmeli ve gerekli bilgiler diske yazılmalıdır. Bu işlem dosya sistemi oluşturma olarak adlandırılır.
Pek çok Unix dosya sistemi küçük farklılıklar dışında benzer bir genel yapıya sahiptirler. Genel kavramlar olarak superblok, dosya düğümü (inode), veri bloğu, dizin bloğu ve dolaylı blok sayılabilir. Superblok, dosya sisteminin bütünü hakkında bilgi içerir. Aslında bu dosya sistemlerine göre değişiklik gösterebilir. Dosya sisteminin boyutu gibi bilgiler burada yer alır. Dosya düğümü ise bir dosya hakkında, ismi hariç, bütün bilgileri ihtiva eder. Dosya ismi dizin içinde dosya düğümünün numarası ile birlikte yer alır. Bir dizin girişi; dosya ismine ve bu dosyanın yer aldığı dosya düğümünün numarasına bağlıdır. Dosya düğümü; dosyalardaki bilgileri depolamak için kullanılan veri bloklarının numaralarını içerir. Dosya düğümü içinde birkaç tane veri bloğu numarası için yer vardır. Bununla beraber dha fazla yere ihtiyaç olursa dinamik bir yapıyla bu yeni yer ayrılır. Bu dinamik yerleştirilmiş bloklar dolaylı bloklardır. Bu veri bloklarını bulmak için önce dolaylı veri bloklarının numaralarını bulmamız gerekir.
Unix dosya sistemleri genellikle lseek() sistem çağrısı vasıtası ile bir dosya içerisinde delik oluşturulmasına izin verirler. Burada dosya sistemi, dosya içerisindeki özel bir alanda sanki sıfır byte varmış gibi davranır. Aslında dosya içerisinde bunun için ayrılmış bir disk sektörü yoktur (disk üzerinde daha az yer kaplanmış olur). Bu olay genellikle küçük çalıştırılabilir dosyalar, paylaşılmış Linux kütüphaneleri, bazı veri tabanları ve bazı özel durumlarda sık sık ortaya çıkar. Delikler dolaylı bloklardaki veya dosya düğümü içindeki veri bloklarının adresleri gibi özel değerler verilerek kullanılırlar. Bu özel adresler, dosyanın bahsi geçen bölümü için her hangi bir veri bloğunun ayrılamamış olduğunu, orada bir delik bulunduğunu gösterir.

Minix Dosya Sistemi

En eski dosya sistemidir.Linus Torvalds’ın Linux’un ilk kodlarını yazarken kullandığı işletim sistemi Minix’tir.Minix dosya sistemi son derece kısıtlı yeteneklere sahip fakat çok güvenlidir.Öyle ki en fazla 64 MB’lik dosya sistemini destekler en fazla 30 karakterlik dosya adları olabilir arasıra tarih ve zaman damgaları kaybolabilir.

XIA Dosya Sistemi

Minix dosya sisteminin geliştirilmiş halidir.Dosya boyutu sınırlaması kaldırılmıştır karakter uzunluğu sınırlaması yoktur.Fakat bunların dışında bir yenilik yok benim bildiğim kadarıyla.Pek popüler değil ama çok iyi çalıştığı bildiriliyormuş.

EXT2

Denilene göre en yetenekli Linux dosya sistemidir.İleriye dönük olarak tasarlanmıştır.Son derece hızlı olduğu söyleniyor. Evet bu doğrudur. EXT2 gerçekten hızlı bir yapıya sahiptir. Ancak bir laf vardır “HIZ ÖLDÜRÜR!”. Gerçekten de EXT2 ölümcül hatalara, hayati derecede önemli verilerin belkide kurtarılamayacak hale gelmesine sebep olabilir.Çünkü unmount olmadan ayrılan Makine kapatılırsa ortaya çıkabiliecek hataları düzeltmekte zorlanabilrsiniz.Hızın sebebide budur zaten yani journaled olmaması…(günlükleme)

EXT3

Ext2 dosya sisteminin geliştirilmiş halidir.Günlükleme özelliği eklenmiştir.böylece eğer sistem çökerese bu özellik sayesinde sistemden veri kurtarmak daha kolay olur ve performans artışı sağlanır.

Reiserfs

Çok gelişmiş ve sağlam bir dosya sistemidir.Günlükleme özelliğine sahiptir.Günlükleme dosya ve dizinler üzerinde yapılan işlerin bir kaydının tutulmasıdır.Bu özellik veri kurtarmayı kolaylaştırır.

Linux’la kalın


 

 

Linux Maceram Nasıl Başladı?

Temmuz 20, 2007

Yıl 2001 ben bilgisayar denilen büyülü cihazla daha yeni yeni tanışıyorum.

O yıllarda Windows 98 piyasanın kralı durumunda.Bende başladım Windowsla.Birgün dayım bana bir CHIP dergisi aldı.Dergi önceki ayda Gelecek Linux 1.0 vermişti,tabii elimdeki sayıdada Linux la ilgili yazılar var.Benim çok ilgimi çekti Linux baktım olmuyor böyle dergiden falan eve internet bağlattım zorla başladım araştırmaya.Gittikçe ilgim daha kabardı faturalarda doğru orantılı olarak kabardı tabii.O yıllarda Linux’u internetten çekmek mümkün değil ancak dergiler falan verirse kurabiliyoruz.Ben dayanamadım bekleyemedim internetten bir kitap siparişi verdim.Görkem Çetin’in yazdığı Linux işletim sistemi kitabını aldım.Red Hat 7.1 veriyordu kurmaya çalıştım hemen ama beceremedim.Eeee kolay değil daha linux’un odun gibi olduğu yıllar ve bendeki bilgisayar bilgiside daha 7 aylık.Neyse bin bir belayla kurdum Red Hat’ı sisteme.Denedim bozdum bir daha kurdum.Sinirlendim sildim ama dayanamadım sonra bi daha kurdum.Linux’la ilişkim bu şekilde 6 ay kadar devam etti.Daha sonra PcWorld dergisinin verdiği daha doğrusu bir yerine iliştirdiği Vector Linux’u kurma maceram başladı.Slackware tabanlı bir yazılım olduğu için tam bir bela.Odun gibi bir program ama bendeki bilinmeyeni keşfetme ve öğrenme tutkusu galip geldi kurdum Vector’u ama Red Hat 7.1 den sonra çok kaba geldi Vector.

Daha sonra Allah herhalde çektiğim sıkıntıları gördü.Bana Knoppix’i gönderdi.Çölde vaha gibiydi.Kısmen yeni bir KDE ve rahmetsiz başlangıç.(Live cd meselesi) Ben iyice aşık oluyordum tüm sorunlara ve yetersizliklere rağmen.Knoppix’i sabit diskede kurdum. 6 ay kadar onunla devam ettim.Tabii bu arada Windows XP ye geçmiştim ve ana işlerimin tümünü Windows’ta hallediyordum Maalesef çünkü ihtiyaçlarımı tam olarak karşılamıyordu.Oyun oynayan bir taze ergendim o zamalar ve Linux oyunları yetersizdi.Tüm bunlara rağmen Linux ve C merakı gelişiyordu bende.Fakat C maceram pek uzun süremedi hem pek fazla ilgili değildim konuya haemde C gerçektten zordu başlangıç için.Sonraları tekrar başlasam da C ile olan ilişkim hep kopuk oldu.

2003 yazındaysa Pcextra dergisinin verdiği Mandrake 9.1 benim çok hoşuma gitti.Kullandığım dağıtımlardan sonra çok hoş bir arayüz ve kullanıcı dostu özelliller beni büyüledi.1 yıl hep Mandrake kullandım fakat donuda onuda bıraktım.Resmen rahat batmıştı bana Linux34.com’dan Slacware 9 siparişi verdim.Büyük bir hevesle kurudm ve kullanmaya başladım.Zor bir dağıtımdı çok kasıyordu mesela cd bağlamak için bile otomatik bir şey yoktu.Konsola geçip komut yazıyordum fakat hiçte şikayetçi değilidim doğrusu.Kullandığım tüm uygulamaların kaynak kodarını internetten çekip derliyor o şekilde kullanıyordum.Slackware ile geçen 2 yıl benim için çok önemli bir deneyimdi ve Linux’un geçek yüzünü geörme fırsatıydı diyebilirim.Mandrake’nin oyuncaklarından sonra oldukça karmaşık ve herşeyin manuel olark yapıldığı geçek bir UNIX sistem beni başlarda zorlasada kendine aşık etmeyide başard. Çünkü kaya gibi sağlamdı. Bugün 2. bir bilgisayarım olsa üstüne kuracağım dağıtım Debian Ya da Slaclware olur.Çünkü ben aslında gerçek UNIX kullanmak istiyorum.

Slackware kullanımından çok şeyler öğrendim.Linux’u o koca iki yılda tanıdım diyebilirim.Bunda sonra tahmin edin bakalım ne kullandım.Birbirine taban tabana zıt iki dağıtım Slackware ve SUSE.Suse’ye geçişim yine bir dergi vesilesiyle oldu.Dağıtım bir DVD ile geliyordu ve ekran görüntüleri oldukça da hoştu.Açıkçası cd bağlamak için bile konsola geçmek 2 yıldan sonra artık alışkanlık yaratsada pek hoş bir durum değildi.Suse’nin oyuncaklarına heveslendim ve kurudum emektar slackware’nin üstüne.Aslında hoş bir dağıtım olsada biraz hantal olduğunu düşünüyorum.Dağıtımlar arasındaki farklara daha sonra yeniden değineceğim.1 yıl kadarda Suse kullandım ve nihai durak Pardus’a geldi sıra onunla nasıl tanıştışım ve kullanım deneyimlerim başka bir yazı konusu daha sonra genişçe bir yazıyla anlatacağım