Eglence Msn e Gitmek İçin Tıkla

30 Temmuz 2008 Çarşamba

Freeware Nedir?

Freeware Nedir?

Kullanımı ve dağıtımı tamamen ücretsiz olarak gerçekleştirilebilen program türlerine verilen isimdir. 'Free' kelimesi burada ücretsiz anlamındadır. Her ne kadar kullanımı ve dağıtımı ücretsiz olarak yapılabilse de belli kısıtlamalar mevcuttur. Programı sadece kullanma ve orjinal haliyle dağıtma hakkınız vardır. Freeware programların telif hakları programcıya aittir. Programcı size sadece o programı ücretsiz olarak kullanma ve orjinal haliyle ücretsiz olarak dağıtma hakkını vermektedir

Shareware Nedir?

Shareware Nedir?

'share' kelimesi paylaşma anlamına gelmektedir. Shareware lisansı, bilgisayarınıza kurduğunuz programı belli bir süre ücretsiz olarak denemenize olanak tanıyan bir sistemdir. Programcının belirlediği bu süre sonunda eğer programı kullanmaya karar verdiyseniz belli bir ücret ödemeniz gerekiyor.
Shareware programlarındaki kısıtlamalar sadece kullanım süresi olarak karşımıza çıkmıyor ayrıca yaygın olarak kullanılan bir yöntem olan programın bazı özelliklerin deneme sürümlerinde iptal edilmesi de kullanılmaktadır. Bu tip kısıtlamalarda genelde zaman kısıtlaması yer almaz.
Bu durumda programın gelişmiş bir kaç özelliğinin iptal edilmiş özelliklerine ihtiyacınız varsa belli bir ücret ödemelisiniz. Bu sistemde sıkça uygulanan yöntemde ücreti ödedikten sonra size bir şifre gönderilir. Siz bu şifreyi programdaki bir alana yazarak programı deneme sürümündeki kısıtlamalardan arındırabilirsiniz. Bu durumda program shareware olmaktan çıkar, ve shareware lisansında izin verilen serbestçe dağıtım hakkı ortadan kalkar. Ayrıca lisansa bağlı olarak ek bazı yükümlülükler de gelebilir. Sonuçta programın lisans türü, o şifrenin girilmesiyle değişmektedir. Size verilen şifreyi diğer kullanıcılar ile paylaşamazsınız ve şifre girilerek kısıtlaması kaldırılmış programı başkalarına dağıtamazsınız.

Trialware Nedir?

Trialware Nedir?


Türkçe karşılığı 'deneme' olan 'trial' kelimesinden türeyen bir lisans türüdür.Buradaki mantık shareware ile hemen hemen aynıdır. Genellikle pazarladıkları büyük çaplı programlara shareware ismini vermek istemeyen firmaların tercih ettiği bir ifadedir. Symantec firmasının Norton Utilities ve Norton Antivirus programları, Adobe firmasının Photoshop programlarını trialware lisansına örnek verebiliriz

Bilgisayarı Televizyonu Bağlama

Bilgisayarı Televizyonu Bağlama


Bilgisayardaki görüntüyü pc ye aktarma" nasil gerceklestirilir,kisa ve basit bir dille anlatmaya calisacagim..Öncelikle Sahip oldugunuz ekran kartinin Tv out cikisi(S-Video) olmali,bu yolla görüntüyü tv ye veya baska bir cihaza aktarmak mümkün..




Ikinci olarak Televizyonunuzda s-video girisi (s-video,video in veya EXT1-2, Composite video girisi veya baska ifadelerle belirtilmisdir) ya da en kötü ihtimalle bir scart girisine sahip olmaniz yeterlidir..
Hem ekran kartimin tv out (video)cikisi hemde uygun bir televizyona sahibim diyorsaniz yolun yarisini geride biraktik demektir..Simdi ihtiyacimiz olan sey video ve audio bilgilerini televizyona aktarabilecegimiz bir kablo..Kendi kullandigim kablo 10 metrelik ve hicbir sinyal kaybi olmadan max düzeyde görüntü aliyorum..Simdi kablonun bilgisayara baglanan(bilgisayar tarafinda 2 uc-video-audio) uclari; sagdakini ekran kartimizin tv out cikisina yerlestiriyoruz(pinli girise-yukaridaki resimde gösterilen yere),digeri ise resimde görüldügü gibi audio baglantisi,onuda bilgisayarimizda uygun yere bagliyoruz..



