Disk Dosyalama Sistemi - Disc Filing System
| Geliştirici(ler) | Palamut Bilgisayarları |
|---|---|
| Ad Soyad | Disk Dosyalama Sistemi |
| tanıtıldı | 1982 Acorn MOS ile |
| bölüm tanımlayıcısı | Hiçbiri |
| Yapılar | |
| Dizin içeriği | 31 sabit uzunlukta kayıttan oluşan tek katalog |
| Dosya tahsisi | Başlangıç-Uzunluk girişleri |
| Kötü bloklar | Hiçbiri |
| limitler | |
| Maks. hacim boyutu | 256 KB |
| Maks. Dosya boyutu | 255½ KB |
| Maks. dosya sayısı | 31 |
| Maks. dosya adı uzunluğu | 7 karakter |
| Dosya adlarında izin verilen karakterler | ASCII |
| Özellikleri | |
| Kaydedilen tarihler | Hiçbiri |
| Tarih aralığı | Yok |
| çatallar | Numara |
| Öznitellikler | Dizin karakteri, Yükleme adresi, Yürütme adresi, Kilitli |
| Dosya sistemi izinleri | Numara |
| Şeffaf sıkıştırma | Numara |
| Şeffaf şifreleme | Numara |
| Başka | |
| Desteklenen işletim sistemleri | meşe palamudu MOS |
Disk Dosyalama Sistemi (DFS) bir bilgisayardır dosya sistemi tarafından geliştirilen Acorn Computers başlangıçta bir eklenti Eurocard merkezli olarak, meşe palamudu Sistemi 2 .
1981'de, Batı Avustralya ve Güney Avustralya'nın Eğitim Bölümleri, okullarına kişisel bilgisayar tedariki için ortak ihaleler ilan ettiler. Acorn'un Avustralyalı bilgisayar distribütörü Barson Computers, Ortak Genel Müdürler Hermann Hauser ve Chris Curry'yi yakında piyasaya sürülecek olan Acorn BBC Mikrobilgisayarın paketin bir parçası olarak disk depolama ile birlikte sunulmasına izin vermeye ikna etti . Hiçbir kaynakları olmadığı için Barson'ın Acorn DFS'yi Sistem 2'den Acorn'un yardımı olmadan uyarlaması şartıyla anlaştılar. Bu, DFS'yi BBC Micro ile uyumlu hale getirmek için bazı küçük donanım ve yazılım değişiklikleri gerektirdi.
Barson, Birleşik Krallık'tan bir yıl önce, DFS takılıyken her iki eyalet için de ihaleleri kazandı. BBC Micro'nun Avustralya'daki eğitim pazarına daha fazla odaklanmasına neden olan bu erken girişimdi ve Acorn Electron'un gelişine kadar ev bilgisayarı pazarına çok az nüfuz etti .
DFS , BBC Micro'nun anakartına takılan bir ROM ve Disk Denetleyici Yongası olarak gönderilir . Dosyalama sistemi, düz bir dizin yapısı kullanarak son derece sınırlı işlevselliğe ve depolama kapasitesine sahipti. Her dosya adı en fazla yedi harf uzunluğunda ve ayrıca dosyanın depolandığı dizin için bir harf uzunluğunda olabilir.
DFS, çoğu dosyalama sisteminin aksine, tek bir satıcı veya uygulama olmaması bakımından dikkate değerdir. Orijinal DFS, kendi kod tabanlarını korumaya devam eden Acorn tarafından yazılmıştır, ancak çeşitli disk sürücüsü satıcıları kendi uygulamalarını yazmıştır. Kendi DFS uygulamalarını yazan şirketler arasında Cumana, Solidisk, Opus ve Watford Electronics yer aldı . Watford Electronics uygulaması, standart olmayan bir disk formatı kullanarak, olağan 31 yerine disk başına 62 dosyayı desteklemesiyle dikkat çekicidir. Bunun ötesinde, Solidisk uygulaması, disk başına sınırsız dosyaya izin veren tescilli "zincirleme" katalogları tanıttı (yalnızca disk boyutuyla sınırlıdır). Üçüncü taraf uygulamalardaki diğer özellikler arasında boş alanı gözden geçirebilme ve orijinal Acorn DFS ile bir yardımcı diskte gönderilen yerleşik FORMATve VERIFYkomutlar yer alıyordu .
Acorn, orijinal DFS serisini önceki sürümle aynı disk biçimini kullanan ancak bir dizi ekstra komut ekleyen ve geliştirilmiş WD1770 disket sürücü denetleyici yongasını destekleyen Acorn 1770 DFS ile takip etti .
Fiziksel biçim
DFS geleneksel olarak çift yoğunluklu 5¼" disketin bir tarafını kullanır . Diskler 40 veya 80 iz olarak biçimlendirilir, bu da yan başına 100 veya 200 KB kapasite verir (FM kodlama ile iz başına on 256 bayt sektör).
Kapasite, orijinal BBC Micro'daki, BBC Micro'nun piyasaya sürüldüğü sırada zaten yaygın olarak kullanılan MFM kodlamasını değil, yalnızca FM kodlamasını destekleyen Intel 8271 denetleyicisinin seçimiyle sınırlıdır . FM kodlaması, belirli bir fiziksel disk yoğunluğu için MFM'nin kayıt kapasitesinin yarısını verir.
FM ve MFM kodlamaya genellikle "tek yoğunluklu" ve "çift yoğunluklu" denir, ancak farklı sürücüler ve diskler kullanan "yüksek yoğunluk"tan farklı olarak diskler ve sürücüler aynıdır.
Çift yoğunluklu 3½" diskler biçimlendirilebilir ve 1770 DFS ile kullanılabilir (Intel 8271-tabanlı DFS'nin birçok 3½" sürücüde sorunları vardır, bu da FM kodlamasıyla aynı "tek yoğunluklu" kapasiteyi verir, ancak bu başlangıçta standart uygulama değildi. . 3½" diskler normalde daha sonraki Gelişmiş Disk Dosyalama Sistemi kullanılarak MFM "çift yoğunluklu" olarak biçimlendirilmiştir , çünkü bu, 3½" sürücülerle sağlanan tüm Acorn makinelerinde mevcuttur. 2009 itibariyle, 3½" sürücüler, daha fazla kullanılabilirlikleri ve daha yeni bilgisayarlarla daha kolay veri alışverişi nedeniyle DFS ile kullanım da dahil olmak üzere, BBC Micros ile geçmişte olduğundan daha yaygın olarak kullanılmaktadır.
Yüksek yoğunluklu 5¼" ve 3½" diskler DFS tarafından desteklenmez.
Tek ve çift taraflı çalışma
DFS, çift taraflı diskleri doğrudan desteklemez; bunun yerine, çift taraflı bir sürücünün iki kafası, iki ayrı mantıksal sürücü olarak ele alınır. DFS, 0'dan 3'e kadar numaralandırılmış en fazla dört birimi destekleyebilir. Sürücü 0, kabloya bağlı ikinci bir sürücüyü temsil eden sürücü 1 ile varsayılandır. "Sürücü" 2, sürücü 0'ın arka tarafına atıfta bulunur ve "sürücü" 3, sürücü 1'in tersidir. İkiden fazla fiziksel sürücü için destek yoktur.
Tek taraflı sürücülerin kurulu tabanı nedeniyle, ticari yazılım normalde tek taraflı disklerde veya diğer tarafa erişmek için manuel olarak ters çevrilen " flippy diskler " olarak sağlandı.
40 ve 80 parça uyumluluğu
Diskler *FORM40veya *FORM80komutları kullanılarak 40 veya 80 parça kullanılarak biçimlendirilebilir ve sürücüler 40 veya 80 parça olabilir. Bu, DFS kullanıcıları için en yaygın uyumluluk sorunudur: 40 izli diskler, kurulu 40 izli sürücü tabanı nedeniyle ticari yazılım dağıtımı için normdu, ancak fiyatlar düştükçe 80 izli diskler daha yaygın hale geldi ve kullanıcıların depolamasına izin verdi. daha fazla veri. 80 izli bir sürücü, 40 izli diskleri otomatik olarak okumaz.
Disk kapasitesi, katalogda sıfır izde sektör sayısı olarak saklanır. İz sıfır, hem 40 hem de 80 izli disklerde aynı yerde bulunur ve bir disk dosya sisteminin motor adımını buna göre ayarlamasına izin verir. Ancak, Intel 8271 tabanlı Acorn DFS bunu yapmaz ve bu nedenle çift biçim yeteneği çeşitli şekillerde ele alındı:
- ev kullanıcısı için maliyetli olmasına rağmen, BBC Micro'ya hem 40 kanallı hem de 80 kanallı bir sürücü takarak;
- başta UFD (Kullanıcı Dostu Cihazlar) ve Akhter Computer Group olmak üzere bazı disk sürücüsü satıcıları, 40 veya 80 izli çalışmayı seçmek için anahtarlarla donatılmış sürücü düzenekleri sundu;
- The Micro User gibi dergiler , isteğe bağlı olarak bağlı sürücüleri 'çift adım' yaparak, disk sürücüsü kablosuna bağlanabilen devre kartları oluşturmak için kitler sundu;
- Mikro Kullanıcı ayrıca, her iki sürücü türünün de içeriğe erişebilmesi için her iki formatta saklanan 21 parça değerinde veri ile çift formatlı diskler oluşturma hakkında bir makale yayınladı; ancak bunların kapasitesi sınırlıydı ve oluşturulduktan sonra salt okunurdu;
- Acorn User dergisi, 40 izlik kapak disklerini sıfır izde küçük bir yardımcı programla dağıttı, böylece 80 izlik sürücülerin sahipleri, ilk 40 izdeki orijinal içeriklerle 80 izli diskler halinde yeniden biçimlendirebildiler; veya
- kullanıcı bir WD1770 veya benzeri bir denetleyiciye yükseltebilir. Acorn 1770 DFS ve bazı üçüncü taraf denetleyici sistemleri, iz aramaları sırasında denetleyiciyi yeniden programlayarak yazılımda çift biçim yeteneği sağladı; Bonus olarak, üçüncü taraf sistemler, daha da fazla disk kapasitesi için tescilli MFM ("çift yoğunluklu" olarak adlandırılan) biçimleri sundu.
Doğru ayarın kullanılmaması, DFS'den kaynaklanan hatalara Disk fault 18 at 01/00veya kafaları disk yüzeyinin fiziksel ucunun ötesine geçmeye çalışarak disk sürücüsünün zarar görmesine neden olabilir.
80 parçaya geçiş, kataloğu hiçbir şekilde genişletmedi ve kullanıcıyı diskteki boş alan bitmeden önce dosya adı yuvalarının bitmesine yatkın hale getirdi. Bu durum bir Cat fullhataya neden oldu .
Dosya depolama
dosya adları
DFS, büyük/küçük harf koruyucudur ancak büyük/küçük harfe duyarlı değildir. Tamamı büyük harfli dosya adlarının yaygınlığı, büyük olasılıkla BBC Micro'nun varsayılan olarak büyük harf veya yazılım sıfırlamasından sonra etkinleştirilen büyük harf kilidine sahip olmasından kaynaklanmaktadır. Karakter kümesi oldukça serbesttir ve 7 bitlik ASCII'nin tüm yazdırılabilir karakterlerine, boşluklar dahil ancak aşağıdakiler hariç izin verilir:
- Tek joker karakter
#. - Çoklu joker karakter
*. -
Kabuk kaçış karakteri tarafından oluşturulan kontrol kodları
|, ancak dizi dosya adında||tek bir|karakteri temsil etmek için kullanılabilir . :Bir yaprak adının ilk karakteri olarak sürücü belirtici karakteri (dosyanın uygun adı). Bu birBad driveveyaBad namehataya neden olur . İki nokta üst üste işaretinin açık olduğu durumlarda, örneğin içindeFOO:BAR, yaprak adının bir parçası olarak buna izin verilir..Bir yaprak adının birinci veya ikinci karakteri olarak dizin belirteci karakteri ..dizin karakteri olarak kullanılamaz. Noktanın belirsiz olmadığı durumlarda, örneğin inPRG.BAS, yaprak adının bir parçası olarak izin verilir ve bir dizin belirteci olarak ele alınmaz (oysa dizin içindekiF.MONEYbir dosya olacaktır ).MONEYF
Üçüncü taraf DFS uygulamaları için taşınabilirlik uğruna, o kaçınmak en iyisidir :ve .yaprak adlarında.
Tırnak işaretlerine izin verilir, ancak BBC BASIC bunların iki kez kaçmalarını gerektirir:
-
SAVE """""""A"""dizeyi"""A"DFS'ye iletir ve ardından"A. - Tersine
SAVE "A""", adlı bir dosyayı kaydederA". - Boşluk eklemek için aynı teknik kullanılır:
SAVE """B A R"""adlı bir dosyayı kaydederB A R.
Tam bir dosya adı veya "dosya belirtimi" (kısaca "fsp") bir iki nokta üst üste, ardından sürücü numarası, bir nokta, ardından dizin harfi, başka bir nokta ve ad içerir. Örneğin, çağrılan "drive" 2'nin varsayılan dizinindeki bir dosya, BOBtam bir :2.$.BOB. Sürücü ve dizin belirteçlerinin ikisi de isteğe bağlıdır.
dizinler
Gibi - DFS "Dizinler" dosya adları ile ilgili tek bir karakter önekleri vardır Fiçinde F.BankLtr- grup dosyalarına kullandı. Düzenleme düzdür ve $bir kök dizin yerine varsayılan bir dizini kullanılır. Diskin bir kataloğunu ( *CATveya *.komutları ile) istendiğinde, geçerli dizindeki dosyalar bir blokta dizin öneki olmadan gösterilir ve aşağıda dizin önekleri görünür olacak şekilde ikinci bir blokta diğer tüm dosyalar listelenir. Örneğin, (Acorn DFS'den - üçüncü taraf DFS uygulamaları biraz değişebilir):
PROGRAM (12)
Drive 0 Option 2 (RUN)
Dir. :0.$ Lib. :0.$
!BOOT HELLO
SUMS TABLE
TEST VECTORS
ZOMBIE
A.HELLO L B.SUMS
F.BankLtr
Üst yedi dosyalar geçerli dizinde hepsi $Aşağıda sürücüde 0. o bu durumda diğer dizinleri tüm dosyalarıdır A, Bve F. Bir Ldosya adından sonra ( A.HELLOyukarıda olduğu gibi) dosyanın değiştirilmeye veya silinmeye karşı kilitli olduğu gösterilir. İlk satır, disk başlığını ve değişiklik sayısını içerir.
DFS, dizine ve kitaplığa bölünmüş bir çalışma alanı sağlar. "Dizin" dır çalışma dizini çok başka bir komut satırı sistemi üzerinde çalışan dizin gibi, şimdiki hacmine. "Kütüphane", daha çok PATH gibi çalışan ve herhangi bir ciltte olabilme avantajına sahip olan ikinci, alternatif bir çalışma dizinidir . Niteliksiz adlara sahip dosyaları açma istekleri, önce çalışma dizininde aranacaktır; bu başarısız olursa, kitaplık dizini de aranacaktır. Dizin ve kitaplık, aynı dizine varsayılandır.
Disk yapısı
Katalog (dosya tablosu) ilk iki disk kesimini kaplar: her dosyanın adları ve dizinleri için bir tane ve dosya konumlarını, boyutlarını ve meta verileri tutan eşleşen bir sektör. Her dosya için her sektörden sekiz bayt kullanılır. 12 baytlık disk başlığı ve cilt bilgisi için ayrılan her sektörden sekiz bayt daha ile, diskteki toplam dosya sayısı (her dosyanın hangi dizinde olduğuna bakılmaksızın) 31 ile sınırlıdır. Yer tasarrufu açısından , bir dosya için dizin harfinin en önemli biti kilitli (salt okunur) bayrak olarak kullanılır.
hacim boyutu
Fiziksel diskler genellikle 100 KB veya 200 KB olarak biçimlendirilse de DFS, 256 KB'ye kadar olan birim boyutlarını destekler.
İzin verilen en büyük DFS dosya boyutu, dosya boyutları 18 bitlik bir miktar olarak depolandığından, katalog için birim boyutu eksi ½ KB'dir.
Dosya tahsisi
DFS, veri parçalanmasını desteklemez ; bu, bir dosyanın verilerinin tek bir ardışık sektör çalışmasında saklanması gerektiği anlamına gelir, ancak boş alan parçalanmaya eğilimlidir . Diskin başka bir yerinde serbest sektörler olsa bile, dosyanın sonu bir sonrakinin başlangıcına ulaştığında rastgele erişimli dosya yazma işlemi başarısız olur. Bu gibi durumlarda DFS bir Can't extendhatayla iptal edilir . SAVEayrıca bir dosyayı kullanılabilir alana sığacak şekilde bölemez, ancak hata sektör ayırma aşamasında meydana geldiğinden, döndürülen hata Disk full.
Bir *COMPACTkomut ikinci bloktaki ondan sonra tüm boş alan yerleştirerek, katı bir bloğa disk üzerindeki tüm dosyaları yeniden konumlandırmak için sağlanmıştır. Bu, oluşturulan bir sonraki dosyanın diski doldurmasına izin verir, ancak yalnızca mevcut olan son dosya taşınmadan genişletilebilir. SAVEmevcut herhangi bir dosyayı siler ve belirtilen bellek bloğunu diskte yer olan her yere kopyalar. Buna karşılık *COMPACTkomut, dosyaları yeniden konumlandırmak, bellekteki herhangi bir programın ve verilerin üzerine yazmak için bir arabellek olarak program belleğini kullanır.
meta veri
Kaset dosyalama sistemi gibi, Acorn DFS de BBC Micro'nun standart dosya meta verilerini destekler: yükleme adresi ve yürütme adresi, çünkü Acorn MOS ( BBC Micro tarafından kullanılan işletim sistemi ) ikili kodun yeniden konumlandırılmasını desteklemez. İçeriği mutlak adreslerle dahili konumlara atıfta bulunabileceğinden, programcının amaçladığı adrese bir dosya yüklenmelidir. Giriş noktası mutlaka başında veya dosyanın içinde olmadığı için bir yürütme adresi de kaydedilir.
Dosya öznitelikleri tek bir bit ile sınırlıdır: Kilitli. Ayarlandığında L, katalogda dosya adının sağında bir belirir ve dosya değiştirilemez, üzerine yazılamaz veya silinemez.
Tarih
DFS diskleri herhangi bir tarihi izlemez (çünkü sürüm 3'ten önceki Acorn MOS, gerçek zamanlı bir saat sağlamaz), bunun yerine tuhaf bir özellik sunar: bir değişiklik sayısı. Katalog her güncellendiğinde sayı artar. Sayı, 12daha önce gösterilen katalog listesinde olduğu gibi, disk kataloğunun ilk satırındaki başlıktan sonra parantez içinde gösterilir.
Diğer özellikler
DFS ayrıca bir tuş dizisine dayalı olarak disk yazılımını başlatmak için bir aracı da destekler. Makine yazılımdan veya donanımdan sıfırlanırken üst karakter tuşu basılı tutulursa, DFS, pozitif önyükleme bayrağı içeren bir disk için 0 sürücüsüne bakar. Önyükleme bayrağı 0 (yoksay), 1 (dosya yükle), 2 (makine kodu dosyasını çalıştır) veya 3'tür ("yürüt" komut dosyası). Önyükleme bayrağı pozitifse, çağrılan bir dosya aranır $.!BOOTve belleğe (1) yüklenir, makine kodu (2) olarak yüklenir ve yürütülür veya klavye arabelleğine (3) beslenir. Seçenek 3, "EXEC" dosyalarını, ilkel kabuk komut dosyaları olarak kullanılan metin makro dosyalarını okur . Bunlar gerçek kabuk komut dosyaları değil, yalnızca yeniden oynatılacak bir kayıt gibi yazılacak bir dizi anahtardır. Bu nedenle, BASIC yorumlayıcısına böyle bir kod girmedikçe döngü veya dallanma yapamazlar. Sıfırlama sırasında kullanılmalarının yanı sıra, işletim sisteminin komutuyla herhangi bir zamanda çalıştırılabilirler . EXEC dosyaları dosya sisteminden bağımsızdır.
*EXEC
alternatifler
Tek bir ROM üzerinde Econet Ağ Dosyalama Sistemi (NFS), standart Disk Dosyalama Sistemi ve Tüp yardımcı işlemci destek yazılımını içeren, DNFS veya Disk/Ağ Dosyalama Sistemi adı verilen bir DFS çeşidi vardı; bu ROM, işletim sistemine aynı anda iki dosyalama sistemi kurdu.
DFS'nin ilk tasarımı, IBM Kişisel Bilgisayarında bulunan 8272 tasarımının hemen öncülü olan Intel Corporation FDC 8271 disk sürücü denetleyicisine dayanıyordu . 8271 denetleyicisi sınırlı işlevselliğe sahipti ve eskiydi ve Solidisk, Acorn ve Watford Electronics dahil olmak üzere çeşitli satıcılardan dosya sisteminin sonraki sürümleri, daha sonraki WD1770 ve WD1772 sürücü denetleyicilerine dayanıyordu. 1770 denetleyicisi, ADFS'nin ortaya çıkışının ardından Acorn serisinde hızla standart denetleyici haline geldi.
DFS'nin yerini, tamamen hiyerarşik olan ve BBC Micro'da sabit diskleri çalıştırmak için uygun olan Gelişmiş Disk Dosyalama Sistemi (ADFS) aldı. ADFS, BBC Master'daki varsayılan dosyalama sistemiydi, ancak çoğu kullanıcı uyumluluk nedenleriyle DFS'ye geri dönmüş olabilir; ADFS, DFS disklerini okuyamadı. ADFS, RISC OS için standart dosyalama sistemi olarak da seçilmiştir .
Referanslar
Dış bağlantılar
- Acorn, Watford ve Duggan DFS dosya sistemi yapısı
- Watford DFS (genişletilmiş Acorn DFS) spesifikasyonu - orijinal Acorn DFS spesifikasyonunu içerir
- Palamut DFS kılavuzu (RTF formatı)