Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

İşletim Sisteminde Dosya Yönetimi Teknikleri - Bilgisayar

  • Konuyu başlatan Konuyu başlatan TruvaGame
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 44
Metin2 Pvp GM

TruvaGame

Level 23
GM
TM Üye
Katılım
23 Ocak 2016
Konular
8,370
Mesajlar
18,384
Online süresi
4mo 19d
Reaksiyon Skoru
4,080
Altın Konu
0
Başarım Puanı
506
MmoLira
24
DevLira
0
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

İŞ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 dingiline 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 .

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 çözmektedirler . Aktif kullanılan girişlerin kimlikleri , dosyalar işlem için açıldıklarında , sisteme bildirilirler .
Bu yüzden ilk basit fikir , bir dosya direktory ‘ sini dosya listesi olarak tasarlamak ve bunu diske kaydetmektir . Disk işlemlerinde değişmezlik sağlamak için ve istenilen direktory boyutlarına ulaşmak için , directory ‘ lerin kendilerini dosya olarak dikkate almaları gerekmektedir . Directory ‘nin tüm dosyaların listesini içeren bir dosya gibi tanımlanması , sistem başlangıcında kök direktory ‘nin yerini bulmak için önemli bir özelliktir . Bir başka deyişle , eğer direktory tüm dosyaları listelerse , direktory ‘ i kim listeler ? Genelde bu sorunun çözümü, directory ya da kökü sistemin yerleştirildiği ciltlerin bilinen bir adresine yerleştirmektir böylece işletim sitemi kök direktory ‘ e direk erişebilir.
Bu belirleme , genelde düz direktory ‘ lerin yerleştirilmesi için yeterlidir . Bir cilt oluşturulduğunda , boş bir dırectory , bilinen disk adresinde yaratılır . Her dosya yaratımında , boş bir directory girişi , yerleştirilir ve ilgili dosya hakkındaki bilgilerle doldurulur . Böylece , her dırectory girişi , tamamen bir dosyayı tespit eder .
Dosyaların bu tespitine ek olarak , hiyerarşik directory ‘ ler benzer adların kullanımına farklı fiziksel dosyaları belirtmek için imkan sağlar . Bu durum basit düz direktory ‘ler tarafından kolayca yerine getirilmeyebilir . Bunun yerine , hiyerarşik direktory ‘ ler , genelde tabloların sembolik adlarını fiziksel tanımlarından ayırarak yerleştirilirler . Bu tip olası bir organizasyon Şekil 6 ’ da çizilmiştir .
File ID
Address
Size
Usage Count
Access Rights
1
BFD
10
5
RW system , No access others
2
DIR
2
1
RO everyone
3
---
---
---
-----
4
OBJ
58
21
RW PasMaint , RO others
5
DIR
69
1
RO everyone
6
DIR
87
1
RO Smith
7
---
---
---
-----
8
TXT
336
207
RW Jones , RO Smith
9
DIR
805
1
RO Jones
10
DIR
2318
1
RO everyone
11
TXT
1012
118
RW Smith
12
---
---
---
-----
13
OBJ
2586
29
RW Jones , RW Smith
14
PAS
2530
55
RO everyone
15
TSK
3012
38
RW Jones , RW Smith​
Basic File Directory ( BFD )​
*​
2
*
5
*
6
* *
2
* *
2
* *
2
PASLIB
4
-----
---
KMOS
10
-----
---
REPORT
8
REPORT
11
JONES
5
NEW_YORK
9
-----
---
SMITH
6
KMOS
10
( EOF )
---
( EOF )
---
( EOF )
---
ROOT
JONES
SMITH
*
9
*
10
* *
5
* *
5
( EOF )
---
SOURCE
14
CONFIG
13
NEW_YORK
LIB
4
USERP
15
( EOF )
---​
KMOS

Şekil . 6 . Dosya Dizinleri

