08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

DOSYALAR<br />

İkincil belleklerde tanımlanmış bölgelere dosya denir. Dosya işlemleri tamamen işletim<br />

sisteminin kontrolü altındadır. Her dosyanın bir ismi vardır. Ancak dosyaların<br />

isimlendirme kuralları sistemden sisteme göre değişebilir.<br />

İşletim sistemi de bir programdır. Bu program da ayrı ayrı yazılmış işlevlerin birbirlerini<br />

çağırması biçiminde çalışır. Örneğin komut satırında bir programın isminin yazılarak<br />

çalıştırılması aslında birkaç sistem işlevinin çağrılması ile yapılır. Komut satırından yazılan<br />

yazıyı alan, diskte bir dosyayı arayan, bir dosyayı belleğe yükleyen, bellekteki programı<br />

çalıştıran işlevler düzenli olarak çağrılır.<br />

İşletim sisteminin çalışması sırasında kendisinin de çağırdığı, sistem programcısının da<br />

dışarıdan çağırabildiği işletim sistemine ait işlevlere sistem işlevleri denir. Bu tür işlevlere<br />

Windows sisteminde API (Application Programming Interface) işlevleri, UNIX işletim<br />

sisteminde ise sistem çağrıları (system calls) denir.<br />

Aslında bütün dosya işlemleri, hangi programlama dili ile çalışılırsa çalışılsın, işletim<br />

sisteminin sistem işlevleri tarafından yapılır. Sistem işlevlerinin isimleri ve parametrik<br />

yapıları sistemden sisteme değişebilir.<br />

Dosyanın Açılması<br />

Bir dosya üzerinde işlem yapmadan önce dosya açılmalıdır. Dosya açabilmek için işletim<br />

sisteminin "dosya aç" isimli bir sistem işlevi kullanılır. Dosyanın açılması sırasında dosya<br />

ile ilgili çeşitli ilk işlemler işletim sistemi tarafından yapılır.<br />

Bir dosya açıldığında, dosya bilgileri, ismine "Dosya Tablosu" (File table) denilen ve<br />

işletim sisteminin içinde bulunan bir tabloya yazılır. Dosya tablosunun biçimi sistemden<br />

sisteme değişebilir. Örneğin tipik bir dosya tablosu aşağıdaki gibi olabilir:<br />

Dosya tablosu<br />

Sıra No<br />

Dosya ismi<br />

Dosyanın Diskteki<br />

Yeri<br />

Dosyanın<br />

Özellikleri<br />

0<br />

1<br />

...<br />

12 AUTOEXEC.BAT ... ... ...<br />

...<br />

Diğerleri<br />

İşletim sisteminin sistem işlevlerinin de parametre değişkenleri, geri dönüş değerleri<br />

vardır. "Dosya aç" sistem işlevinin parametresi açılacak dosyanın ismidir.İşlev, dosya<br />

tablosunda dosya bilgilerinin yazıldığı sıra numarası ile geri döner ki bu değere "file<br />

handle" denir. Bu handle değeri diğer dosya işlevlerine parametre olarak geçirilir.<br />

Dosyanın açılması sırasında buna ek olarak başka önemli işlemler de yapılır.<br />

Dosyanın Kapatılması<br />

Dosyanın kapatılması açılması sırasında yapılan işlemlerin geri alınmasını sağlar. Örneğin<br />

dosyanın kapatılması sırasında, işletim sisteminin dosya tablosunda bulunan bu dosyaya<br />

ilişkin bilgiler silinir. Açılan her dosya kapatılmalıdır. Bir dosyanın kapatılmaması çeşitli<br />

sorunlara yol açabilir.<br />

Dosyaya Bilgi Yazılması ve Okunması<br />

İşletim sistemlerinin dosyaya n byte veri yazan ve dosyadan n byte veri okuyan sistem<br />

işlevleri vardır. Yazma ve okuma işlemleri bu işlevler kullanılarak yapılır.<br />

451

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!