Sabtu, 28 November 2015

[TUTORIAL] File System pada Linux

   

     Nah, pada kesempatan kali ini kita akan membahas sedikit seluk beluk File System pada Linux. Simak ya..

     File System adalah struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada harddisk. Terdapat berbagai jenis-jenisnya dan penggunaan algoritma yang berbeda. Semakin baru jenis dari sebuah File System, maka semakin bagus pula kualitas dari File System tersebut.
     
     Tipe-tipe file system adalah sebagai berikut.

1. File System Disk
    adalah File System yang didesain untuk menyimpan data pada sebuah media penyimpanan data.

2. File System Flash
    adalah File System yang didesain untuk menyimpan data pada media flash memory.

3. File System Database
    adalah sebagai perbaikan bagi Manajemen terstruktur hirarkis, file diidentifikasi oleh karakteristiknya, seperti tipe file, topik, pembuat atau metadata yang sama.

4. File System Transaksional
    Setiap operasi disk dapat melibatkan perubahan ke sejumlah file dan struktur disk yang berbeda. Dalam banyak kasus, perubahan ini berhubungan. Hali in iberarti bahwa operasi ini dieksekusi pada waktu yang sama.

5. File System Jaringan
    adalah File System yang bertindak sebagai klien untuk protokol akses file jarak jauh, memberikan akses ke file pada sebuah server.

6. File System untuk Tujuan Khusus
    adalah File System yang tidak termasuk disk file system atau file system Jaringan. Termasuk dalam kategori ini adalah sistem dimana file ditata secara dinamis oleh software, ditujukan untuk tujuan tertentu seperti untuk komunikasi antar proses komputer atau space file sementara.

7. File System Journaling
    adalah File System yang mencatat perubahan ke dalam jurnal (biasanya berupa log sirkuolar dalam area tertentu) sebelum melakukan perubahan ke file system. File system seperti ini memiliki kemungkinan yang lebih kecil mengalami kerusakan saat terjadi power failure atau system crash.

     Virtual file system adalah suatu lapisan perangkat lunak dalam kernel yang menyediakan interface sistem berkas untuk program userspace. Virtual file system berfungsi agar berbagai sistem berkas yang berbeda dapat di akses oleh aplikasi komputer dengan cara yang seragam. VPS menyediakan antarmuka antara system call dengan system yang sesungguhnya.

     Dentry atau Directory Entry merupakan sebuah struktur data yang memiliki tugas sebagai penerjemah nama berkas ke inode-nya.

     Setiap sistem berkas yang di-mount akan direpresentasikan oleh sebuah VFS Superblock. Superblock digunakan untuk menyimpan informasi mengenai partisi tersebut.


     
Inode abstraksi VFS untuk berkas. Setiap berkas, directory, dan data lainnya pada VFS direpresentasikan oleh satu dan hanya satu VFS inode. VFS inode hanya terdapat di memori kernel dan disimpan di inode chace selama masih dibutuhkan oleh sistem.



     Filesystem in Userspace (FUSE) merupakan mekanisme sistem operasi untuk sistem operasi Unix-like yang memungkinkan pengguna tidak ber-hak istimewa menciptakan file system mereka sendiri tanpa mengubah kode kernel. Hal ini dicapai dengan menjalankan kode file system di userspace, sedangkan modul FUSE hanya menyediakan "jembatan" untuk antarmuka kernel yang sebenarnya. Cara instalasinya adalah sebagai berikut. (disini saya menggunakan Ubuntu Linux)

     Installasi FUSE:
1. Download FUSE dari http://fuse.sourceforge.net/ pada bagian Download stable release
2. Extract file tar.gz dan masuk ke direktori FUSE. (tar –xvzf fuse-2.9.4.tar.gz)
3. Lakukan installasi FUSE dengan cara :
a. Gunakan hak akses super user (sudo su)
b. Ketikkan perintah ./configure
c. Ketikkan perintah make
d. Ketikkan perintah make install
4. FUSE siap digunakan

     Dan cara membuat File System sendiri menggunakan fuse adalah sebagai berikut.





     Cukup sampai sini dulu tutorial hari ini, semoga dapat membantu, makasihhh :))

Sabtu, 07 November 2015

