1.      Jelaskan bagaimana pengimplementasian dari sebuah direktori dalam disk ?
Yaitu dengan cara :

Virtual File System
Sistem operasi modern harus mampu mengimplementasikan berbagai sistem berkas dengan tipe yang berbeda dalam waktu yang bersamaan. Salah satu teknik yang digunakan sebagai solusinya adalah dengan menggunakan virtual file system (VFS). VFS saat ini banyak digunakan oleh berbagai sistem operasi. Ide dari VFS adalah meletakkan informasi di kernel untuk merepresentasikan keseluruhan tipe sistem berkas, dan juga terdapat sebuah fungsi untuk setiap operasi yang dimiliki sistem berkas. Sehingga, untuk setiap system call seperti fungsi read(), write(), open(), dan lainnya, kernel akan mensubstitusikannya menjadi actual function yang dimiliki oleh setiap sitem berkas dengan berbagai tipe.
VFS menggunakan konsep object oriented dalam mengimplementasikan sistem berkas. Di dalam VFS terdapat sebuah berkas yang merepresentasikan seluruh tipe sistem berkas yang ada, berkas ini dinamakan common file model. Berkas inilah yang menggunakan konsep object oriented, yang di dalamnya terdapat struktur data dan method yang diimplementasikan.
Terdapat empat objek di dalam common file model, diantaranya :
  1. Superblock object. Objek ini menyimpan informasi tentang mounted file system atau sistem berkas secara keseluruhan.
  2. Inode object. Objek ini menyimpan informasi umum tentang file tertentu (individual file).
  3. File object. Objek ini menyimpan informasi tentang file yang sedang dibuka.
  4. Dentry object. Objek ini menyimpan informasi tentang link-link dari sebuah entry directory file.
Struktur data dan method yang diimplementasikan, digunakan untuk menyembunyikan implementasi detail dari actual function pada sistem berkas dengan system call yang mengaksesnya. Oleh karena itu, dalam mengimplementasikan sistem berkas, terdapat tiga layer utama, seperti pada 
Gambar. Virtual File System Layer


Lapisan yang pertama adalah file system interface. Contohnya adalah beberapa system call seperti read(), write(), open() dan lainnya. System call ini tidak berhubungan langsung dengan sistem, namun terhubung melalui sebuah lapisan abstrak yaitu virtual file system.
Lapisan yang Kedua adalah VFS InterfaceVirtual file system memiliki dua fungsi penting, yaitu:
  1. Memisahkan operasi-operasi file system generic dari implementasi detailnya, dengan cara mendefinisikan virtual file system interface.
  2. Virtual file system interface didasarkan pada struktur representasi berkas yang disebut vnode, yang memiliki numerical designator yang unik untuk setiap network file.
Lapisan yang ketiga adalah sistem berkas dengan berbagai tipe. Secara umum, terdapat tiga macam tipe sistem berkas, yaitu:
  1. Disk-based file system. Sistem berkas ini mengatur ruang memori yang tersedia di dalam partisi disk lokal. Misalnya, Ext2 (Second Extended file system), Ext3 (Third Extended file system), dan Reiser file system yang tedapat di Linux.
  2. Network file system. Sistem berkas ini terdapat di network, misalnya NFS.
  3. Special file system. Sistem berkas ini tidak terdapat di disk space, baik lokal maupun network, misalnya /proc file system.
  



2. Sebutkan keunggulan dari file system UNIX dan WINDOWS?

