Uğur Engin System Administrator. http://www.ugurengin.com İletişim: mail@ugurengin.com



Benzer belgeler
Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Linux Disk Yönetimi. Sisteme bağlı diskler ve bu disklerin bölüm yapıları hakkında bilgi edinmek için fdisk komutunu kullanabiliriz.

Dosya, disk üzerinde depolanmış verilerin bütününe verilen isimdir. İşletim sistemi genel olarak iki çeşit dosya içerir.

DOSYA NEDİR? Verilerin HDD de saklanması. Verilerin HDD de saklanması DOSYA SİSTEMİ NEDİR?

Linux işletim sistemlerinde dosya hiyerarşisinde en üstte bulunan dizindir. Diğer bütün dizinler kök dizinin altında bulunur.

BTP 205 İŞLETİM SİSTEMLERİ

İşletim Sistemi. BTEP205 - İşletim Sistemleri

DİSK DEPOLAMA ALANLARI

Temel Linux Eğitimi 1., 2. ve 3. Bölümler

Windows Eski Sürümleri Bellek Yapısı

Disklerin Organizasyonu...

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Linux Dosya ve Dizin Yapısı

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Linux Dosya Yapısı. Eren BAŞTÜRK.

İŞLETİM SİSTEMLERİ. (Operating Systems)

Dosya Saklama Ortamları (Devam) Kütük Organizasyonu 1

Disk Çizelgeleme. BTEP205 - İşletim Sistemleri

LİNUX. Dosyalar ve dizinler

BİLGİ İŞLEM DERS 1. Yrd Doç Dr. Ferhat ÖZOK MSGSU FİZİK BÖLÜMÜ MSGSU FİZİK BÖLÜMÜ

Linux altında komut satırında...

PARDUS TOPLULUK SÜRÜMÜ 3.0 KDE KURULUMU

Windows XP: Virtual Memory / Sanal Bellek Perşembe, 07 Eylül :51 - Son Güncelleme Salı, 12 Eylül :07

Linux/Unix Sistem Yönetimi Prosedürleri - 1

CUMHURİYET MESLEKİ VE TEKNİK ANADOLU LİSESİ BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ DERSİ DERS NOTLARI BELLEKLER

Sun Solaris Sunucular için Felaket Kurtarma (DR-Disaster Recovery) Çözümleri

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

İşletim Sistemlerine Giriş

Logsign Hotspot. Güvenli, izlenebilir, hızlı ve. bağlantısı için ihtiyacınız olan herşey Logsign Hotspot da!

BİLGİSAYAR KULLANMA KURSU

Bölüm 7. Depolama. Bilgisayarların. Discovering. Keşfi Computers Living in a Digital World Dijital Dünyada Yaşamak

Sistem Programlama. Kesmeler(Interrupts): Kesme mikro işlemcinin üzerinde çalıştığı koda ara vererek başka bir kodu çalıştırması işlemidir.

Mantıksal Hacim Yönetimi (LVM)

İşletim Sistemlerine Giriş

Bilgisayarım My Computer

Fatura Dinamik Kodlama İyileştirmeleri

TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Enformatik Bölümü

Bilgisayar Temel kavramlar - Donanım -Yazılım Ufuk ÇAKIOĞLU

UFS SNAPSHOT. Hazırlayan: Asiye Yigit Agustos

Adli Analiz İşlemlerine Başlamak

Master boot record (MBR)

Veri Tabanı-I 5.Hafta

Temel Bilgisayar Bilgisi

PAPERWORK TEKNİK MİMARİ

PORTLAR Bilgisayar: VERİ:

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

İşletim Sistemlerine Giriş

İşletim Sistemleri (Operating Systems)

Donanımlar Hafta 1 Donanım

3. DOSYA SİSTEMİ VE ÇALIŞMA MANTIĞI

Dosya sistemi (File system), dosyaların hard disk üzerinde nasıl yerleşeceğini ayarlayan bir sistemdir. Diğer bir tanıma göre dosya sistemi, bir

Sanal Makineler ve Linux Konteynerlerin Performans Karşılaştırması

Bazı temel linux komutları ve sistem bilgisi içermektedir.

Bilgisayarım My Computer. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Temel Bilgisayar Programlama

Exchange Server Kurtarma (PowerControls)

Veritabanı. Ders 2 VERİTABANI

İşletim Sistemi Nedir?

Düşünelim? Günlük hayatta bilgisayar hangi alanlarda kullanılmaktadır? Bilgisayarın farklı tip ve özellikte olmasının sebepleri neler olabilir?

IPACK LADDER. Arayüz Dökümantasyonu

Bilgi ve iletişim teknolojileri

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

Sanal Bellek (Virtual Memory)

Fstab Rehberi. Ceren Çalıcı. Nisan, 2012