Diger ucu ise Televizyonumuzun scart girisine bagliyoruz..Piyasada bulunan kablolarin cesitliligine(ekran kartinizin composite cikisindan görüntü almak isterseniz yine farkli bir kablo) göre ya scart cikisli yada ikinci resimde görüldügü gibi kirmizi beyaz sari cikisli oldugu takdirde ilgili bölmelere,egerki onlar yoksa resimde görüldügü gibi bir ön parca alarak scart girisimize baglayabiliriz..(Böyle bir parcaya ihtiyac duyarsaniz pratiklik acisindan in out anahtari olan bir parca almanizi öneririm,yada cesitli kombinasyonlara sahip parcalar da var ve bu sekilde görüntü 2inci bir televizyona da aktarabilmeniz mümkün(maksat fantezi olsun



Bilgisayar ile Televizyonumuzu birbirine bagladik,simdi bilgisayarimizda ilgili son ayarlari yapacagiz..Bunun icin Desktopumuzda(Bendekiler farkli) bos bir alana sag tiklayip Özellikler/Ayarlar/Gelismis i seciyoruz..



Resimlerde görüldügü gibi(tam emin degilim ama ekran kartiniza göre sanirim 2.secenek icin farkli bir ikon olabiliyor) 1 ve 2 Monitör seceneklerimiz mevcut,burda 2 secenegi sectikten sonra asagidaki isaretsiz kutucugu isaretliyoruz(son resimde okla gösterilen) yere tikliyoruz(Türkce olarak ne yazdigindan emin degilim,ama suna benzer bir secenek olmali; "Windows Desktopu bu monitöre aktar" ya da arkadaslar düzeltirse daha da iyi olur) ve son olarak Ok ledikten sonra olayi bitiriyoruz..(daha bitmedi)
Bu islemler icin cesitli programlar var,hepimizin sikca duydugu isim ise Tv tool,illaki programla denemek istiyorum derseniz indirmek icin (ben programsiz devam ediyorum)
http://tvtool.info/go.htm?http://tvt...download_e.htm

Programi indirirken hangi kartlari destekledigine dair bilgilerde var(maalesef her karti desteklemiyor)
Simdi Tv de uygun ayarlari yapmak icin kumandamizin AV tusuna basiyoruz..



Görüldügü gibi AV-1 de birsey yok AV tusuna basiyoruz bir kez daha,AV-2 de görüntü siyah-beyaz,bir kez daha AV tusuna bastigimizda ise AV-2 S de bilgisayarimizdaki görüntüyü net ve renkli olarak televizyonumuzda görüyoruz..
Görüntüyü aktardik simdi filmlerimizi tv de nasil izleyecegimizi ögrenecegiz(yada bundan sonra Televizyonuzun ekranini nasil kullanacaginiz size kalmis,isterseniz büyük ekranda oyun oynamaya baslayabilirsiniz)..Bsplayer ile herhangi bir filmimizi acalim..Simdi ben desktopumun görüntüsünü sizlerle sunacagim



simdi ise film ekranini komple sag tarafa cekip birakiyoruz(yani bilgisayar ekraninda bsplyr film ekrani kaybolmus durumda olacak ve siz bunun paralel olarak tv ye kaydigini gözlemleyebilirsiniz),ve film ekranini büyütmek icin üzerinde herhangi bir yere mause sol 2 kere tikliyoruz,su an filmimiz tam ekran Televizyonumuzda..



Ve son olarak zzzzzz sesinden kurtulmak icin anten fisini televizyondan cekiyoruz..
Nette okudugum bilgiler cercevesinde ;"ekran kartinizin tv out cikisi olmadan da cesitli araclar geregiyle görüntüyü tv ye aktarabilmeniz mümkün.."

T.C. Kimlik No Sorgulama

T.C. Kimlik No Sorgulama

T.C. Kimlik No Doğrulama

Kimlik Paylaşımı Sistemi hakkındaki görüş, öneri ve şikayetlerinizi www.nvi.gov.tr adresine iletebilirsiniz.

Masa Üstünü Elinizle Düzeltin

Masa Üstünü Elinizle Düzeltin


Üç boyutlu işletim sistemleri geliyor. Windos Vista’nın pabucunu dama atacak projeler yolda. Kanada’da bir yazılım firmasının proje aşamasındaki işletim sistemi ilgi çekti.

Üç boyutlu grafiklerle donatılmış masaüstünde elinizle istediğiniz değişikliği yapabiliyorsunuz. Hazırlık görüntüleri youtube’a düştü bile...

İşletim sistemi Linux ta benzer bir çalışma yürütüyor. Üç boyutlu masaüstü ekran ile dokunmatik ekran çalışmasını başlattı.

Dunyadan canlı camera izlenimleri

Ilk önce google yi açiyoruz. Sonra

inurl:/view/index/shtml

komutunu search bölümune yaziyor ve ara tuşuna basiyoruz. önümuze birçok link çıkacaktır. açıp kameranın gosterdiği yeri izleyebilirsiniz. Ben mesela Almanyada bir şehirinin kamerasını açtım, bunda kamerayı döndürme ve zoom etme özellikleride vardı. Bazı kameralar iş yerlerine ait, insanları çalısırken izleyebiliyorsunuz. Yada Japonyada bir caddenin guvenlik kamerasindan izleyebiliyorsunuz.

Bilgi Çağının Zehirli Atıkları: E-Atıklar / Elektronik Atıklar

Bilgi Çağının Zehirli Atıkları: E-Atıklar / Elektronik Atıklar
Prof. Dr. Muammer Kaya
Eskişehir OGÜ
Makale 2003

(The Information Age’s Toxic Garbage)


Bilgi çağında çevrecileri korkutan ve sindiren çok önemli bir olay da teknolojik atıklardır. Sadece 2003 yılında, Amerika’da 63 milyon kişisel bilgisayar atık/çöp sahalarına gönderilmiştir. Her kişisel bilgisayar büyük bir kısmı monitörde olmak üzere yaklaşık 1.8 kg kurşun içermektedir. Bunların yanında az miktarlarda zehirli/toksik kadmiyum ve cıva da bulunmaktadır. Bu toksik maddeler birleşerek birçok pis/çok kirli atık oluşturmakta ve bunların çoğu artık çöp yığınları içine atılmakta veya gelişmiş ülkelerden çevre duyarlığı az/olmayan ülkelere gönderilmektedir. Örneğin ABD bugün elektronik atıklarınınn yaklaşık %50’sini deniz aşırı ülkelere göndermektedir. Gelişmiş ve gelişmekte olan ülkelerde elektronik atık (bilgisayar, monitör, entegre devreler, telefonlar, TV, elektronik parçalar/cihazlar vs) sorunu çok önemli boyutlara ulaşmaktadır. Bu sorunun çözümü için sorun daha da büyüyüp çözümsüzleşmeden bunları geri kazanabilecek teknolojilerin uygulanıp yaygınlaşmasına ihtiyaç vardır.

ABD’nin Kalifornia Eyaleti Senotosu toksik elektronik atıklarla ilgili standartları belirlemeye başlamış olup ABD’de satılan her kişisel bilgisayar için 6-10 $ geri dönüşüm maliyetini bilgisayar fiatlarına ekleme yasası hazırlamıştır. Bu geri dönüşüm paraları devletin tehlikeli elektronik atıkları emniyetli bir şekilde yok etme programının finansmanında kullanılacaktır. ABD’de ayrıca elektronik üreticileri aynı zamanda daha az tehlikeli malzemeler kullanılmaya zorlanmaktadır.

Dünyada e-atık sorunu gerçekten iki yıl önce gelişmiş ülkelerin, eski/hurda/kullanılmış kişisel bilgisayarları fakir devletlere göndermeye başlamasıyla, tartışılmaya başlamıştır. Gelişmiş ülkelerin birçok elektronik atığı Çin gibi ülkelerde son bulmaktadır. Bu ülkeler bu e-atıklardan çok ilkel geri kazanım yöntemleriyle bakır, alüminyum ve altını geri kazanırken, kurşun ve diğer zehirli atıkların toprak ve suya karışmasına yol açmakta ve buna göz yummaktadır..

Dünya’da ilk kez ABD’nin Kalifornia eyaleti, elektronik cihaz üreten şirketleri kendi ürünlerini geri dönüştürmeden sorumlu tutmayı amaçlamaktadır. Yani kirleten temizler felsefesini uygulanmaktadır. Avrupa Birliği’de (AB) buna yakın bir kanunu yakında kabul etmiştir. ABD’deki elektronik üreticileri ise bu görüşe karşı çıkmakta olup satışların düşük olduğu bir ortamda her bilgisayar başına 30$’lık ek bir yük getireceğini iddia etmektedirler.

ABD’li çevrecilere göre 2007 yılından itibaren Kaliforniya’da, AB kurallarına uygun olmayan elektronik çihaz satışının yasal olmayacağı tahmin edilmekte ve ayrıca her iki yılda bir teknoloji şirketleri elektronik cihazlarındaki tehlikeli madde miktarlarını açıklamak zorunda kalacaklardır.

Hızla gelişen teknoloji sebebiyle bugün üretilen hayatımızı kolaylaştıran elektronik cihazların atıklarının Dünya’da artık ciddi bir sorun olduğu ve bunların emniyetli bir şekilde geri kazanım ve/veya yok etme yöntemlerinin geliştirilmesinde kanun yapıcılara ve bu ürünleri üretenlere önemli görevler düşmektedir.

Ülkemizde de e-atıklar (özellikle bilgisayar, monitör, TV, cep telefonu, elektronik parçalar vs) artık önemli sorun haline gelmeye başlamış olup bu elektronik atıklardan geri kazanılabilecek kıymetli metallerin (bakır, alüminyum, altın vs) emniyetli bir şekilde geri dönüşüm yöntemleri geliştirilmeli ve zehirli metaller (kurşun, kadmiyum, cıva vs) toprak, hava ve suya karışmadan yok edilmelidir.

İş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 ( 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 .
<>
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ı <> 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 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

ZİNCİRLEME : Zincirlenmiş dağıtım , aslında , bağlı listenin disk-temelli bir versiyonudur . Yani , her disk bloğunun birkaç baytı , sıradaki bloğu işaret edecek şekilde yerleştirilir . Hem dosyalar hem de disk boşluğu listeleriyle bu yolla baş edilebilir .
Bu çeşit dosyalarda , directory “ kafa göstergesini ” de içine alır , yani , ilk disk bloğunun adresini . BFD dosyasının zincirlenmiş yerleştirilmesi Şekil 8 ’ de gösterilmiştir . Directory girişinin Şekil 7 ’ deki gibi hiç değişmemiş kalmasına rağmen , yani dosyanın disk adresi 10 ’ dan başlamasına ve 5 blokluk bir büyüklüğü olmasına rağmen , dosya tarafından işlenen asıl fiziksel bloklar yakın değillerdir . Sonuç olarak , bu tip dosyalara erişim directory de listelenen adresi olan ilk bloktan başlamalı ve ileriki blok gösterge alanlarını başarılı şekilde çalıştırmalıdır . Örneğin , Şekil 8 ’ de gösterilen dosyanın LB4 ’ ten LB0 ’ a kadar ki mantıksal blokları sırasıyla 10 , 3 , 18 , 19 ve 7 fiziksel blok adreslerini meşgul ederler .





0


1


2
( LB 1 )

3

18


4



5


6
( LB 4 )

7





8


9

( LB 0 )

10


11


12


13
( LB 4 )

14



15


16


17
( LB 2 )

18

19
( LB 3 )

19

7

Şekil . 8 . Disk Boşluğunun Zincirlenmiş Dağıtımı

Zincirlenmiş dosyalar sıralı erişim için çok uygundurlar . Çünkü işlenen blok , sıradaki diğer bloğun adresini de içine alır . Multisektör transferlerin zincirlenmiş dosyalar için kullanımı oldukça zordur çünkü bitişik mantıksal blokların fiziksel olarak yakın olduğu zamanlar da bile , bu özellik genel olarak belirtilen bloğa erişilmeden önce bilinemez . Bu , temel olarak transfer edilen blokların toplam numarasını isteyen multisektör transferlerini önler . Zincirlenmiş dosyalara rasgele erişim yavaştır çünkü belirtilen bloğu yerleştirme zincirdeki tüm bloklara erişmeyi gerektirmektedir .
Diğer yandan boş blokları zincirleme oldukça basit ve rahattır . Hafızada tutulan boş zincirlerin göstergeleriyle , tek blokların dağıtımı kolayca yapılabilir . Blokların gruplar halinde dağıtımını yapmak ve bütün sıralı blokların adreslerini saptamak için disk erişimine ihtiyaç vardır . Bu , uygulamada çok nadir bir sorundur çünkü uzak dağıtımlı sistemler genelde dosyaların büyümesine imkan sağlar ve bir kez de tek blokları ya da küçük grupları dağıtır .
Diğer yandan , bloklar dosyaların silinmesinden sonra gruplar halinde toplanırlar . Hafızadaki boş zincire bağlı bir gösterge tutarak , bu işlem tek bir disk erişimiyle yapılabilir. Bu erişim , yeni boş bir zincir eklemek gerektiğinde son bloğun linkine ulaşmayı sağlar .
Aksi halde serbest bırakılmış her blok için bir disk erişimi , göstergeleri belirtmek için kullanılır .
Zincirlemenin avantajları , sadeliği ve çok küçük depolama işlemlerini de kapsar . Uzak dağıtıma bağlı olan zincirleme dışsal disk parçalanmalarına neden olmaz . Sonuç olarak disk yoğunluğuna ihtiyaç olmayabilir . Göstergeler için gerekli olan disk boşluğu %1 ’ in altında olduğu için diskten yararlanmadaki etkiler biraz uygulamayla ilgilidir .
Dahası, zincirleme , kötü bloklara dosyalardan ve dosya zincirlerinden ayırarak onlarla kolayca baş edebilmeye imkan sağlar . Bağlanmış yapısına rağmen , var olan bir dosyanın ortasındaki blok ekleme işlemi oldukça elverişlidir . Zincirlemenin dezavantajları , yavaş rasgele erişimini ve multisektör transferlerinden yararlanma beceriksizliğini kapsar . Bazı işletim sistemi tasarımcıları hasarlı göstergelerin zincirleme duyarlılığını hiç sevmezler .
Gerçekten , hasarlı tek bir gösterge binlerce bloğu erişilmez yapabilir . Hasarlı disklerdeki zincirlenmiş dosyaların iyileştirilmesi oldukça yorucu bir iştir . Bazı tasarılar bu sorunu dosyadaki göstergeleri saklayarak ve bunları gereğinden fazla kopyalayarak çözmeyi amaçlar . Bu fikir, daha hızlı erişimi özellikle rasgele erişimi kolaylaştırmak ve ana hafızaya zincirlerin listesini kopyalayarak gerçekleşir . Gösterge dosyalarının fazlalığı , daha güvenli bir çözüm için yapılır . Benzer bir methot da MS-DOS ve PC-DOS işletim sistemlerinin bazı popüler versiyonlarında kullanılır .
İNDEKSLEME : Uzak dağıtımının alternatif bir başka yöntemi ise indekslemedir ( kaydetmedir ) . Dağıtılmış blokların göstergeleri olma konusunda zincirlemeyle benzer yönleri olmasına rağmen , indeksleme rasgele erişimin hızını belirtilen indeks blokların içine gösterge yerleştirerek arttırmayı amaçlar .
İndekslemenin prensibi , Şekil 9 ’ da gösterilmiştir . Dosyanın ilk bloğunun adresinin yerine directory örneğimiz de 10 olan indeks bloğunun adresini kapsar . İndeks bloğu da ilgili dosyanın veri bloklarının göstergelerini kapsar .
Yerleştirilmelerinde çok az değişiklikler olmasına rağmen , indeks blokları , numaralanmış hafıza sistemlerindeki tablolar gibi aynı amaca hizmet etmektedir . İndeks bloğuna erişimdeki en yüksek aşamada , indeksleme , sıralı erişim ve rasgele erişim arasındaki zaman farklarını ayırır . Bir dosyanın belirtilmiş bir bloğuna , indeks bloğuna uyan ofsetindeki adresini araştırmak için ulaşılabilir . Örneğin, 512 bayt bloğu , 4 bayt göstergeler , BFD dosyanın mantıksal blok numarası 2 olan adresi indeks bloğunun 8 adresinde başlayan 4 bayt göstergesinde bulunabileceğini düşünün . İndeks bloğunun adresi de dırectory de bulunabilir .







0


1


2
( LB 0 )

3


4



5


6
( LB 3 )

7


8


9





3












18
19
7
6



15
( LB 4 )

16


17
( LB 1 )

18
( LB 2 )

19

Şekil . 9 . Disk Boşluğunun İndekslenmiş Dağıtımı

Bu varsayımlara göre , 512 baytlık indeks bloğu , dosya bloklarına bağlı 128 göstergeyi kapsayabilir . Bu , böyle bir sistemdeki en geniş dosyanın , 512 baytın 128 bloğu geçebileceği anlamına geliyor . 64 KB ’ nin sınırı çoğu sistemdeki tipik dosya boyutundadır . Bu sorun , multiseviye indekslemesini kullanarak azaltılabilir . Şekil 10 ’ da çizilmiş olan çift seviyeli indeksleme gibi . Bu şemada hedef veri bloğunu yerleştirmek için iki seviye vardır ; ilk seviye indeksi , ikinci seviye indeksini işaret eder ; o da veri bloklarını işaret eden göstergeleri kapsar. 512 bayt blokları ve 32 bit göstergelerini düşünelim . Bu düzenleme dosya boşluğunun 8 MB ’ ının destekleme kapasitesine sahip olan 128 * 128 ikinci seviye indeks bloklarının adreslenmesini gerektirmektedir .
File Directory
1 . Seviye index bloğu

2 . Seviye index bloğu

Veri Blokları

Şekil . 10 . İki Seviyeli İndexleme

Adresleme bölgesi , indeksleme seviyesiyle birlikte çoğalır . Böylece üçlü indeksleme seviyesinin şeması da aynı varsayımlar altında 1GB dosyaya imkan sağlamaktadır .
İndeks dosyalara hem sıralı hem de rasgele erişim , hedef bloğun adresini bulmak için her indeksleme seviyesine 1 disk erişimini gerektirmektedir . Geçerli indeks bloğunun adresleme bölgesindeki dosya bloklarına , başarılı erişimler yapılması için kullanılmış indeks bloklarının hafızada tutulup tutulmadığını öğrenmek gerekir . Doğal olarak , sıralı erişim indeks bloklarını tamponlanmadan yararlanabilir . Prensipte sıralı erişimdeki multisektör transferleri , adreslerin yakınlığının önceden araştırılmasıyla mümkün olabilir . Bununla beraber , uzak dağıtımın doğası da bunu sıralı disk sektörlerindeki bitişik mantıksal bloklarını bulmak için imkansız hale getirir . Bu durumu azaltmak için uzak dağıtımlı sistemler dosyalarını SQUEEZE ya da benzer bir ünite seviyesinde diskin yapılanmasıyla yakın hale getirir .
Boş blokları indekslemek mümkündür çünkü yeni açılmış bir cilt çok sayıda boş bloklara sahip olabilir . Bu yüzden bu cilt hepsini hesaplamak için çeşitli indeksleme seviyelerine ihtiyaç duyar . Boş blokların sayıları , dosyaların açılma sırasına göre azaltılabilmelerine rağmen , blokların dağıtımı ve toplamı , çok seviyeli indeksleme işlemine devam edebilir . Hafızada boş listenin en az bir indeks bloğunun tutulması n boş bloklarının çabuk dağıtımıyla sonuçlanabilir . ( n bir bloktaki boşluk sayısına eşittir . )
Disk üzerindeki boşlukları indekslemenin en bilinen yolu bit haritasıdır . Bir bit haritası , bitlerin bir sırasıdır , bu bitlerin her biri bir disk sektörünün durumunu gösterir . FREE / ALLOCATED ( BOŞ / DAĞITILMIŞ ) gibi . Bit haritasının bir örneği , Şekil 11 çizilmiştir . Bu şekil , Şekil 9 ’da çizilen basit 20 disk bloğu için kurulmuştur . Dağıtılmış ( kötü ) disk blokları haritadaki bitlerden değeri 1 olan bölümlerde gösterilmiştir . BFD dosyasının çalıştırdığı 6 disk bloğuna ek olarak 0 , 1 , ve 2 blokları kök bloğunun ya da sistem kök directorisinin çalıştırdığı bloklar olarak düşünülür .


0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
1 1 1 1 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 1

Şekil . 11 . Bit Haritası

Belli bir cildin bit haritası , o ciltteki ayrı bir dosyada tutulabilir ve o cilt çalıştırılacağında ana hafızaya götürülebilir . Bir başka alternatifte , bit haritasını directory ‘ e hangi dosyanın boş hangisinin dağıtılmış olduğunu danışarak kurmaktır . Blokların sıralı dağıtımı ve toplamı , ana hafızada tutulan haritaların uygun bitlerini yerleştirerek çabucak yapılabilir . Bit haritasının sağladığı boşluktan bazı avantajlar kazanmak için 512 bayt sektörlü bir 8 MB disk düşünün . Diskin 129 gösterge bloğu ve yaklaşık 64.5 KB kullanarak iki seviyeli bir yapı tarafından indekslenebilen 16 KB sektörü vardır . Geçerli sektörlerin tüm 16 KB ‘ lık bölümleri 2 MB ‘ lık bir bit haritasıyla tanımlanabilir . Sonra da cilt başına 129 index bloğunu çift-seviyeli indekslemeyle kaydeden deponun %1 ’ in altında olduğuna dikkat edin .
İndekslenmiş dosya dağıtımının avantajları şunlardır :
1 - Dışsal parçalanma olmaz .
2 - Rasgele erişimin kapasitesi artar .
Dahası indeksleme , kötü disk bloklarının haritasını kolayca çıkartabilir . Boşlukların indekslenmesi de bit haritasıyla başarılabilir .
İndekslemenin başlıca dezavantajı , disk üzerindeki hedef bloğunun adresini tekrar ele geçirmek için gerekli olan disk erişimidir . Ama bu sorun , bazı indeks bloklarını hafıza tutarak ve başarılı disk işlemleri yapılarak çözülebilir . İndekslemenin başka bir dezavantajı da adresleme bilgisini kaydetmek için gerekli olan boşluktur . Gösterildiği gibi bu , boşluk büyük dosyalar için çok küçüktür ama en azından bir indeks bloğunun kendisini bir dosyaya adamasıyla bu boşluk küçük dosyalar için önemli olabilir . Örneğin , bir indeks bloğunun Şekil 9 ’ daki BFD dosyasının 5 veri bloğunu tanımlaması için gereklidir .
Unix sisteminin kullandığı başka ilginç bir yol da , boşlukları korumak ve küçük dosyalara daha hızlı erişim sağlamak için indekslenmiş adresleri birleştirmektir . Directory ‘ den ulaşılabilecek olan bir Unix tanımlayıcısı , 13 göstergeyi kapsar . İlk 10 gösterge , disk üzerindeki 10 veri bloğunun direk adreslerini belirtir . 11. göstergeyse veri bloklarını belirten 138 göstergeyi kapsayan ilk seviyeli indeks bloğunu işaret eder . 12. gösterge 2 seviyeli indeksleme yapısının ilk bloğunu işaret eder .
13. gösterge ise 3 seviyeli indeksleme yapısının ilk bloğunun adresini belirtir . Bu stratejiyle , 10. sektöre kadar ki dosyalar direk adreslenebilir . Tek seviyeli indeksleme 137. Sektöre kadar ki dosyalar için yeterlidir . İki seviyeli indeksleme 16521 sektörü içine alır ve 3 seviyeli indeksleme de 1GB sırasındaki dosyaların adreslenmesine izin verir .
Unix , boşluk dağıtımlarında ve dosya erişim algoritmalarında belirtilen şemaların bir bileşimini kullanan çoğu sistemden sadece birisidir . Örneğin , yakın ve zincirlenmiş dağıtımlar sıralı erişimli dosyalar için uygundur , öte yandan yakın ve indekslenmiş dağıtımlar rasgele erişimli dosyalar için uygundur . Tahmin edilebilen boyuttaki dosyalar multisektör transferlerini kolaylaştıran yakın dağıtım tarafından idare edilebilir . Boşluk dağıtımlarının yakın ve uzak çeşitlerini tek bir sistemde birleştirerek , disk parçalanması sonucu bir ölçüde azaltılabilir . Parçalanma belli bir sınırı aştığında , disk yoğunluğu , bütün dosyaları yakın yapmak için ve boşlukları tek bir bölgede birleştirmek için kullanılabilir .

5 . 3 . Disk adresi tercümesinin bir anatomisi :

Bu bölümde ayrıntılı olarak disk adreslemesinden bahsedeceğiz . Daha öncede tanımladığımız gibi kullanıcılar , ikincil depolarda kaydedilen bilgilere ulaşırlar . Kullanıcılar , belirtilen dosyaların içeriklerini dosyayla ilgili olan mantıksal adresler sayesinde elde ederler .
Dosyanın sıralı baytlar dizisi olarak düşünüldükleri durumlarda , kullanıcılar bireysel baytları ya da bayt gruplarını yazmak ya da okumak için isteklerde bulunabilirler . Örneğin , /JONES/REPORT dosyasını açtıktan sonra bir program , 1600 bayt numarasından başlayarak 1200 baytın okunması isteğinde bulunabilir . Bu dosyanın programdaki ID ’ sinin 3 olduğunu farz edersek aşağıdaki komut sıraları görevi tamamlamak için kullanılabilir .
ARA ( 3 , 1600 ) SEEK ( 3 , 1600 )
OKU ( 3 , 1200 , TAMPON ) READ ( 3 , 1200 , BUFFER )
Dosyaya başka hiçbir erişimin bu komutları öncelikli yapamayacağını farz edersek , bunun bir rasgele-erişimli istek olduğunu kabul edebiliriz . Sonuç olarak SEEK komutu dosya göstergesini 1600 pozisyonuna yerleştirmek için kullanılır . READ komutuysa , dosya sistemine ID ’ si 3 olan dosyadan 1200 bayt okuması emrini verir , yani , BUFFER ( TAMPON ) adlı bölgedeki /JONES/REPORT dosyasının .
Dosya sistemi , kullanıcıların bu isteklerini kabul etmeli ve onları belirtilen sürücüdeki silindir , kafa ve sektör numaralarından oluşan 3 parçalı fiziksel adreslerin anlaşılabilir disk sürücüsü haline çevirmelidir .
Disk soyutlamasının değişik seviyeleri arasındaki bu adres tercümelerine ek olarak , dosya yöneticisi sistemi olası anlaşmazlıklarla uğraşmalıdır . Yani birçok depolama cihazları sadece blokların tam sayı numaralarını transfer edebilirken kullanıcının isteği , az sayıdaki bloklara çevrilebilir . Dahası diskler sadece blok seviyesindeki parçaları adresleyebilen kullanıcılar bir dosyadaki bireysel baytları adresleyebilirler .
Peki bir kullanıcı disk bloğunun tam ortasındaki tek bir bayta ulaşmak isterse ne olur ? Dosya sistemi genelde bu sorunu , verilerin blok temelindeki ikincil-depolama cihazlarıyla değiştirildiği iç tamponları ele geçirerek çözer . Kullanıcılar tarafından istenilen parçalar da sonra bu tamponlardan çıkartılır ve kullanıcının boşluğuna transfer edilir . Bu işleme , verilerin çıkış bloklarına ya da giriş bloklarına transfer edilmesine bağlı olarak blocking ( bloklama ) ya da çıkarma ( deblocking ) denilir .
Şimdi de bunları /JONES/REPORT dosya örneğindeki adreslerde deneyerek görelim . Genel olarak dosyanın 80 baytlık sabit uzunluğunun sıralı kayıtları olarak yapıldığını farz edelim . Bu , dosyanın 80 kolonluk yazıcı için formatlanmasını gerektirebilir . Farz edelim ki biz 20 ‘ den başlayan ve TAMPON ’ a kadar devam eden 15 mantıksal kaydı okumak için bir program istedik . Daha sonraki komutlar aşağıdaki gibi olabilir :
ARA ( 3 , 20 ) SEEK ( 3 , 20 )
OKU ( 3 , 5 , TAMPON ) READ ( 3 , 5 , BUFFER )
Haritalamadaki ilk adım , mantıksal kayıtları mantıksal bayt adreslerine dönüştürmektir . Directory ’ e baktıktan sonra , dosya sistemi , dosyanın 80 baytlık sabit mantıksal kayıtları olduğunu bulur . Komut daha sonra aşağıdaki gibi mantıksal bayt adreslerine çevirilebilir .
s = t * r = 20 * 80 = 160
g = n * r = 15 * 80 = 1200
s , dosyanın baytlardaki başlangıç adresidir ,
t bir kayıt numarası olarak ifade edilen hedef adresidir .
r , kayıt büyüklüğü ,
g okunacak olan baytların numarası ve
n de okunacak kayıtların numarasıdır .
Böylece , kullanıcının komutu baytlar şeklinde ifade edilen mantıksal adreslere çevrilmiş olur
İşlemin ikinci adımıysa bu değerleri mantıksal bloklara ve bu blokların içindeki ofsetler çevirmektir . Sistemdeki mantıksal blok boyutunu 512 bayt olarak düşünürsek , bu işlem aşağıdaki gibi gerçekleştirilebilir .

m = s div b = 1600 div 5122 = 3 , kalan 64
m dosya pozisyonu göstergesidir,
s baytlardaki başlangıç adresidir ve
b de mantıksal bloğun büyüklüğüdür.
Bu , okunacak olan başlangıç adresini 64 ofsetindeki üçüncü bloğa çevirir . Bloklara transfer edilen baytların tercümesi aşağıdaki gibi yapılabilir . Başlangıç bloğuna transfer edilen baytların numarası :
b-o = 512 – 64 = 448
o başlangıç ofsetidir .
448 bayt ilk bloktan transfer edildikten sonra transfer edilecek kalan baytların numarası :
1200 – 448 = 72
Yani bu:
752 div 448 = 1 , kalan 240
ya da üçüncü bloğun 240 baytı. Özetle, okuma 3 , 4 , 5 mantıksal blok numaralarının etrafını kuşatabilir . Bu blokları iç sistem tamponlarına getirdikten sonra 3. Bloğun son 448 baytı , 4. bloğun hepsi ve 5. bloğun ilk 240 baytı , toplam 1200 bayt BUFFER ’ dan başlayarak kullanıcının boş adreslerine kopyalanabilir .
Dosyaya bağlı blok adreslerinin cilde bağlı blok adreslerine çevirimi , boşluk dağıtım şeması bilgisini gerektirmektir . Daha öncede söylediğimiz gibi boşluk dağıtımı yakın da olabilir uzak da . Farz edelim ki /JONES/REPORT dosyası yakın disk bloklarında olsun , dosyaya bağlıdan cilde bağlı başlangıç blok adresi ekleyerek yapılır . Dosyanın ilk bloğunun Şekil 7 . 6 ’ da çizilen 336 disk adresinde olduğunu farz edelim . Okuduğumuz cilde bağlı blok adresleri 339 , 340 ve 341 ’ dir . Eğer dosyalar zincirlenmiş ya da indekslenmiş ise , hedef mantıksal blokları gösteren ilgili göstergeler disk erişim için bu noktada ele geçirilmelidir .
Cilde bağlı mantıksal blok adresini, uygun 3 elemanlı fiziksel disk adresine çevirmek için disk üzerindeki bazı fiziksel sektörleri numaralandırma şemasını kullanmalıyız . Aşağıdaki numaralandırma tekniği genelde kullanılan bir tekniktir :
1 - En dıştaki silindirden ( fiziksel silindir 0 ) ve en yüksek yüzeyden ( kafa ) numaralandırmaya başlayın . Cilde bağlı sektör numarasını 0 ’ a ayarlayın .
2 - Track işaretinden ( indeksten ) başlayarak , geçerli track üstündeki numara sektörlerini maksimum numaraya getirin .
3 - Aynı silindir üstündeki bir başka yüzeye ( kafaya ) geçin ve 2. Adımdaki aynı yöntemlerle track üstündeki sektörleri numaralandırmaya devam edin .
4 - Bir silindirin üstündeki tüm track ‘ ler ( kafalar ) bu yolla numaralandırıldığında , içteki diğer silindire geçin 0. trackten başlayın ve 2. 3. ’ ü adımları tekrarlayın .
5 - Cihazın üstündeki tüm silindirler numaralandırılana kadar 2 ,3 ve 4. adımları tekrarlamaya devam edin .


2

3 1


4 0



5 9


6 8


7

a ) Boş Sayfa Eklemeden

4

1 7



8 0



5 3


2 6


9

b ) Boş Sayfa Ekleyereek

Şekil . 12 . Sektör Numaralandırması

Disk numaralandırmanın bu yönteminin etkileri Şekil 12 . a ’ da gösterilmiştir . 512 bayt sektörlü , silindir başına 4 kafası ve 512 silindir olan 10 MB ‘ lık kuramsal bir disk düşünün . Şekil 12 a artarda gelen iki silindirin en yüksek yüzeydeki ( kafa 0 ) sektörleri numaralandırma işlemini gösterir . Kafa 0 ‘ daki fiziksel sektör 0 ve silindir 0 ’ a mantıksal adresine sahiplermiş gibi davranılır . Aynı kafadaki sıralı sektörle 9 ’ a kadar ki sıralı mantıksal numaraları alırlar . Numaralandırma aynı silindirdeki diğer track ‘ lerle devam eder . Bunlardan 4 tane olduğu için aynı silindirin ( 0 ) son kafasındaki ( 3 ) son sektör ( fiziksel numara 9 ) mantıksal adres 39 ’ la işaretlemiştir . Sonuç olarak , Şekil 7 . 12 ’ de çizilen diğer iç silindirin ( 1 ) en üstteki yüzeyindeki ( kafa 0 ) ilk sektör ( 0 ) de 40 mantıksal adresi olarak işaretlenir .
Şekil 12 . a ’ da çizilen sektör numaralandırma şeması , sıralı mantıksal sektörler arasında herhangi bir erişim zamanına izin vermez . Örneğin , bir veri tabanı uygulamasında bir blok bazı anahtar değerler için okunabilir ya da yazılabilir . Eğer araştırılan değer bulunmazsa , bir sonraki mantıksal sektör okunur ve işlem tekrarlanır . Bu işlemin disk erişiminde çok az zaman aldığını düşünürsek , diskin tamamen gelişim zamanı bir sonra ki mantıksal blok okunana kadar gerekli olabilir . Boş sayfa ekleme ( interleaving ) denilen alternatif sektör numaralandırma şeması , bu sorunu çözmek için kullanılabilir . Şekil 12 . b ’ de gösterildiği gibi , boş sayfa ekleme işlemi disk üzerindeki sıralı mantıksal bloklarını uzak fiziksel sektörlere yerleştirmekten oluşur .
Sonuç olarak erişim zamanı bir okuma / yazma kafasının altındaki iki sıralı mantıksal sektörler arası geçişe izin vermektedir . Bu tip boşlukların sürekliliği diskin dönüş hızına , boyutuna ve sıralı mantıksal bloklar arasındaki fiziksel disk sektörleri numaralarına bağlıdır . Boş sayfa ekleme faktörü olarak bilinen son eleman ise genelde sistemin amaçlanan kullanımı için uygun hale programlanabilir . Şekil 12 . b ’ de gösterilen örnekte boş sayfa ekleme faktörü 3 ‘ tür . Sonuç olarak dört tane mantıksal blok okunabilir ve Şekil 12 . b ’ de gösterildiği gibi boş sayfa eklemeyle yapılan disk gelişiminin içinde çalıştırılabilir . Bu işlemi kullanan ve kullanmayan cihazlar arasındaki farklılıkları gizlemek için boş sayfa ekleme işlemi dosya sistemindeki disk sürücülerine kendini adayan işlemlerden sadece bir tanesidir .
Bazı yüksek performanslı disk alt sistemleri , iç hafızayı ve bunu kullanan tampon track ‘ lerini içine alır . Bu track ‘ ler disk girişimindeki tüm track ‘ leri okuma kapasitesine sahiptir .
Fiziksel Adres Mantıksal Adres
Silindir
0 <= c <= C - 1 Track
0 <= t <= T - 1 Sektör
0 <= s <= S - 1 Göreli Sürücü
0 <= l <= CTS – 1
0 0 0 0
--- --- --- --- Track 0
0 0 S – 1 S – 1
--- --- --- --- Silindir 0
0 T –1 0 ( T – 1 ) S
--- --- --- --- Track T –1
0 T – 1 S – 1 ( T – 1 ) S + S – 1
--- --- --- ---
İ 0 0 İTS
--- --- --- --- Track 0
İ 0 S – 1 ITS + S – 1 Silindir i
--- --- --- ---
İ J K iTS + jS + k Track j
--- --- --- --- Silindir C –1
C –1 T - 1 S –1 CTS – 1 Track T - 1
Tablo . 3 . Fiziksel ve Mantıksal Disk Adresleri

1 : 1 sayfa eklemesiyle sunulan numaralama sistemi Tablo 3 ’ te genelleştirilmiştir . Bu tabloda ayrıca mantıksal ve fiziksel disk adresleri arasındaki bağlantılar da verilmiştir . Track 0 olarak gösterilen track ‘ in üstündeki sektörler 0 ’ dan S-1 ’ e kadar numaralandırılmıştır . S , cihazın track başına düşen sektör kapasitesidir . Numaralandırma işlemindeki track ‘ lerin ve sektörlerin sırası 0. Silindirindeki T-1 track ‘ i için gösterilmiştir . Cilde bağlı mantıksal blok adresini silindirler , track ‘ ler ve sektörler şeklinde hesaplama işlemi , silindir i , track j , sektör k , şeklinde gösterilmiştir . Formülü :
I = iTS + jS + k
S , track başına düşen sektörlerin numarasıdır .
T , ise silindir başına düşen track ‘ lerin ( ve okuma yazma kafalarının ) numarasıdır .
Bu değerlerin her ikisi de genelde belirtilen cihaz için sabittir .
Sonuç olarak cilde bağlı maksimum blok adresi :
CTS - 1 ’ dir .
C , cihaz da sabit olan cilt ( hacim ) başına düşen silindirlerdir ve
CTS ise bu cihazın sektörlerle ifade edilen kapasitesidir .
Cilde bağlı mantıksal adres için verilen ifade l , fiziksel adreslerin 3 elemanını hesaplamak için kullanılabilir . Örneğin ; cihaz sürücüsü tarafından belirtilen l , ve cihaz sabitleri olarak bilinen T ve S ve üçlü adres ( i , j , k ) .
i = silindir numarası .
j = kafa numarası .
k = sektör numarası .
İlk olarak l , i ‘ yi elde etmek için TS ’ ye bölünür . Yani :
l / TS = i + ( jS + k ) / TS
i , bölümdür . Ve parantez içindeki ifadelerin , l ’ nin TS ile bölümünden kalanı olduğuna dikkat edin . Hem kafa hem de sektör numaraları kalan kısmında ifade edildiği için j kafa numarasını elde etmek için sabit S ’ ye bölünmesi gerekir . Yani :
( jS + k ) / S = j + k / S
Böylece cihaz sabiti olan S ’ den kalan sayının tam sayısal bölümünün sonucu olarak kafa numarası j ‘ yi bölüm olarak elde ederiz . Ve sektör numarası k ‘ yi de kalan olarak elde ederiz . Bu işlemin nasıl çalıştığını görmek için çalıştığımız örneği bir de OKUMA işlemiyle uygulayalım . Farz edelim ki biz 512 blokluk bir sektör boyutuyla formatlanan 10 MB ’ lık kuramsal bir diskle uğraşıyoruz . Track başına 10 sektör , silindir başına 4 track ve 512 silindiri olan bir disk olsun . Yani diskin cihaz sabitleri şunlardır :
C=512
T=4
S=10
Daha öncede belirttiğimiz gibi başlangıç blok adreslerimiz l 3398 ‘ dur . Biz bu adresi uygun fiziksel adrese aşağıdaki gibi dönüştürürüz .
İlk önce mantıksal adres TS ’ ye bölünür . ( TS örnekte 40 değerindedir . ).
339 div 40 = 8 , kalan 19
Bu bize silindir numarası ( 8 ) ve kafa ve sektör numaralarını hesaplamak için kullanılan kalanı ( 19 ) verir . Bunu değeri 10 olan S ’ ye bölerek şunu elde ederiz :
19 div 10 = 1 , kalan 9
Sonuç olarak kafa numarası 1 , sektör numarası 9 ‘ dur yani cevap <> . Bu işlemi diğer iki blok numaraları için de tekrarlayarak ya da disk hesaplanma planını kullanarak ve fiziksel adresi arttırarak iki fiziksel disk adresini elde edebiliriz . Bu adresler de <> ve <> dir .

5 . 4 . Dosyaya bağlı sistem hizmetleri

Bu bölümde daha önce bölümlerde tanıtılan işlemleri kapsayan ve run-time dosya hizmetlerinin tanımlarından bahsedeceğiz .
YARAT komutunun temel çalışma alanları Program 1 ’ deki işlevsel programda gösterilmiştir . Belirtildiği gibi ilk adım sembolik direktory ‘i aramaktır . Bu işlemin amacı desteklenen dosya isminin var olup olmadığını öğrenmektir . Çoktan kullanım halinde olan bir isim altında yeni bir dosya yaratmak için yapılan işlemler , sisteme ve sistemin dosyaları adlandırma anlayışına bağlıdır . Genel olarak dosya uzantıları desteklendiğinde aynı adlı ama farklı uzantılı dosyalar “ farklı ” dosyalar olarak kabul edilirler . Versiyon numaralarını destekleyen sistemlerde adı ve uzantısı çoktan kullanım halinde olan yaratımı , aynı adlı aynı uzantılı bir dosyanın yaratılmasıyla sonuçlanır . Ama farklı bir versiyon numarasıyla yaratılır . Eğer YARAT komutunda belirtilen dosya adının bütün elemanları kullanım halindeyse bazı sistemler eski dosyanın üstüne yazmak için yeni dosyaya izin verirler . Diğer yandan başka sistemlerde bu durumu bir hata olarak kabul ederler ve başka bir işlem yapılmasına izin vermezler .
begin
dizini dosya adı içerisinde araştır ;
eğer bulunursa kopyala , ya da yeniden yarat , ya da üstüne yaz ;
boş bir dizin girişini yerleştir ;
eğer yoksa yeni bir tane tahsis et ;
dosya içine boşluk tahsis et ;
tahsis edilmiş dosyaları dizine kaydet ;
dosya özelliklerini dizine kaydet ;
end;
Program . 1 . CREATE komutunun işlevsel tanıtımı
Dosya adı , belirtilen sembolik dosya direktory ‘ sine kaydedilir . Ve içsel sistem ID bu yolla elde edilir . Genellikle uygulama yeni girişleri direktory ‘ deki kullanılmamış yerlere kaydetmek ve hiç boş yer bulunmayana kadar direktory ‘i genişletmektir .
Bazı sistemler direktory ‘ lerin boyutlarını sınırlandırırlar . Böyle durumlarda yeni bir dosyanın yaratılması doya sistemini etkileyen bir direktörü hatasıyla sonuçlanır . Dosya adını kaydettikten sonra dosya sistemi yaratılan dosya için boşluk dağıtabilir . Bu aşamadaki boşluk dağıtımı yakın dağıtımlı sistemler için alışılmıştır . Ama uzak dağıtımlı sistemler için bu pek uygun değildir . Bazı boşluklar dağıtıldığında bu bilgi esas dosya direktoriy ‘ sine kaydedilir . Kullanıcı destekli değerlerin temeline diğer dosya özelliklerini de kaydettikten sonra YARAT işlemi tamamlanmış olur . Bazı sistemlerde YARAT komutu , aynı dosyanın kesin bir açılış işlemi olarak düşünülür . Böyle bir durumda AÇ komutunun işlevi YARAT komutuyla yapılmış olur .
AÇ dosya hizmetinin başlıca amacı , çağrılan programla belirtilen programı arasında bir run-time bağı kurmaktır . OPEN komutunun temel çalışma alanları Program 2 ‘ de gösterilmiştir . Hedef dosyasının varlığını ve dosyaya istenilen modda ulaşmayı doğruladıktan sonra dosya sistemi , genelde bir dosya kontrol bloğunun yaratılmasıyla devam eder . Aktif bir FCB genelde direktörü girişinin, dosya göstergesinin ve sahibinin kimliğinin bir kopyasını içerir . Dosya kontrol bloğunun adresi genelde ID bağlantısının bir şekli olarak ifade edilir böylece işletim sistemi hızlı direktörü ve dosya kontrol bloğunda kayıtlanan bilgileri kullanarak hızlı dosya erişimini sağlayabilir . Sonuç olarak sistemi aktif kullanımdaki dosya kimlikleri hakkında bilgilendirerek dosya blokları sistem tamponları içindeki kontrolü aynı anda yapılan kontrolü kolaylaştırır .
begin
dizini dosya adı içerisinde araştır ;
eğer yoksa hatayı göster ve geri dön ;
dosyaya erişimi doğrular ;
eğer doğrulanmazsa hatayı göster ;
FCB yarat ;
FCB için ID bağlantısı kur ;
işaretleyiciyi başlat ;
ID bağlantısına geri dön ;
end;
Program . 2 . OPEN Komutunun İşlevsel Tanıtımı
Bir çok farklı kullanıcı aynı andaki erişim için aynı dosyayı kullandığı zaman her iki dosyada farklı dosya kontrol blokları olarak işaret edilirler . Sonuç olarak kullanıcılar kendi işaretleyicilerine sahip olurlar ve böylece birbirinden bağımsız olarak aynı dosyayı paylaşabilirler . Bazı sistemler aynı dosya kontrol bloğunu hatta dosya işaretleyicisini bile bir çok kullanıcı tarafından kullanılmasına imkan sağlamaktadır .
Program 3 ’ te de belirtildiği gibi ara komutu mantıksal adresi çağırıcı tarafından belirtilen kaydı ya da baytı işaret etmek için dosya göstergesini gündeme getirir . Doğal olarak ilk önce kullanıcıların bu isteği yapabilme yetkisine sahip olup olmadıklarını kontrol etmek için ID bağlantısı doğrulanır . ARA komutunun genelde sıralı dosyalara pek etkisi yoktur . Çünkü bazı sistemler bu tip komutları önemsemezler .
begin
ID bağlantısını doğrula ;
istenilen pozisyonu hesapla ;
dosya göstergesini güncelleştir ;
end;
Program . 3 . SEEK Komutunun İşlevsel Tanıtımı

Program 4 OKU komutunun gerektirdiği işlemlerin bir tanıtımıdır . Verileri okurken gerçekleşebilecek hatalar bahsetmiştik . Hizmet DURUM ( STATUS ) komutunun işlevlerini gösterecek şekilde tasarlanmıştır .
begin
ID bağlantısını doğrula ;
dosyanın okunmak için mi açıldığını kontrol et ;
başka kullanıcıları kontrol et ;
okunacak sektörlerin numaralarını ve adreslerini hesapla ;
hedef adreslerin dosya deposunda olduğunu kontrol et ;
cihaz sürücüsünün okuma komutları ;
doya göstergesini güncelleştir ;
duruma geri dön ;
end;
Program . 4 . READ Komutunun İşlevsel Tanıtımı
ID bağlantısının geçerli olduğu öğrenildikten sonra dosyanın aynı anda bir çok kullanıcı tarafından açılıp açılmadığı öğrenilir . Eğer gerekirse uygun senkronize mekanizması bu aşamada işleme sokulabilir . Kullanıcı mantıksal adresi ve bölgeleri fiziksel adreslerinin tasarladığı uygun disk bloklarının numaralarına çevrilir . Bu aşamada dosya sistemi istenilen blokların BOYUT ( SIZE ) araştırmasıyla hedef dosyanın içinde olup olmadığını kontrol edebilir . Eğer uygunsa sistem multisektör disk okumasına başlayabilir . Aksi halde bir ya da daha fazla OKU komutu disk sürücüsüne gönderilir .
OKU parametresi TAMPON İÇİ komutuyla dosya sistemi içindeki tamponlar tarafından kontrol edilir . Daha sonra gerekli boyutlar tampondan çıkartılır ve tampon içi adresinden başlayarak kullanıcının belirlediği bölgeye kopyalanır . Farklı tamponların kullanımı I / O işlemlerinin etkilerini geliştirir . Bazı sistemler, sistem zamanında yapılması için dosya tamponlarının tanıtımına imkan sağlar . Daha esnek bir başka yaklaşım ise bu kolaylığı dosya açılış zamanındaki tamponlama işlemiyle yer değiştirmektir . Açılan her dosyaya tampon dağıtmaktansa bazı sistemler dosya tamponlarını havuza koyarak daha etkili bir yöntem geliştirirler . Örneğin tipik bir Unix tesisatının 50 tamponu bulunabilir . Her tampon bir disk sektörü içerebilir .
Disk tamponlamanın başlıca avantajları şunlardır :
1 - Farklı sürücüler ve denetleyiciler üstünde bir çok disk işlemleri yapılmasına imkan sağlar .
2 - İndeks blokları hafızada tutulurken hızlı dosya erişimi sağlar .
3 - Özgür listeleri hafızada tutarak hızlı boşluk dağıtımı sağlar .
4 - Veri dolaşımını hızlandırır .
5 - Blokları ana hafızadaki tamponlardan alarak disk I / O işlemlerini aza indirgemeyi sağlar .
Tampon havuzu genelde işletim sistemine dahildir . Diskler ve dahili tamponlar arasındaki istenilen transferlerin tamamlanmasından sonra dosya sistemi verinin bloklanması ya da çıkarılmasını sağlar ve bunları sırasıyla OKU / YAZ komutlarıyla belirtilen kullanıcı adres boşluklarına kopyalar . OKUMA ve YAZMA işlemleri için gereğinden fazla tampon kopyalama işlemlerini engellemek için bazı sistemler , sistem tamponlarına direk erişim olanaklarına imkan sağlar . Örneğin , RSX-11M işletim sistemi mod taşıma ve mod yerleştirme denilen iki veri transferi moduna olanak sağlar . Mod taşıma işlemi bütün tamponu kopyalayan klasik bir işlemdir. Mod yerleştirme veriyi kullanıcının boşluğunu kopyalamaz ama verilerin bulunabildiği sistem tamponların göstergelerine geri döner . Program 5 YAZ komutunun temel yapısını özetler . Transfer komutu dışında OKU hizmetinde ayıran tek önemli fark YAZ komutunun dosyayı genişletmek için de kullanılabilmesidir . Böyle bir durumda dosya sistemi eğer varsa boş blokların sayılarını sağlayan boşluk dağıtımı komutunu çağırır . Kullanımdaki boşluk yönetimi sistemine bağlı olarak direktörü ve dosya indeks blokları , yeni kazançları yansıtmak için gündeme getirilebilir . Böyle bir durumda, dosya göstergesi , her disk yazımından sonra gereğince gündeme getirilir . Bu bölümde tanımlanan son dosyaya bağlı sistem hizmeti , yani KAPAT komutu, çağrıcı ve dosya arasındaki bağlantıyı kırar. KAPAT komutu , dosyadaki bağlantıları kırarak AÇ komutunun işlevini iptal eder . Eğer dosya kontrol bloğunda tutulan directory girişinin kopyasını hafızadaki yerinde gündeme getirilirse bu kopya daha sonra diske geri kaydedilecektir . Bu tür işlemlerden sonra KAPAT komutu dosya kontrol bloğunun FCB ‘ lerin dağıtıldığı boş havuza bağlar . Birçok sistemde işlemlerin son bölümlerinde tüm açık dosyalar kapatılır . Bu , ÇIKIŞ ya da İPTAL komutlarıyla ya da KAPAT komutuyla sağlanır .
begin
ID bağlantısını kontrol et ;
dosyanın yazılmak için mi açıldığını kontrol et ;
başka kullanıcıları kontrol et ;
dosyanın ayrılmış gerekli dosyalardan olup olmadığını kontrol et ;
eğer yeni blok eklenmişse dizini güncelleştir ;
yazılacak olan sektörlerin numarasını ve adreslerini hesapla ;
cihaz sürücüsünün yazma komutları ;
hedef adreslerin dosya deposunda olduğunu kontrol et ;
dosya göstergesini güncelleştir ;
duruma geri dön ;
end ;
Program . 5 . WRITE Komutunun İşlevsel Tanıtımı

5 . 5 . Farklı zamanlardaki giriş ve çıkışlar

OKU ve Yaz komutlarının çalıştırılmasında bir ya da iki disk erişimi kullanılır . Bu yüzden bu komutların bitiş zamanları , işlemciye bağlı komutlarla karşılaştırıldığında daha hızlı olabilir . Yüksek performans elde etmek için bir çok sistem , bu işlemlerin aynı anda yapılmasına imkan sağlamaktadır . Dosyaya bağlı hizmetlerin farklı zamanlardaki iptali , verilen sistemin I / O genel stratejisinin özel bir durumdur . Ayrıntılara girmeden gelişmiş I / O sisteminin genel yapısından kısaca bahsedelim .
Giriş / Çıkış sistemi genelde bir I / O listesini , bir I / O grafik denetleyicisini ve cihaz sürücülerinin bir numarasını kapsar , daha önce bahsedilen disk sürücüsü gibi .
I / O sistemi genelde kullanıcı işlemleri , gerçekten listelenene kadar I / O komutlarını sıraya sokar . İkinci bölümde bahsedildiği gibi bir I / O komutu , I / O işlemi tamamlanana kadar komut çağrısını geciktirir . Bu işlem, moduna aynı zamandaki I / O denir . Aynı zamandaki I / O komutu bu işlemi alt bir işlem olarak gerçekleştirir . Bu yüzden de verilen komut I / O işlemi tamamen bitene kadar kontrolü elinde tutar . Bir başka yerleştirme modu ise , farklı zamandaki I / O denilen bir moddur . Bu mod , hem çağrılan işlemi hem de çağrılan I / O komutunu bir I / O komutundan sonra paralel olarak ilerlemesine imkan sağlar . Çağıran komut , farklı zamandaki I / O komutundan sonra devam etme özgürlüğüne sahiptir .
Bir kullanıcı işlemi , farklı zamanlardaki giriş çıkış yöntemini kullandığında işlem aynı zamandaki I / O işlemleri için gerekli olan parametreleri belirtir . I / O sistemi , kullanıcının isteğini yerine getirebilmek için I / O işlemini aktif hale getirir . Kullanıcı işlemin cihazdan alınan veriye ihtiyacı olduğu zaman bu işlem uygun bir senkronize sistem çağrısını gerektirir , senkronize mesajı beklemek gibi . I / O işlemi tamamlandıktan sonra işlem , senkronize mesajını sinyaller .
Dosya sistemine dönecek olursak daha iyi sistem performansı sağlamak için OKU ve YAZ işlemlerinin farklı zamanlarda gerçekleşmesi gerekir . Böyle durumlarda bir BEKLE komutu OKU ve YAZ komutlarının işlevleri tamamlanan kadar dosya sistemi içinde kullanılır . Bazı gelişmiş ve yüksek performanslı sistemler I / O hizmetlerinin hem aynı zamanda hem de farklı zamanda olan versiyonlarını destekler ayrıca bu sistemler kullanıcıya kendi sistemi için hangisi uygunsa onu seçme imkanı sağlar .

6 . Disk Hazineleri Ve Unıx Tampon Hazinesi:

Bir disk hazinesi , ana hafızadaki kullanılmış disk bloklarının havuzunu ele geçirerek işlem yapar . Disk I / O komutları , öncelikle hedef bloğu hafızada olup olmadığının kontrol etmek için hazine yöneticisini çağırır . Eğer varsa bu komutlar hazineye gider ve hafızada da komutların işlevi yerine getirilir . Bu işlemin en önemli etkisi gecikmeleri engellemek , disk erişimini kolaylaştırmak ve erişime çabuk karşılık vermektir . Eğer istenilen disk bloğu hafızada değilse disk hazinesi oluşmaz ve komutta disk erişimiyle işlevini yerine getirir . Hafıza hazinelerinin tam tersine disk hazineleri tamamıyla yazılım sistemi içine yerleştirilmiştir . Fakat disk bloklarının hafızada haritası çizildiğinden hafıza yöneticisinin donanımından bazı yardımlar alınır .
Tampon hazinesi kullanılmış disk bloklarının hepsini kaydetmek için kullanılan bir hafıza blok havuzudur . Tampon hazinesinin büyüklüğü sistem şekline göre değişir . Temel olarak tampon hazinesi aktif işlemler için kullanılan disk bloklarının bir listesini ve yeni dağıtımların yapıldığı boş bloklar listesini de içine alır . Tampon hazinesinin araştırmalarını hızlandırmak için tamponlanmış disk blokları uzun kuyrukların bir toplaması içinde tutulurlar . Uzun kuyrukların geniş sayıda olmaları belirtilen bloğun sabit bir zamanda yerleştirilebilmesini sağlar . Ortalama olarak bu zaman 0 ( 1 ) gibi bir zaman olabilir . Bu zamanlamayı hesaplamak için 0 ( n ) formulü kullanılır yani n kadar bloğun bir listesini araştırmak için bu formül kullanılır .
Tampon hazinesi Şekil 13 ‘ te çizilmiştir . Bu şekil, birleştirilmiş uzun veri yapısı listelerini gösterir . Bu listede her tampon bloğu, bloğun cihaz numarası ve mantıksal blok numarasını belirten uzun kuyruklar halinde verilmiştir . Şekil 7 . 13 ’ te boş liste göstergeleri kesik çizgiler halinde çizilmiştir . Boş liste 12 , 33 , 30 , 51 ve 21 bloklarından oluşur . Blok 12 en son kullanılan bloktur . Tampon hazinesindeki diğer bloklar kilitlenmişlerdir . Her bloğun durumu ( özgür ya da kilitlenmiş ) bloğun iş uygunluğuna göre kaydedilir . Her tampon bloğu bütün bir disk sektörünü içine alacak kadar genişliğe sahiptir .

Free List


Block # mod 4

0


1


2

3



Şekil . 13 . Unix Tampon Hazinesi

Bir işlem disk bloğuna komut verdiğinde işletim sistemi bu komutu cihaza yöneltir ve blok numarasıyla tampon hazinesine araştırılmak için gönderilir . Bu araştırmadan sonra aşağıdaki sonuçlara varılabilir :
1 - Hedef blok özgür listededir .
2 - Hedef blok tampon hazinesindedir ama özgür değildir .
3 - Hedef bloğu tampon hazinesinde değildir .
İlk durumda blok özgür listeden silinir ve komutu verilen işlemin kullanımı için kilitlenir .
İkinci durumda ise komutu verilen işlem bloğun kullanıcısı kilidinden kurtulana kadar beklemeye alınır .
Tampon hazinesinin iç işlemleri özgür bir tampon bloğu yerleştirmek için geciktirilir . Eğer özgür listenin en başındaki tampon bloğu yazma işlemi için geciktirilirse iç işlemler disk yazım işlemine başlarlar ve yazma işlemi tamamlandığında da bloğu özgür listenin en başına yerleştirirler . Bu aralıkta, tampon işlemleri özgür listenin başına girişleri yapmaya devam eder . Eğer özgür liste boş ise girişler yapılana kadar bu komutlar geciktirilir .
Disk hazinesinin avantajları :
1 - Gelişmiş disk erişim zamanı : Disk erişim zamanını hafızadan hazinelenen blokların komutları sayesinde gerçekleştirilir .
2 - Uygulamalara daha çabuk cevap zamanını sağlar . Bunu da geciktirilmiş okuma ve yazma işlemlerinde hazine bloklarından yararlanarak sağlar .
3 - Bazı disk işlemlerini eleme : Örneğin aynı blok , tampon hazinesine bir çok kez yazılıp okunursa disk erişiminde elemeler yapılması gerekir . Bu da disk hazinesi tarafından sağlanır .
4 - Network yüklemesinin azaltılması : Bu da gösterilen sistemlerdeki yardımcı disk hazineleri tarafından sağlanır .
Disk hazinesinin başlıca dezavantajı ise dosya sisteminin potansiyel çökmesine neden olmasıdır . Çünkü gecikmiş yazma işlemleri sistem için güç kaybına neden olur .
Sonuç olarak diyebiliriz ki ;
Bir işletim sisteminin dosya yöneticisi , ikincil depolara kaydedilen bilgileri yönetir . Bu bilgiler genelde uzun süreli bir temele dayanmaktadır . Dosya adlarının listeleri dırectory ‘ ler denilen özel dosyalarda tutulur . Hiyerarşik dırectory ‘ ler , ilgili dosyaları mantıksal olarak alt directory ‘ lere yerleştirilmesini sağlarlar . Alt directory ‘ ler , köklü bir ağaç şeklinde yönetilirler . Genel olarak hiyerarşik dırectory ‘ ler dosya adlandırmalarını kolaylaştırırlar. Bu directory ‘ ler düz dosyalardan daha karışık şekilde yönetilirler . Ama bir çok sistem tasarımcısına directory ‘ leri kullanma imkanı sağlaması bu directory ‘ lerin bir avantajıdır .
Kullanıcılar dosyaları ve dırectory ‘ leri yönetebilirler . Bunları run-time sistem komutlarıyla gerçekleştirirler . Bunu yaparken dosya sistemi kullanıcıların en büyük yardımcısıdır . Dosya sistemi sadece bu hizmeti sağlamakla kalmaz . Dosya koruması , kontrol erişimi gibi işlemleri de yerine getirir .
İkincil depolardaki boşlukları yönetmek için bazı stratejiler geliştirilmiştir . Bunlar yakın dağıtım ve uzak dağıtım olarak sınıflandırılır . Yakın dağıtımın genellikle yerleştirilmesi kolaydır ve sıralı ve rasgele erişime olanak sağlar . Olumsuz yanı ise içsel ve dışsal parçalanmaya neden olmasıdır .
Mantıksal dosya adreslerinin fiziksel adreslere kopyalanması , dosya kontrol sistemini en alt tabakasından başlar . Silindir , kafa ve sektör adresleri bu işlem süresince haritalanır . Sonuç olarak cihaz denetleyicileri bazı cihaz sinyalleri üretirler . SÜRÜCÜ SEÇİMİ gibi . Kullanılmış ve aktif disk bloklarının hazinelere kaydedilmesi disk erişim zamanını etkili hale getirebilir . Disk işlemlerini seçebilir ve network gereksiz işlemlerini azaltılabilir