Perkenalan Dengan Operating System

Apakah Sistem Operasi itu? Sistem operasi atau sering disebut OS (Operating System) adalah suatu program yang mengatur pembagian sumber daya. Terdapat beberapa fungsi OS, antara lain : Mengatur eksekusi program lain Sebagai perantara (interface) apikasi dengan hardware

Evolusi Operating System

Seiring dengan perkembangan zaman, OS pun juga harus ikut berkembang atau bervolusi. Mengapa OS harus berevolusi? Inilah alasannya : Munculnya hardware jenis baru Adanya layanan baru yang dibutuhkan pengguna Update atau perbaikan (patches, bug, fixes) Berikut evolusi OS sejak pertama kali para ilmuwan menemukan komputer sampai sekarang. Cekidot!

--

Istilah dalam Operating System

Mau berkenalan lebih dalam dengan operaring system? Pertama-tama,kenalilah apa saja yang dibutuhkan dan istilah apa saja yang biasanya diapakai dalam OS. CEKIDOT!

Multiprocessing Operating System

Seiring dengan berkembangnya zaman, kemajuan teknologi, terutama dalam bidang komputasi, sangatlah pesat. Dari awal di mana prosesor belum mempunyai kemampuan yang optimal , sampai saat ini prosesor sudah bisa melakukan beberapa proses secara bersamaan. CEKIDOT!

Basic Command pada Linux

Apakah Anda sudah pernah memaki Linux pada OS komputer Anda? Kalau belum, pada artikel kali ini, mimin mau ngebahas soal Linux nih. Mulai dari dasar sampai permukaan. CEKIDOT!

Bagaimana cara membuat file archive dalam linux?

Apakah Anda tau apa itu Tar dalam Linux? Tar adalah perintah untuk membuat file archive dalam platform Unix. Dengan kata lain, Tar sama dengan Zip atau Rar dalam Windows. Dalam bash script (terminal linux), terdapat beberapa ketentuan untuk membuat file Tar. Berikut adalah cara-caranya. CEKIDOT!

Tampilkan postingan dengan label thread programming. Tampilkan semua postingan
Tampilkan postingan dengan label thread programming. Tampilkan semua postingan

Jumat, 28 November 2014

Thread Programming


A. Thread di LINUX (C language)


Thread di Linux menggunakan POSIX (Portable Operating System Interface for UNIX) standard Thread API. POSIX adalah adalah sebuah standar yang dicetuskan oleh IEEE (Institute of Electrical and Electronics Engineers yang mendefinisikan sekumpulan layanan dalam sistem operasi. Oleh karena itu, program dengan thread di Linix harus dicompile dengan option -lpthread. Library untuk thread sendiri adalah #include<pthread.h>

B. Pembuatan Thread
     Thread mempunyai Thread ID dengan type pthread_t. Untuk membuat thread, kita harus menggunakan fungsi :

     int pthread_create (pthread_t *thread, const pthread_attr_t *attr, void* (*namafungsi)(*void), void *arg);

     Penjelasan  parameter:

  1. pthread_t *thread = thread ID
  2. const pthread_attr_t *attr = thread attribute (NULL untuk default attribute)
  3. void* (*namafungsi) (*void) = nama fungsi yang akan dijalankan oleh thread
  4. void *arg = parameter untuk fungsi yang dijalankan. Apabila parameter yang dibutuhkan banyak, maka harus menggunakan struct

C. Menunggu Thread

     Pengeksekusian thread tidak dapat dikontrol oleh user, karena penjadwalan thread akan dilakukkan oleh OS. Oleh karena itu user tidak tahu kapan thread akan dieksekusi. Untuk menanggulangi hal itu, maka digunakan pthread_join  yang bertujuan untuk menunggu suatu pengeksekusian thread selesai, baru thread yang lain akan dijalankan.

     pthread_join (pthread_t thread, void **retval);


Penjelasan  parameter:
  1. pthread_t *thread = thread ID
  2. void **retval = return value dari fungsi yang dipanggil.

D. Membatalkan Thread

     Untuk membatalkan pengeksekusian sebuah thread, bisa menggunakan perintah pthread_cancel.

    pthread_cancel (pthread_t thread)

Penjelasan  parameter:
  1. pthread_t *thread = thread ID
Library pthread.h juga menyediakan perintah :

  • PTHREAD_CANCEL_ENABLE untuk membuat sebuah thread dapat dicancel
  • PTHREAD_CANCEL_DISABLE untuk membuat sebuah thread tidak dapat dicancel

E. Keluar dari Thread

     Untuk keluar dari sebuah thread, bisa menggunakan perintah pthread_exit. pthread_exit diletakkan pada akhir sebuah fungsi (routine)
   
   pthread_exit(void *value_ptr)

Penjelasan  parameter:
  1. void *value_ptr = return value dari parameter suatu thread

E. Membandingkan (compare) Dua Thread

     Untuk membandingkan dua buah thread bisa menggunakan pthread_equal. JIka thread sama maka akan mengembalikan return value tidak 0, dan 0 apabila kedua thread tidak sama.

pthread_equal(pthread_t thread1,pthread_t thread2);

Penjelasan  parameter:
  1. pthread_t thread1 = thread ID dari thread 1
  2. pthread_t thread2 = thread ID dari thread 2