WINDOWS 7. Eğitim ID 98 2/4 (Normal Seviye Kullanıcı) Konu ID Windows 7 Hakkında Genel Bilgi Ek Bilgi -

Copyright 2012 EMC Corporation. All rights reserved.

Background (Arka Plan)

Bilgisayarlarda Kullanılan Dosya Sistemleri

BİT in Temel Bileşenleri (Yazılım-1)

1. Hafıza Depolama Araçları. 2. Hafıza Çeşitleri. 3. Hafıza Ölçümü. 4. Bilgisayar Performansı

MCR02/04/05/08 Serileri Temassız Kart Okuyucular

Dosyaların Özellikleri (Attribute) Dosya İşlemleri. İki Seviyeli Katalog Sistemleri. Tek Seviyeli Katalog Sistemleri. Hiyerarşik Katalog Sistemleri

SQL 2005 SQL STUDIO MANAGER ACP YAZILIMI KURULUM KILAVUZU

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

Sistem Programlama. (*)Dersimizin amaçları Kullanılan programlama dili: C. Giriş/Cıkış( I/O) Sürücülerinin programlaması

Beaglebone İle Çalışmak, 2. Bölüm

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

İşletim Sistemlerine Giriş

BİL 423 Bilgisayar Mimarisi 1. Ara Sınavı


FreeBSD Erişim Kontrol Listeleri

Yrd. Doç. Dr. Caner ÖZCAN

Windows Live ID ve parolanızı giriniz.

MCR02-AE Ethernet Temassız Kart Okuyucu

Kets DocPlace LOGO Entegrasyonu

ALGORİTMA VE PROGRAMLAMA II

Doğu Akdeniz Üniversitesi Bilgisayar ve Teknoloji Yüksek Okulu Bilgi teknolojileri ve Programcılığı Bölümü DERS 1 - BİLGİSAYAR VE ÇEVRE ÜNİTELERİ

Açık Kaynak Kodlu Yazılım

EFe Event Management System

İZMİR EKONOMİ ÜNİVERSİTESİ. Central Disc System Merkezi Disk Sistemi

Bölüm 11: Dosya Sistem Gerçekleştirilmesi

Bilgi ve iletişim teknolojileri Dersi Ders Notlarıdır?

R ile Programlamaya Giriş ve Uygulamalar

Linux taki Temel Dosya Sistemleri: ext2,ext3,ext4,jfs & xfs

Bölüm 8: Ana Bellek. Operating System Concepts with Java 8 th Edition

2 Server 1 Storage üzerinde HyperV Cluster kurulumu ve dikkat edilmesi noktalar aşağıdaki gibidir.

Web Server Sunucu Loglarının K-Komşu Algoritması ile İ ncelenmesi

Transkript:

Uğur Engin System Administrator http://www.ugurengin.com İletişim: mail@ugurengin.com

Dosya Yönetim Sistemleri ( File Management Systems ) Giriş Dosya sistemi, ezelden beridir bilgisayarlar içerisinde büyük önem teşkil eden görevlere sahip olmuştur.temel amacı verileri proses etmek olan bilgisayarlar, dosya sistemleri aracılığıyla herhangi bir disk üzerinde verileri okuyup oluşturmayı ve belli algoritmalara göre verileri depolamayı dosya sistemleri aracılığıyla yaparlar.aşağıda ele alınan konu başlıkları, dosya sistemlerinin disk ve işletim sistemleri ile olan ilişkilerini ele alacaktır. Dosya Sistemi Nedir? Bir işletim sisteminin disk üzerindeki organize edilen verilere ait izleri bulabilmesi için kullanacağı temel yapıya veya araca dosya sistemi denir.dosyalar disk üzerinde bulunan sector bölümlerine blok blok yazılarak programların çalışmasını ve verilerin store edilmesini sağlarlar.verilerin disk üzerine yazılması disk yapısı gereği memory den(hafıza) farklı şekilde gerçekleşir.hafızaya yazılacak olan veriler, rastgele atanırken, disk üzerine yazılacak olan veriler ise byte byte ve sırayla boş olan bölümlere yazılarak kalıcı hale gelirler.böylece, program ve işlemlere ait veriler; dosya sistemleri aracılığıyla diskteki bölümlere yazılır.yazılan veriler, silinmedikleri veya üzerine herhangi bir ek veri yazılmadığı sürece kalıcı olarak depolanacaklardır.disk içerisinde en simple fonksiyona sahip olan veriye dosya(file) denir.dosyalar özellikle bir programa ait olacağı gibi bizzat işletim sistemine ait verilerde olabilir.örnek olarak: text,dll source,program source,image,veritabanı dosyası veya kullanıcı tarafından oluşturulmuş keyfi herhangi bir veri dosya sisteminin birer ufak parçasıdır. Dosya Sistemi Yapısı Metadata Dosyalara ait isimler(file names),dosyanın disk üzerinde kapladığı verinin boyutu(size),yetki bilgileri(permissions),dosya oluşturma tarihi(file creation date) ve dosya üzerinde yapılan en son işlem tarihi(last modification) gibi temel bilgiler metadata içerisinde yer alır.özellikle unix tabanlı dosya sistemleri üzerindeki çeşitli araçlarla bir dosyaya en son hangi kullanıcının ulaştığı,kimin hangi tarihte modifikasyon yaptığı gibi spesifik bilgiler de yine metadata içerisinde linklenerek saklanmaktadır.aşağıdaki resim üzerinde kırmızı ile işaretlenmiş yerler, metadata bulunan bilgiler aracılığıyla sunulur.