# File System Windows
·         Sistem Berkas Pada Windows
Direktori dan Berkas
Sistem operasi Windows merupakan sistem operasi yang telah dikenal luas. Sistem operasi ini sangat memudahkan para penggunanya dengan membuat struktur direktori yang sangat user-friendly. Para pengguna Windows tidak akan menemui kesulitan dalam menggunakan sistem direktori yang telah dibuat oleh Microsoft. Windows menggunakan sistem drive letter dalam merepresentasikan setiap partisi dari disk. Sistem operasi secara otomatis akan terdapat dalam partisi pertama yang diberi label drive C. Sistem operasi Windows dibagi menjadi dua keluarga besar, yaitu keluarga Windows 9x dan keluarga Windows NT (New Technology).
Direktori yang secara otomatis dibuat dalam instalasi Windows adalah:
1. Direktori C:\WINDOWS
Direktori ini berisikan sistem dari Windows. Dalam direktori ini terdapat pustaka-pustaka yang diperlukan oleh Windows, device driver, registry, dan program-program esensial yang dibutuhkan oleh Windows untuk berjalan dengan baik.
2. Direktori C:\Program Files
Direktori ini berisikan semua program yang diinstal ke dalam sistem operasi. Semua program yang diinstal akan menulis entry ke dalam registry agar program tersebut dapat dijalankan dalam sistem Windows.
3. Direktori C:\My Documents
Direktori ini berisikan semua dokumen yang dimiliki oleh pengguna sistem.
Sistem operasi Windows dapat berjalan diatas beberapa macam sistem berkas. Setiap sistem berkas memiliki keunggulan dan kekurangan masing-masing. Semua keluarga Windows yang berbasis Windows NT dapat mendukung sistem berkas yang digunakan oleh keluarga Windows 9x, namun hal tersebut tidak berlaku sebaliknya.
Sistem Berkas yang terdapat dalam sistem operasi Windows adalah :  
-          FAT16 (File Allocation Table)
FAT16 dikenalkan oleh MS-DOS pada tahun 1981. Awalnya, Sistem ini di design untuk mengatur file di floopy drive dan mengalami beberapa kali perubahan sehingga digunakan untuk mengatur file di harddisk. FAT16 adalah sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit, sehingga dapat menyimpan hingga 216 unit alokasi (65536 buah). Sistem berkas ini memiliki batas kapasitas hingga ukuran 4 Gigabyte saja. Ukuran unit alokasi yang digunakan oleh FAT16 bergantung pada kapasitas partisi yang akan hendak diformat.
Kelebihan :
FAT16 adalah sebuah file system yang kompatibel hampir di semua Operating System baik itu Windows 95/98/me, OS/2 , Linux dan bahkan Unix.
-          FAT32
FAT32 mulai di kenal pada tahun 1976 dan digunakan pada sistem operasi Windows 95 SP2, dan merupakan pengembangan lanjutan dari FAT16. Karena menggunakan tabel alokasi berkas yang besar (32-bit), FAT32 secara teoritis mampu mengalamati hingga 232 unit alokasi (4294967296 buah). Meskipun demikian, dalam implementasinya, jumlah unit alokasi yang dapat dialamati oleh FAT32 adalah 228 (268435456 buah).
Kelebihan :
FAT32 menawarkan kemampuan menampung jumlat cluster yang lebih besar dalam partisi. Selain itu juga mengembangkan kemampuan harddisk menjadi lebih baik dibanding FAT16.
-          NTFS (New Technology File System)
NTFS di kenalkan pertama pada Windows NT dan merupakan file system yang sangat berbeda di banding teknologi FAT. NTFS atau New Technology File System1, merupakan sebuah sistem berkas yang dibekalkan oleh Microsoft dalam keluarga sistem operasi Windows NT, yang terdiri dari Windows NT 3.x (NT 3.1, NT 3.50, NT 3.51), Windows NT 4.x (NT 4.0 dengan semua service pack), Windows NT 5.x (Windows 2000, Windows XP, dan Windows Server 2003), serta Windows NT 6.x (Windows Vista, Windows 7). NTFS bekerja berdasarkan prinsip BTree dan menggunakan Full Indexing. Karena itu pula fragmentation dapat ditekan seminimal mungkin. Kemudian, setiap file pada NTFS memiliki checksum, yang memungkinkan file tersebut diperbaiki secara sempurna bila suatu saat NTFS tersebut bermasalah.
Kelebihan :
NTFS menawarkan security yang jauh lebih baik , kompresi file , cluster dan bahkan support enkripsi data. NTFS merupakan file system standar untuk Windows Xp dan apabila anda melakukan upgrade Windows biasa anda akan di tanyakan apakah ingin mengupgrade ke NTFS atau tetap menggunakan FAT. NTFS juga memiliki fitur untuk menampung lebih dari satu buah ruangan data dalam sebuah berkas. Fitur ini disebut dengan Alternate Data Stream.




