İşletim Sisteminin Dosya Sistemi Nasıl Çalışır?

0
24

Dosya sistemleri, uzun süreli depolama kapasitesine sahip tüm işletim sistemlerinin ayrılmaz bir parçasıdır. Bir dosya sisteminin iki ayrı parçası vardır, dosyaları saklamak için mekanizma ve düzenlendikleri dizin yapısı. Birden fazla kullanıcının aynı dosyalara aynı anda erişebildiği modern işletim sistemlerinde, erişim kontrolü ve uygulanacak farklı dosya koruma biçimleri gibi özellikler için gerekli hale gelmiştir.

Bir dosya ikili veri topluluğudur. Bir dosya bir programı, belgeyi veya bazı durumlarda dosya sisteminin kendisini temsil edebilir. Modern bilgisayarlarda, aynı bilgisayara bağlı birkaç farklı depolama aygıtı olması oldukça yaygındır. Bir dosya sistemi gibi ortak bir veri yapısı, bilgisayarın birçok farklı depolama cihazına aynı şekilde erişmesini sağlar, örneğin, bir sabit sürücünün veya bir CD’nin içeriğine baktığınızda, aynı arabirim üzerinden görüntülediğinizde Tamamen farklı ortamlarda tamamen farklı ortamlarda veriler üzerinde haritalanmış. Dosyalar, içinde çok farklı veri yapılarına sahip olabilir, ancak hepsine dosya sisteminde yerleşik olarak aynı yöntemlerle erişilebilir. Dosya içindeki verilerin düzenlenmesi daha sonra programın oluşturulmasıyla belirlenir.

Tüm dosyalar, kullanıcı tarafından erişilebilecek bir isme sahiptir. Çoğu modern dosya sisteminde isim üç bölümden, benzersiz isminden, bir dönemden ve bir uzantısından oluşur. Örneğin, ‘bob.jpg’ dosyası, ‘bob’ kelimesi ile benzersiz bir şekilde tanımlanır, jpg uzantısı, bunun bir jpeg görüntü dosyası olduğunu belirtir. Dosya uzantısı, birisinin açmaya çalışması durumunda işletim sisteminin dosya ile ne yapacağına karar vermesine izin verir. İşletim sistemi dosya uzantısı birlikleri listesini tutar. Bir kullanıcı ‘bob.jpg’ dosyasına erişmeye çalışırsa, büyük olasılıkla sistem varsayılan resim görüntüleyicisi ne olursa olsun açılır.

Sistem ayrıca bir dosyanın yerini de kaydeder. Bazı dosya sistemlerinde dosyalar sadece bir bitişik blok olarak saklanabilir. Bu sistem depolama ve dosyaya erişimi kolaylaştırır, çünkü sistem sadece dosyanın diskte nerede başladığını ve ne kadar büyük olduğunu bilmelidir. Ancak, dosyanın daha büyük bir sürümüne sığacak kadar yer kalmayacağı için dosya genişletilecek veya kaldırılacaksa komplikasyonlara yol açacaktır. Çoğu modern dosya sistemi, bağlantılı dosya ayırma kullanarak bu sorunun üstesinden gelir. Bu, dosyanın herhangi bir sayıda segmentte depolanmasını sağlar. Dosya sistemi daha sonra dosyanın her bloğunun nerede ve ne kadar büyük olduğunu saklamak zorundadır. Bu, dosya alanı tahsisini büyük ölçüde basitleştirir, ancak dosyanın diskin her tarafına yayılması mümkün olduğundan, bitişik ayırmadan daha yavaştır. Modern işletim sistemleri, disk birleştirme birimi sağlayarak bu kusurun üstesinden geliyor. Bu, diskteki tüm dosyaları tümüyle bitişik bloklar halinde yeniden düzenleyen bir yardımcı programdır.

Dosya koruma hakkında bilgi de dosya sistemine entegre edilmiştir. dosyalar salt okunur olarak işaretlenmiş veya dosya sistem yöneticisi ayrı okuma kurmak ve farklı erişim haklarını yazabilir NTFS uygulanan daha güvenli sistemlere nerde gizlenmiş olabilecekleri Koruma erken pencerelerin FAT sisteminde uygulanan basit sistemler arasında olabilir kullanıcılar veya kullanıcı grupları. Her ne kadar dosya koruması çok fazla karmaşıklık ve potansiyel zorluklar yaratsa da, birçok farklı bilgisayarın veya kullanıcının aynı sürücülere ağ üzerinden veya raptor gibi zaman paylaşımlı bir sistem üzerinden erişebildiği bir ortamda çok önemlidir.

Bazı dosya sistemleri ayrıca hangi kullanıcının bir dosya oluşturduğu ve ne zaman oluşturdukları ile ilgili verileri depolar. Bu, dosya sisteminin çalışması için gerekli olmasa da, sistemin kullanıcılarına yararlıdır.

Bir dosya sisteminin düzgün çalışması için, bir dosya oluşturmak, açmak ve düzenlemek için bir dizi tanımlanmış işleme ihtiyaç duyarlar. Hemen hemen tüm dosya sistemleri, dosyaları işlemek için aynı temel yöntemleri sağlar.

Bir dosya sistemi bir dosya oluşturabilmelidir. Bunu yapmak için, sürücüye dosyayı sığdırmak için yeterli alan kalmalıdır. Dizinde aynı ada sahip başka bir dosya da bulunmamalıdır. Dosya oluşturulduktan sonra sistem yukarıda belirtilen tüm özelliklerin bir kaydını tutacaktır.

Bir dosya oluşturulduktan sonra onu düzenlemeniz gerekebilir. Bu, yalnızca bazı verileri sonuna ekleyebilir veya içinde depolanmış olan verileri kaldırabilir veya değiştirebilir. Bunu yaparken sistem, dosyaya bir sonraki yazma işleminin gerçekleşmesi gereken bir yazma işaretçisi işaretini tutar.

Bir dosyanın faydalı olması için elbette okunabilir olmalıdır. Bunu yapmak için, dosyanın adını ve yolunu bilmeniz gerekir. Bundan, dosya sistemi, sürücüde dosyanın nerede saklandığını belirleyebilir. Bir dosya okunurken sistem okuma işaretçisini tutar. Bu, sürücünün hangi bölümünün okunacağını saklar.

Bazı durumlarda, tüm dosyaları hafızada okumak mümkün değildir. Dosya sistemleri ayrıca okuma işaretçisini bir dosya içinde yeniden konumlandırmanıza izin verir. Bu işlemi gerçekleştirmek için sistem, okuma işaretçisinin atlamasını istediğiniz dosyaya ne kadar ilerlediğini bilmelidir. Bunun kullanışlı olabileceği bir örnek veritabanı sistemidir. Veritabanında bir sorgulama yapıldığında, tüm verilerin gerekli verinin olduğu noktaya kadar okunması açık değildir, bunun yerine veri tabanını yöneten uygulama, dosyanın hangi veri bitinin gerekli olduğunu belirler ve ona atlar. Bu işlem genellikle bir dosya araması olarak bilinir.

Dosya sistemleri ayrıca dosyaları silmenizi sağlar. Bunu yapmak için dosyanın adını ve yolunu bilmesi gerekir. Bir dosyayı silmek için, sistemler girişini dizin yapısından kaldırır ve daha önce işgal ettiği boş alanı (ya da kullandığı herhangi bir boş alan yönetim sistemi) ekler.

Bunlar, bir dosya sisteminin düzgün çalışması için gereken en temel işlemlerdir. Tüm modern bilgisayar dosya sistemlerinde bulunurlar, ancak işlev şekilleri değişebilir. Örneğin, NTFS gibi bir dosya sistemi içerisine dosya koruması da dahil olmak üzere modern bir dosya sisteminde silme işlemini gerçekleştirmek, FAT gibi eski bir dosya sisteminde aynı işlemden daha karmaşık olacaktır. Her iki sistem de, dosyanın devam etmeden önce kullanımda olup olmadığını kontrol eder, daha sonra NTFS, dosyanın şu anda dosyayı silme yetkisinin olup olmadığını kontrol etmek zorunda kalır. Bazı dosya sistemleri birden fazla kişinin aynı dosyayı aynı anda açmasına izin verir ve diğer kullanıcılar şu anda açıksa, kullanıcıların diske bir dosya yazma iznine sahip olup olmadıklarına karar vermeleri gerekir. Eğer iki kullanıcı dosyaya okuma ve yazma iznine sahipse, diğeri hala açıkken bir tanesinin üzerine yazılmasına izin verilmelidir? Ya da bir kullanıcı okuma-yazma iznine sahipse ve bir başkası da başka bir kullanıcının bunu yapma şansı olmasa da, yazma iznine sahip olan kullanıcının üzerine yazmasına izin vermesi gerektiğinde, bir dosya üzerinde sadece okuma izni var mı?

