Frmacil

Frmacil

Acil Sorunlara Acil Çözüm



Geri git   Frmacil >
(¯`·.(¯`·.Bilgisayar Program Arşivi·´¯).·´¯)
> Programlar ve Sorunlarınız > Genelbilgi ve İpucu

Forum Kuralları İletiler Kayıt ol Yardım Üye Listesi Ajanda Arama Bugünki Mesajlar Forumları Okundu Kabul Et
Alt 05-09-2007   #1
Profil Bilgileri
Administrator
 
AGMEHMET - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Jul 2007
Bulunduğu yer: Gizliyara Adaları
Yaş: 39
Mesajlar: 9.116
Üye No: 4
Tecrübe Puanı: 137
Rep Puanı : 22720
Rep Derecesi
AGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond repute
AGMEHMET RSS Feed
AGMEHMET - MSN üzeri Mesaj gönder
Reklam
www.dantel-orgu.com
Standart İşletim Sisteminde Dosya Yönetimi Teknikleri

İŞLETİM SİSTEMİMDE DOSYA YÖNETİMİ TEKNİKLERİ İşletim sisteminin dosya yönetim bölümü , ikinci belleğe ait olan yönetim verisi ( bilgisi ) ile ilgilidir Mantık kurallarıyla ilgili ...

İŞLETİM SİSTEMİMDE DOSYA YÖNETİMİ TEKNİKLERİ


İşletim sisteminin dosya yönetim bölümü , ikinci belleğe ait olan yönetim verisi ( bilgisi ) ile ilgilidir Mantık kurallarıyla ilgili ( mantık kurallarına göre olan) ikinci bellekteki veri parçaları , çoğunlukla “ Dosya “ adı verilen topluluklarda düzenlenir Bir dosya çalıştırılabilir (exequtable) bir programı veya işletim sistemi için komutları içerebilir
Dosya yönetim sistemi , bütün yöntemi- belirli dosya çalışma açılarını ( yollarını ) kullanıcılardan gizlemeye yarar ve adlandırılan dosyaların bir örneğini basit bir özetle onlara sağlar
Bir dosya genellikle kullanıcılara karakterlerin lineer sıralanışı veya kayıt yapıları olarak görünür Bazı sistemler , bütün I / O aygıtlarının kullanıcılara bir takım dosya olarak göründüğü , giriş / çıkış istemlerinin soyutlanması ( özeti ) ile bu fikri ( görüşü ) artırır Bu şekilde kullanıcılar , dosya ve I / O aygıt yönetimi için tek , benzer bir takım dosya çalıştırma sistem hizmetlerine güvenir Bundan bazen , bağımsız aygıt I / O ( device-independent I / O ) olarak söz edilir Örneğin , bir metin dosyası , hedef dosyasının yazıcı aygıtı olduğu COPY işlemi aracılığıyla yazdırılabilir
Diğer mantıksal , ama daha az uygulanan , sanal adres yerlerinin uzantısı olan önemli dosyalardır
Ne olursa olsun dosya yönetim sistemi şu ortak görevleri içerir ;
Mantıksal olandan fiziksel olana dosya adres yerinin erişim isteği haritasını yapmak
Ana bellek ve ikinci ( yan ) bellek arasında dosya öğelerinin iletilmesi
Koruma sağlama , dosya paylaşımı , geri alma ve sistem hatalarından sonra dosyaların düzeltilmesi
Dosya yönetim alt sistemi , işletim sisteminin bir veya daha fazla tabakası ( seviyesi ) olarak uygulanabilir Temel hizmetleri , veri bloklarının iletilmesi gibi , sanal bellek yönetiminin sağlanması ve değişimi için gereklidir
Bilgisayar kurma dosyaları disket sürücüler , manyetik teypler veya yarı iletken bellekler gibi fiziksel aygıtlarda depolanabilir Sistem tarafından direkt olarak ulaşılabilen verilen dosyayı içeren belirli depolama hacmine sahip olup olmamasına göre , dosyaya online veya offline denilebilir Arşivsel nedenlerden dolayı veya sistemdeki bütün dosyaların birleşimi , kullanılabilir depolama aletlerinin kapasitesini geçerse, sürücü indirilebilir


1 Komut Dili Kullanıcılarının Dosya Sistemine Bakışı

Dosya hizmetlerinin çeşitlerine ve görev metotlarına göre , kullanıcılar iki kategoriye ayrılır :
komutdili kullanıcıları
sistem programcıları
Daha önceki kategori , dosya yönetim hizmetlerini ( görevlerini ) , işletim sistemi komut dili olarak isteyen kullanıcıları kapsar Bir çok sistemde , böyle kullanıcılar dosya dizinin içeriklerini listeleyebilir , aygıtlar arasında dosya kopyalayabilirler , dosyaları yaratabilir , silebilir ve yeniden adlandırabilirler Bu hizmetler ilgili komutlara göre , direkt olarak istenilebilir
Elde edilebilir kullanıcı ve sistem dosyalarının , dosya dizinlerinin içinde , gerekli sembol tablo kataloğu hazırlanabilir Bir dizinin içerikleri terminalde veya LIST , DIR , CATLIST , LS veya verilen sistemde komut için başka isim yazılarak görülebilir Bilgisayar sistemlerinde dosya dizinleri genellikle iki katagoriden birine aittir : tek-seviye (single level) veya hiyerarşik
Bir tek-seviyeli dizin , daha çok düz dizin (flat directory ) denir , sistemde veya verilen sürücüde , bütün dosyaları içerir Karşılaştırmalı kolaylığı ve uygulamadaki rahatlığı , küçük tek kullanıcılı sistemlerde düz dizinleri , daha yaygın yapmıştır Bununla birlikte , düz dizinler çok kullanıcılı ve büyük sistemler için genellikle uygun değildir ve yetersizdir Harddisk ile tek kullanıcı sistemlerde bile düz dizinlerin gözden geçirilmesi uygun değildir çünkü tüm dosyaların listeleri , bir metin ekranında görüntülenmek için çok büyük gelebilir Daha büyük sistemlerde dosyaların tek isimlendirilmesinde zorluklar içerir ve seçici paylaşım ile dosyaların korunmasında çok kullanıcı sistemlerde yetersizdir
Bu problemler hiyerarşik dizinler kullanılarak azaltılabilir Bir hiyerarşik dizin sisteminde , kullanıcılar ilgili dosyaları alt dizinlerde gruplayabilirler Tüm dosyaların daha sonra yapıları benzer olan hiyerarşi dizinlerinin içinde katalogları hazırlanır Verilen bir dosyaya erişirken referansa ihtiyaç duyulduğunda değişik alt dizinlerle birlikte değişik erişim haklarının birleştirilmesi ile sistemlerde , hiyerarşik dizinlerle seçici paylaşım ve koruma kolayca sağlanabilir
Şekil 1 bir hiyerarşik sistemde dosya ve dizinlerin toplanmasını açıklamaktadır Dizinler ve altdizinler dikdörtgen ile gösterilmiştir Dosyalar daire ile gösterilmiştir Hiyerarşinin en üst bölümü sistemin kök veya anadizinidir Belirtildiği gibi PASLIB isminde bir dosya ve JONES ve SMITH isminde iki altdizin içerir Bu iki alt dizinin farklı iki kullanıcıya ait olduğunu varsayalım , kullanıcı JONES ’ in bir mülkiyeti var ve KAYIT dosyası ile NEW-YORK adındaki altdizine direkt erişimi yönetiyor KMOS alt dizini KMOS projesinde çalışan kullanıcı Jones ve Smith tarafından paylaşılıyor Bütün KMOS dosyalarının paylaşımı ile her birinin çağdaş program versiyonlarına ani erişime sahip olabilirler Bununla birlikte , KAYIT gibi özel dosyalara erişim ,kökten hedef dosyaya kadar olan yol üzerindeki değişik alt dizinlerle ilgili erişim haklarından dolayı kolayca engellenebilir






PASLIB


LIB









Şekil 1 Hiyerarşik Dosya Sistemi
Hiyerarşik sistemde dosyalara erişmek için , kullanıcıların bütün dizinleri verilen girişe göre yerleştirmek için , aranması gereken yerde göstermeleri gerektirmektedir Bu açıklamalar genellikle erişim yolu veya yol olarak adlandırılır Örneğin KAYIT dosyasını düzenlemek için , kullanıcı JONES editörden şunu isteyebilir :
EDIT/ JONES/REPORT
Slaş , /, dizini gösterir ve ilk slaş kök dizini belirtir Bu biçim gösterme genellikle tam yol açıklaması veya yol ismi olarak adlandırılır , çünkü kök dizin ile başlar Dizinlerin komplex hiyerarşi ile birlikte sistemlerde tüm yolun tanımlanması uzun ve zor olabilir Bu problemi çözmek için bir çok sistem , kullanıcılara referansın dolaylı olarak belirtilen noktası ile başlayan kısmi yol tanımlamalarına izin verir Örneğin JONES ‘ un üzerinde çalıştığı dizinin JONES olduğunu farz edelim :
EDIT REPORT
Komutu , daha önce verilen tam yol tanımlaması ile aynı etkiye sahiptir Slaşın olmaması hedef dosya isminin çalışılan dizin içinde aranması gerektiğini belirtir Hiyerarşik dizinlerin avantajları :
Kolaylaştırılan tek dosya isimlendirilmesi
Seçici paylaşım ve koruma sağlaması
Geçerli dizin kullanma
Dizin organizasyon tiplerine rağmen , dosyaların tek tanımlanması , bütün dosya isimlerinin verilen dizin içinde tek olmasını gerektirir Bu ihtiyaç , çok kullanıcılı ve network sistemlerinde zor olabilir Tek bir dizin içinde bütün dosya isimleri gösterilse de , yeni bir dosyaya isim vermek isteyen kullanıcı , kesin olmayan dosya isimleri bulmak veya sistemi emin olmak için aynı ismin başkası tarafından kullanılmadığını sorgulamak zorunda kalabilir Öyle olmasa bile , iki veya daha fazla kullanıcı , aynı boyutlarda aynı isim altında farklı dosyalar yaratmak istediğinde , problemler meydana gelebilir Bu durum network sistemleri içerisinde , kullanıcıların farklı nodlarda ( düğümlerde ) olduğu zaman,komplex senkronizasyon protokolleri gerektirebilir
Diğer yandan , hiyerarşik dizinler , bu problemi verilen altdizin içinde sadece isimlerin tek olasını gerektirerek çözümlemiştir Örneğin , Şekil 1 ‘ de , iki değişik dosya aynı atanan kullanıcı ismine sahiptir , KAYIT Bununla beraber , tam erişim yolları , her dosyanın tek tanımlanmasına izin verecek şekilde farklıdır Her kullanıcının çalıştığı dizinin yolunu saklı tutarak , sistem , kesin olarak hangi fiziksel dosyanın bu kayıt dosyasını düzenlemek isteyen Jones veya Smith kullanıcıların hangisine ait olduğunu belirler
Hiyerarşik dizinler ayrıca korumayı ve dosyaların seçici paylaşımını kolaylaştırmaktadır Daha önce de belirtildiği gibi , koruma ve paylaşım , kullanıcılara sadece kök dizinine kadar olan yolda ve kendi altdizinlerinin altındaki altağaçların (subtree) içinde erişime izin vermekle sağlanır Ayrıca, hiyerarşik dizinler , onların birçok kopyasını korumayı gerektirmeden dosyaların paylaşımını kolaylaştırır Örneğin her iki kullanıcı Jones ve Smith kendi dizinleri içndeki KMOS alt dizinini korurken , KMOS ‘ un sadece tek fiziksel kopyası ve dosya elemanları sistem içerisinde aslında korunmaktadır Dosya yönetiminin bu biçimi ayrıca,takma isimlerin kullanılmasını , aynı dosyaları farklı isimler altında göstererek kolaylaştırmaktadır Örneğin Şekil 1 ‘ de gösterildiği gibi fiziksel dosyaya kök dizininden PASLIB adı altında ve KMOS altdizininden LIB olarak erişilebilir Yani , erişim yolları /PASLIB ve / JONES /KMOS / LIB aynı fiziksel dosyayı göstermektedir
Yeni bir takma isimin yaratılması genellikle dosya birleştirme olarak adlandırılır , çünkü yeni yaratılan fiziksel bir dosyadaki dizin içinde basitçe listelenebilir Sonuç olarak , bir takma isim genellikle CREATE ( YARAT ) ten farklı bir sistem komutu ile kullanılır Verilen örnekte LIB takma ismi oluşturulabilir ve /PASLIB dosyasına yeni bir bağlantı olarak belirtilerek KMOS altdizini içerisinden girilebilir Bu , KMOS altdizini içindeki pascal programlarının çalıştırılması için hazırlanan “ yerel “ dosya olarak kütüphanenin belirtilmesinin kolaylaştırılması sağlar
Hiyerarşik dizinlerin , kullanıcılar tarafından algılanan üçüncü avantajı , daha kısa konulu altdizinleri yeniden incelemenin , listelemenin ve genel çalıştırmanın ( işletilmesi ) , tek ve büyük bir dizinle ilgilenmekten çok daha uygun olmasıdır
Belirli dosyalarla ilgili hizmetlerin ayrıntılarını tartışmadan önce dosya açıklamasının ve önemli sistem maddelerinin belirtmemiz gerek Daha basit ve özel amaçlı sistemlerin , hedef dosyanın olduğu hacmi açıkça belirten kullanıcılara ihtiyacı vardır
Varsayılan sürücüler genellikle sık sık kullanılan komutların sürücü ayrıntılarını ( açıklamalarını ) ihmal etmek için belirtilir Örneğin , COPY / M işletim sistemi ve onun türevleri sistemin bir parçası olarak belirtilen varsayılan sürücü olarak tanımlanır A sürücüsünü geçerli dizin olarak düşünürsek , DIR komutu A sürücüsündeki dizinleri listelemek için kullanılabilir Bununla birlikte , B sürücüsünde hangi dizinlerin olduğunu öğrenmek için DIR B: komutu kullanılmalıdır
Daha gelişmiş sistemlerde varsayılan sürücülere veya sürücülere (valumes ) kullanıcıların bağlanmasında daha karışık biçimler kullanılmaktadır En gelişmiş biçimi işletim sistemi tarafından tamamıyla çalıştırılan otomatik bağlamadır Geniş zaman paylaşımlı ( kurmalarda ,installations ) düzenlerde kullanıcılar sadece dizinleri ve dosya isimlerini belirtirler , dosyalarının depolandığı doğru dizini bilmelerine gerek yoktur Otomatikleştirilmiş sistemlerle , manuel çalıştırma imkanı olan otomatik açıklama , büyük olasılıkla en iyi kombinasyondur Örneğin bir dosyanın kopyalarını yedeklerken , sistemi onları başka bir hacim içinde korumaya zorlayabilme daha rahattır
Sürücü ve hacim belirtmesinden başka dosya isimlendirme yaklaşımlarına göre işletim sistemleri değişiklik gösterir Bazı sistemlerde dosya ismi, dosya tipi ve sürüm numarası ile birliktedir Böylece tam dosya tanımlaması belirtildiği gibidir:
Sürücü: / erişim yolu / dosya adı tipi ; sürüm numarası