Verilerin disk üzerinde hangi sectorde kayıtlı olduğu metada içerisinde tutural uniq değerler ile elde edilir.dolayısıyla dosya sisteminin bu bölümünde meyadana gelebilecek herhangi bir problem verilerin ulaşılamaz hale gelmesine de sebep olabilir.bundan ötürü dosya sistemlerinin genel amacı, metadata bütünlüğünü bozmadan, metadata verilerinin kalıcılığını sağlamak ve yürütmektir.1992 yılında ilk Linux kernel için dizay edilen dosya sistemi olan ext(extented file system) üzerinde dosyalara ait efektif bilgilere ulaşmak da mümkün hale getirilmiştir.yukarıda bahsedildiği şekilde özellikle dosyalar için ayrıntılı bilgiler stat komutu ile metadata verileri araclığlıyla kullanıcıya gösterilebilir. Yukarıdaki resimde dosyaya ait ayrıntılı bilgiler görülebilir.dosya özelliklerine ait bilgiler ise aşağıda detaylıca açıklanmıştır. File: Disk üzerinde bulunan ilgili dosyanın ismi. Size: Dosyanın disk üzerinde kapladığı boyut. (kilobyte türünde) Blocks: İlgili dosyanın disk içerisinde yer alan blok numarası. Inode: Dosya nın disk üzerinde adreslenen uniq değeri. Device: Dosya nın hexadecimal türünden, major ve minör değerlerini gösteren değer. Regular File: Dosyanın disk üzerindeki tipini belirtir.(soket,sembolik link,dosya gibi.) Links: Dosya nın kaç adet link edildiği bilgisi. Access: Dosya ya erişen en son kullanıcı: Modify: Dosya üzerinde yapılan en son güncelleme. Change: Dosya üzerinde yapılan en son değişiklik. Uid:Dosya üzerinde işlem yapan kullanıcı değeri. Gid:Dosya üzerinde işlem yapan kullanıcının dahil olduğu grubun değeri. Bu kısımda bulunan yetki değerleri(permission values) unix tabanlı sistemlerde 1 bite tekabul ederek yetkinin türüne göre bit düzeyi artar. Ext türü dosya sistemler, ilgili yetkilendirme değerlerini r(read),w(write),x(execute) seklinde metadata kısmında uniq değerler ile saklarlar. r: 4 bit, w: 2 bit, x : 1 bit

Liner ve planlı bir şemaya sahip olan metadata bölümü nün bu denli efektif ve ayrıntılı bilgiler içeren özelliklere sahip olması, diskler üzerinde yapılan adli analizler de büyük önem arz edilmesine sahne olmuştur. Inode(Index Node) Dosya sisteminin bir diğer önemli parçası ise her dosya ve klasöre karşılık indekslenen uniq inode değerleridir.inode değerleri disk tarafından veriler için rassal atanır ve sector içerisindeki bloğunu temsil eder.bizler verilere ait bilgileri insanların anlayacağı şekilde string ifadeler ile görürken arka planda ilgili veriler birer tamsayı olarak inode değerini alır.böylece işletim sistemi, disk içerisinde herhangi bir veriye ulaşmak istediğinde inode değerleri aracılığıyla blok adreslerini okur ve verileri çağırır.inode değeri olmayan veya inode değerleri bozulan veriler işletim sistemi tarafından tanımlanamadığı gibi datalara inode değeri atayaman bir disk e de veriler yazılamayacaktır.aşağıdaki ekran görüntüsü, inode değerleri ile adreslenen verilerin disk üzerindeki yapısını gösterir. - Inode değerlerini biraz daha yakından incelemek için Linux üzerinde boş bir disk oluşturularak içerisine ext3 dosya sistemi kurulacaktır. Loop edilmek üzere 100 MB lik 0 değerleri ile doldurulmuş boş bir disk imajı oluşturalım. dd if=/dev/zero of=/home/ugur/yesevi.img count=1 bs=100m && echo $? 1+0 records in 1+0 records out 104857600 bytes (105 MB) copied, 0.964656 seconds, 109 MB/s 0