Belirtildiği gibi , dosya adları sembolik dosya direktory ‘lerinde ( SFDs ) saklanır . Ayrı bir sembolik dosya directory ‘ si , sistemde tanımlanan directory ‘ ler ve alt directory ‘ ler için uygundur. Şekil 6 ’ da çizilmiş olan sembolik directory ‘ ler , Şekil 1 ’ de tanıtılan dosya sistemini tanımlar . Sembolik bir dosya directory ‘ sinin başlıca amacı ; bir kullanıcı imzalı dosya adıyla , sistem-imzalı dosya ID ’ leri arasında benzerlik kurmaktır . Fiziksel dosyalar , ilgili dosyayla bağlantı kurmak için sistem tarafından kullanılan bir ID tarafından tayin edilir . Adlar haricinde dosya tanımlamaları , basit dosya directory ‘ leri adındaki ( BFD ) ayrı bir directory de tutulurlar . Daha etkili olması için , genel bir yerleştirme ID dosyasını basit dosya directory ‘ si içindeki bir kayıt olarak kullanmakla sağlanır . Bu , Şekil 6 ’ da gösterilmiştir .
Dosya tanımlamalarından ad tabloların ayrılması , aynı addaki dosyaları kolayca ayırt etme imkanı sağlar . Örneğin , ID ’ si 4 olan kök directory ‘ sinde PASLIP olarak ve KMOS directory ‘ sinde 4B olarak bilinen fiziksel dosyaya dikkat edin . Bu iki ada , sembolik directory ‘ ler olan ROOT ( Kök ) ve KMOS denilen directory ‘ lerde listelenmiştir . Ama her ikisi de aynı fiziksel dosya numarasını , 4 ’ ü göstermekteler . İki REPORT ( Rapor ) dosyasının da JONES ve SMITH directory ‘ lerinde aynı adları var ama farklı fiziksel dosyalar oldukları için ID ’ leri de farklıdır .

5 . 2 . Disk boşluklarının yönetimi :

Dosya sisteminin bir önemli işlevi de ikincil depolardaki boşlukları yönetmektir . Bu hem dosyaların dağıtılan disk bloklarının hem de dağıtım için uygun olan boş bloklarının track ‘ ini saklama işlevini de içine alır . Dosyanın genişlemesiyle boş bloklar tüketilir ve dosyaların silinmesi ya da kısaltılmasıyla da boş bloklar dağıtım için üretilir . Bu yüzden , var olan dosyaları tanımlayan direktory ‘ lere ek olarak , dosya sistemi bir boş blok havuzu ele geçirmelidir .
İleride de gösterileceği gibi , boşluk dağıtım stratejisi , genelde dosya erişimi ve disk adreslerinin belirlenmesi işlemleriyle çok yakından ilgilidir . İyi bir boşluk dağıtım stratejisi bir çok faktörü de göz önünde bulundurmalıdır . Örneğin:
1- Dosyalara hızlı erişim yönetiminin , rasgele erişim yönteminin ve dağıtım blokları yönetiminin uygulamaları .
2 - Multisektör ve multitrack transferlerini kullanabilme yeteneği .
3 - Disk boşluklarından yararlanma .
4 - Belirtilen algoritmanın ana-hafıza koşulları .
Bu faktörlere kısaca bir göz atalım . Hızlı erişim , genelde en önemli faktördür , yani , disk erişim numaraları bir okuma ya da yazma işlemi için hedef bloğunun yerini tespit eder . Dosyalara sıralı ve ya rasgele erişim hızı , genelde blokların dağıtımı ve toplanma hızından daha önemlidir . Multisektör ve multitrack transferlerini kullanabilme yeteneği disk-erişim zamanının hızını yükseltmede bir avantajdır . Diskten yararlanma , disk boşluğunun kullanıcıları dağıtılan kısmından bahseder . Düşük-diskten yararlanmanın başlıca avantajları , boş bloklar geçerli olduğu zaman ortaya çıkan disk tanımlarıdır . Ana hafızadan yararlanmak da belirtilen algoritmayı gösteren tanım tablosunu etkili kullanmak için gereklidir .
Depoların yönetimi , ana hafıza yönetiminde de karşımıza çıkacak benzer bir sorundur . İkincil depolar , bu soruna iki farklı bakış açısı getirir . Disk erişim zamanı , daha yavaş komutlarla uğraşırken bloklar daha hızlı komutlarla uğraşırlar . Dahası , dosya boyutlarının değişkenlikleri ve dinamik değişiklikleri temel koşullarının tahmini çoğu durumda zor ve güvenilir yapar. Buna rağmen, bir çok faktör iki çevre arasında benzerdir . Örneğin , dağıtımın yakın ve uzağı yönetmedeki temel özelliği dosya sistemleri için de geçerlidir .
Boşluk dağıtım şemalarının sunumları benzer bir formatı takip eder . Bu şemanın performansı hem sıralı hem de rasgele dosya erişimleri için çok önemlidir . Bir dosya yönetici şeması hem dosya bölümlerine etkili erişimi sağlamalı hem de diskler üzerindeki boşlukları dağıtım amaçları için yönetmelidir . Bizler ayrıca boşlukları yönetirken ki şemaların davranışlarından da bahsedeceğiz . Bu özelliklerin temelinde , boşluk dağıtım şemasının avantajları ve dezavantajlarının bir özeti bulunmaktadır . Öncelikle disk boşluğunun yakın dağıtımından ve uzak dağıtımın iki şekli olan zincirleme ve indeksleme ( kaydetme ) yöntemlerinden bahsedeceğiz .

