TUGAS MANDIRI ORGANISASI KOMPUTER DAN SISTEM OPERASI
THREAD
DISUSUN OLEH :
FAJAR ILHAMY : 064001600019
RILLO MANGUNSONG : 0650016000
GABRIEL HUTAPEA : 0640016000
FAKULTAS TEKNOLOGI INDUSTRI
JURUSAN TEKNIK INFORMATIKA
UNIVERSITAS TRISAKTI
2017
I. JUDUL PRAKTIKUM : THREAD
II. TUJUAN PRAKTIKUM : Dapat mengerti dan mengontrol sistem Thread
III. ELEMEN KOMPETENSI :
Deskripsi : Dapat membuat sistem Thread pada OS Linux
TEORI SINGKAT
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.
· Thread adalah unit terkecil dalam suatu proses yang bisa dijadwalkan oleh sistem operasi.
· Merupakan sebuah status eksekusi (ready, running, suspend, block, queue, dll)
· Kadang disebut sebagai proses ringan (lightweight).
· Unit dasar dari dari sistem utilisasi pada processor (CPU).
· Dalam thread terdapat: ID Thread, Program Counter, Register dan Stack.
· Sebuah thread berbagi code section, data section dan resource sistem operasi dengan thread yang lain yang memiliki proses yang sama.
Thread dalam Sistem Operasi
· Sistem operasi telah mendukung proses multithreading.
· Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya.
· Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.
LAB SETUP
Adapun yang diperlukan dalam melakukan praktikum ini adalah :
- Komputer/ Laptop dengan OS Linux
- Program Terminal
Cara percobaan/langkah langkah percobaan
1. Buatlah source code program thread dengan nama file thread.c pada notepad. Program thread.c merupakan program berbasis thread untuk mengecheck sum thread pada terminal. Pertama
2. Buat kodingan kemudian save dengan menambahkan .c
3. Kemudian buka terminal untuk menjalankannya
4. Kemudian ketikkan vi thread.c
5. Kemudian muncul programnya,
6. Ketik :wq untuk keluar
7. Kemudian ketikkan gcc thread.c -o thread1.c -lpthread
8. Kemudian ketikkan ./lpthread untuk mengeluarkan outputnya
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.
Dengan menggunakan Thread dari proses, kita mendapat beberapa keuntungan :
1. Membuat thread baru lebih cepat daripada membuat proses baru
2. Menghentikan thread lebih cepat daripada menghentikan proses
3. Waktu untuk pergantian thread lebih cepat dibandingkan pergantian proses
4. Komunikasi antara thread lebih cepat karena berada dalam satu proses sehingga tidak memerlukan intervensi dari kernel.
Hal ini berguna bagi sistem operasi karena dengan banyak kontrol thread proses dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.
Link Youtube : https://youtu.be/SBnoM76JQiQ
Tidak ada komentar:
Posting Komentar