1 1 Komut - dili dosya hizmetleri

Komut - dili aracılığı ile bazı kullanıcıların isteyebileceği birkaç tipik dosya-ilişkili hizmetler Tablo 1 ‘ de verilmiştir Ayrıca her verilen komut için tartışmaların örnek listesi verilmiştir Değişik işletim sistemleriyle temel dosya hizmetlerinin türü ( sırası ) karşılaştırılabilmesine rağmen , belirli işlemsel ayrıntılar ve dosya isimlerindeki çeşitlilik oldukça önemlidir
Tablo 1 ‘ de listelenen CREATE ve DELETE komutları gibi , genel dosya işletim komutları genellikle dosyaların yaratılması ve silinmesi için kolaylıklar içerir Birçok sistemde , sonradan yeni yaratılan dosyayı kullanan işletim sistem programlarını isteyerek dosya yaratma dolaylı olarak çalıştırılabilir , editör bunun en sık çok rastlanan örneğidir Dosya silme bir defada veya açık ( toptan ) şekilde yapılabilir Silmek için , hedef dosyanın tam tanımlanması , daha önce de belirtildiği gibi tipi ve sürüm numarası gerekebilir Düğer sınır , bazı kartların kullanımına izin vermek ve tek komut ile tüm sistemin silinmesi engellemektir Sorgulama modunda , kolaylığı ve güvenliği sağlamak için bir çok sistem , çokyönlü dosyaların seçici silinmesine izin vermiştir Bu yaklaşımda , her belirli dosya silinmeden önce kullanıcının bazı tanımlamalar vermesi beklenmektedir , evet / hayır gibi Bu şekilde dosya silme , DELQ gibi komutlar kullanılarak sağlanabilir

CREATE filename
DELETE filenames
RENAME oldfilename , newfilename
ATTRIBUTES filename ( s ) , attributes
COPY source_filename ( s ) , destination_filename ( s )

a ) Genel Dosya İşleme Komutları

DIR dirname
MAKE_DIR dirname
REMOVE_DIR dirname
CHANGE_DIR dirname

b ) Dizin İşleme Komutları

INITDISK drivename
MOUNT drivename
DISMOUNT drivename
VERIFY drivename
BACKUP drivename
SQUEEZE drivename

c ) Sürücü / Medya Komutları

Tablo 1 Dosya Sistemi Komut Dili

Yeniden adlandırma ve nitelik değiştirme aslında dizin işlemleridir RENAME komutu, veya onun eşitleri, kullanıcıların sürüm numarası ve tipini (genellikle uzantı olarak adlandırılıyor) içeren dosya isimlerinin bütün öğelerini değiştirmelerine izin verir
Mümkün olmasına rağmen , kullanıcılara , dizinler arasında dosya transferi yapmalarına veya RENAME komutu ile takma ad koymalarına izin vermek , yaygın değildir
ATTRIBUTE komutu , bazı sistemlerde niteliklerin değiştirilmesi için kullanılır COPY komutunun çok geniş bir kullanım alanı vardır Genellikle 1 ve ya daha fazla hedef dosyayı belirli bir yere kopyalamak için kullanılır Buna ek olarak , bir dosyanın daha fazla kopyasının yaratılması için COPY işlemi , I / O ‘ nun bağımsız aygıt biçiminin sağlandığı değişik sistemlerde dosyanın transferi için kullanılabilir Örneğin , COPY işlemi lazer disk üzerindeki dosyaların yazdırılması için kullanılabilir Bazı sistemlerde , tek COPY komutu , tüm hacimlerin yedeklenmesi için kullanılabilir COPY komutunun diğer bir geniş uygulaması da , tek hedef dosya içinde bazı kaynak dosyaların sıralanmasıdır ( Dosya birleştirme ) Bu amaç için bazı sistemler APPEND komutunu sağlamıştır Yani , COPY komutu bir çok sistemde , genellikle değişik dizinde veya yeni bir isim altında , kaynak dosyanın ayrılmış fiziksel kopyalarını oluşturur
COPY / PASLIB / JONES / KMOS LIB
komutu , LIB yeni ismi altında , KMOS dizini içinde , PASLIB dosyasının bir kopyasını oluşturur Bu , yeni bir dosya yaratmaktan farklıdır
Dizin işletim komutlarının sırları ve etkileri genellikle verilen sistemdeki dizin çeşitlerine bağlıdır DIR komutuna ek olarak , hiyerarşik dizinlerin işletimleri için tipik komutlar Tablo 1 b ‘ de verilmiştir MAKE_DIR komutu , yeni ( boş ) dizin yaratmak için kullanılır Oluşturulduktan sonra , örneğin CREATE , COPY ve LINK komutları ile yeni dizin yerleştirilir
REMOVE_DIR komutu , belirlenen dizinlerin kullanıcılar tarafından silinmesi için kullanılır Bir çok sistem , sadece boş dizinlerin kaldırılmasına izin vermektedir Son olarak CHANGE_DIR komutu veya onun eşiti olan denk komutlar , çalışılan geçerli dizinin değiştirilmesi için kullanılır Bu komut , değişik bir dizinde , bir grup dosya üzerinde yoğun olarak çalışmayı planlayan kullanıcı , varsayılan erişim yolunu değiştirmek istediği zaman yararlıdır Ayrıca bazı sistemler , PWD gibi bazı sorgu komutu çeşidi sağlar , çalışılan dizinin yazdırılması için
Tablo 1 C ‘ de listelenen , son komut sırası ( grubu ) , sürücü , medya kullanımı ve bakımı için kullanılır Böyle komutlar genellikle bütün sistemlerde bulunurlar , fakat kullanımları ( sistem yöneticileri ve ayrıcalıklı kişiler için büyük tesisatlar dışında ) sınırlıdır INITDISK komutu , yeni sürücüler ( volumes ) başlatmak için öncelikle kullanılır Bu gruptaki bir çok komut gibi , INITDISK fonksiyonu yüksek sistem ve aygıtlara bağlıdır Genellikle , INITDISK işletim sisteminin standardını sağlamak için fiziksel olarak formatlayarak ( biçimleyerek ) diski hazırlar Bu işlem çoğunlukla sürücünün fiziksel güvenilirliğini doğrular , sürücü niteliklerini , dosyadan dizin girişlerinin maksimum sayılarını belirtir
MOUNT komutu , sisteme yeni bir sürücü ( volume ) yerleştirildiğinde dosya sistemini uyarmak için kullanılır Bu bilgi kullanıcı tarafından görülen dizin hiyerarşisine , sürücü dizinlerini içermesi için ve okumak için kullanılır DISMOUNT komutu zıt bir etkiye sahiptir Kullanıcı ve kaldırılmak üzere olan sürücüler arasında kurulan bütün mantıksal bağlantıları kırmak için bazı dosyalar da gereklidir VERIFY komutu , şüpheli sürücülerin fiziksel güvenirliğini belirtir veya bakım amaçları için kullanılır VERIFY komutu genellikle fiziksel blokların okunulabilirliğini kontrol eder
BACKUP komutu , bütün sürücüleri güvenlik veya arşivsel amaçları için yedeklemek için kullanılır Bir çok değişiklikler olmasına rağmen , BACKUP komutu çoğunlukla , type üzerinde ve diğer kaldırılabilir uzun dönem depolama aracında online sürücülerin kopyalarını yapmak için kullanılır RESTORE gibi komutlar , genellikle daha önceden yedeklenmiş dosyayı yeniden yüklemek için kullanılır SQUEEZE komutu ve onun eşitleri , sürücüler üzerindeki dosyaların fiziksel görüntülerini yeniden yapılandırmak için kullanılır

