Kamis, 08 Juni 2017

PRAKTIKUM 11 ORKOM

LAPORAN PRATIKOM ORGANISASI KOMPUTER DAN SISTEM OPERASI
FUNGSI DASAR THREAD

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixUu_fye0-dhiutIliPk9MmXeHZHknwvIfxlE9sijy90aF0swsrsU7cI9BEHj1tusH-dlOBQxOt9_ZTtGJi6SzqbrruMamG8N-S4jIRgb1ztXs18fn8UDIL5de2hoUsVuwP9TqV_l1BFA/s1600/logo+trisakti.jpg





Disusun Oleh Kelompok B :

Fajar Ilhamy (064001600019)



Teknik Informatika
Fakultas Teknologi Industri
Universitas Trisakti
Jakarta – Indonesia
2017


Tujuan

Laporan ini dibuat untuk menyelesaikan praktikum sebelas matakuliah Organisasi computer dan Sistem Operasi. Selain itu, hal ini juga beguna sebagai panduan umum penggunaan fungsi thread terminal pada operasi sistem linux.


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
  2. Compile file thrdcreat.c


  1. Jalankan thrdcreat1.c dan lihat outputnya


  1. Buat file baru dengan cara tulis Vi thrdcancel.c


  1. Tulis sourcodenya seperti gambar berikut


  1. Keluar dari editor dan save
  2. Compile file thrdcancel.c


  1. Jalankan thrdcancel1.c dan lihat outputnya


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


  1. Tulis sourcodenya seperti gambar berikut


  1. Keluar dari editor dan save
  2. Compile file mutex.c


  1. Jalankan mutex.c dan lihat outputnya


  1. Selesai

Tidak ada komentar:

Posting Komentar