# File System LINUX
Sistem Berkas pada UNIX (dan turunannya)
Ketika kita login ke UNIX, kita akan ditempatkan di direktori root kita. Direktori root kita dikenal sebagai direktori home kita dan dispesifikasi dengan environment variable yang dinamakan HOME. Environment variable ini menentukan karakteristik dari shell kita dan interaksi pengguna dengan shell tersebut. Environment variable yang umum adalah variabel PATH, yang mendefinisikan dimana shell akan mencari ketika perintah dari pengguna. Untuk melihat daftar environment variable, gunakan saja perintah printenv. Sedangkan untuk mengatur environment variable, gunakan setenv.
Ada beberapa direktori yang umum terdapat dalam instalasi UNIX:
1. Direktori “/” (root)
Direktori ini terletak pada level teratas dari struktur direktori UNIX. Biasanya direktori root ini diberi tanda / atau slash. Direktori ini biasanya hanya terdiri dari direktori-direktori lainnya yang terletak pada level dibawah level direktori root. Berkas-berkas dapat disimpan pada direktori root tetapi usahakan tidak menyimpan berkas-berkas biasa sehingga direktori ini tetap terjaga keteraturannya.
Perubahan penamaan direktori-direktori yang ada pada direktori root akan menyebabkan sebagian besar dari sistem menjadi tidak berguna. Karena sebagian besar dari direktori-direktori ini berisi fungsi-fungsi yang sifatnya kritikal yang dimana sistem operasi dan semua aplikasi memerlukan direktori-direktori ini dengan nama yang sudah diberikan pada awal instalasi. Tetapi kita bisa membuat direktori lain pada level ini. Direktorihome juga bisa ditemukan pada level ini hasil pembuatan oleh administrator sistem.
2. Direktori “/bin”
Direktori ini berisi program-program yang esensial agar sistem operasi dapat bekerja dengan benar. Dalam direktori ini dapat ditemukan perintah-perintah navigasi, program-program shell, perintah pencarian dan lain-lainnya. bin adalah singkatan dari kata binary. Di UNIX, sebuah binary adalah berkas yang dapat dieksekusi. Sebagian besar dari perintah dalam UNIX merupakan binary, perintah-perintah tersebut merupakan program-program kecil yang dapat dieksekusi oleh pengguna. Ada beberapa perintah yang disebut perintah built-in dimana fungsi mereka dikendalikan oleh program shell sehingga mereka tidak beroperasi sebagai binary yang terpisah.
Terkadang direktori bin terhubung ke direktori lain yang dinamakan /usr/bin. Direktori /usr/bin biasanya adalah lokasi sebenarnya dari binary-binary pengguna disimpan.Dalam hal ini, /bin adalah gerbang untuk mencapai /usr/bin.
3. Direktori “/dev”
Direktori ini berisi berkas-berkas alat atau alat I/O. Sistem UNIX menganggap semua hal sebagai berkas. Hal-hal seperti monitor, CD-ROM, printer dan lain-lainnya dianggap hanya sebagai berkas saja oleh sistem operasi. Jika UNIX memerlukan perangkat-perangkat tersebut maka UNIX akan mencarinya ke direktori dev.
4. Direktori “/etc”
Direktori yang dibaca et-see ini berisi beberapa konfigurasi berkas pengguna dan sistem, dan berkas yang ditunjuk sistem sebagai operasi normal seperti berkas kata sandi, pesan untuk hari ini, dan lain-lainnya.
5. Direktori “/lib”
Direktori ini berisi pustaka-pustaka (libraries) yang dibagi (shared). Pustaka ini adalah rutin perangkat lunak (software routines) yang digunakan lebih dari satu bagian dari sistem operasi. Ketika kita menginstalasi perangkat lunak yang baru maka ada pustaka-pustaka baru yang ditambahkan ke direktori lib. Jika pada waktu berusaha menjalankan aplikasi terdapat pesan error, hal ini diakibatkan ada pustaka yang hilang dari direktori lib. Aplikasi-aplikasi di UNIX biasanya memeriksa lib ketika menginstalasi untuk memeriksa apakah pustaka-pustaka yang diperlukan oleh aplikasi sudah tersedia atau belum. Jika sudah tersedia, UNIX biasanya tidak menimpa pustaka tersebut.
6. Direktori “/sbin”
Direktori ini berisi binary-binary juga seperti pada direktori bin.Tetapi,bedanya adalah binary-binary pada direktori ini berhubungan dengan fungsi-fungsi sistem administrasi pada sistem operasi UNIX. Binary-binary ini bukan yang biasa digunakan oleh pengguna tetapi digunakan agar komputer dapat beroperasi secara efisien.
7. Direktori “/usr”
Direktori ini terdiri dari banyak direktori seperti pada direktori root. Direktori ini berisi berkas-berkas yang dapat diakses oleh para pengguna biasa. Struktur dari direktori ini mirip dengan struktur direktori “/”. Beberapa direktori yang terdapat dalam direktori ini berhubungan dengan direktori yang ada di direktori /.
8. Direktori “/var”
Direktori ini berisi data yang bermacam-macam (vary). Perubahan data dalam sistem yang aktif sangatlah cepat. Data-data seperti ini ada dalam waktu yang singkat. Karena sifatnya yang selalu berubah tidak memungkinkan disimpan dalam direktori seperti “/etc”. Oleh karena itu, data-data seperti ini disimpan di direktori var.
Macam-macam Sistem Berkas di UNIX
Secara garis besar, sistem berkas di sistem UNIX terbagi menjadi dua, yaitu sistem berkas dengan fasilitas journaling dan yang tidak memiliki fasilitas tersebut. Dibawah ini adalah beberapa sistem berkas yang digunakan dalam sistem UNIX pada umumnya:

-          EXT 2
EXT2 merupakan jenis file system yang ampuh di sistem operasi linux. EXT2 juga merupakan salah satu file system yang paling ampuh dan menjadi dasar dari segala distribusi linux. Pada EXT 2 file system, file data disimpan sebagai data blok. Data blok ini mempunyai panjang yang sama dan meskipun panjangnya bervariasi diantara EXT2 file system, besar blok tersebut ditentukan pada saat file system dibuat dengan perintah mk2fs.
Kelebihan :
EXT2 merupakan tipe file system yang paling tua yang masih ada. Akronim dari EXT2 adalah second file system. Pertama kali dikenalkan pada tahun 1993. Menyimpan data secara hirarki standar yang banyak digunakan oleh sistem operasi. Maksimum ukuran file yang didukung oleh EXT2 adalah 2 Terabyte, dan volumenya bisa mencapai 4 Tb. Nama file bisa mencapai 255 karakter. Juga mendukung file system linux user, groups, dan permision (POSIX) dan juga mendukung kompresi file.
-          EXT3
EXT3 merupakan peningkatan dari EXT2 file system dan EXT3 merupakan pengembangan dari EXT2.
Kelebihan :
•Setelah kegagalan sumber daya, "unclean shutdown", atau kerusakan sistem, EXT2 file sistem harus melalui proses pengecekan dengan program e2fsck. Proses ini dapat membuang waktu sehingga proses booting menjadi sangat lama, khususnya untuk disk besar yang mengandung banyak sekali data. Dalam proses ini, semua data tidak dapat diakses.
•Integritas data, EXT3 menjamin adanya integritas data setelah terjadi kerusakan atau "unclean shutdown". EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
•Kecepatan menulis data lebih dari sekali, EXT3 mempunyai throughput yang lebih besar daripada EXT2 karena EXT3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
•Mudah dilakukan migrasi, Kita dapat berpindah dari EXT2 ke sistem EXT3 tanpa melakukan format ulang.
-          EXT4File system EXT4 yang biasa digunakan linux merupakan file system ke empat yang dikembangkan sebagai penerus EXT3.
Kelebihan:
Performance yang lebih baik dan peningkatan kemampuan. Filesystem EXT4 juga meningkatkan daya tampung maksimal file system ke 1 exabyte dan mengurangi wktu yang diperlukan untuk melakukan pengecekan hardisk (fsck yang mana pada Filesystem EXT3, setiap 20 30 kali mount). File system EXT4 memiliki keunggulan performance yang significant dalam menulis dan membaca file berukuran besar.
-          JFS (Journal File System)
Journal File System atau JFS adalah 64-bit file system journal yang dibuat oleh IBM . Ini tersedia sebagai perangkat lunak bebas di bawah ketentuan GNU General Public License (GPL). JFS adalah system file journaling, JFS memiliki kemampuan yang cepat dan handal, dengan kinerja yang baik secara konsisten dalam berbagai jenis beban, bertentangan dengan file system lain yang tampak nya lebih baik dalam pola penggunaan khusus, misalnya dengan file kecil atau besar.
Reiser FSDirancang oleh Hans Reiser dan diperkenalkan dalam versi 2.4.1 dari kernel Linux, merupakan sistem file pertama journal untuk disertakan di kernel standar. ReiserFS adalah file default sistem di Yoper Elive, Xandros, Linspire, GoboLinux, dan distribusi Linux.
Kelebihan :
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 di paket bersama dengan file kecil yang lain. Kinerja yang lebih tinggi untuk direktori yang banyak (contohnya direktori queue qmail dan web cache squid).



DAFTAR PUSTAKA


Komentar