Disk oluştuktan hemen sonra gelişmiş bir linux dosya sistemi olan ext3, boş diske yüklenecektir.diske ilgili dosya sistemini yüklemek için mkfs.ext3 komutunu kernel aracılığıyla cpu ya göndereceğiz.komut istemine F parametresi ekleyerek herhangi bir bloğa sahip olamayan ya da mount edilmemiş bir diske dosya sisteminin koşulsuz yüklenebilmesi için force tekniği uygulanacaktır. [root@localhost ugur]# mkfs.ext3 -F yesevi.img mke2fs 1.39 (29-May-2006) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) 25688 inodes, 102400 blocks 5120 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=67371008 13 block groups 8192 blocks per group, 8192 fragments per group 1976 inodes per group Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done Disk imajına ext3 dosya sistemi yazılmış durumda.artık ilgili disk, herhangi bir klasör ya da bir başka aygıta mount edilerek içeriği hakkında detaylı bilgi alınabilir.hatta belli amaçlar için kullanılabilir de.aşağıda yesevi.img isimli ext3 dosya sistemine sahip disk, yerelde bulunan boş bir klasöre mount edilmektedir. [root@localhost ~]# mkdir /home/ugur/test_disk [root@localhost ~]# mount -o loop /home/ugur/yesevi.img /home/ugur/test_disk

Yukarıda mount edilen disk in detaylı özellikleri df ile alınırsa aşağıdaki bilgiler görüntülenir. [root@localhost ~]# df -i /home/ugur/test_disk Filesystem Inodes IUsed IFree IUse% Mounted on /home/ugur/yesevi.img 25688 11 25677 1% /home/ugur/test_disk Inodes kısmı ilgili dosya sisteminde bulunan toplam uniq inode değerlerini ifade ederken Ifree kısmında ise henüz herhangi bir dosyaya veya ona ait bir özelliğe atanmamış boş inode değerlerinin toplamını ifade etmektedir.böylece disk içerisinde bulunan boş inode değeri kadar dosya indexlenebilecektir.bununla beraber, mevcut herhangi bir klasör içerisindeki datalara ait inode değerleri de ls li komutu ile aşağıdaki şekilde görüntülenebilir. Unix tabanlı işletim sistemlerinde ls li komutu ile yukarıdaki gibi herhangi bir klasör içerisinde bulunan verilere ait inode değerler listelenebilir.nitekim yukarıdaki dosyaların en solunda bulunana uniq değerler ilgili verinin disk içerisindeki index numarasını temsil etmektedir. Inode Data Stream Data stream inode yapısının çekirdeğini ifade eder.nasıl bir inode değeri sector içerisinde bir dosyayı adresliyorsa bir dataya ait member da bir inode un disk üzerinde byte byte adreslenen ve işletim sistemi ile iletişimini sağlayan(i/o) tümleşik temel yapıdır.bu tümleşik yapı data_stream olarak da ifade edilebilir.genel ifadeyle data_stream varlığı,bir data nın disk üzerindeki mantıksal dosya pozisyonunu byte türünden belirtilmesini sağlar.örnek bir data_stream yapısı içerisinde block_run fonksiyonu aracılığıyla 3 defa adreslenen yapıya ait kodları aşağıda görebiliriz.

#define NUM_DIRECT_BLOCKS 12 typedef struct data_stream { block_run direct[num_direct_blocks]; off_t max_direct_range; block_run indirect; off_t max_indirect_range; block_run double_indirect; off_t max_double_indirect_range; off_t size; } data_stream; Süper Blok(Super Block) Süper blok kısmında dosya sistemine ait verilerin boyutu,başlangıç ve bitiş adreslemeleri,inode blok tablosu ve veri bloklarına ait başlangıç adresi bilgilerini tutan bölüm olması nedeniyle dosya sistemi içerisinde ciddi bir role sahiptir.aynı zamanda dosya sistemi içerisinde bulunan bloklarda meydana gelebilecek bozulmalara karşı yine dosya sistemi içerisinde bulunan otomatik düzeltme fonksiyonlarını tetikleyerek dosya sisteminin tamir edilmesini sağlayarak mevcut dosya sisteminin bütünlüğünü koruyan yapıya da sahiptir. Bir disk içerisindeki süper blok bilgileri,linux işletim sistemlerinde bulunan dumpe2fs komutu ile görüntülenebilir. [root@localhost ~]# dumpe2fs /home/ugur/yesevi.img grep -i superblock dumpe2fs 1.39 (29-May-2006) Primary superblock at 1, Group descriptors at 2-2 Backup superblock at 8193, Group descriptors at 8194-8194 Backup superblock at 24577, Group descriptors at 24578-24578 Backup superblock at 40961, Group descriptors at 40962-40962 Backup superblock at 57345, Group descriptors at 57346-57346 Backup superblock at 73729, Group descriptors at 73730-73730

