Universitas Trisakti, Fakultas Teknologi Industri, Teknik Informatika, 064.013.016

Visitors

Flag Counter

Minggu, 11 Juni 2017

Praktikum 12 Organisasi Komputer dan Sistem Operasi "THREAD"

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER DAN SISTEM OPERASI
THREAD

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSMjopjopE2sgERrU9Ib84vZ6kDU7qf3Cm1JoeQ-95vAyg9UlLF2xb2wzLuqcvcl3LkSfQOv6yl7QswENkHw6wp9BGhEJQrPRLMyf-sxybzt4Q3IHxoiVk_tX6STIu9bOTQze1QFntP7E/s1600/logo+trisakti.jpg





Disusun Oleh :

Aulia Akbar
064.013.016




Teknik Informatika
Fakultas Teknologi Industri
Universitas Trisakti
Jakarta – Indonesia
2017





Teori Percobaan

Ketika pertama kali dikembangkan, Linux tidak didukung dengan threadingdi dalam kernelnya, tetapi dia mendukung proses-proses sebagai entitas yang dapat dijadwalkan melalui clone() system calls. Sekarang Linux mendukung penduplikasian proses menggunakan system call clone() dan fork(). Clone() mempunyai sifat mirip dengan fork(), kecuali dalam hal pembuatan copy dari proses yang dipanggil dimana ia membuat sebuah proses yang terpisah yang berbagi address space dengan proses yang dipanggil. Pembagian address space dari parent processmemungkinkan cloned task bersifat mirip dengan thread yang terpisah. Pembagianaddress space ini dimungkinkan karena proses direpresentasikan di dalam Kernel Linux. Di dalam Kernel Linux setiap proses direpresentasikan sebagai sebuah struktur data yang unik. Jadi, daripada menciptakan yang baru maka struktur data yang baru mengandung pointer yang menunjuk ke tempat dimana data berada. Jadi ketika fork() dipanggil, proses yang baru akan tercipta beserta duplikasi dari segala isi di struktur data di parent process, namun ketika clone() dipanggil, ia tidak menduplikasi parent processnya tetapi menciptakan pointer ke struktur data padaparent process yang memungkinkan child process untuk berbagi memori dan sumber daya dari parent processnya. Project LinuxThread menggunakan system call ini untuk mensimulasi thread di user space. Sayangnya, pendekatan ini mempunyai beberapa kekurangan, khusunya di area signal handling, scheduling, dan interprocess synchronization primitive.
Untuk meningkatkan kemampuan Thread Linux, dukungan kernel dan penulisan ulang pustaka thread sangat diperlukan. Dua project yang saling bersaing menjawab tantangan ini. Sebuah tim yang terdiri dari pengembang dari IBM membuat NGPT (Next Generation POSIX Threads). Sementara pengembang dariRed Hat membuat NPTL (Native POSIX Thread Library).Sebenarnya Linux tidak membedakan antara proses dan thread. Dalam kenyataannya, Linux lebih menggunakan istilah task dibandingkan proses dan thread ketika merujuk kepada pengaturan alur pengontrolan di dalam program.

CARA PERCOBAAN

  1. Buka terminal pada Linux
  2. Buat file baru dengan cara tulis Vi thrdcreat.c



  1. Tulis sourcodenya seperti gambar berikut




  1. Keluar dari editor dan save, kemudian compile dan jalankan prorgramnya
  2. Buat file baru dengan cara tulis Vi thrdcancel.c


     6. Tulis sourcodenya seperti gambar berikut



7. Compile dan jalankan thrdcancel1.c dan lihat outputnya


8. Buat file baru dengan cara tulis Vi mutex.c



  1. Tulis sourcodenya seperti gambar berikut




14.  Jalankan mutex.c dan lihat outputnya


15.  Selesai



\




KESIMPULAN
          
Thread merupakan sebuah alur kontrol proses yang dapat dijadwalkan pengeksekusiannya oleh sistem operasi. Selanjutnya, bayangkan sebuah program main mempunyai berbagai prosedur (fungsi) dan fungsi-fungsi tersebut dapat dijalankan secara serentak dan atau bebas dijalankan oleh sistem operasi. Dan itulah yang disebut sebagai multithread.


VIDEO : THREAD

0 komentar: