Senin, 02 November 2015

File System Pada Sistem Operasi



Dalam artikel ini saya akan membahas tentang file system dimana kita ketahui file system pada computer ada banyak tetapi saya hanya akan membahas tentang 2 file system yaitu Raiser File System dan Journaling File System dimana mencakup tentang cara kerja dari dua file system tersebut serta kekurangan dan kelemahan dari dua file system tersebut, sebelum membahas tentang Raiser File System dan Journaling File System ada baiknya kita mengetahui apa itu file system
File system merupakan struktur logika yang digunakan untuk mengendalikan akses terhadap data yang  ada pada harddisk. File system juga menyediakan mekanisme untuk penyimpanan data dan program yang dimiliki oleh system operasi serta seluruh pengguna dari system komputer. File system terdiri dari dua bagian, yaitu :
  1.  Kumpulan file yang masing-masing menyimpan data-data yang berhubungan
  2. Struktur direktori yang mengorganisasi dan menyediakan informasi mengenai seluruh file dalam system
Masing-masing system operasi menggunakan cara yang berbeda dalam mengatur dan mengendalikan akses data dalam harddisk. Cara pengaturan dan pengendalian ini tidak tergantung pada spesifikasi dari perangkat keras, misalnya suatu harddisk dengan spesifikasi yang sama dapat menggunakan file system yang berbeda.Struktur logika dari suatu hard disk memiliki pengaruh yang besar terhadap kinerja, daya tahan, dan pengembangan dari suatu disk.
Penetapan file system dalam suatu harddisk dilakukan pada saat harddisk tersebut akan di format. Disk umumnya terdiri dari beberapa plate. Pada setiap plate terdapat dua permukaan (surface). Setiap permukaan ini dilapisi dengan lapisan magnetis.
File system sering juga disebut dengan system berkas merupakan suatu cara untuk mengorganisasikan atau mengelompokkan, mngolah dan menyimpan data/file computer pada media penyimpanan. File system ini juga merupakan jembatan penghubung antara system operasi dengan memori.
Setiap system operasi memiliki file system masing - masing, meskipun ada file system dari system operasi lain yang bias dibaca atau digunakan di system operasi lainnya tetapi bukan sebagai penyimpanan data system. Sebagai contoh file system pada system operasi windows dapat digunakan di linux tetapi bukan sebagai penyimpanan data system.




Uraian tentang Raiser File System dan Journaling File System

1.1  Raiser File System
Reiser file sistem memiliki jurnal yang cepat. Ciri-cirinya mirip EXT3 file sistem. Reiser file sistem dibuat berdasarkan balance tree yang cepat. Balance tree unggul dalam hal kinerja, dengan algoritma yang lebih rumit tentunya. Reiser file sistem lebih efisien dalam pemenfaatan ruang disk. Jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok. File sistem lain menempatkannya dalam 100 blok. Reiser file sistem tidak memiliki pengalokasian yang tetap untuk inode. Resier file sistem dapat menghemat disk sampai dengan 6 persen
ReiserFS dirancang dan dilaksanakan oleh tim di Namesys dipimpin oleh Hans Reiser . ReiserFS saat ini didukung pada Linux (tanpa dukungan kuota). Diperkenalkan dalam versi 2.4.1 dari kernel Linux , itu adalah sistem file journaling pertama yang dimasukkan dalam kernel standar. ReiserFS adalah file standar sistem pada Elive , Xandros , Linspire , GoboLinux , dan Yoper distribusi Linux . ReiserFS adalah file standar sistem di Novell ‘s SUSE Linux Enterprise sampai Novell memutuskan untuk pindah ke ext3 pada tanggal 12 Oktober 2006 untuk rilis mendatang.
Namesys menganggap ReiserFS (sekarang kadang-kadang disebut sebagai Reiser3)mempunyau kestabilan dan fitur-lengkap, dengan pengecualian update keamanan dan perbaikan bug kritis, berhenti pembangunan di atasnya untuk berkonsentrasi pada penggantinya, Reiser4 . Namesys keluar dari bisnis pada tahun 2008 setelah Reiser didakwa atas pembunuhan istrinya. Namun, relawan terus bekerja pada proyek open source.
Cara kerjanya sendiri dibandingkan dengan ext2 dan ext3 dalam versi 2.4 dari kernel Linux, saat menangani file di bawah 4 KiB dan dengan ekor kemasan diaktifkan, ReiserFS mungkin lebih cepat. Ini dikatakan sangat bermanfaat di Usenet gulungan berita, cache HTTP, sistem surat pengiriman dan aplikasi lain di mana kinerja dengan file kecil sangat penting. Namun, dalam praktiknya kelos berita menggunakan fitur yang disebut cycbuf, yang memegang artikel dalam satu file besar; cepat HTTP cache dan beberapa revisi kontrol sistem menggunakan pendekatan yang sama, meniadakan keunggulan kinerja. Untuk server email, reiserfs adalah bermasalah karena masalah semantik dijelaskan di bawah. Juga, ReiserFS punya masalah dengan filesystem yang sangat cepat penuaan bila dibandingkan dengan filesystem lain – di beberapa kinerja penggunaan skenario filesystem menurun drastis dengan waktu.
Sebelum Linux 2.6.33,  ReiserFS berat menggunakan kunci kernel besar (BKL) – kunci kernel-lebar global – yang tidak skala dengan baik untuk sistem dengan beberapa core, seperti bagian-bagian kode kritis hanya pernah dijalankan oleh satu inti pada suatu waktu.
1.2  Journaling File System
JFS merupakan journaling file system yang dibuat oleh IBM, dan saat ini sudah dilepas ke publik. JFS bukanlah barang baru karena teknologi JFS telah diterapkan pada Sistem Operasi AIX selama lebih dari 10 tahun. JFS 1.0, yang telah siap untuk lingkungan produksi, telah dirilis pada tanggal 28 Juni 2001. Saat ini, JFS telah matang di Linux.JFS telah dimasukkan secara resmi ke kernel oleh Marcello pada seri 2.4.20, dan oleh Linux pada 2.5.6. Sayangnya, tidak banyak distribusi Linux yang memaketkan JFS sebagai file system default pada sistem operasi Linux. Journaling File System adalah sebuah sistem berkas yang melacak perubahan yang akan dibuat dalam sebuah jurnal atau file sebelum mengirimkannya ke sistem file utama. Jika suatu saat komputer mengalami crash atau listrik mati, file tersebut akan lebih cepat untuk kembali terkoneksi dan cenderung jauh dari kerusakan.  AIX dan Linux merupakan Sistem Operasi pertama yang menggunakan Journaling File System ini.
Cara kerja dari Journaling file system yaitu dengan memaksimalkan konsistensi dari file system karena setiap perubahan dicatat dalam log sebelum perubahan dilakukan pada file system, dan catatan ini disimpan sampai perubahan pada file system terlaksana dengan aman. Untuk meminimalkan inkonsistensi pada file system dan meminimalkan waktu restart sistem, journaling file system mencatat perubahan yang akan dilakukan pada file system sebelum perubahan tersebut dilakukan pada file system.  Catatan ini disimpan pada bagian terpisah dari file system, biasanya disebut “journal” atau “log”. Jika perubahan ini tercatat dengan aman, journaling file system melakukan perubahan itu pada file system kemudian menghapus catatan perubahan itu dari log.

1.3  Kelebihan dan Kekurangan Raiser File System dan Journaling File System
1.3.1 Raiser File System
Beberapa keuntungan dan kelebihan yang bisa kita dapatkan dengan menggunakan file system ReiserFS:
Secara umum mempunyai kinerja yang lebih tinggi di semua ukuran file (file size). Mengurangi ruang harddisk yang terbuang percuma, tidak ada alokasi inode yang statik, file file yang kecil dipaket bersama dengan file kecil yang lain. Kinerja yang lebih tinggi untuk direktori yang banyak (contohnya direktori queue qmail dan web cache squid), bahkan jika dibandingkan dengan JFS yang lain Kekurangan yang ada pada filesystem reiserfs ini adalah belum sempurna jika dipasang di partisi / atau /boot (karena LILO – Linux Loader tidak sepenuhnya mendukung filesystem ini) dan yang kedua adalah belum mendukung sistem quota user. Jadi sementara terapkan reiserfs ini untuk partisi /usr, /var dan partisi lain yang tidak perlu feature quota user.
1.3.2 Journaling File System
JFS memiliki kebijakan dalam menangani fragmentasi dengan memanfaatkan extents, atau bagian-bagian kecil secara logikal dalam file system. Untuk mengoptimalkan file system, JFS mengandalkan utility untuk melakukan defragmentasi. Blocksize yang bervariasi, Dynamic disk inode allocation, yang memungkinkan alokasi inode pada saat dibutuhkan dan tidak harus pada saat pembuatan file system.
JFS juga menggunakan B+Tree untuk mempercepat pencarian dalam direktori. JFS dapat menyimpan 8 entri direktori dalam inode / struktur data direktori itu sebelum pindah entri ke B+Tree.
JFS menggunakan kebijakan Grup Alokasi atau pengelompokan alokasi, hal ini memungkinkan  JFS untuk menjadi alokasi sumber daya untuk mencapai besarnya kinerja I/O. Kebijakan pertama adalah mencoba untuk memblok disk cluster dan inode disk untuk file-file yang berada di Grup Alokasi yang sama. Kebijakan kedua adalah untuk mendistribusikan data yang tidak terkait ke Grup Alokasi yang sama. Ketika ada sebuah file yang terbuka JFS akan mengunci Grup Alokasi file yang berada di dalam dan hanya mengijinkan file yang terbuka untuk terakses. Hal ini akan mengurangi fragmentasi karena hanya file yang terbuka dapat menulis ke Grup Alokasi.
Kebanyakan distribusi Linux menyediakan dukungan untuk JFS,  kecuali secara khusus dihapus karena batasan ruang atau masalah lainnya dan kebanyakan masalah yang didapat dari  Live CD distro Linux adalah tidak tersedianya dukungan JFS karena jfsutils tidak diinstal. Menurut ulasan dan tolak ukur dari file system yang tersedia untuk Linux, JFS  merupakan file system yang cepat dan handal, dengan kinerja yang baik secara konsisten dalam berbagai jenis beban. Karakteristik lain juga sering disebutkan, bahwa JFS itu ringan dan efisien dengan sumber daya sistem yang tersedia, bahkan aktifitas disk yang tinggi dapat diwujudkan dengan penggunaan CPU yang rendah.
JFS sendiri juga memiliki beberapa kekurangan seperti : Ukuran minimal file system adalah 16 MB, dan ukuran maksimal adalah 512 TB, untuk blok 512 Byte dan 4 P (4 Petabyte) untuk blocksize 4 KB.
Ukuran file harus sesuai dan didukungan VFS Linux, Tidak bisa diterapkan pada disket dan beberapa media removeable lain.
 Demikian penjelasan singkat mengenai file sytem, Terima Kasih .......... :D




Rabu, 06 Mei 2015

File

1. Source Code

Uses crt;
 Type DataMhs = record
      NIM : array [1..10] of string;
      Nama : array [1..10] of string;
      IP : array [1..10] of real;
      jml:integer;
 end;
var
   Fmhs: file of datamhs;
   nm:string;
   Rekmhs : DataMhs;
   i:integer;

procedure buat;
Begin
   clrscr;
   write ('Nama File : ');readln (nm);
   writeln;
   assign(Fmhs,'C:\'+nm+'.dat');
   rewrite(Fmhs);
   write('Masukkan Jumlah Data = ');readln(rekmhs.jml);
   writeln;
   for i:=1 to rekmhs.jml do
        with rekmhs do
        begin
             write('NIM  : '); readln(NIM[i]);
             write('Nama : '); readln(nama[i]);
             write('IP   : '); readln(IP[i]);
             writeln;
        end;
   write(Fmhs, RekMhs);
   close(Fmhs);
end;

procedure buka;
begin
     clrscr;
     write ('Nama File : ');readln (nm);
     writeln;
     assign(fmhs,'C:\'+nm+'.dat');
     reset (fmhs);
     read (fmhs,rekmhs);
     for i:=1 to rekmhs.jml do
         begin
              with rekmhs do
              begin
              writeln ('NIM   : ',nim[i]);
              writeln ('Nama  : ',nama[i]);
              writeln ('IP    : ',ip[i]:1:0);
              writeln;
              end;
          end;
close (fmhs);
     readkey;
end;

var
   p:byte;
begin
     repeat
           clrscr;
           WRITELN ('_________________________________');
           writeln ('|___***---- MENU UTAMA ---***___|');
           WRITELN ('---------------------------------');
           writeln ('|  1. Input Data                |');
           writeln ('|  2. Tampilkan Data            |');
           writeln ('|  3. Exit                      |');
           WRITELN ('---------------------------------');
           write ('Masukkan Pilihan : ');readln (p);
           case p of
                1: buat;
                2: buka;
                3: ;
           end;
     until p=3;
end.

2. Output
a. Input pilihan


gambar 1. tampilan awal

b. Input data


gambar 2. input data yang ingin di simpan

c. Input pilihan


gambar 3. Pillihan lihat data

c. File data


gambar 3. data yang sudah tersimpan