2 Sistem Programcilarinin Dosya Sistemine Bakişi

Uygulama ve sistem programcıları olarak bilinen 2 sınıf kullanıcılar programlar ile servislere yardım etmelerine göre katagorize edilirler Uygulama ve sistem programları çalıştırıldığında , istenen dosya – ilşkili servisleri elde etmek için normalde run – time – call ‘ ları kullanır Run – time – calls genellikle dosyanın büyük bir kısmını sağlar ve dosya idareleri daha önceden tanımlanır
Temelde , içinde depolanan bilgilerin çok az yorumlanması veya hiç yorumlanmaması ile , dosyaların yaratılması , idaresi ve erişimlerini işletim sisteminin , dosya yönetimi alt sistemi sağlar
İşletim sistemi , onları işletebilen programlar tarafından istenen okunabilir ve değiştirilebilir dosyaları byte sıraları gibi görür Dosya içeriklerinin yorumlanması gerektiğinde bu idare programlarının sorumluluğundadır Dosya kontrol sistemleri , genellikle dosya elemanlarının sıralı veya rast gele erişimlerine izin verir Bu iki çeşit erişim çoğunlukla sıralı ( sequential ) ve rast gele erişim olarak adlandırılır
READ ( OKU ) ve WRITE ( YAZ ) run-time komutlarının formatları ve özetleri Tablo 2 ’de verilmiştir Belirtildiği gibi , kullanıcı adresi boşluğundaki bölgeler olan ve okuma / yazma işlemleri için kullanılan IN_BUFFER ( Tampon içi ) ve OUT_BUFFER ( Tampon dışı ) sırasıyla gösterilmiştir READ ya da WRITE ’ ın olması gereken dosyanın içindeki mantıksal ofset belirtilmemiştir Çünkü bu , ileri ki adımda işletim sistemi tarafından yapılacak bir işlemdir Sırasıyla yapılan girişler ( access ) için , işletim sistemi , ilk READ ya da WRITE ’ ı dosyanın başından yönetir Bir bayt ya da bir blok gönderdikten sonra işletim sistemi , sıradaki baytı işleme sokmak için dosya göstergesini çalıştırır Sıradaki her READ ya da WRITE işlemi , işaretleyici pozisyonuyla başlar Bu işlem tamamlandıktan sonra işaretleyici ( marker ) gerekirse gündeme getirilir Random access ( rasgele erişim ) için işaretleyici , SEEK ( ARA ) komutuyla dosya içindeki mantıksal ofsette pozisyonun alır Tabloda da tarif edildiği gibi SEEK , herhangi bir veri transferi içinde oluşmayan mantıksal bir işlemdir

READ dosya_adı , byte_numaraları , tamponiçi
WRITE dosya_adı , byte_numaraları , tampondışı
SEEK dosya_adı , mantıksal_pozisyon
OPEN dosya_adı , erişim_modu
CLOSE dosya_adı
Tablo 2 Run – Time Dosya Hizmetleri

Daha gelişmiş sistemlerde , programları dosyalara bağlayan linkler , çalışma zamanında ( run-time ) yapılır Bu, programın portatifliğini ve run-timedaki dosya tayinleri ve cihaz değiştirmenin esnekliği sağlayan cihaz özgürlüğünü kolaylaştırır Yerine getirilen işlemi run-time ‘ daki belirtilmiş dosyaya bağlamak genelde OPEN ( AÇ ) komutuyla gerçekleştirilir OPEN hizmetinin kesin şeklini sağlayan sistemlerde bir program , çalışacak olan her dosyayı açmalıdır ( OPEN ) Bu işlem , dosya sistemini çağıran programla belirtilen dosya arasında dinamik bağlantı kurulmasını sağlar Genelde OPEN hizmeti tamponları dağıtır , dosya adres defterlerini ( directory ‘ leri ) sıraya koyarak hedef dosyanın adresini bulur ve dosya korumasını kuvvetlendirir
OPEN komutunu kullanırken kullanıcı , dosyanın adını ve giriş yapılması amaçlanan modu belirtir Read-only ( sadece oku –RO ) ya da Read-write ( Oku ve yaz- RW ) gibi Bu bilginin temelinde , işletim sistemi , dosyayı çalıştıran kullanıcının yetkisini doğrulayabilir Dosyaları açma , uygunluk kontrolü amacı için de kullanılabilir OPEN komutu , ilgili dosyanın her aktif kullanıcısını bir okuyucu ya da bir yazıcı olarak sınıflandırır İşletim sistemi sonra uygun-kontrol algoritmasını çalıştırabilir
Aynı andaki kullanıcıların her biri , aynı dosyayı açarlar Bu yüzden bir dosya bir çok kullanıcı tarafından açılabilir Ve her kullanıcının eş zamanda bir çok açık dosyası olabilir
Dosya paylaşımını sağlayan OPEN sistem hizmeti ayrıca , kullanılmış dosyaları aktif olarak yeniden çalıştırması için işletim sistemine imkan sağlar Daha yüksek performans , girişleri dosyaya bağlayan linklerin bazılarını ya da hepsini ana hafızada tutmakla gerçekleştirilir Dosyanın bütün çalıştırma bilgileri , ana hafızada tutulması için çok büyüktür OPEN sistem hizmetinin yararlı fonksiyonlarından birisi de aktif kullanımdaki dosyaların kimliği hakkında işletim sistemini bilgilendirmesidir Böylece dosya yönetimi alt-sistemi ana hafızada sadece yakın gelecekte kullanılacak olan dosya göstergelerini tutabilir OPEN ‘ larla yerine getirilen program ve dosya bağlantıları dinamik bir doğa yaratır İşletim sistemi için tek bir bağlantıya dönmek ya da her dosya açma komutunun bir sonucu olana ID açmak alışılmış bir işlemdir Böyle bir dosyaya yapılan sonraki işlemlerde , uygulama programı sistem destekli ID ’ yi dosyanın adı yerine kullanabilir
Dosya yöneticisini çağıran run-time komutlarını tipik sırası Şekil 2 ’de gösterilmiştir Belirtildiği gibi , yeni dosya ilk önce yaratılır ya da varolan bir dosya işlem için açılır READ ‘ ların ya da WRITE ‘ ların istenilen numarası , daha sonra uygulama tarafından işleme sokulabilir Eğer dosya için rasgele erişim kullanılıyorsa READ ve WRITE komutları işaretleyicinin pozisyonunu bulmak gerektiğinde SEEK komutuyla yer değiştirilebilir Dosya işlemi tamamlandığında CLOSE ( KAPAT ) hizmeti AÇ ( OPEN ) komutuyla kurulan bağlantıyı koparmak için çalıştırılır Dosyayı kapatırken , uygulama programı , işletim sistemine yakın gelecekte kullanılması amaçlanan dosyayı gösterir İşletim sistemi buna tamponları ve geçici veri yapılarını serbest bırakarak cevap verebilir Örneğin bağlantılı ID ya da dosyaya erişmek için bekleyen diğer kullanıcılara imkan sağlayan dosya yöneticisi gibi Dosyaya bağlanan son aktif bağ , dosyayı kapatma işleminde ortaya çıktığı zaman , işletim sistemi ana hafızanın bir bölümünü geri isteyebilir







