Kamis, 08 Juni 2017

Fungsi Dasar Thread

LAPORAN PRATIKOM ORGANISASI KOMPUTER DAN SISTEM OPERASI
FUNGSI DASAR THREAD

Disusun Oleh :
Devi Febrita Sari Hoesadha/064001600020

Teknik Informatika
Fakultas Teknologi Industri
Universitas Trisakti
Jakarta – Indonesia
2017


Teori Percobaan

Ketika pertama kali dikembangkan, Linux tidak didukung dengan threading di 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 process memungkinkan cloned taskbersifat mirip dengan thread yang terpisah. Pembagian address 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 menciptakanpointer ke struktur data pada parent 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 dari Red Hat membuat NPTL (Native POSIX Thread Library).Sebenarnya Linux tidak membedakan antara proses dan thread. Dalam kenyataannya, Linux lebih menggunakan istilah taskdibandingkan proses dan thread ketika merujuk kepada pengaturan alur pengontrolan di dalam program.
Langkah-Langkah Percobaan 
1.Buka terminal pada Linux
2. Buat file baru dengan cara tulis Vi thrdcreat.c
3. Tulis sourcodenya seperti gambar berikut


4. Compile file thrdcreattest.c

5. Jalankan thrdcreattest.c dan lihat outputnya

6. Buat file baru dengan cara tulis Vi thrdcanceltest.c lalu lakukan compile file


7. Jalankan thrdcancel1test.c dan lihat outputnya

8. Buat file baru dengan cara tulis Vi mutex.c . masukkan source code nya lalu compile file mutextext.x

9. Jalankan mutex.c dan lihat outputnya

Data-Data Percobaan 



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

Full Video On Youtube : Thread

0 komentar:

Posting Komentar