[TUTORIAL] Thread Dan IPC

     Sebelumnya kalian pasti pernah mendengar kata thread dan IPC, kan? Nah, disini kita akan membahas berbagai hal mengenai Thread dan IPC tersebut.

     Pertama kita akan membahas thread, apa itu thread?

     Thread adalah bagian kecil dari suatu proses yang bisa di jadwalkan oleh sistem operasi. Thread juga disebut sebagai proses ringan (lightweight).

     Thread dibagi menjadi 2 jenis, Single Threading dan Multi Threading.

     a. Single Threading
         Adalah sebuah proses yang hanya memiliki satu thread yang berjalan. Biasanya fungsi thread ini digunakan sebagai pengendali jalannya proses.

     b. Multi Threading
         Adalah proses yang memiliki lebih dari satu thread yang berjalan didalamnya, sehingga dalam hal ini proses dapat menjalankan lebih dari satu tugas dalam satu waktu.

     Kedua, kita akan membahas IPC. IPC sendiri memiliki kepanjangan Inter Process Communication. IPC adalah cara atau mekanisme pertukaran data antara satu proses dengan proses lainnya, baik itu proses yang berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung melalui jaringan.

     a. Pipes
         Pipe merupakan komunikasi sequensial antarproses yang saling terelasi, namun pipe memiliki            kelemahan yaitu hanya bisa digunakan untuk komunikasi antar proses yang saling berhubungan,          dan komunikasinya yang dilakukan adalah secara sequensial.

     b. Message Queue
         Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel              yang dibutuhkan. Proses ini menyediakan 2 operasi yaitu mengirim pesan dan menerima pesan.

     c. Shared Memory
         Sistem berbagi memori merupakan salah satu cara komunikasi antar proses dengan cara                      mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan              besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode          ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu                      sehingga pekerjaan dapat dilakukan secara efektif.

     d. Socket
         Bentuk dari komunikasi yaitu UDP dan TCP menggunakan abstraksi socket yang menyediakan          endpoint untuk komunikasi antar proses. Socket bisa dijalankan di berbagai platform (BSD                  UNIIX, UNIX, Linux, Windows dan Machintos OS)
     Berikut ini adalah contoh kodingan untuk membuat suatu program yang dapat memainkan, pause, dan continue suatu lagu dan juga menampilkan playlist lagu yang tersedia.

#include<stdio.h>
#include<string.h>
#include<pthread.h>
#include<stdlib.h>
#include<unistd.h>
#include<string.h>


pthread_t tid[10];
int n;

void* playandcount(void *arg){
     unsigned long i=0;
     pthread_t id=pthread_self();
     int iter;
     if(pthread_equal(id,tid[1])){
          system("clear");
          printf("\nHelp List\n");
          printf("Press the below number to execute command\n");
       printf("1===Show Help command\n");
      printf("2===Show playlist\n");
      printf("3===Play\n");
      printf("4===Pause after x sec\n");
      printf("5===Continue after x sec\n");
      printf("6===Stop after x sec\n");
     }
     else if(pthread_equal(id,tid[2])){
          system("clear");
          system("ls | grep .mp3");
     }
     else if(pthread_equal(id,tid[3])){
          system("clear");
          system("mpg123 Try.mp3");
     }
     else if(pthread_equal(id, tid[4])){
          system("clear");
          sleep(n);
          system("pkill -STOP mpg123");
     }
     else if(pthread_equal(id, tid[5])){
          system("clear");
          sleep(n);
          system("pkill -CONT mpg123");
     }
     else if(pthread_equal(id,tid[6])){
          system("clear");
          sleep(n);
          system("pkill mpg123");
     }
     return NULL;
}

int main(void){
     system("clear");
while(1){
      int flag=0;
       int comm;
      int i=0;
      int err=0;
      scanf("%d", &comm);
      if(comm==4 || comm==5 || comm==6)
            scanf("%d", &n);
          printf("\n\n");
       
          if (err!=0)
            printf("\ncan't create thread : [%s]", strerror(err));
      else
            err=pthread_create(&(tid[comm]), NULL, &playandcount, NULL);
     }
     return 0;
}

Popular Posts

Blogroll

Tentang Gw / About Me

Pati, Jawa Tengah, Indonesia
Namaku Dito. Lengkapnya Pramudito Hapriarso. Kelahiran 1996. Sekarang menetap di Indonesia.

About

Blogger templates

Blogger news

Pages - Menu

Pengikut