Şekil 2 Tipik Dosya İşlemleri

Bayt sırası olarak kullanılan basit dosya modelimize ek olarak , bazı işletim sistemleri , bu ana görüntünün üzerine koymak için dosya yazılımına ve dosya yapımına imkan sağlarlar Dosya yazımının , farklı dosya tiplerini ayırt etmek için işletim sisteminin gücüne ihtiyacı vardır , metin ( text ) dosyaları ve çift dosyalar gibi Bireysel dosya tiplerini tanımak için farklı metotlar kullanılabilir Basit bir metot , adının bir parçası olan dosya tipini kodlayabilir Uzantı alanlar genelde bu amaç için kullanılır Uzantı olarak kodlanan dosya tiplerine birkaç örnek verecek olursak PAS , OBJ , TXT , ve Pascal kaynak için EXE , bir text ( metin ) dosyası ve işlem yapılmış bir dosya Bir başka metot ise dosya tiplerini dosya yapısının içinde kodlamaktır Herhangi bir durumda dosya yazımının amacı , dosyalar üzerine anlamsız işlemler yapılmasını engellemektir Örneğin bir metin dosyasının tatbiki ya da bir işlem şeklini değiştirmek
Dosya yazımının dezavantajı , kullanıcıların dosyalarını istedikleri biçimde kullanmaları özgürlüğünü kısıtlamasıdır Örneğin , yazılmış dosyalarla sistem , tutarsız işletim sistemleri tarafından yaratılan ciltleri okumaya teşebbüs edemeyebilir Bir başka dezavantajı da yazımın işletim sistemi üzerinde bir fazlalık olmasıdır
Dosya yapımının üst üste konulmuş formları , genelde bir dosya seviyesinde bulunan , sabit ya da değişken uzunluk kayıtlarının tanımı için kolaylıklar sağlar Örneğin, bir dosya çalışan kayıtlarını tutan bir liste olarak oluşturulabilir ve oku yaz hizmetlerinin kendine özgü kayıtlarını ve alanlarını yönetebilir Böylece , bir OKU xx kaydı olarak çalışabilir ya da bir ARA bazı özelliklerle tanımlanan çalışanı idare edebilir Bu hizmetler normalde , veri-yönetme uygulamalarını düşük seviyeli bir bedel ya da veri tabanı yönetimi sistemi ( DBMS ) için bir kuruluş olarak çalışmayı amaçlarlar
İşletim sistemi tasarımcıları arasında bu hizmetlerin formu ve kapsamıyla ilgili bazı değişmezlikler ve bazı ittifaklar olduğu için bizler bu hizmetleri bir referans sisteminden fazla düşünemeyiz
İşletim sisteminin dosya yöneticisi tabakaları , en dıştaki tabakada tanımlanmış kullanıcı soyutlamasını ve kullanıcı isteklerini içteki tabakanın cihaz komutlarına çevirmeyi sağlar Veri yapılarını ve yönetimin değişik alanlarını tartışmadan önce , tipik bir diskin fiziksel yapısından kısaca bahsedelim

3 Disk Yapısı

Giriş / çıkış cihazları , bir bilgisayar sisteminde dosya yükleme için kullanılabilir Genel özelliği , veri transferi ünitesinin sembolik olarak bir kelime olduğu ana hafıza işlemcisindeki , blok geçişini sağlaması ve kolay ulaşılabilmesidir Ana hafızanın tam tersine , dosya depolama cihazlarının genelde belirlenmiş veri bloklarına erişmek için ortalama bir zamanları vardır Bu zamanın önem sırası , belirli bir cihazın fiziksel yerleşimine bağlıdır Bu , disketler , teyple ve çok az şeyi hafızada tutan küçük hafızalar için çok farklıdır Bu bölümde , manyetik disklerin dosya saklamak için en geniş cihazlar olduğunu tartışacağız
Veri saklama ortamı pikaba benzeyen bir disk tabağı olan manyetik oksit tabakasıdır Bir veya birden fazla tabak , veri saklamak için ve tek disket sürücüsündeki düzeltmeler için kullanışlı olabilir Kayıt pikabına bağlı olup olmadığı sürücüden anlaşılabilir , disketler silinebilir ya da sabit olabilirler Silinebilir diskler genelde paket şeklinde tutulabilirler , disk kartuşu ya da floppy disk yüzeyi gibi
Eğer sürücüde bir kartuş varsa sabit diskler de silinebilir diskler de benzer bir şekilde çalışacaklardır
Manyetik teyplerin aksine , disk tabakları sürücü mekanizması tarafından 3000 rpm ya da daha yüksek bir hızda dönerler Floppy diskler yaklaşık 300 rpm hızında dönerler ve giriş aralarında durdurabilirler Veriler , diskette hedef verinin bulunduğu bölümle yakın ilişki kurabileceği oku / yaz komutları sayesinde okunurlar ve yazılırlar Veriler , track denilen daire şeklindeki manyetik disk yüzeyine kaydedilirler Disk ------ine ayrı uzaklıkta olan bütün yüzeylerdeki track ‘ lerin toplamına bir cylinder (silindir) denir Tek bir yüzeydeki farklı track ‘ lerin sayısı , belirtilen diskteki silindirlerin toplam sayısını gösterir Genelde , sector denilen veri bloklarının sayısı her track ‘ e kaydedilir

3 1 Disk erişim zamanı

Geçerli oku / yaz kafalarının sayısına bağlı olarak diskler ya sabit kafalı ya da oynar kafalıdırlar Sabit kafalı disklerin genelde her track için ayrı bir oku / yaz kafası vardır Belirtilen sektöre , hedef sektörü geçtiği zaman uygun track ‘ in üstünde kafayı aktif hale getirerek erişilir İstenilen sektöre ulaşmak için gerekli zamana dönüşlü zaman ( rotational latency ) denilir Ortalama bu , normal disklerin dönüş hızların milisaniyeleriyle ölçülen disk zamanının yarısına eşittir Örneğin , disk dakikada 3000 kez dönüyor olsun , bir disk zamanı yaklaşık 20 ms olur Bu nedenle , böyle disklerin ortalama dönüş zamanları genelde 10 ms olarak kaydedilir Sonuç olarak belirtilen bir sektöre ulaşmak her yerden 0 ile 20 ms arasında sürecektir Ayrıca bu aynı zamanda OKU ve YAZ komutlarının verilmesiyle çalışacak olan oku / yaz kafalarının pozisyonuna da bağlıdır
Daha küçük boyutlu disket sürücüleri ( 3 , 5 inç ve ya daha aşağısı gibi ) genelde 10000 rpm sırasında daha yüksek hızla dönecektir ama bu , dönüş zamanlarını azaltacaktır
Oynar-kafalı diskler , yüzey başına sadece bir ya da birkaç oku / yaz kafasına sahip olmalarıyla bilinirler Silinebilir diskler , genelde kafa işlemini , kartuş yerleşmeden önce geri çekmesine imkan sağlayan oynar-kafalı diskten oluşur Oynar kafalarla , bir sektörü okumak için , kafa işleminin uyan silindire ilk önce taşınması gerekmektedir Bu işlem yapıldığında ilgili track ‘ teki kafa , hedef sektörü geçtiği zaman aktif hale gelir Böylece , oynar-kafalı diske erişme zamanı , kafa pozisyon zamanını , arama zamanını ve dönüşlü zamanı da kapsar Disk yapımcıları genelde kafa işlemini , disk yüzeyinin yarısına kaydeden ortalama zamandan bahsederler Bu parametre , dönüşlü zamanın yaptığından çok daha geniş bir alanı kapsamaktadır Büyüklüğü milisaniyelerle ölçülür Ve daha az performanslı sürücüler için yaklaşık 10 ms ‘ den 60 ms ’ ye kadar bu parametre ölçülebilir
Bu iki disk-erişim zaman elemanları 100 ms ‘ de 1 ms az ölçülen büyüklüğünün değişkenliğini gösterir İstenilen sektöre ulaşıldığında , veri 25-5 MB / s hızındaki bir sisteme transfer edilir 512 bayt büyüklüğünde bir sektör farz edelim 5MB / s de sektörün transfer hızı yaklaşık olarak 98 ms Bu , ortalama bir disk-erişim zamanından daha da hızlıdır Disklerin yüksek veri-transfer hızlarını daha önce belirttiğimiz gibi , direk hafıza erişimi ( DMA – Direct Memory Access ) , diskler ve ana hafıza arasındaki veri transferi yapmak için kullanılır
Özetle , disk ve hafıza arasındaki veri transferlerinde gerçekleşen donanım bağlantılı gecikmeler üç başlıca faktörün bir bileşimidir :
1 - Arama zamanı : Oku / yaz kafalarının hedef silindire taşınmasında geçen zaman
2 - Dönüş zamanı : Hedef sektörün oku / yaz kafalarının altında görünmesini beklerken geçen zaman
3 - Transfer zamanı : Bir sektörü disk ve hafıza tamponu ( buffer ) arasında transfer ederken gereken zaman
İlk iki faktör , bir disk sektörüne erişirken diskin erişim zamanını temsil eder Sadece transfer zamanı ( aralarında en küçük olanı ) sektörün boyutunun bir işlevidir
Transfer zamanı , genel olarak tek disk başına büyük miktarlardaki verileri transfer etmekte daha etkilidir Çünkü disk-erişimli kafa , sonradan geniş çaptaki baytları işleme koymaya başlar ( okumaya başlar ) Bu nedenle , sayfa ve sektör büyüklüğü artarken sayfa taşımasının etkisi ve disk oku / yaz etkisi çoğalır

4 Disk Denetleyicisi ve sürücüsü :

Disketler elektromekanik cihazlar oldukları için sadece basit komutları yerine getirebilirler Bir disket sürücüsüyle bir disket denetleyicisi arasındaki tipik sinyaller Şekil 4 ‘ te çizilmiştir Bir denetleyici genelde bir çok sürücüyü benzer özelliklerle ele alabilecek kapasitededir Bazı kontrol satırlarının , belirtilen işleme dahil etmek için tasarlanılan sürücüyü seçmeye ihtiyaçları vardır Bunlar Şekil 7 4 ‘ te SÜRÜCÜ SEÇİMİ ( DRIVE SELECT ) satırlarında gösterilmiştir Benzer şekilde , DIRECTION ( YÖN ) sinyali oynar kafalı sürücü ister ve yön göstermek için kullanır GİRİŞ ve ÇIKIŞ sinyalleri kafaların geçerli pozisyondan nereye hareket edeceklerini gösterirler Genelde , bir nabız bir silindir kafasını taşır ve nabızların belirtilen sayıları da o anki silindiri hedef silindirine taşıyan kafayı harekete geçirir











İİİİ SÜRÜCÜ SEÇİMİ








İ

KAFA SEÇİMİ

YÖNLENDİRME ( İÇERİ / DIŞARI )
ADIM
OKU
YAZ
DATA DIŞARI
DATA İÇERİ
SİL
TRACK 00
INDEX
HAZIR
HATA
SES DEĞİŞİMİ
ÇEŞİTLİ GİRİŞLER
ÇEŞİTLİ ÇIKIŞLAR


Şekil 4 Disk Denetleyicisi / Sürücü Sinyalleri

OKU ve YAZ sinyalleri , seçilmiş oku / yaz kafasını aktif hale getirmek için kullanılır VERİ İÇERİ ve VERİ DIŞARI satırları bir OKU ve ya bir YAZ komutu işlemde olduğunda bitlerin giriş ve çıkışlarını sırasıyla taşımak için kullanılır
Track 00 , kafa işleminin , silindir 0 track 0 ’ da ya da en dışta olduğu zamanı gösteren sürücü destekli bir sinyaldir Index sinyali , sürücü elektroniklerinin silindir ya da track adresi işaretini hissettiği zamanı gösterir ( Floppy disklerdeki index deliği )
Genelde silinebilir ortamlar için uygun olan DİSK DEĞİŞİMİ sinyali , işletim sistemini ortam değişikliklerine karşı uyarır Bu işlemi yaptıktan sonra , işletim sistemi belirtilen sürücüyle ilgili olan ana hafızadaki tüm bilgileri geçersiz saymalıdır , dosya girişleri ve boşluk tabloları gibi
Diğer sinyaller ise , RESET ve FAULT göstergelerin ve çeşitli İÇ ve DIŞ adı altında toplanan diğer birkaç cihaza özgün sinyalleri de kapsar Örneğin , DOOR OPEN ( Kapı Açık ) , MOTOR ON ve Yazılım Korumalı kodlayan MODE komutları
Basit bir disk denetleyicisinin başlıca işlemleri şunlardır :
1 - Yüksek seviyeli komutları ( SEEK ya da READ gibi ) zamanlanmış sürücüye özgü komutlara dönüştürmek
2 - Ana hafızayla kurulan DMA iletişimini gerektiren bayttan kelime formatına dönüştüren sinyal ayarlama seri-paralel değişimini sağlamak
3 - Hata kontrolü yapmak
Hata kontrolü , gürültü ya da elektromanyetik parazitin neden olduğu geçici hataları tespit etmek ve ortam eksikliklerini gidermek için gereklidir Bir veri bloğu disk üzerine yazılacağı zaman denetleyici değerleri hesaplar ve kontrol bitlerini veriye ekler Disk hataları genelde başarılı bitler için sorun çıkaran yarıklarda oluşur Hata-tespit mekanizmaları genelde disk denetleyicilerinde kullanılırlar OKU işlemleri sırasında denetleyici alınan verinin temelindeki kontrol bitlerini hesaplar Alınan verinin doğruluğu , hesaplanmış kontrol bitleriyle diskten alınan bitlerle karşılaştırarak yapılır Herhangi bir zıtlık , hata olduğunu gösterir
Nedene bağlı olarak , disk hatası kalıcı da olabilir geçici de Geçici hatalar, genelde sektörü tekrardan okuma işlemleriyle ilgilidir Bu parametreye genelde “ yeniden sayış ” denilir Eğer hata birkaç tekrara karşı direnirse , kalıcı hata olarak tanımlanır
Eğer sürücü tamamen işlevsel durumdaysa , kalıcı hatalar ortam eksikleri yüzünden oluşur Kusurlu sektörlere genelde kötü bloklar denilir Sadece değerli ortamları %100 bedava hata için garantilediği için , kötü bloklar disklerde daha çok oluşur Tek bir eksik sektörü olmadığı için tüm diski atmaktan çok yapılacak en genel iş , kötü blokları sürekli kullanılan yerlerden çıkarmaktır Kötü blokların iptali , genelde kullanıcıları sıkıntıdan kurtarmak için dosya kontrol sisteminin düşük seviyeli tabakasına yetki vermekle sağlanır Kötü bloklar , ilk olarak disket adının belirlendiği zaman ortaya çıkmış olabilir Bir çok sistemdeki INIT DISK komutu kötü bloklar olarak geri dönebilir
Bu zamana kadar tanımlanmış olan temel işlevlerin dışında , disk denetleyicilerinin yapabileceği bir çok şey vardır Yaygın eğilim , yazılım üzerine daha çok işlev gören daha fazla “ zeki ” disk denetleyicisi doğrultusunda, formatlama , veri depolama ya da tamponlama gibi
Sektör saklama , arama işlemleri ve birleştirici disk araştırmaları bazı denetleyiciler tarafından sağlanmaktadır Floppy ve hard-disk denetleyicinin VLSI yönetimleri , geniş RAM tamponları ve mikroişlemcilere kendilerini adayan özellikleri olan yeni tasarımlar içinde çalışmaktadırlar Diğer yandan bir çok klasik ya da “ aptal ” denetleyiciler daha önce anlatılan gelişmemiş işlevsel seviyede kalmaktadır Böylece bu denetleyiciler , diğer gerekli işlevleri yapmaları için yazılıma bağlıdırlar Standartsız bu alandaki genelleştirmeleri engellemek için , disk sürücüsü tarafından sağlanan disk soyutlamasını kısaca tanımlayacağız Okuyucu , belirtilen sistemdeki tanımlanan işlevlerin donanım ( disk denetleyicisi ) ya da yazılım ( disk sürücüsü ) tarafından gerçekleştirilebileceğini aklında tutmalıdır
Tipik bir disk sürücüsü , temel olarak fiziksel diski oluşturan üç elemanının belirlediği disk sektörlerinin okunmasına ve yazılmasına imkan sağlar
< silindir numarası , kafa numarası , sektör numarası >
Bazı yönetimler , kafa pozisyonunu ayarlayan SEEK komutlarından önce gelmesi için READ ve WRITE komutlarını gerektirmektedir Okumalar ve yazmalar için , verilerin alındığı ve işlendiği hafıza bölgesinin başlangıç adresinin de belirtilmesi gerekmektedir Sürücü seviyesindeki tipik komutlar SEEK , READ ve WRITE ’ dır
Diskler ve ana hafıza arasındaki veri transferleri , direk hafıza erişimini ( DMA ’ yı ) kullandığı için disk sürücüsü , verileri ziyaretçilere hemen göndermez ( ilgili işlemin etkilerini içeren bilgiler dışında ) Eğer bir istisna olmazsa ( okuma hatası ya da sürücü hatası gibi ) , disk sürücüsü genelde hataya göre transfer edilen gerçek bayt sayılarının gösterir Diğer sürücü komutlarıysa ortamı düzeltmek için uğraşırlar Bir track FORMATLAMAK ya da silinmiş özel bir veriyi içine yazarak kötü blokları İŞARETLEMEK gibi
Bazı disk sürücüleri ve denetleyicileri tek bir komuta cevap vermek için çeşitli sektörleri hatta track ‘ leri transfer edebilecek kapasiteye sahiptirler Bu işlemin bir avantajı da , kafaların bir kere de yerleştirilmesidir Böylece ortalama erişim hızının kafası , bir çok sektöre yerleştirilebilir Multisektör ve multitrack işlemleri genelde disk adreslerine ulaşmak için bütün transfer edilmiş verileri gerektirmektedir Kısacası kafa hareketine ya da sektör atlamalarına genelde imkan sağlanmaz

 