5 . 2 . 1 . Yakın dağıtım
Disk boşluğunun yakın dağıtımı düşüncesi , diskteki yakın bölgeleri run-time isteklerine karşı verecek şekilde dağıtmaktır . Sistemlerde , yakın dağıtımla bir çok dosya diskteki yakın bloklara yerleştirilir . Şekil 6 ’ da ki yakın bir dosya olarak yerleştirilen BFD dosya Şekil 7 ’ de de vardır . Dosya , diskteki blok numarası 10 olandan başlayarak arka arkaya gelen 5 dosyayı meşgul eder . Şekil 7 ’ de de görüldüğü gibi , directory ’ de kayıtlı olan dosya boyutu ve başlangıç adresi , yakın bir dosyanın herhangi bir bloğuna ulaşmak için yeterlidir . Sıralı erişim hem basittir hem de hızlı çünkü mantıksal olarak bitişik bloklar disk üzerinde fiziksel olarak da bitişiktirler . Bitişik dosya blokları arasında herhangi disk erişimleri ya da kafa hareketleri olmadığı için , multisektör transferleri rahatlıkla kullanılabilir .




0


1


2


3


4


5


6


7


8


9
( LB 0 )​
10
( LB 1 )​
11
( LB 2 )​
12
( LB 3 )​
13
( LB 4 )​
14


15


16


17


18


19


Şekil . 7 . Disk Boşluğunun Yakın Dağıtımı

Yakın dosyalara rasgele erişim de oldukça hızlıdır . Çünkü hedef disk bloğunun adresi , directory ’ de kayıtlı olan dosya başlangıç adresinin temelinde kolayca hesaplanabilir .
Örneğin , Şekil 7 ’ de çizilen dosyanın ikinci mantıksal bloğunun adresi , hedef disk adresini üretmek için dosyanın başlangıç adresi 10 ile istenilen ofset 2 ’ yi ekleyerek elde edilir . Rasgele erişim modunda multisektör transferleri kullanma yeteneği , arama işlemleri arasındaki sıralı blokların sayısına bağlıdır .
Disk boşluğunun yakın dağıtımı , blokların dağıtımı ve toplamı konusundaki yerleştirmeyi ve yakın boş blokların track ‘ lerini saklamayı gerektirir . Bu işlemler , dosyalar yaratıldığında ya da silindiğinde sırayla gerçekleştirilir . Boş disk bölgelerinin adresleri ve boyutları , ayrı bir listede tutulabilir ya da kullanılmış dırectory girişlerine kaydedilebilir . Örneğin , bir dosya silindiğinde , temel dosya dırectory ‘ sindeki girişi <kullanılmamış > olarak işaret edilebilir ama adresi ve bloklarındaki büyüklüğü eksiksiz olarak bırakabilir . Yeni bir dosya yaratıldığında , işletim sistemi kullanılmamış dırectory girişlerini uygun bir büyüklükte boş bir bölge yerleştirmek için araştırılabilir . İlk ve en iyi algoritmalar da genelde bu amaç için kullanılırlar . Ana hafızada tutulan directory sayısına bağlı olarak ilk ve en iyi algoritmalar arasındaki işlemler değişebilir . Yani , ilk algoritma daha az directory araştırması gerektirir ve directory ‘ nin çoğu diskte olduğu zaman tercih edilebilir . Diğer yandan , en iyi algoritma dağıtılmış disk bölgelerindeki iç parçalanmayı azaltabilir .
Boşukların dağıtımı , dosya directory ‘ sinin kullanılmamış girişlerindeki boşlukların track ‘ lerini tutan sistemlerde önemsizdir . Bu tip sistemlerde , bir dosya , TYPE ya da PRESENCE ( Varlık ) ‘ larda yok sayılarak silinebilir .
Özetle , yakın dağıtım , disk erişimlerinde hedef bloklarını yerleştirmeye gerek duymadan hızlı dosya erişimini sağlar . Dahası , çok küçük direktory ‘ lere ve hafıza boşluklarına , yakın dosyaların track ‘ lerin tutmaları için ihtiyaç vardır . Yakın dağıtımla ilgili asıl sorun neden olduğu disk parçalanmasıdır . Dosya boyutlarının değişkenliği yüzünden , disk boşluğu önemli ölçüde parçalanabilir . İçsel ve dışsal parçalanmanın bileşimi , diskten yararlanmaya zarar verebilir . İçsel parçalanmanın bir çeşidi de , kullanımdaki boşluk dağıtım yönetimini dikkate almaksızın bütün dosyalarda bulunabilmesidir . Bu , bloklar halindeki disk boşluğunun dağıtımının bir sonucudur . Böylece ortalama bir bloğun yarısı , dosya başına harcanır . Bazı sistemler , disk sektörlerinin tam sayı numaraları olan ve genelde dağıtım sepetleri denilen ünitelerde boşluk dağıtırlar . Boşluğun dağıtımı genelde dosyalar fazla büyüdüğünde daha hızlı işler ve buna bağlı olarak da içsel parçalanma artar . İçsel parçalanma , boşluk dağıtım algoritmalarını , kalan blokları boş listeye göndermeden uygun bölgeleri dağıtarak kolaylaştıran sistemlerde gelişebilir . Sonuç olarak , her dosyanın sonundaki boş bloklar , ilgili dosya silinene kadar dağıtılamaz ve bu bloklar da içsel parçalanmaya neden olurlar .
Dışsal parçalanma, dağıtım için çok küçük olan boş blokları kapsar ama bu bloklar diskin boyutunun önemli bir bölümünü kapsıyor da olabilir . Ana hafıza yönetimindekine benzer bir durum yaşanabilir . Yani bu sorun , diskin yoğunluğunun neden olduğu bir durum da olabilir . Aslında , Bölüm 1 ’ de belirtilen SQUEEZE ( Baskı ) ünitesinin başlıca işlevlerinden birisi de disk boşluğunu yoğunlaştırmaktadır / sıkılaştırmaktır . Disk yoğunluğu , genelde cilt-cilt temelinde yerine getirilir .
Bu da , ilgili dosyalar çalıştırılırken bu dosyala erişimi engeller . Belirtilen sistemin başlıca kullanımına bağlı olarak , bu kabul edilebilir de edilmeyebilir de .
Disk boşluğunun yakın dağıtımı , dosya büyüklüğünün önceden açıklanmasını gerektirir , yani , dosyanın yaratılma zamanını hesaplaması için bu işlem yapılır . Bu , dosya kopyalama için bir sorun olmasa da , dosya büyüklüklerinin doğru hesaplanması genelde zor ve güvenilmezdir . Örneğin , editör tarafından yaratılan yeni bir dosyanın büyüklüğünü hesaplamak için kullanılacak mantıklı yöntem nedir ? Bu sorunla baş edebilecek tek yol , bazı ön hesaplamalar yapmak ve ilgili dosya için uygun boş bir bölge dağıtmaktır . Eğer dosya , hesaplandığından daha büyük çıkarsa , bu dosyanın uzantısı bir başka disk bölgesine yerleştirilebilir . Buna genelde dosya taşkını denir . SQUEEZE işleminin bir parçası olarak , taşmış dosyalar yeniden yapılandırılabilir ve “ yakın ” yapılabilir . Taşmış “ yakın ” dosyalara erişme , yakın dağıtım işlemlerinin çoğunun etkisini yok eder . Son olarak , disk boşluklarının yakın dağıtımı disk bölgelerinin parçalanmasına neden olan kötü blokların “ yerini bulmayı ” güçleştirir .

5 . 2 . 2 . Uzak dağıtım

Hem dosyalardaki hem de boşluklardaki uzak dağıtım , iki temel stratejinin değişimiyle gerçekleştirilir .
Zincirleme
Kaydetme
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst