Langsung ke konten utama

fusefusefusefuse huehuehue


Haii bloger sekalian, ketemu lagi nih sama nay. Apa kabar nih bulan novembernya? Sehat saja? Senang saja? Ada yang galau kah? Atau mungkin ada yang sedang berbahagia sekaraang? Hoho, pokonya apapun yang kalian lakukan sekarang semoga berkaahhhh. Yak di apdetan kali ini nay akan kembali mengenalkan tentang sistem operasi ke kaliaan. Hari ini akan nay bahas mengenai fuse.
Sebelumnya nay akan menjelaskan mengenai file system. File system adalah adalah struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada harddisk. Terdapat berbagai jenis-jenisnya dan penggunaan algoritma yang berbeda. File system memiliki beberapa tipe yang pertama adalah File System Disk, File System Flash, File System Database, File System Transaksional, File System Jaringan, File System untuk tujuan khusus, dan File System Journaling.

Kalau membahas mengenai fuseakan berhubungan juga dengan virtual file system, dentry, superblock, inode dan banyak lainnya. Oke fuse adalah mekanisme sistem operasi untuk sistem operasi Unix-like yang memungkinkan pengguna tidak ber-hak istimewa menciptakan file system mereka sendiri tanpa mengubah kode kernel. Module kernel FUSE dan FUSE library berhubungan melalui sebuah special file descriptor yang didapatkan dengan membuka /dev/fuse. FUSE kernal module meneruskan request ke aplikasi fuse anda.

Sekarang nay akan menjelaskan mengenai system menggunakan fuse. Pertama yang harus kalian lakukan adalah membuat fuse seperti di bawah ini

#include <fuse.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <dirent.h>
#include <errno.h>
#include <sys/statfs.h>
#include <stdlib.h>
static const char *dirpath = "/home/nadia/Downloads";
static int xmp_getattr(const char *path, struct stat *stbuf)
{
int res;
char fpath[1000];
sprintf(fpath,"%s%s",dirpath,path);
res = lstat(fpath, stbuf);
if(res == -1)
{
return -errno;
}
return 0;
}
static int xmp_getdir(const char *path, fuse_dirh_t h, fuse_dirfil_t filler)
{
char fpath[1000];
if(strcmp(path,"/") == 0)
{
path=dirpath;
sprintf(fpath,"%s",path);
}
else sprintf(fpath, "%s%s",dirpath,path);
int res = 0;
DIR *dp;
struct dirent *de;
dp = opendir(fpath);
if(dp==NULL)
{
return -errno;
}
while((de = readdir(dp))!=NULL)
{
res = filler(h, de->d_name, de->d_type);
if(res!=0) break;
}
system("notify-send hello");
closedir(dp);
return res;
}
static int xmp_mkdir(const char *path, mode_t mode)
{
int res;
res = mkdir(path, mode);
if (res == -1)
return -errno;
return 0;
}
static struct fuse_operations xmp_oper =
{
.getattr = xmp_getattr,
//.readlink = xmp_readlink,
.getdir = xmp_getdir,
//.mknod = xmp_mknod,
.mkdir = xmp_mkdir,
//.symlink = xmp_symlink,
//.unlink = xmp_unlink,
//.rmdir = xmp_rmdir,
//.rename = xmp_rename,
//.link = xmp_link,
//.chmod = xmp_chmod,
//.chown = xmp_chown,
//.truncate = xmp_truncate,
//.utime = xmp_utime,
//.open = xmp_open,
//.read = xmp_read,
//.write = xmp_write,
//.release = xmp_release,
//.fsync = xmp_fsync,
//.readdir = hello_readdir
};
int main(int argc, char *argv[])
{
return fuse_main(argc, argv, &xmp_oper);
}


untuk menjalanakan fuse di terminal dengan menggunakan syntax

gcc -Wall [nama file].c `pkg-config fuse --cflags --libs` -o [nama file]

Kemudian buat sebuah direktori, misalnya: /tmp/fuse

Coba jalankan fuse tadi dengan cara: ./[nama file] /tmp/fuse

nah segitu dulu bincang bincang dari nay, see ya in next blog hehe. Tetep semnagat yah besok senin lhooo hehehehe.

Komentar

Postingan populer dari blog ini

Sequence Diagram, Class Diagram dan Use Case Sistem Informasi Laundry

Sistem Informasi Laundry minggu ke-6  Sequence Diagram Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek dan mengindikasikan komunikasi diantara obyek-obyek tersebut. Diagram ini juga menunjukkan serangkaian pesan yang dipertukarkan oleh obyek-obyek yang melakukan suatu tugas atau aksi tertentu. Obyek-obyek tersebut kemudian diurutkan dari kiri ke kanan, aktor yang menginisiasi interaksi biasanya ditaruh di paling kiri dari diagram. Pada diagram ini, dimensi vertikal merepresentasikan waktu. Bagian paling atas dari diagram menjadi titik awal dan waktu berjalan ke bawah sampai dengan bagian dasar dari diagram. Garis Vertical, disebut lifeline, dilekatkan pada setiap obyek atau aktor. Kemudian, lifeline tersebut digambarkan menjadi kotak ketika obyek melakukan suatu operasi , kotak tersebut disebut activation box. Obyek dikatakan mempunyai live activation pada saat tersebut. Pesan yang dipertukarkan antar obyek digambarkan sebagai sebuah anakpanah ...

Hierarchial Input-Process-Output (HIPO)

Hierarchial Input-Process-Output (HIPO) Pengertian ü   Menurut Jogiyanto HM dalam buku Analisis & Desain Sistem Informasi (2005:787) HIPO ( Hierarchy plus Input-Process-Output)  adalah alat disain dan teknik dokumentasi dalam siklus pengembangan sistem. ü   Menurut Praptiningsih (2010:3),  “HIPO (Hierarchy Plus Input Process Output) adalah alat bantu yang digunakan untuk membuat spesifikasi program yang merupakan struktur yang berisi diagram dimana didalam program ini berisi input yang diproses dan menghasilkan output” ü   Jadi, HIPO adalah alat yang digunakan sebagai dokumentasi program dan sebagai alat desain dan teknik dokumentasi dalam siklus pengembangan system. ·          Merupakan metodologi yang dikembangkan dan didukung oleh IBM. ·          Sebenarnya merupakan alat dokumentasi program. ·          Sekarang...

Sistem Informasi Laundry (2)

Sistem informasi Laundry adalah sebuah sistem informasi yang dibuat untuk memudahkan para pengelola usaha laundry dalam memanage usahanya. Pada Sistem informasinya, kami batasi hanya mendukung layanan kiloan. Jadi laundry disini menghitung baju per kilogram bukan dari jenis bajunya. Customer yang memakai jasa kami akan kami berikan kartu anggota untuk mempermudah melakukan penginputan data customer, customer yang telah memiliki kartu anggota dapat menggunakan layanan laundri antar jemput dengan menghubungi kami dan petugas akan datang kerumah. Selain itu customer juga dapat memilih pembayaran cash atau melalui mesin debit yang akan dibawa oleh petugas laundry pada saat pengiriman laundry ketempat customer Ada beberapa jenis diagram yang biasa digunakan, diantaranya Use Case Diagram Use-case Diagram adalah deskripsi dari fungsionality pada sistem. Penjelasan dari use case biasanya dibuat dalam teks sederhana sebagai pendokumentasian pada simbol use case, tetapi dapat juga digamba...