AGMEHMET isimli Üye şimdilik offline konumundadır  
Sponsored Links

Google'a ekle
Yudumla   Mumsema   Derya Gibi   Oya
Alt 05-09-2007   #2
Profil Bilgileri
Administrator
 
AGMEHMET - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Jul 2007
Bulunduğu yer: Gizliyara Adaları
Yaş: 39
Mesajlar: 9.116
Üye No: 4
Tecrübe Puanı: 137
Rep Puanı : 22720
Rep Derecesi
AGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond reputeAGMEHMET has a reputation beyond repute
AGMEHMET RSS Feed
AGMEHMET - MSN üzeri Mesaj gönder
Reklam
www.dantel-orgu.com
Standart RE: İşletim Sisteminde Dosya Yönetimi Teknikleri

5 Dosya Yöneticisinin Sistemini İşleme :

Şekil 5 , bu bölümde tanımlanan tüm dosya sistemlerini özetler Soyutlamanın bütün seviyesindeki komutlar da verilmiştir Şekilde de anlatıldığı gibi , dosya sistemi dıştaki tabakadaki kullanıcı soyutlamasını desteklemeli ve onu iç tabakadaki disk sürücüsü tarafından anlaşılan komutlar haline dönüştürmelidir


Yönetilen Nesneler Tipik Komutlar
İnteraktif Kullanıcılar
( Komut Dili ) Dosyalar COPY , DELETE , RENAME
Uygulamalar & Sistem Programları
( Run – time – calls ) Dosya Elemanları
( Dosya – göreceli lojik adres ) OPEN , CLOSE , SEEK , READ , WRITE
Dosya Sistemi

Cihaz Sürücüsü Sektörler
( Silindir , Kafa , Sektör ) SEEK , READ , WRITE

Şekil 5 Dosya Sistemi Tabakaları


