Sie sind auf Seite 1von 6

Hubungan File System dan Performa Kernel diantara Linux dan FreeBSD

Darnanto
Penulis1@email.com Pandu Reza Penulis3@email.com Reza Pamudya Penulis5@email.com Muhammad Charits Arrozi Penulis2@email.com M. Bagus Pratama Penulis4@email.com Muhammad Hidayatullah Penulis2@email.com

Abstrak Linux dan FreeBSD adalah sistem operasi opensource yang sedang berkembang pesat di dunia. Linux memiliki file system yang lebih baik dari pada FreeBSD [1]. Disisi lain FreeBSD memiliki performa kernel yang lebih baik daripada Linux [2]. Paper ini akan membahas mengenai ada tidaknya hubungan antara performa kernel dengan file system diantara Linux dan FreeBSD.
Kata kunci: Linux, FreeBSD, kernel, file system

1. Pendahuluan Sistem operasi open source saat ini sedang berkembang pesat di dunia. Linux dan FreeBSD adalah rival dalam pengembangan sistem operasi open source. Masing-masing sistem operasi ini memiliki keunggulan masing-masing. Linux memiliki file system yang lebih baik daripada FreeBSD [1]. Linux menggunakan file system default EXT2 yang mengungguli file system FFS milik FreeBSD. Sedangkan dalam hal performa kernel FreeBSD mengungguli Linux [2]. Kami mengasumsikan bahwa ada hubungan berbanding terbalik antara performa kernel dengan file system pada sistem operasi. Hipotesis awal menyatakan semakin baik file system dalam suatu sistem operasi maka semakin buruk performa kernel dari sistem operasi tersebut. Paper ini terbagi menjadi beberapa bagian. Bagian kedua membahas mengenai penelitianpenelitian terdahulu yang memiliki kaitan dengan pokok bahasan paper ini. Bagian ketiga membahas mengenai cara kerja dan desain dari file system pada sistem operasi Linux dan FreeBSD. Bagian keempat membahas mengenai cara kerja dan desain dari kernel pada sistem operasi Linux dan FreeBSD. Bagian kelima akan membahas analisis hubungan file system dan kernel pada sistem operasi Linux dan FreeBSD. Bagian keenam berisi kesimpulan dari analisis yang diperoleh. 2. Tinjauan Pustaka File system pada linux dan FreeBSD memiliki banyak kesamaan secara umum . File sistem default linux EXT2 dipengaruhi Berkerlay Fast File System(FFS) milik FreeBSD. File system Linux EXT2 memiliki performa terbaik dibanding file system sistem operasi didunia saat ini . Keunggulan itu karena file system ini memiliki mount yang bersifat asinkron. Ini menyebabkan EXT2 unggul dalam manipulasi metadata [1]. Performa kernel pada sistem operasi FreeBSD lebih baik daripada Linux. Parameter yang digunakan untuk membandingkan performa kernel adalah kernel call, switch, paging dan pembacaan File. Dan FreeBSD unggul dalam switch, paging dan pembacaan File, sedangkan Linux unggul dalam kernel call [2]. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 3. Cara Kerja dan Desain File System Saat ini file system Linux yang terbaru adalah EXT4. File system Linux secara default masih menggunakan File system (2nd Extended) EXT2. File system ini adalah file system terbaik dibanding file system sistem operasi lain didunia untuk saat ini [1]. Pada EXT2 file system, file data disimpan sebagai data blok. Data blok ini
1