Dosya Sistemlerin de Journaling(Günlükleme) Yapısı Dosya sistemleri, veri kaybına karşı ciddi bir koruma mekanizmasına sahiptirler.disk üzerinde dosya sistemi aracılığıyla yapılan işlemlere ait kayıtlar blok blok bir başka güvenli bölümde saklanır.böylece beklenmedik bir problem ile karşılaşıldığında sistem üzerinde yapılan son işlemlere ulaşmak mümkün hale gelir.örneğin beklenmedik bir şekilde kapanan işletim sistemi kapanmadan önce çeşitli verileri proses ediyor üzereyken işlemler sonlanmadan kapanmıştır.bu durumda, dosya sistemi üzerinde anlık veya ileriye dönük bozulmalar(corruption) meydana gelecektir.journaling mekanizması tam bu noktada devrete girer ve önceden yedeklediği blokları bozuk bölümlere geri yükler.(restoring proses) Journaling yapısının dosya sistemi ile olan ilişkisini anlatan görsel bir resim aşağıda incelenebilir. Unix tabanlı sistemlerde kullanılan en kararlı journaling yapısı da Xfs ve Ext dosya sistemleri üzerinde bulunur.nitekim, Xfs dosya sistemi, 2001 yılında Linux işletim sistemine port edilerek Linux dosya sistemini daha kararlı ve verileri korumaya yönelik güçlü bir işletim sistemi haline gelmesine sebep olmuştur.journaling, kendi içerisinde fiziksel(physical), mantıksal(logical) ve metadata journaling olmak üzere üçe ayrılır.veri bloklarına ait yedeklerin tamamının tutulmasına fiziksel,verilerin sıkıştırılarak tutan journaling yapısına mantıksal journaling denirken yapılan işlemleri metadata içerisinde tutan günlükleme yapısına da metada journaling denir. Disk Yapısı Dosya sistemleri disk içerisinde tutulduğu için disk yapısı da kısaca açıklanmalıdır.disk etrafı metal bir tabakayla çevrili kutu içerisinde bulunan yuvarlak plaka tabakalardan oluşur.plaka üzerinde verileri okumak ve yazmak üzere bir okuma/yazma kafası bulunur.igili mekanizma, kafa hareketlendirici bir mekanizma tarafından hareket eder ve sectörlerde bulunan verileri mayetik işaretleme tekniği ile okuyarak işletim sistemine gönderir.veriler yazılırken manyetik alanın etkisi ile veriler yazılırken, manyetik koruyucu içerinde yer alan GMR(Giant magnetoresistance) isimli sensör yardımıyla bitlerin manyetik durumu algılanır ve okuma

işlemi yapılır.disk dönüşümleri rpm ile ifade edilir. Cache buffer ve seek time gibi çeşitli işlevsel parametrelere de sahiptir. Aşağıda disk yapısına ait diğer üç önemli bilgi açıklanmıştır. Silindir: Disk üzerine bulunan bütün karşılıklı izlerin tümüne silindir denir. Sectör: Disk icerisinde verilerin depolandığı 256 veya 512 byte büyüklüğe sahip olan alanlardır. Track: Disk üzerindeki verilerin kayıt edilmesi amacıyla disk üzerinde bulunan her bir dairesel çizgiye verilen isimdir.okuma kafası herhangi bir veriye ulaşmak istediğinde veya yazma işlemi yapmak istediğinde gerekli track üzerine konuşlanır ve işlem yapar. Sanal Dosya Sistemleri Sanal dosya sistemleri bir hafıza gibi kullanılır ve gerektiğinde memory içerisindeki datanın segmentine veya sayfasına yazılacak veriyi kendi içerisinde çalıştırarak proses in işlevini tamamlamasına yardımcı olur.bundan dolayı bilgisayar bilimlerinde sanal dosya sistemleri kalıcı bir hal alarak hemen hemen tüm işletim sistemlerinde desteklenir hale gelmiştir. - Swap (Unix-Linux) Unix tabanlı işletim sistemlerinde sanal dosya sistemi swapping ile ifade edilir ve mevcut hafızanın belli bir miktarda tanımlanarak görevini sürdürür.eğer işletim sistemi içerisinde çalışan bir uygulamaya ait proses, hafızada gerekli segmenti elde edemiyor veya memory üzerinde gerektiğinden fazla sayfa elde edemiyorsa işletim sistemi tarafından ilgili uygulamaya swap alanı üzerinden ek hafıza atanır.artık uygulama işlemleri sanal dosya sistemi üzerinde çalışıyor duruma gelecektir.fakat swap alanına yazılan veri, ram üzerinden okunan veriye oranla daha yavaş çalışağı için bu çoğu zaman işletim sismi açısından bir handikap olarak nitelendirilmiştir. Dip not: Unix tabanlı işletim sistemlerde, ek hafıza alanı kernel tarafından swap üzerinde uygulamaya tahsis edilir.ek olarak verilerin direk ram e yazılmaı nanosaniye ile ifade ölçülürken sanal dosya sistemine yazılması milisaniye olarak gerçekleşir.dolayısıyla sanal dosya veya disk üzerinden tahsis edilen hafıza alanı her zaman ram e oranla ciddi ölçüde geridedir. Unix üzerinde sanal dosya sistemi olarak nitelendirilen swapping tekniği disk ve dosya sistemi olmak üzere ikiye ayrılır.

