Yrd.Doç.Dr. Sevinç İlhan Omurca - OS Bölüm 12 BÖLÜM 12 DOSYA SİSTEMİ ARAYÜZÜ.
... konulu sunumlar: "Yrd.Doç.Dr. Sevinç İlhan Omurca - OS Bölüm 12 BÖLÜM 12 DOSYA SİSTEMİ ARAYÜZÜ."— Sunum transkripti:
Yrd.Doç.Dr. Sevinç İlhan Omurca - OS Bölüm 12 BÖLÜM 12 DOSYA SİSTEMİ ARAYÜZÜ
İçerik Dosya Kavramı Dosya Erişim Metotları Dizin Yapısı Dosya Sistemi Kurulumu Dosya Paylaşımı Koruma
Dosya Kavramı Dosya yönetimi bir işletim sisteminin en görülür servislerinden birisidir. Bilgisayar sisteminin rahat kullanımı için, işletim sistemi bilgi depolamanın standart mantıksal bir görümünü sağlar. İşletim sistemi için dosya: Sürekli mantıksal bir adres uzayıdır. Ancak fiziksel olarak sürekli yerleşmemiş olabilir. Dosya tipleri:  Veri sayısal karakter binary  Program
Dosya Yapısı İşletim sistemi için: Byte dizisi Record structure:  Lines  Fixed length  Variable length Complex structure  executable file structure  Formatted document (a word doc)
Dosya Özellikleri Adı – Dosyaları temsil eden kullanıcıların anlamlandırabileceği sembolik bir dosya ismi vardır. Tanımlayıcı: Bu kısım -genelde bir numaradır- dosyayı dosya sistemi içerisinde tanımlar. Tip: Farklı tiplerin desteklenmesi söz konusu olunca bir dosya tipi önem kazanmaktadır. Yeri: Yer bilgisi, bir device’a ya da bu dosyanın bu device üzerindeki yerine bir işaretçidir. Boyut: byte-word yada blok olarak dosya büyüklüğünü belirtir. Koruma: Dosyaya erişim-kontrol bilgisidir. (write-read-execute) Zaman, tarih, kullanıcı bilgisi
Sistemde Saklanan Dosya Özellikleri
UNIX den alınan Executable Binary File
6.3 (a) Bir dosya 5 kısımdan oluşmaktadır:  Header, text, data, relocation bits, symbol table. Header:  magic number: dosyayı excutable olarak işaretleyen alandan başlar.  Sonraki kısımlar: execution’un başlayacağı adres ve bazı flag bitleri Programın kendi text ve data alanı: bu alanlar belleğe yüklenir ve relocation bitleri yardımı ile yer değiştirirler. Symbol table:debugging için kullanılır.
6.3 (b) Compile edilmiş fakat linklenmemiş bir grup kütüphane prosedürü (modülü) içermektedir. Unix den alınan bir binary arşiv dosyasıdır. Her biri, kendi adını çağıran bir header ile başlamaktadır. Header aynı zamanda, yaratılma zamanını, sahibini, koruma bitlerini ve dosya büyüklüğünü de işaret etmektedir. Çalıştırılabilir dosyada olduğu gibi header bilgileri binary dir.
Her işletim sistemi en az bir dosya formatı (kendi executable dosya formatı) tanımak zorundadır.
Dosya İşlemleri Create Write Read Reposition within file Delete Seek Get Attributes Set Attributes Rename Open(F i ) –F i girişi için dizin yapısını ara ve içeriğini belleğe taşı Close (F i ) – F i içeriğini bellekten diskteki dizin yapısına taşı
Açık Dosyalar Dizin kaydı dosya üzerinde yapılacak işlemler için ihtiyaç olunan önemli bilgilerin tamamını tutar. Dizin içinde yapılan sabit arama işleminden kurtulmak için çoğu sistemler dosya bir kez kullanıldıktan sonra dosyayı açarlar. İşletim sistemi açık dosyaların bilgisini tutan küçük bir table kullanır.(open file table) Bir dosya işlemi gerektiğinde tüm dizini araştırmak yerine daha küçük olan bu tablo araştırılır. Dosya kullanımdan kalktığında dosya kapatılır ve açık dosyalar tablosundan silinir. Bazı sistemlerde dosyaya ilk erişim yapıldığında dosya açılır. İş ya da program bittiğinde dosya kapatılır. Çoğu sistemlerde programı open system call ‘unu kullanmadan önce dosyanın açılmış olması gereklidir. Açma işlemi, dosyanın adını alır, dizini araştırır, dizin kaydını açık dosyalar tablosuna kopyalar. Daha sonra işletim sistemi, tipik olarak açık dosyalar tablosundan bir pointer döndürecektir. Bu pointer gerçek dosya adı değildir. I/O işlemlerinde arama işlemini önlemek, arama zamanını kısaltmak için kullanılacaktır.
... Çok kullanıcılı bir sistemde UNIX gibi, open ve close operasyonlarının tanımlanması karmaşık bir işlemdir. Birçok kullanıcı aynı anda dosyayı açabilir. Tipik olarak işletim sistemi, iki-seviyeli internal tablo yapısı kullanır.  Per-process table ve system-wide table. Per-process tablosu: bir prosesin açtığı tüm dosya bilgilerini tutar.  Per-process tablosundaki her kayıt, system-wide tablosuna işaret eder. System-wide tablosu: prosesden bağımsız dosya bilgilerini tutar.  Dosyanın yeri, erişim tarihi, bıyutu gibi. Bir dosya bir proses tarafından açıldığı zaman, başka bir proses dosya açmak istediği zaman; prosesin open-file tablosuna yeni bir kayıt eklenir ve system-wide tablosundaki ilgili yeri işaret eder. Open-file tablosu, her dosya için opencount değeri tutar. Bu değer, ilgili dosyayı açan proseslerin sayısını verir. Her close sistem çağrısı count değerini bir azaltır ne zaman ki count 0 oldu, dosyaya ait kayıt open-table tablosundan silinir.
Open File Information
Sample Program Variables argv: “copy file” argv: abc argv:xyz Program buffer=4096 bytes okuyup yazabilir. in_fd ve out_fd: file descriptors: small integers returned when a file opened rd_count ve wt_count: read ve write sistem çağrılarından dönen byte sayısı
Erişim Metotları Sequential Access read next write next reset no read after last write (rewrite) Direct Access read n write n position to n read next write next rewrite n n = relative block number
Sıralı Erişim Metodu
Direk Erişim Metodu Dosyanın disk modeli baz alınarak geliştirilmiştir. Direct access ‘de dosyanın blok ya da kayıtlarının erişim numarasının bilinmesi gereklidir. Direct access ‘de dosyanın istenen bloklarına okuma veya yazma işlemine izin verilir. Bu yüzden önce blok 14, sonra blok 53 okunabilir, daha sonra blok 7 ‘ye yazma işlemi gerçekleştirilebilir. Direct erişimli dosya için okuma ve yazmada herhangi bir kısıtlama yoktur. Kullanıcı tarafından işletim sistemine belirtilen blok numarası relative blok numarasıdır. Relative blok numarası dosyanın başını baz alarak belirtilen bir rakamdır. Relative blok yaklaşımı, işletim sisteminin dosyanın yerini yönetmesine olanak sağlar. Bu yaklaşım aynı zamanda yanlış bir referansla bu dosyaya ait olmayan yanlış blokların okunmasını engeller.
Dosyalar ve Dizinler Dosya: depolanan içerik Dizin: dosyalar, onların özellikleri yada yerleşimleri hakkında bilgi saklar.
Dizin Yapısı Gerçekte çoğu sistemlerde 2 ayrı directory yapısı vardır.  Device directory ve file directory. Device directory her fiziksel device ‘ın kendisi üzerinde tutulur ve bu device üzerinde bulunan tüm dosyaların kaydını tutar.  Device directory kayıtlarında her dosyanın fiziksel özellikleri tutulur.  Dosya nerede, boyu ne kadar, nasıl yerleştirilmiş ve benzeri bilgiler. File directory ‘lerde ise tüm cihazlar üzerindeki dosyaların lojik organizasyonu tutulur.  Adı, dosya tipi, sahibi, erişim bilgileri, koruma erişim kodları gibi.  File directory kayıtları, fiziksel özellikler için device directory ‘ye işaret eden pointer ‘ların kayıtlarını tutar.
Dosya Sistemi Organizasyonu
Single-Level Directory Tüm dosyalar tek bir directory ‘de tutulur. Anlaşılması ve desteklenmesi kolaydır. Bu metodun dosya sayısı arttığında veya kullanıcı sayısı arttığında önemli kısıtlamaları vardır. Tüm dosyalar aynı dizinde iken, dosyalar tekil isimde olmalıdır. Tek kullanıcıda bile olsa dosya sayısı arttığında, kullanıcının dosyaları isimlerinden yönetmesi zor olacaktır. Bu yüzden single – level directory sistemi çok kullanışlı bir metod değildir.
Two – Level Directory Burada her kullanıcı için ayrı bir dizin açılır. Özellikle büyük sistemlerde, bu kullanıcı dizini lojiktir, dosyalar aynı cihaz üzerinde bulunabilir. Two – level directory yapısında, her kullanıcının bir UFD ‘si vardır. (User file directory) Her kullanıcı directory ‘si benzer yapıya sahiptir (linear, binary veya hashed) fakat listelerde sadece bir kullanıcının dosyaları görünür. Kullanıcı bir iş başlattığında ya da sisteme login olduğunda, sistemin MFD (Master File Directory) ‘si araştırılır. MFD kullanıcı adına veya account numarasına göre indexlidir ve her kayıt kullanıcı directory ‘sini gösterir. Kullanıcı özel bir dosya istediğinde, sadece kendisinin directory ‘si araştırılır. Bu sayede değişik kullanıcılar aynı adda dosyalara sahip olabilir. Kullanıcı için bir dosya yaratılacağında, işletim sistemi sadece bu kullanıcının directory ‘sini araştırır.
Two – Level Directory
Tree Structured Directory
... Bu durum kullanıcıların kendi alt dizinlerini yaratabilmesine ve dosyalarını istediği şekilde organize edebilmesine imkan tanır. Unix dosya sisteminde tree structure directory yapısı kullanılmaktadır. Ağacın bir kök directory ‘si vardır. Sistemdeki her dosyanın bir unique path name ‘i vardır. Path name root ‘tan itibaren dosyaya kadar directory ‘lerin dizilimini gösteren bir path ‘tir. Bir directory (veya subdirectory) birtakım dosyalar ve alt dizinler içerebilir. Tüm dizinler aynı iç formattadır. Dizin kaydında kaydın dosya veya dizin olduğunun ayrımı için 1 bit görevlendirilir. (file : 0 directory : 1) Dizinleri yaratmak ve silmek için özel system çağrıları kullanılır.
... Normal kullanımda her kullanıcının bir geçerli directory ‘si vardır. Current directory kullanıcının çoğunlukla kullandığı tüm dosya ve dizinleri tutar. Bir dosya işaret edildiğinde öncelikle current directory araştırılır. İstenen dosya bu directory ‘de değilse kullanıcı path ‘i belirtmeli veya current directory ‘sini değiştirmelidir. (Gerçekte günümü işletim sistemlerinde çoğunlukla her kullanıcının bir default directory ‘si veya home directory ‘si vardır. ) Current directory ise şu anda çalışılmakta olan directory anlamında kullanılır. Kullanıcı işi başladığında, veya kullanıcı sisteme login olduğunda, işletim sistemi accounting file ‘ı arar, kullanıcının başlangıç directory ‘sine işaret eder. Bu kullanıcı için tanımlı özel bir değişken kullanıcının current directory ‘sini tutar.
... Hiyerarşik dizinlerde dosyaları tanımlamanın ve erişimin yolu Path bilgisidir. Path:  Complete path: Her zaman root ‘tan başlar ve belirtilen dosyaya kadar directory directory iner, tekildir.  Relative path. şu an çalışılan directory baz alınarak belirtilen path ‘tir (current directory).
UNIX Dir Tree
File Protection Erişim hakları şunlar için tanımlanabilir:  (u) user – Owner (creator) of a file  (g) group – Group  (o) other – all other users of the system Erişim hakkı: read, write, execute 3 kullanıcı sınıfı: Game dosyası için erişim hakkı düzenle: Grubu dosyaya atach et: Chgrp G game
UNIX dir example
"Yrd.Doç.Dr. Sevinç İlhan Omurca - OS Bölüm 12 BÖLÜM 12 DOSYA SİSTEMİ ARAYÜZÜ." indir ppt
Benzer bir sunumlar Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 11: Dosya Sistem Arayüzü Dosya kavramı Dosya ulaşım yöntemleri Dizin yapısı.
Dosya Sistemleri. Akış Dosya sistemleri nelerdir? Dosyalar – İsimlendirme, türler, yapılar, erişim, nitelikler, işlemler. Dizinler – Tek, iki ve hiyerarşik.
Bölüm 9: Dosya Sistemi Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Dosya Kavramı Birleşik mantıksal adres aralığı Dosya: Dosya,
PHP-Dosya ve Dizinler Internet Tabanlı Programlama Dr. Erman Yukselturk.
KÜTÜK YÖNETİMİ Ana bellek dışında saklanan veri kümeleri, kütük olarak adlandırılır. İkincil bellekler, daha geniş anlamıyla giriş/çıkış birimleri üzerinde.
UNV13107 TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Veri tabanı Bilgisayar ortamında saklanan düzenli verilerdir. Bilgisayar ve ağ ortamındaki bilginin temel.
Excel’de VBA programlama (Visual Basic Application) Ders 5.
Chapter 14: Files and Streams. 2Microsoft Visual C# 2012, Fifth Edition Dosyalar, Dosya Ve dizin Sınıfları Geçici Depolama – Genellikle bilgisayar belleği.
Konu : WİNDOWSTA VERİ DEPOLAMA YÖNTEMLERİ Hazırlayan : Güray Mantar
BÖLÜM 15 PROTECTION. Erişim Denetimi İşletim sistemi ile kullanıcı programlarının aynı anda aynı ana belleği paylaşmaları problemi Kullanıcı proseslerinin.
Bellek Yönetimi Öğr.Gör. Dr. Şirin KARADENİZ. Bellek Yönetimi Bellekteki herhangi bir işlemi başka bir yere aktarabilmelidir. Birden fazla işlem veya.
Yrd. Doç. Dr. Sevinç İlhan Omurca - OS Bölüm 13 BÖLÜM 13 DOSYA SİSTEMİ UYGULAMASI.
BGK207 Bilgisayar I EN101, EN201 Temel Bilgi Tek. Kul. I Öğr. Gör. Mustafa AÇIKKAR.
Bellek Yönetimi. Belleğin birden fazla prosese yer verilebilecek şekilde alt birimlere ayrılması işlemidir.
FAT VE NTFS DOSYA YAPISI. Dosya sistemi, bilgisayarın sabit disk üzerindeki verileri düzenlemek için kullandığı temel yapıdır. Yeni bir sabit disk takıyorsanız,
BÖLÜM 2: BİLGİSAYAR SİSTEM YAPILARI  Bilgisayar Sistem Çalışması  Giriş/Çıkış Yapıları  Depolama Yapıları  Depolama Hiyerarşisi  Donanım Koruması.
Excel’de VBA programlama (Visual Basic Application) Ders 6.
Silberschatz, Galvin and Gagne  Operating System Concepts Bölüm 13: I/O Sistemleri Giriş/Çıkış Donanımı Giriş/Çıkış Uygulama Arayüzü Giriş/Çıkış.
DOSYA SİSTEMLERİ VE VERİ KURTARMA HAZIRLAYANLAR: BARIŞ BALKIR ERDEM ÜLGER.
Php Sunum 6 Dosya ve Klasör İşlemleri. Dosya İşlemleri.
Dosya İzinleri Öğr. Gör. Mustafa SARIÖZ BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ.
Kullanıcı Hesapları Aslı Ergün. Kullanıcı ve Grup Yönetimi Linux’ta kullanıcı bilgileri /etc/passwd dosyasında tutulur. Bu dosyanın içeriği tüm kullanıcılar.
İşletim Sistemlerine Giriş – 2 Bir İşletim Sisteminin Fonksiyonları Açısından Mantıksal Yapısı Öğr.Gör. Dr. Şirin KARADENİZ.
Dosya sistemi uygulaması (File System Implementation)
X86 Assembly Programlama Dilinde Komut yapısı, talimatlar ve veri tanımlamaları.
EurobankTekfen SQL Server DBA Turgay Sahtiyan.
Kullanıcı ve Grup İşlemleri Öğr. Gör. Mustafa SARIÖZ BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ.
Neden Index ? Index Nasıl Çalışır ? (B-Tree Yapısı) Clustered Index NonClustered Index Örneklerle Index Page’ler Included Column Kullanımı Sonuç - Özet.
Yrd. Doç. Dr. Zülfü GENÇ/ BTÖ 303 İ şletim Sistemleri İ şletim Sistemleri Operation Systems.
Kütük Organizasyonu1 Dosyalarda Farklı Yaklaşımlar.
Kullanıcı ve Grup İşlemleri BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ.
VERİ TABANI VE YÖNETİM SİSTEMLERİ  Veri Tabanı Nedir?  Veri Tabanı Yönetim Sistemleri (VTYS)  Veri Tabanı Yönetim Sisteminin Yararları  Veri Tabanlarının.
BMS-301 Kabuk Programlama Güz 2015 (3. Sunu) (Yrd. Doç. Dr. Deniz Dal)
T sql-diğer komutlar Metin Akbulut. CREATE • CREATE DATABASE Person.