mempunyai panjang yang sama dan meskipun panjangnya bervariasi diantara EXT2 file sistem, besar blok tersebut ditentukan pada saat file sistem dibuat dengan perintah mk2fs. Jika besar blok adalah 1024 bytes, maka file dengan besar 1025 bytes akan memakai 2 blok. Ini berarti kita membuang setengah blok per file. EXT2 mendefinisikan topologi file system dengan memberikan arti bahwa setiap file pada sistem diasosiasiakan dengan struktur data inode. Sebuah inode menunjukkan blok mana dalam suatu file tentang hak akses setiap file, waktu modifikasi file, dan tipe file. Setiap file dalam EXT2 file system terdiri dari inode tunggal dan setiap inode mempunyai nomor identifikasi yang unik. Inode-inode file sistem disimpan dalam tabel inode. Direktori dalam EXT2 file sistem adalah file khusus yang mengandung pointer ke inode masing-masing isi direktori tersebut. Ext 3 (3rd Extended) adalah peningkatan dari EXT2 file sistem. Peningkatan ini memiliki beberapa keuntungan. Contoh kasus: 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. Jurnal yang disediakan oleh EXT3 menyebabkan tidak perlu lagi dilakukan pengecekan data setelah kegagalan sistem. EXT3 hanya dicek bila ada kerusakan hardware seperti kerusakan hard disk, tetapi kejadian ini sangat jarang. Waktu yang diperlukan EXT3 file sistem setelah terjadi (unclean shutdown) tidak tergantung dari ukuran file sistem atau banyaknya file, tetapi tergantung dari besarnya jurnal yang digunakan untuk menjaga konsistensi. Besar jurnal default memerlukan waktu kira-kira sedetik untuk pulih, tergantung kecepatan hardware. Dari kasus diatas bias kita simpulkan bahwa keuntungan ext3, diantaranya: Integritas data. EXT3 menjamin adanya integritas data setelah terjadi kerusakan atau unclean shutdown. EXT3 memungkinkan kita memilih jenis dan tipe proteksi dari data. Kecepatan. Daripada 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. File system terbaru dari linux adalah EXT 4 (4rd Extended) dirilis secara komplit dan stabil berawal dari kernel 2.6.28. Keunggulannya adalah EXT4 mempunyai pengalamatan 48-bit block yang artinya dia akan mempunyai 1EB = 1,048,576 TB ukuran maksimum filesystem dengan 16 TB untuk maksimum file size nya, Fast fsck, Journal checksumming, dan Defragmentation support. File system FreeBSD adalah Berkeley Fast File System (FFS) yang mendukung file system hingga 16 TB. File dengan ukuran lebih besar dari 2GB pada platform 32 bit telah tersuport sejak BSD versi 4.4 [3]. File system FFS memanipulasi Metadata secara sinkron [1]. Hierarki sistem file pada FreeBSD (begitu juga dengan sistem operasi *NIX lainnya) dimulai dengan direktori / (baca : root ) sebagai direktori dasar . Pada direktori ini semua mount point sistem file lain disimpan. Pada postingan sebelumnya dijelaskan tiga sistem file utama yakni : / , /usr, dan /var. /usr Utamanya terdiri dari utilitas user dan aplikasi. /var menyimpan file-file yang digunakan untuk temporer, yang berubah dengan cepat seperti file-file log, dll. Selain ketiga sistem file utama tersebut, direktori lain yang perlu diketahui adalah direktori /etc yang berisi file-file konfigurasi sistem. File-file binary (file executable, file perintah) disimpan di /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, dan /usr/local/sbin. FreeBSD memiliki banyak virtual console sehingga kita bisa login pada console-console tersebut dan mengerjakan beberapa proses secara bersamaan tanpa saling mengganggu.. Untuk mengakses virtual console tersebut gunakan tombol alt+F1 s/d F8. Untuk dapat mengeksplorasi sistem FreeBSD secara keseluruhan gunakan dua perintah berikut : cd, perintah ini digunakan untuk berpindahpindah direktori. ls, perintah ini digunakan untuk menampilkan isi dari sebuah direktori beserta properties yang

menyertainya (owner, group, privilege, tanggal edit) pwd, Path work Directory, untuk mengetahui direktori dimana kita berada saat ini. Dan ini adalah beberapa perintah lainnya : cd / = pindah ke direktori / dari direktori kita berada saat ini ls = menampilkan isi direktori tempat kita berada saat ini (/) pwd = menampilkan path kita saat ini cd = tanpa argumen, pindah ke homedir kita cd .. (cd titik dua kali) = pindah ke direktori satu tingkat diatasnya Dengan ketiga perintah diatas kita dapat menjelajah sistem FreeBSD. Untuk perintah lain dapat di lihat di /bin, /sbin, /usr/bin, /usr/sbin. Untuk mengetahui kegunaaanya ketikan man namaperintah . xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

4.Organisasi dan Desain Kernel Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan sebagai multiplexing [4]. Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programer. Sistem Operasi Linux dan FreeBSD sebagai sistem Operasi modern menggunakan kernel jenis monolitik. Pendekatan kernel monolitik didefinisikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras, dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi (concurrency), dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor. Meskipun jika setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolithic kernel sangatlah kuat, dan karena semua modul berjalan di dalam address space yang sama, sebuah bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan dengan benar, integrasi komponen internal yang sangat kuat tersebut justru akan mengizinkan fitur-fitur yang dimiliki oleh sistem yang berada di bawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan monolithic kernel sangatlah efisienmeskipun sangat sulit dalam pembuatannya. Pada sistem operasi modern yang menggunakan monolithic kernel, seperti halnya Linux, FreeBSD, Solaris, dan Microsoft
3

Windows, dapat memuat modul-modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengizinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan di dalam ruangan kernel (kernelspace) seminim mungkin [4].

3. Changed creation time Sering disebut sebagai ctime. Ctime bukan merupakan kependekan dari creation time, melainkan changed time. Apa bedanya changed dan modify? ctime menangkap perubahan bukan hanya dari sisi data, melainkan juga perubahan yang dilakukan pada parameter-parameter inode, seperti ownership, permission, dsb. Jadi, ketika sebuah file kita ubah, misal kita menambahkan sebaris teks pada file kita, changed time dan modified time juga berubah. Namun, apabila kita hanya melakukan operasi seperti chmod atau chown, artinya, melakukan perubahan bukan pada data, melainkan pada parameter ownership dan permission pada inode, changed time akan berubah, namun modified time tidak. 4. Birth time Sering disingkat btime. Btime memberikan informasi yang bersifat statik, tentang waktu kelahiran sebuah file di sistem operasi kita. Btime tidak akan berubah, dan akan terus sama. Apabila kita ingin melihat kapankah sebuah file muncul untuk pertama kalinya, dengan mudah kita bisa melihat parameter btime yang ada dalam file kita. pengelompokan kernel freeBSD dalam dua hal, yaitu : Sebagai bodi statis software, dikategorikan dengan fungsi dalam module-module yang membentuk kernel. Kedinamisan operasional, dikategorikan menurut service yang yang akan diberikan kepada para user. Bagian terbesar dari kernel adalah mewujudkan service sistem dimana aplikasi mengakses melalui apa yang dinamakan system calls. Dalam operating sistem FreeBSD, software ini disatukan menurut: Fasilitas dasar kernel: penanganan waktu dan jam sistem, manajemen descriptor, dan manajemen proses. Support untuk pengaturan memory: paging & swapping.

KOMPONEN LINUX

Modul kernel Linux adalah bagian dari kernel Linux yang dapat dikompilasi, dipanggil dan dihapus secara terpisah dari bagian kernel lainnya saat dibutuhkan. Modul kernel dapat menambah fungsionalitas kernel tanpa perlu mereboot sistem. Kernel modul dapat mengimplementasikan antara lain device driver, sistem berkas, protokol jaringan. Memungkinkan sistem berjalan pada kernel standar yang minimal. KOMPONEN FREEBSD Pada freebsd ada 4 jenis properti waktu yang dipunyai oleh sebuah file dalam sistem FreeBSD. Sebelum membahas lebih lanjut, perlu diketahui bahwa struktur file dalam sistem FreeBSD melibatkan apa yang disebut inode. Sebuah file terbentuk atas inode yang mempunyai pointer ke arah data. 1. Access time Access time memberikan keterangan kapan terakhir kalinya sebuah file diakses (baca dan tulis). 2. Modified time Modified time memberikan informasi tentang kapan terakhir kalinya sebuah file dimodify.

Interface Sistem Generic: pengaturan I/O [ input/output ], dan operasi multiplexing pada descriptor-descriptor. Filesystem: files, directories, pathname translation, file locking, and I/O buffer management Terminal-handling support: the pseudoterminal interface dan terminal line disciplines Fasilitas komunikasi antar proses: sockets Support untuk komunikasi jaringan: protokolprotokol komunikasi dan fasilitas jaringan seperti: routing. Hampir semua software pd kategori ini adalah program machine-independent dan bisa disesuaikan pd arsitektur hardware yang berbeda. Apsek-aspek machine-dependent dari kernel dipisahkan dari alur code utama. Pada dasarnya, tidak ada code dalam program machineindependent yang mengandung code yang memuat kondisi untuk arsitek tertentu. Pada saat untuk arsitektur [architecture-dependent] dibutuhkanm maka code dalam program machine-independent akan memnggil fungsi architecture-dependent yang berlokasi dalam program machine-dependent . Software didalam program machine-dependent : Start-up awal pada level hardware. Penanganan Trapping dan Faulting Manipulasi tingkat bawah [ h/w] untuk waktu operasional dari suatu proses. Konfigurasi dan pPengaturan awal dari perangkat-perangkat keras.

Support pengaturan waktu untuk perangkat Input/Output. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

5.Analisis xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xx 6. Kesimpulan xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxx

Daftar pustaka
[1] Yang, Ku Pao., Wallace, Katie, File Systems in Linux and FreeBSD: A Comparative Study, Journal of Emerging Trends in Computing and Information Sciences, VOL. 2, NO. 9, September 2011. [2] Chawla, Kirty., Shidiqua, Taniya,Linux Vs FreeBSD: Comparing Kernel Performance, Department of Computer Science University of Virginia, Charlottesville, 2011.

[3] [11]M. K. McKusick, "Running "fsck" in the Background," Proceedings of the BSD Con 2002, May 2002, pp. 5564. [4] Silberschatz, A., Galvin,P.B., and Gagne,G., Operating Systems Concepts 7th editions. USA: John Willey & Sons, 2005 [5] http://jasait.com/freebsd/freebsdstruktur-file-system-freebsd/ [6] http://diosfreebsd.blogspot.com/2007/11/22organisasi-kernel.html [7] xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxx

Das könnte Ihnen auch gefallen