Farklı dosya sistemleri farklı erişim yöntemlerini de destekler. Bir dosyadaki bilgiye erişmenin en basit yolu sıralı erişimdir. Bir dosyadaki bilgilerin her seferinde bir kayıttan başlandığı yer burasıdır. Bir dosyadaki konumu değiştirmek için, bir dizi kaydı yeniden yazabilir veya iletebilir veya dosyanın başına sıfırlayabilirsiniz. Bu erişim yöntemi, bant sürücüsü için dosya depolama sistemlerine dayanır, ancak rasgele erişimli olanlarda (sabit sürücüler gibi) sıralı erişim aygıtlarında (mordern DAT teyp sürücüleri gibi) çalışır. Bu yöntem çalışmasında çok basit olmasına ve medya oynatma gibi belirli görevler için ideal olmasına rağmen, veritabanı yönetimi gibi daha karmaşık görevler için çok verimsizdir. Ardışık olması muhtemel olmayan okuma görevlerini daha iyi kolaylaştıran daha modern bir yaklaşım doğrudan erişimdir. Doğrudan erişim kayıtların okunmasını veya uygulamanın gerektirdiği herhangi bir sırayla yazılmasını sağlar. Dosyanın herhangi bir parçasının herhangi bir sırada okunmasına izin veren bu yöntem, modern sabit diskler için daha uygundur, çünkü sürücünün herhangi bir parçasının, aktarım hızında çok az bir azalma ile herhangi bir sırada okunmasına izin verir. Doğrudan erişim, büyük çevrimdışı yedeklemeler dışında artık çok fazla kullanılmayanın aksine, günümüzde kullanılan en yaygın depolama ortamı etrafında tasarlandığından, çoğu uygulama için sıralı erişimden daha uygundur. Doğrudan erişim yollarından yola çıkarak, bir dosyada veri bulma hızını arttırmak için hızlandırılmış erişim gibi tüm erişim yöntemlerinin bir dizinini oluşturmak veya ardışık erişim gibi doğrudan erişim üzerine başka erişim yöntemleri oluşturmak da mümkündür.

Bir sürücüdeki dosyaların depolanması ve yönetilmesi üzerine, dosya sistemi ayrıca dosyaların referans aldığı bir dizin sistemini de korur. Modern sabit diskler yüzlerce gigabayt saklar. Dosya sistemi, bu verileri dizinlere ayırarak düzenlemeye yardımcı olur. Bir dizin dosyaları veya daha fazla dizin içerebilir. Dosyalarda olduğu gibi, bir dosya sisteminin dizin yapısında düzgün çalışması için gerçekleştirmesi gereken birkaç temel işlem vardır.

Bir dosya oluşturabilmek gerekiyor. Bu ayrıca bir dosyadaki perasyona genel bakış ile kaplanır, ancak dizin yapısına eklenmesi gereken dosyayı oluşturmanın yanı sıra.

Bir dosya silindiğinde, dosyanın kapladığı alanın boş alan olarak işaretlenmesi gerekir. Dosyanın kendisinin de dizin yapısından kaldırılması gerekiyor.

Dosyaların yeniden adlandırılması gerekebilir. Bu dizin yapısında bir değişiklik gerektirir, ancak dosyanın kendisi değiştirilmeden kalır.

Bir dizini listele. Diski düzgün bir şekilde kullanabilmek için kullanıcı, üzerinde depolanan tüm dizinlerde neyin gerektiğini bilmelidir. Bunun üstünde kullanıcının sabit diskteki dizinlere göz atması gerekir.

İlk dizin yapıları tasarlandığından, birkaç büyük evrimleşme geçirdiler. Dosya sistemlerine dizin yapıları uygulanmadan önce tüm dosyalar aynı seviyede saklandı. Bu, temelde tüm dosyaların saklandığı bir dizini olan bir sistemdir. İlk dizin yapısı olarak düşünülebilecek olan sonraki ilerleme iki düzey dizindir. Bu, hepsi aynı düzeyde olan tek bir dizin listesi var. Dosyalar daha sonra bu dizinlerde saklanır. Bu, farklı kullanıcıların ve uygulamaların dosyaları ayrı ayrı depolamasına izin verir. Bundan sonra bugün onları tanıdığımız ilk dizin yapıları, dizin ağaçları geldi. Ağaç yapı dizinleri, dizinlerin yanı sıra dizinlere kaydedilecek dosyalara izin vererek iki düzeydeki dizinleri geliştirir.

Koruma birçok şekilde uygulanabilir. Bazı dosya sistemleri şifre korumalı dizinlere sahip olmanıza izin verir. Bu sistemde. Dosya sistemi, bir kullanıcı adı ve şifresi vermeden önce bir dizine erişmenize izin vermez. Diğerleri, farklı kullanıcılar veya gruplar erişim izinleri vererek bu sistemi genişletir. İşletim sistemi, kullanıcının bilgisayarı kullanmadan önce oturum açmasını ve daha sonra izinleri olmayan alanlara erişimini kısıtlamasını gerektirir. Bilgisayar bilim departmanının depolama alanı ve raptorda kurs ödevi için kullandığı sistem buna iyi bir örnektir. NTFS gibi bir dosya sisteminde her türlü depolama alanı, ağ erişimi ve yazıcı gibi cihazın kullanımı bu şekilde kontrol edilebilir. Diğer erişim denetimi türleri, dosya sisteminin dışında da uygulanabilir.

Pek çok farklı platformda şu anda mevcut olan birçok farklı dosya sistemi vardır ve farklı dosya sistemlerine uyan farklı tipteki sürücülerin uygulama türüne ve büyüklüğüne bağlıdır. Bir teyp yedekleme sistemi için bir dosya sistemi tasarlayacak olsaydınız, donanımın kısıtlamaları göz önüne alındığında bir sıralı erişim yöntemi doğrudan erişim yönteminden daha uygun olurdu. Ayrıca bir ev bilgisayarında küçük bir sabit diskiniz varsa, ihtiyaç duyulması muhtemel olmadığı için koruma gibi özelliklere sahip daha karmaşık bir dosya sistemi kullanmanın gerçek bir avantajı olmayacaktır. 10 gigabaytlık bir sürücü için bir dosya sistemi tasarlayacak olsaydım, sürücü alanını en verimli şekilde kullanmak ve sürücüyü korumak için gereken süreyi sınırlamak için bağlantılı tahsisini bitişik olarak kullanırdım. Ayrıca, donanımın güçlü yönlerini en iyi şekilde kullanabilmek için sıralı erişim üzerinden doğrudan erişim yöntemi tasarlayacağım. Dizin yapısı, sürücü üzerinde daha iyi bilgi akışı sağlamak için ağaç tabanlı olacak ve asiklik dizinlerin aynı kullanıcının birden fazla kullanıcının aynı proje üzerinde çalışmasını kolaylaştıracaktır. Ayrıca, farklı kullanıcı grupları için farklı erişim haklarına ve dizinlerde ve tek tek dosyalarda parola korumasına izin veren bir dosya koruma sistemine sahip olacaktır. Yukarıda 10gig sabit disk için ideal olarak tanımladığım özellikleri zaten uygulayan çeşitli dosya sistemleri şu anda kullanılabilir, bunlar Windows NT ve XP işletim sistemleri için NTFS ve linux’da kullanılan ext2’yi içerir. Dizin yapısı, sürücü üzerinde daha iyi bilgi akışı sağlamak için ağaç tabanlı olacak ve asiklik dizinlerin aynı kullanıcının birden fazla kullanıcının aynı proje üzerinde çalışmasını kolaylaştıracaktır. Ayrıca, farklı kullanıcı grupları için farklı erişim haklarına ve dizinlerde ve tek tek dosyalarda parola korumasına izin veren bir dosya koruma sistemine sahip olacaktır. Yukarıda 10gig sabit disk için ideal olarak tanımladığım özellikleri zaten uygulayan çeşitli dosya sistemleri şu anda kullanılabilir, bunlar Windows NT ve XP işletim sistemleri için NTFS ve linux’da kullanılan ext2’yi içerir. Dizin yapısı, sürücü üzerinde daha iyi bilgi akışı sağlamak için ağaç tabanlı olacak ve asiklik dizinlerin aynı kullanıcının birden fazla kullanıcının aynı proje üzerinde çalışmasını kolaylaştıracaktır. Ayrıca, farklı kullanıcı grupları için farklı erişim haklarına ve dizinlerde ve tek tek dosyalarda parola korumasına izin veren bir dosya koruma sistemine sahip olacaktır. Yukarıda 10gig sabit disk için ideal olarak tanımladığım özellikleri zaten uygulayan çeşitli dosya sistemleri şu anda kullanılabilir, bunlar Windows NT ve XP işletim sistemleri için NTFS ve linux’da kullanılan ext2’yi içerir.

Comments are closed.