Dosya Sisteminin kapsadığı temel işlevler şunlardır :
1 - Sistemdeki tüm dosyaların track ‘ lerini tutmak
2 - Kontrollü paylaşım sağlamak ve dosya korumasını kuvvetlendirmek
3 - Disk boşluklarının yönetimini ve dağıtımını sağlamak
4 - Dosya adreslerini disk adreslerine kaydetmek
Bu liste , disk sürücüsü tarafından yapılan düşük-seviyeleri işlemler için geçerlidir , cihaz yönetimi , ortam yönetimi , hata giderme gibi Bir başka deyişle , liste , disk sürücüsünün sağladığı disk soyutlamasını temel almakta ve sadece Şekil 5 ’ te çizilen dosya sisteminin hizmetlerini içermektedir
Dosya sistemi dosya track ‘ lerini direktory şeklinde tutmaktadır Dosya koruyucusu için farklı dosyaları ayıran bir kuvvet gerekmektedir Bu , her kullanıcının bu dosyayı kullanma izni olması gerektiği anlamına geliyor Dahası , yetkili kullanıcılara sadece belirtilen sabit bir moddaki dosyalara erişme izni verilir , sadece okunulan ya da sadece yazılan gibi
Dosya paylaşımı , bir çok yetkili kullanıcıya aynı dosyaya aynı anda erişme imkanı sağlar Paylaşılan dosyaların bütünlüğünü korumak için , sistem, aynı anda ulaşılmak istenen amaçlar için gerekli olan geçici kısıtlamalar ekleyebilir Örneğin , sadece bir grup okuyucuya paylaşılan dosyaya aynı anda ulaşma imkanı sağlanabilir Her durumda dosya koruyucusu , aynı andaki kullanıcıların sayısını dikkate almaksızın görevini yerine getirmelidir
Dosyaların hem sayısında hem de boyutundaki dinamik değişimler , disk boşluğunun dağıtımı ve birleşimini gerektirmektedir Dosya sistemi genelde kullanılmamış disk boşluklarının track ‘ lerini özgür blok havuzu gibi saklar Dosyanın yaratımı ve gelişimi için gerekli olan disk bloklarının istekleri normal olarak bu havuz tarafından yerine getirilir Daha önceden dağıtılan disk blokları elden çıktığında dosya sistemi onları özgür blok havuzuna geri gönderir
Dosya sistemi çağrılarında da belirtildiği gibi kullanıcılar dosya parçalarını mantıklı ya da dosya adresleri kapsamında okunup yazılması için belirtilirler Diğer yandan , disk sürücüsü silindir , kafa ve sektör numaraları olarak belirtilen fiziksel disk adreslerini idare eder Bu tutarsızlığı gidermek için , dosya sistemi kullanıcı-destekli adresleri okuma ve yazma işlemleri için gerekli olan fiziksel disk adreslerine kaydetmelidir Dahası , sektör disk transferleri için temel bir ünite olduğu için , dosya sistemi kullanıcının istediği bayta erişebilme isteğini disk sektörlerinin hepsine erişme istediğine dönüştürmelidir
Disk adreslerinin direk mantıksaldan fiziksel kaydı mümkün olsa da bir çok sistem bunu aşama aşama gerçekleştirir Bunun başlıca nedenlerinden birisi de yapıdaki ve farklı cihazların fiziksel özelliklerindeki geniş değişkenliktir
Küçük cihazlar bile ( disk sürücüleri gibi ) tabakaların , sektörlerin büyüklüğü ve oku / yaz kafa sayılarının kapasitesini değiştirebilir Direk mantıksaldan fiziksele kaydının böyle bir değişikliğini desteklemek için bütün özel cihazlar hakkında bilgi edinmek gerekmektedir
Dosya yöneticisi genelde işletim sisteminin en geniş çaplarından birisidir Bu yaklaşım , yapılanmamış bir tasarı da sonuçlandırılır Belki de daha önemli bir başka sorun da diğer bir dosya yöneticisiyle işbirliği yapmasını sağlayacak olan esneklik eksikliğidir
Bu tür sorunları engellemek için işletim sistemi tasarımcıları , genelde daha fazla yapılanmış bir yaklaşım takip etmelidir Kısacası dosya sistemi , genelde kendi soyutlamasını kendisi yapan bir çok tabaka şeklinde yerleştirilir Sadece bu yapının en alt tabakaları ( cihaz sürücüleri gibi ) fiziksel cihaz özelliğinden kesin bir şekilde haberdardırlar Yüksek tabakalar da gerçek depolama cihazlarının özelliklerini içeren cihazlarla çalışmaktadırlar ( Veri transferi gibi ) Düşük tabakalar ( cihaz sürücüleri gibi ) bu durumu daha gerçek işletme için daha özel cihazlara çevirmektedir Bu yaklaşım daha fazla yönetilebilir ve daha çok yapılanmış bir tasarı olarak sonuçlanır Dahası , cihazların yeni tipleri sadece kısa bir cihaz sürücüsü yazarak ve dosya sisteminin yüksek tabakalarını eksiksiz bırakarak sisteme kolayca eklenebilir
Cihaz soyutlanması ve disket deposu adresinin aşağıdaki üç seviyesi , dosya yönetici sistemini yerleştiren başlıca faktörlerdir :
1 - Mantıksal dosya adreslemesi : Soyutlamanın en yüksek seviyesinde , depolama sistemi olarak adlandırılan dosyaların bir bileşimi olarak incelenir İkincil depolamadaki maddeler iki adres elemanı olarak kaydedilir ( dosya adı , ofset ) Birçok uygulama şekli ve dosya sistemi çağrıları bu adresleme yöntemini kullanırlar
2 - Mantıksal cilt adreslemesi : Birçok disket cihaz sürücüsü , disk soyutlamasını doğrusal bir sektör sırası olarak algılar Dosya sisteminin cihaza bağımlı kısımları bu adresleme şeklini kullanır ( sektör , ofset ) Küçük bilgisayar sistem cihazları , bu disk soyutlama şeklini donanım denetleyicilerinin sürücülerde kendilerini tanımlamaları şeklinde oluşmasını sağlamaktadır ( SCSI )
3 - Fiziksel sürücü adreslemesi : Bu yöntem , şeklin üç fiziksel elemanını < silindir , kafa , sektör > kullanır Tanımlandığı gibi bu adresleme yöntemi , Şekil 4 ’ te çizilen sinyalleri çeviren yazılım cihazı sürücüleri tarafından üretilir
Sadece üçüncüsü ( en düşük disk soyutlama yöntemi ) geometriye ve sürücü tasarımına da bağlı olan üç fiziksel adres elemanını kullanır

5 1 Directoriler :

Directöriler esas olarak dosyaların sembolik tablolarıdır Tek düz bir directory , bir sistemde tüm dosyaların bir listesini barındırabilir Hiyerarşik directory ‘ ler kullanıldığında , tüm directory ‘ lerin ve alt directory girişlerin toplamı , sistem dosyalarının toplamını ifade eder Genel kural olarak , bir hiyerarşik directory sisteminin olası yerleşiminden bahsedeceğiz Düz directory ‘ ler , alt directory ‘ siz ya da tüm sistem dosyalarını içeren kök directory ‘ lerinin içinde bulunduğu bir form olarak tanımlanabilir
Bir directory girişi bir dosyayı ifade eder Bir dosya genelde adı , özellikleri ve giriş göstergesiyle tanımlanır
Tipik bir directory girişi aşağıdaki bilgileri kapsar :
1 - Dosya adı, tipi ve versiyon numarası
2 - Dosya-giriş göstergesi


3 - Dosya özellikleri:
a ) Boyutu
b ) Yapı
c ) Sahibi
d ) Giriş hakları
e ) Yaratılma tarihi
f ) Son yedekleme tarihi
g ) Son referans tarihi
Dosya ismi , tipi ve versiyon numarası bir dosyayı teşhis etmek için kullanılırlar
Dosya-giriş göstergesi READ ve WRITE komutlarının fiziksel yerlerini belirlemek için kullanılır
Yukarıda verilen bazı dosya özellikleri de direktory ‘ lere kaydedilir Önemli dosya özelliklerinden bir tanesi , yetkili kullanıcıların ve istenilen dosyaya erişme izni alan kullanıcıların listesidir Bir çok farklı tarihlerde arşiv için ya da yönetim amaçları için birer özellik olabilirler Örneğin , zaman paylaşımlı bir çok sistem , düzenli aralıklar da kullanıcı dosyalarını yedeklerler Disk boşluğunu korumak için uzun süredir ulaşılmamış dosyalar , dış depolara aktarılabilirler Seçilmiş dosyaların fazla yedekleri , her dosyanın son yedekleme tarihinin track ‘ ini saklamasını kolaylaştırır
Direktory girişleri , dosya sistemine eklenir Girişler, dosya silindiğinde directory ‘ lerden de silinir Directory ‘ ler, devamlı dosyalara erişmek için, yerlerini belirlemek için ve giriş silmek ya da eklemek için kullanılırlar Directory ‘ nin tanımından ve içeriğinden bahsettikten sonra şimdi de directory yerleşimi için uygun olan veri yapılarından bahsedelim
İlk kararlardan birisi , dosya direktory ‘ lerinin yerleştirmeyle ilgili Direktory ‘ ler diskte mi yoksa hafızada mı tutulmalı ? Ortalama disk-erişim zamanlarının da belirttiği gibi daha hızlı erişim sağlanması ve directory ‘ leri çalıştırmak , onları ana hafızada tutarak başarılabilir Diğer yandan , direktory ‘ lerin depolanması için gereken boşluk daha geniş olabilir , böylece dırektory ‘ iler ciltler yer değiştirdiğinde ya da başka sisteme geçtiklerinde saklanabilir
Bir çok sistem bu çıkmazı , dırektory ‘ leri ikincil depoda saklayarak ve aktif kullanılan girişleri ana hafızaya kopyalayarak çö