PENGURUSAN FAIL BAB 8
8.1 Fungsi Pengurus Fail Menjejaki di mana setiap fail disimpan. Menggunakan polisi bagi menentukan di mana dan bagaimana fail perlu disimpan. Memperuntukkan fail kepada pengguna yang mempunyai permit capaian yang sah. Melepaskan peruntukan fail di dalam ingatan semasa fail dipulangkan semula ke dalam storan dan mengisytiharkan kesediagunaan fail kepada pengguna lain.
8.2 Apa itu Fail? Data disimpan dalam bentuk fail dimana fail disimpan di dalam storan sekunder seperti cakera liut, cakera magnetik, cakera padat dan kaset. Polisi pencapaian yang ditetapkan oleh Pengurus Fail akan memastikan hanya pengguna yang mempunyai capaian yang sah (melalui penggunaan kata laluan) sahaja yang boleh mencapai fail di dalam storan sekunder.
Apabila pengguna perlu menggunakan fail-fail tersebut, Pengurus Fail akan menyalin fail tersebut ke dalam ingatan dan pada yang sama memastikan status pengguna sebagai “pengguna fail tersebut” dicatat.
Fail Nama No ID Jantina ………. Umur Medan Rekod
Fail n Pangkalan Data Fail 3 Fail 2 Fail 1
Medan Sekumpulan bait yang diberi nama, jenis, dan saiz supaya boleh dikenali sebagai pengguna sebagai unit data yang paling kecil. Contoh: Nama medan : Nama Pelajar Jenis data : Aksara Saiz : 40 aksara
Rekod Rekod merupakan sekumpulan medan yang mempunyai kaitan di antara satu sama lain. Contoh: Rekod seorang pelajar yang mengandungi medan-medan seperti nama pelajar, jantina, nombor ID, umur, dan alamat.
Fail Sekumpulan rekod yang mempunyai kaitan di antara satu sama lain akan membentuk sebuah fail yang boleh digunakan oleh pengguna. Contoh: Sebanyak 100 rekod pelajar boleh disimpan sebagai sebuah fail pelajar. Seperti medan dan rekod fail juga perlu diberi nama khusus, jenis, dan saiz. Pengguna boleh mencapai fail dengan menggunakan nama fail.
Pangkalan data Sekumpulan fail-fail yang mempunyai kaitan di antara satu sama lain dan disimpan mengikut struktur tertentu seperti hirarki (hierarchical), hubungan (relational), dan rangkaian (network). Penyimpanan fail secara berstruktur bertujuan memudahkan pengguna mencapai data dari mana-mana fail di dalam pangkalan data.
Fail program Mengandungi arahan-arahan atau program yang ditulis oleh pengguna bagi melaksanakan aplikasi-aplikasi tertentu.
Fail data Mengandungi sekumpulan data yang boleh dicapai oleh pengguna bagi kegunaan sesuatu program aplikasi.
8.3 Atribut Fail (secara am) Setiap fail disertakan maklumat-maklumat mengenainya seperti berikut: Nama (myfile, inventory, dll) Jenis (.doc, .txt, dll) Saiz (dalam unit bait) Lokasi fizikal fail dalam storan sekunder Tahap kawalan perlindungan capaian Hak (Ownership) ke atas fail Tarikh dan masa (penjanaan, penggunaan, modifikasi)
Maklumat-maklumat ini disimpan di dalam fail direktori bagi memudahkan Pengurus Fail mencapai fail tersebut apabila diminta oleh pengguna. Pencarian fail memerlukan pengguna memberikan laluan (path) kepada Pengurus Fail. Contoh: C: \PELAJAR\MARKAH.DOC (MS-DOS) /usr/fakulti/pelajar/markah.doc (UNIX)
8.4 Operasi ke atas Fail Jana (membentuk fail baru) Tulis (menulis ke dalam fail yang sedia ada) Baca (membuka fail dan melihat kandungan fail) Cari (mencari fail mengikut laluan di mana fail disimpan) Hapus (membuang fail dari storan sekunder di mana ianya disimpan) Potong (membuang sebahagian kandungan fail) Tambah (menambah input ke dalam fail yang sedia ada)
8.5 Organisasi Fail Secara Logikal Fail terdiri daripada medan dan rekod. Format rekod: panjang tetap (fixed-length), panjang tidak tetap (variable-length), berblok dan tidak berblok.
Rekod yang mempunyai panjang yang tetap lebih mudah dicapai secara terus berbanding dengan rekod yang mempunyai panjang boleh-ubah. Bagaimanapun rekod panjang tetap lebih kerap menyebabkan penyesiaan ruang.
Tidak berblok, panjang rekod tetap Berblok, panjang rekod tetap Blok 1 Bil. rekod R1 R2 R3 R4 R5 Blok 2
Tidak berblok, panjang rekod berubah-ubah Saiz blok Bil. rekod Panjang R1 R1 Panjang R2
8.6 Organisasi Fail Secara Fizikal Merujuk kepada pemetaan dan penyusunan rekod-rekod bagi sesuatu fail ke atas storan secara fizikal. Oleh demikian perlu dipertimbangkan ciri media storan dan kaedah capaian yang digunakan.
Terdapat 3 kaedah untuk mengorganisasikan rekod :- Secara berjujukan (sequential) Terus (direct) Jujukan berindeks (indexed sequential)
Kaedah dipilih berdasarkan kriteria berikut:- Keruapan data - frekuensi berlakunya operasi tambah dan hapus Aktiviti Data - peratusan pemprosesan rekod-rekod dalam masa larian tertentu Saiz Fail Masa Tindak balas - jumlah masa pengguna bersedia tunggu sebelum operasi yang dimintanya disempurnakan
(a) Organisasi Rekod Secara Berjujukan Kaedah pengorganisasian ini mempunyai ciri-ciri berikut : Paling mudah kerana maklumat dalam fail dicapai dan diproses satu persatu mengikut turutan
Operasi ‘Read’ akan baca bahagian fail yang seterusnya. Operasi ‘Write’ akan menambah bahagian baru di hujung fail. Kelemahan : algoritma penyelenggaraan susunan asal rumit kerana perlu dipelihara setiap kali rekod ditambah atau dihapuskan.
(b) Organisasi Rekod Secara Terus Capaian kepada rekod adalah secara terus. Pengguna boleh capai sebarang rekod pada sebarang turutan tanpa perlu mencari pada bahagian permulaan fail. Rekod dikenal pasti melalui alamat relatif blok rekod. Alamat ini merujuk kepada nilai indeks yang relatif kepada permulaan fail selalunya 0.
Memudahkan penentuan lokasi untuk simpan fail. Guna satu medan kunci untuk menakrifkan setiap rekod secara unik. Guna algoritma cincang (hashing algorithm), setiap kunci ini akan ditukar kepada nombor perwakilan alamat di mana rekod tersebut disimpan.
Cepat untuk dikemaskinikan kerana rekod yang telah diubahsuai boleh terus ditulis kepada alamat asalnya tanpa perlu mengekalkan susunan rekod. Kelemahan: boleh menyebabkan pelanggaran data (collision).
(c) Organisasi Rekod Secara Jujukan Indeks Kombinasi kaedah jujukan & capaian terus. Guna pakej perisian Kaedah Capaian Jujukan Berindeks. Guna algoritma ‘hashing’/cincang untuk menjana fail indeks --> sebagai penunjuk (pointer). Untuk capai fail, sistem perlu menggelintar fail indeks untuk mendapatkan lokasi fizikal fail dalam storan. Kelemahan : jika untuk kuantiti rekod yang banyak, proses capaian adalah perlahan.
Capaian boleh dibuat dengan pengguna membekalkan nilai kunci di mana kunci tersebut memberi nombor indeks blok rekod yang ingin dicapai relatif kepada permulaan fail. Untuk kebanyakan jenis fail yang dinamik, organisasi ini adalah sesuai kerana ia membenarkan kedua-dua capaian terus dan berjujukan kepada rekod-rekod. Masa tindakbalas adalah pendek – baik.
8.7 Peruntukan Storan Fizikal Data disimpan dalam storan sekunder dalam bentuk fail. Masalah utama ialah bagaimana untuk memperuntukkan bahagian dalam ruang cakera kepada setiap fail supaya : Ruang cakera dapat dgunakan sepenuhnya dengan berkesan dan Fail mudah untuk dicapai bila masa ianya diperlukan.
Dapat dilaksanakan melalui kaedah peruntukan ruang cakeranya berikut:- Peruntukan Storan Secara Bersambungan / Berterusan, Tidak Bersambungan : guna konsep pautan Indeks
Storan Bersambungan Setiap fail perlu ada 1 set blok data yang bersambungan/berterusan atas storan/cakera. Pengalamatan : susunan linear. Peruntukan fail : guna alamat blok bagi permulaan fail dengan panjang blok yang digunakan (dalam unit blok).
Direktori kemasukan setiap fail adalah alamat mula blok dan panjang blok yang diperuntukkan kepada fail tersebut Capaian kepada fail : mudah Sokong capaian : berjujukan & terus.
Untuk capaian berjujukan : sistem fail hanya perlukan alamat cakera bagi blok terakhir yang dirujuk; jika perlu, ia harus baca alamat blok selepas blok yang dirujuk Untuk capaian secara terus ke blok i dalam sesuatu fail yang bermula di blok b, kita boleh terus capai blok b+i.
Storan Tidak Bersambungan Blok-blok data sesuatu fail boleh terletak secara berselerak di atas cakera. Jika ruang cukup, blok-blok boleh disusun secara sebelah menyebelah. Jika tidak, baki yang tidak muat boleh disimpan di bahagian lain yang kosong di cakera iaitu tidak perlu bersebelahan tetapi dipautkan bersama-sama menggunakan penunding.
Direktori mengandungi penunding kepada blok pertama dan blok terakhir bagi sesuatu fail. Contoh: Terdapat fail yang terdiri daripada 5 blok yang bermula di blok no. 9, bersambung ke blok 16, kemudian blok 1, blok 10 dan akhir sekali blok 25.
Kelemahan : Kurang sesuai bagi fail capaian berjujukan Contoh : untuk mencari blok ke i bagi sesuatu fail, terpaksa bermula daripada awalan fail, kemudian ikut jejak penunding sehingga sampai ke blok ke i tersebut Penunding perlu ruang storan tambahan Kebolehpercayaan kurang kerana sekiranya ada di antara penunding rosak atau hilang, blok-blok tidak dapat dijejaki dengan lengkap.
Storan Indeks Setiap fail ada blok indeks sendiri yang terdiri daripada 1 tata susunan alamat blok-blok atas storan. Senarai indeks bagi setiap masukan adalah dalam turutan sama dengan pautan blok-blok. Kemasukan ke i dalam blok indeks menunding ke blok ke i bagi fail tersebut. Capaian ke rekod : secara terus.
8.8 Kaedah-Kaedah Capaian Fail yang mempunyai organisasi dalam bentuk jujukan hanya boleh menyokong capaian berjujukan ke atas rekod-rekod fail tersebut. ABS= Alamat Bait Semasa, PR= Panjang Rekod
Capaian Secara Berjujukan Bagi panjang rekod yang tetap, ABS dikemaskinikan dengan rumus di bawah: ABS = ABS + PR Bagi panjang rekod yang berubah-ubah, panjang rekod (PRk) perlu ditambah dengan nombor bait yang digunakan (N), tambah dengan ABS. ABS = ABS + N + PRk
Capaian Terus Jika fail diorganisasikan secara terus, ianya boleh dicapai dengan mudah melalui turutan terus atau secara berjujukan jika rekod adalah panjang tetap ABS = (NR – 1) + PR NR = adalah no. rekod yang diingini
8.9 Modul Pengesahan Bagi Kawalan Capaian Sebagai mekanisme perlindungan capaian. perlu dalam persekitaran perkongsian fail. penting bagi mengekalkan integriti fail. menyediakan mekanisme untuk kawal siapa yang dibenarkan capai fail dan jenis capaian yang dibenarkan.
Terdapat 4 kemungkinan operasi atas fail iaitu : READ ONLY (R), WRITE ONLY (W), EXECUTE ONLY (E), DELETE ONLY (D). Tidak dibenarkan capaian ditandakan dgn (-). Setiap sistem pengurusan fail mempunyai mekanisme kawalannya sendiri.
Antara mekanisme yang paling biasa digunakan adalah:- matriks kawalan capaian – Jadual di bawah adalah contoh matriks kawalan capaian. senarai kawalan capaian senarai keupayaan kawalan kata-kunci
Matriks Kawalan Capaian Mudah, sesuai bagi sistem dengan kapasiti pengguna dan fail yang kecil. Lajur mewakili pengguna, baris wakil fail. Persilangan : hak capaian sah pengguna kepada sesuatu fail. Kelemahan: Semakin besar sistem, semakin besar matriks, perlu lebih ruang. Pembaziran sebab terdapat banyak kemasukan ‘null’.
Senarai Kawalan Capaian Menyenaraikan satu senarai pengguna dan fail yang boleh mereka capai, turut boleh menyenaraikan hak capaian pengguna kepada sesuatu peranti. Selalu digunakan (popular).
Senarai Keupayaan Senarai yang mengandungi:- kemasukan fail serta nama pengguna yang boleh mencapai fail tersebut jenis capaian yang dibenarkan. Hanya mereka yang menggunakan fail akan disenaraikan nama manakala pengguna lain akan dikumpulkan di bawah tajuk global iaitu ‘WORLD’.
Kata-Kunci Melindungi sebuah fail sahaja. Bila fail dijana, pemilik fail tersebut boleh melindunginya dengan memberikannya satu kata-kunci. Untuk mencapai fail ini, pengguna perlu beri kata kunci yang tepat. Kebaikan : memerlukan jumlah storan yang kecil. Kelemahan : kata-kunci mudah diteka, sukar kawal jenis capaian terhadap fail
8.10 Kaedah Pemadatan Terdapat tiga kaedah pemadatan yang boleh digunakan : Aksara Berulang Istilah Berulang “Front-end”
Aksara Berulang Contoh: Rentetan asal ialah ‘ADAMS’, disimpan dalam medan sebagai 15 aksara (b – aksara ruang kosong) iaitu ‘ADAMSbbbbbbbbb’. Boleh dipadatkan untuk menjadi ‘ADAMb10’ .
Istilah Berulang Setiap perkataan yang biasa digunakan di dalam pangkalan data boleh diwakilkan dengan aksara tunggal atau simbol. Contoh: Bagi pangkalan data universiti, perkataan-perkataan seperti pelajar, kursus, pensyarah boleh diwakilkan setiap satunya dengan 1 aksara /huruf tunggal.
“Front-end” Dalam skima pemadatan jenis ini, data perlu disusun dalam susunan supaya data boleh dipadatkan berdasarkan kepada data sebelumnya. Tambah untuk tambahan data yang unik sahaja Contoh: Pangkalan data pelajar di mana nama-nama pelajar disimpan mengikut susunan abjad (berturutan) boleh dipadatkan.
Senarai Asal Senarai Dipadatkan Aziz,Lina Aziz,Lina Aziz,Ida 5Ida Aziz,Ibrahim 5Ibrahim