Linux üzerinde sanal disk oluşturulması. Linux tabanlı enterprise bir sistem dağıtım olan Redhat Linux üzerinde test amaçlı 1 GB alana sahip sanal bir dosya sistemi oluşturulacak.sanal dosya sistemi yeni açılan bir disk üzerinde biçimlendirilip mount edildikten sonra kalıcı hale getirilmek üzere konfigure edilecektir. fdisk /dev/sda (Gelişmiş disk biçimlendirme komutu olan fdisk üzerinden aşağıdaki parametreler takip edilir) Fdisk üzerinde her bir parametrenin detaylı kullanımı m komutu ile alınabilir. n p +1G w fdisk /dev/sda 't' (change a partition's system id) then set to swap filesystem '82.' (82 nolu değer swap dosya sistemini temsil eder.) To reboot the server then to run below command. mkswap /dev/sda4 (mkswap komutu ile random atanan yeni disk ID si sanal dosya sistemi ile yapılandırılıyor.) Setting up swapspace version 1, size = 1060284 KiB no label, UUID=160a8e38-7571-428f-8f1f-9b4adf35e64d swapon -v /dev/sda4 (swap dosya sistemi ile yapılandırılan disk aktif ediliyor.) swapon: /dev/sda4: found swap signature: version 1, page-size 4, same byte order Bu aşamadan hemen sonra /etc/fstab dosyası açılarak sanal dosya sistemi haline getirilen sda4 isimli yeni disk mount edilebilir. Unix sistemlerde sanal dosya sistemi disk üzerinden değilde sonradan oluşturulacak bir dosya üzerinden de konfigure edilerek sanal dosya sistemi haline getirilebilir.nitekim bu işlem dd komutu ile aşağıdaki şekilde yapılabilir. dd if=/dev/zero of=/swapfile1g count=1g

Swap dosya sisteminin genişletilmesi.(extending the swap are) Linux sistemleri üzerinde disk yapısı LVM ise, aşağıdaki adımlar takip edilerek operating sistem üzerindeki sanal dosya alanı genişletilebilir.genişletme işlemi, virtual memory alanı yetersiz kaldığında genelde sonradan alınan işlem basamağı olur.sanal dosya sistemi yetersiz olan bir Linux işletim sistemine ait kernel, aşağıdaki şekilde bir bilgilendirme mesajı döner. Aug 28 23:27:36 x kernel: Free swap = 0kB Aug 28 23:27:36 x kernel: Total swap = 1048568kB Aug 28 23:27:36 x kernel: Free swap: Eğer volume grup içerisindeki fiziksel disk de yeterli boş alan varsa sadece volume grup içerisinde bulunan logical volume alanı extend edilerek sanal dosya alanı büyütülebilir. vgdisplay komutu ile bir alfanumerik ID ye sahip olduğu görünen; volume grup alanının, allocate ve free disk miktarlarını görebiliyoruz.nitekim aşağıdaki tablo, swap için ihtiyacımız olan yeterli miktarın var olduğunu gösteriyor. Mevcut swap alanına eklenmek istenilen disk miktarı +1GB olsun. [root@x dev]# vgdisplay Free PE / Size VG UUID 157 / 4.91 GB waffzd-imrq-vm9u-8wqp-vcmh-se2h-4xeol1 Eğer ilgili volume grup un yeterli allocate edilmiş disk alanı olmasaydı; bu durumda öncelik, ilgili volume grup u extend etmek olacaktı.dolayısıyla ilgili logical volume alanını lvextend komutunu ile genişletebilir. lvextend -L+ 1G /dev/volgroup00/logvol01 Biraz evvel mevcut disk alanı 1 GB olan LogVol00 isimli logical volume grubuna +1 GB eklenerek toplam boyutu 2GB olarak artırıldı.şimdi ise, mkswap komutu ile extend edilen volume alanını tekrar swap olarak set edilecek. mkswap /dev/volgroup00/logvol01 Setting up swapspace version 1, size = 2147479 kb Son olarak yapılan işlemlerin virtual memory alanına yansıması için swapoff komutu ile swap diski açılıp kapatılır. [root@x dev]# swapoff a [root@x dev]# swapon -a İşlemler sonra erdi.artık free komutu çalıştırılarak yeni eklenen +1GB disk miktarını swap alanına yansıyıp yansımadığını kontrol edilebilir. [root@x dev]# free total used free shared buffers cached -/+ buffers/cache: 334352 1722368 Swap: 2097144 0 2097144

- Page File ( Windows ) Windows işletim sistemlerinde de benzeri şekilde sanal dosya sistemi kullanılmıştır.ilk olarak 1991 yılında windows nt 3.1 isimli işletim sistemine port edilerek hafızaya oranla sıkışıklık durumlarında daha fazla performans elde edilmek üzere yapılandırılmıştır. Read Only Dosya Sistemleri( iso9660 - cdrom) Harddisk gibi cdrom da bir veri depolama malzemesidir.fakat cdromlar yapıları gereği read only olarak çalışırlar.içerisine yazılan veriler sonrasında silinemez ve ekstra herhangi bir veri sonradan içerisine yazılamaz.harddisk nasıl ilk etapta 0 nolu uniq değerler içeren verilere sahipse cdrom da yazılmadığı esnada boş bir veri malzemesidir.içerisinde verilerin ne şekilde tutulup okunacağı yine içerisine sonradan entegre edilmiş dosya sistemi ile mümkün olur. Linux Dosya Sistemleri Unix işletim sistemleri köklü bir dosya sistemine sahiptirler.berkeley üniversitesindeki mühendisler tarafından günün şartları için özel olarak yazılan ilk işletim sistemi unix dosya sistemidir.bu sebeple dosya sistemleri unix ve linux tarafında güçlenerek inode,metadata ve blok kontrol algoritmaları ile günümüz dosya sistemlerinin temelini oluşturmuştur.bu konuya değinmişken Unix işletim sistemleri dosya yapısı, / şeklinde tek bir ağaç altında şekillenir.aşağıdaki resim, Unix ve Linux işletim sistemlerinin dosya yapısını gösterir. -Ext (Extented File System) Ext dosya sistmei 1992 yılında Unix tabanlı olan Andrew Tanenbaum tarafından geliştirilmiş Minix isimli işletim sistemine port edilerek adını duyurdu.fakat kısıtlı algoritma yapısı ve içerdiği yetersizlikler sebebiyle bir süre sonra yerini Ext2 ve ardı ardına gelen Ext3 ve Ext4 isimli efektif bir jourmaling yapısına sahip olan gelişmiş dosya sistemlerine bıraktı. -Ext3 Linux kernel ı tarafından desteklenen ve Linux sistemlere port edilen ext3 isimli dosya sistemi başarılı bir journaling yapısına sahiptir.aynı zamanda yapılan kararlılık testlerinde daha az cpu kaynağı tüketmesi onu ReiserFS ve XFS gibi diğer köklü dosya sistemlerinden daha farklı kılmıştır.ex3 dosya sisteminin en önemli özelliği ext2 ye oranla mevcut yapısının online büyüyebiliyor olmasıdır.

Ext3 dosya sisteminin özellikleri. - Ext3, diğer dosya sistemleri gibi modern bir yapıya sahip olup dinamik inode atamaları ve extending yapısına sahiptir. - Ext3, toplamda 2 TB dosya boyutu ve 32 TB dosya sistemi boyutuna ulaşabilir. - Gelişmiş ve fonksiyonel bir journaling yapısına sahiptir.linux sistemlerinde Journaling yapısı Journal,Ordered ve Writeback olmak üzere üç bölümden oluşur. - Ext3 dosya sistemi mevcut journaling yapısı sebebiyle online defragment edilmeye ihtiyaç duymaz.zira disk içerisinde free durumda olan aralıklı bloklar otomatik olarak defrag edilir. - LVM(Mantıksal Disk Yönetimi) yapısını destekler. - Yukarıda da belirtildiği üzere gelişmiş journaling yapısı sebebiyle veri bütünlüğü ve verinin geri dönüşüm özelliğini sağlama yapılarına sahiptir. - 32.000 adet sub-directory(alt klasör) destekler. Ext3 Journaling Yapıları: Writeback Journaling: Ext2 dosya sistemlerde varsayılan olarak çalışır vaziyette bulunan ilgili günlükleme algoritması, limitli de olsa veri bütünlüğü teminatı sunarak veri bozulmaları meydana geldiğinde eski dataların elde edilmesine izin verir. Ordered Journaling: Dosya sistemi içerisinde var sayılan mod da çalışır.dosya sistemi ve verilerin tutarlılığını sağlar. Data Journaling: İşletim sisteminin düzgün kapatılmadığı durumlarda veri recovering yapar. Ext4 Ext3 üzerine geliştirilmiş yeni bir dosya sistemi olan ext4 özellikle enterprise tabanlı uygulamalar ve veri depoları tabanında çalıştırılmakta oluo aşağıdaki temel özelliklere sahiptir. - Limitsiz alt klasörleme yapılabilir. - Toplamda her size için 16 TB veri depolar. - Büyük çaplı dosya sistemleri üzerinde performans oranını artırmak adına metadata segmenti nde küçültülme işlemi uygulanmıştır. - Sistem checking esnasında blok grupları ve inode bölümleri geçildiği için daha hızlı bir checking işlemi gerçekleştirir. - Güvenirliği artırmak adına Journal Checksum işlemi yapar. Ext Dosya Sistem Kontrolleri (Checking ve Repairing) Ext dosya sistemleri de diğerleri gibi fragmentasyon ve tamir edilmek üzere tutarlılık taramalarından geçirilebilir.linux üzerinde bu işlemler için hali hazırda bulunan fsck aracı bulunur. [root@localhost /]# which fsck /sbin/fsck Yukarıda which komutu kullanılarak fsck isimli aracın hangi dizin altında bulunduğu sorgulanıyor.dönen cevaba göre ilgili araç /sbin/ isimli sistem dosyalarının bulunduğu

dizinde.aşağıda ise ldd isimli bir diğer komut istemi çalıştırılarak ilgili aracın mevcut dependency kütüphanesi görüntüleniyor. [root@localhost /]# ldd /sbin/fsck linux-gate.so.1 => (0x00dc3000) libblkid.so.1 => /lib/libblkid.so.1 (0x00c8f000) libdevmapper.so.1.02 => /lib/libdevmapper.so.1.02 (0x00caa000) libuuid.so.1 => /lib/libuuid.so.1 (0x0402d000) libc.so.6 => /lib/libc.so.6 (0x00b02000) libm.so.6 => /lib/libm.so.6 (0x00c5d000) libselinux.so.1 => /lib/libselinux.so.1 (0x0084e000) libsepol.so.1 => /lib/libsepol.so.1 (0x00868000) /lib/ld-linux.so.2 (0x00ade000) libdl.so.2 => /lib/libdl.so.2 (0x00c88000) Checking ve Repairing: fsck isimli araç ile Linux işletim sistemi üzerinde mount edilmiş ext3 dosya sistemine sahip, küçük çaplı bir disk scan edilecektir.scan işlemi için çeşitli kriterler belirlemek mümkün.fakat konu bütünlüğüne sadık kalmak amacıyla sadece bozuk blokları tespit ederek detaylı bilgilendirme yapan bir checking komutu yazılacaktır.bu işlemler, sanal bir Centos Linux dağıtımı üzerinde test edilmiştir. [root@localhost /]# fsck.ext3 -v -c /dev/sda1 e2fsck 1.39 (29-May-2006) /dev/sda1 is mounted. WARNING!!! Running e2fsck on a mounted filesystem may cause SEVERE filesystem damage. Do you really want to continue (y/n)? Yes /boot: recovering journal Checking for bad blocks (read-only test): done Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /boot: ***** FILE SYSTEM WAS MODIFIED ***** 35 inodes used (0.13%) 3 non-contiguous inodes (8.6%) # of inodes with ind/dind/tind blocks: 8/3/0

15656 blocks used (15.00%) 0 bad blocks 0 large files 22 regular files 3 directories 0 character device files 0 block device files 0 fifos 0 links 1 symbolic link (1 fast symbolic link) 0 sockets -------- 26 files v (verbose) parametresi yapılan işlemler hakkında detaylı bilgi vermeyi sağlamak amacıyla komut istemine eklenmiştir.dönen sonuçlara göre taranan disk toplam da 5 kritere göre değerlendirilerek inode,blok ve disk sistemi yapısında herhangi bir problem saptanmamıştır. Günümüzde benzeri akıllı yapılara sahip bir çok dosya sistemi vardır ve var olmaya devam edecektir.(ntfs,gfs,hdfs) Büyük Veri Uygulamaları İçin Dosya Sistemleri Şuana kadar bahsedilen dosya sistemlerinin yanı sıra cloud tabanlı storage sunucular için özel olarak tasarlanmış büyük çaplı verileri proses etmek adına işletilen dosya sistemleri de mevcuttur.bu dosya sistemleri, kendi içerisinde failover gibi üst düzey aksiyonlar alan cluster yapıları ile dağıtık ve bütünleşik çalışan mekanizmalara sahiptirler.nitekim gfs,hdfs gibi dosya sistemleri üzerinde mapreduce ve pig gibi kısa bir zaman diliminde milyonlarca kelimeyi eşleştiren algoritma tababanları, bu dosya sistemleri üzerinde kümelenmiş şekilde çalışmaktadır. Kaynaklar: http://homes.cerias.purdue.edu/~florian/publications/metadata_jdi.pdf http://www.nobius.org/~dbg/practical-file-system-design.pdf http://www.ibm.com/developerworks/linux/library/l-journaling-filesystems/ http://coffeenix.net/data_repository/pdf/ext3.pdf http://www.ptdd.com/datarecovery/swap.htm http://docs.redhat.com/docs/en- US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/newfilesysext4.html