Oleh : Rahmat Robi Waliyansyah, M.Kom.

Slides:



Advertisements
Presentasi serupa
Sistem Operasi Proses Fachry Khusaini ( ) Nur Yaqin ( )
Advertisements

Struktur Sistem Operasi
Oleh: Muhammad Syauqil Ilmi ( ) Muzakki (09650) Fathiyyatur Rahmah ( )
By : Kelompok 3 Muhamad Shofri Maulidani ( ) Agung Satrio Buwono ( ) Devi Shinta Rahayu ( ) THREAD.
Sistem Terdistribusi 05 – Proses Oleh : Muh. Ary Azali.
KONSEP PROSES Minggu ke 5.
KONSEP THREAD.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 5 PROSES DAN THREAD 1.
Manajemen Proses.
Sistem Terdistribusi 04 – Remote Procedure Call Oleh : Muh. Ary Azali.
Pertemuan 03- Konsep Proses
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 6 PROSES DAN THREAD 2.
KOMUNIKASI Perkembangan Teknologi Informasi (TI)
Sistem Terdistribusi 06 – Client Server Oleh : Muh. Ary Azali.
Pertemuan 3 Manajemen Proses.
PROCESS DAN THREADS Pengertian : Program Proses MonoProgramming
Tim Teaching Grant Mata Kuliah Sistem Operasi
Struktur Sistem Operasi PART 2.
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
Thread.
Struktur Sistem Komputer
REMOTE SERVICE.
KONSEP THREAD.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
PROCESS DAN THREADS PROCESS Multiprogramming Pseudoparallelism
PENJADWALAN PROSES.
Struktur Sistem Komputer
Thread.
Sistem Operasi Pertemuan 5.
Thread. Thread Proses dengan thread tunggal – proses menjalankan satu tugas pada satu waktu Proses dengan thread tunggal – proses menjalankan satu tugas.
MATAKULIAH SISTEM OPERASI – PENDIDIKAN TEKNIK INFORMATIKA 2008
Struktur Sistem Komputer
SISTEM OPERASI Dosen Pengampu : Erfanti Fatkhiyah, ST., M.Cs.
PROSES & THREADS Disajikan Oleh :.
Proses Sistem Terdistribusi.
Konsep Proses.
Komunikasi (Sistem Terdistribusi).
Operating System Structure
Struktur Sistem Operasi
File Service Sistem Terdistribusi.
Sistem Terdistribusi.
Sistem Operasi 4 “Threads”.
Operating System Structure
Mobile Computing 7 Middleware.
Thread.
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER Oleh : Laseri, S.Kom.
THREAD.
Struktur Sistem Komputer
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
Manajemen Proses Firdaus, M.T..
Sistem Operasi.
Tim Teaching Grant Mata Kuliah Sistem Operasi
OPERATING SYSTEM AND USE
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
Sistem Operasi.
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Thread Kelompok 4 NAMA : SRI YANTI MONICA ( )
Struktur Sistem Komputer
PANDANGAN UMUM SISTEM OPERASI DAN SISTEM KOMPUTER
PARALEL PROCESSING.
Oleh : Laseri, S.Kom BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER.
Tim Teaching Grant Mata Kuliah Sistem Operasi
5 Thread.
KONSEP PROSES Minggu ke 5.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Transcript presentasi:

Oleh : Rahmat Robi Waliyansyah, M.Kom. LAYANAN JARAK JAUH To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Oleh : Rahmat Robi Waliyansyah, M.Kom.

Remote Procedure Call (RPC) Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat melakukan ini sebuah server harus menyediakan layanan remote procedure. Cara Kerja : Server membuka socket, lalu menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu harus menghubungi port yang mana, client bisa merequest kepada sebuah matchmaker (pencocok port) pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan oleh prosedur yang diminta client.

Remote Procedure Calls Tujuan RPC adalah pemanggilan prosedur jauh (dikerjakan di mesin lain) seperti pemanggilan prosedur lokal. Pemrogram menulis program tanpa peduli apakah prosedur akan dijalankan di pemroses lokal atau di pemroses jauh. RPC memungkinkan proses di suatu sistem memanggil prosedur di proses lain pada mesin lain. Remote Procedure Calls

Prinsip KERJA RPC

Remote Procedure Call (RPC) Sebelum mekanisme RPC digunakan, data harus dipackaging ke dalam format transimisi  disebut marshalling. Proxy bertanggung jawab untuk marshalling data, kemudian mengirimkan data dan meminta instance dari komponen (remote). Stub menerima request, unmarshall data, dan memanggil method yang diminta. Kemudian proses mengembalikan nilai yang diinginkan (Stub adalah kode untuk mengkonversi parameter yang dipassing saat RPC berjalan)

Remote Procedure Call (RPC) Kelebihan RPC Relatif mudah digunakan : Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu memikirkan low level details seperti socket, marshalling & unmarshalling. Robust (Sempurna): Sejak th 1980-an RPC telah banyak digunakan dalam pengembangan mission-critical application yang memerlukan scalability, fault tolerance, & reliability. Kekurangan RPC Tidak fleksibel terhadap perubahan: hubungan anatara client dan server bersifat static. Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman dibandingkan OOP.

Studi kasus RPC Pada jasa pengeprintan di rental pengetikan yang di dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang hanya terhubung dengan server. User dari computer client ingin mencetak data dari komputernya. Biasanya user memindah data dengan bantuan device external seperti disket, flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih efisien. Solusi : dengan RPC, untuk mencetak data dari computer client, computer client mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server mengirimkan pesan pada client berupa informasi “file telah dicetak”.

THREAD Unit dasar dari pemanfaatan CPU Pada dasarnya satu proses terdiri atas satu thread (single-thread) Dalam sekali waktu hanya ada satu tugas yang bisa dikerjakan dalam satu proses Padahal program-program terkini butuh menjalankan beberapa tugas dalam sekali waktu. Butuh multi-thread dalam satu proses.

THREAD Multithread pada satu prosesor – dijalankan bergantian dengan waktu yang sangat cepat sehingga tampak bersamaan Multithread pada multi prosesor – benar-benar dijalankan secara bersamaan Hyper threading (HT) – teknologi simultan multithreading oleh Intel Menjalankan banyak thread secara bersama-sama Pada tiap inti prosesor, sistem operasi mengalamatkan 2 virtual prosesor OS harus mendukung pemrosesan multiprosesor

THREAD Suatu thread (atau lightweight process disingkat LWP) berisi : Thread ID Program counter Register set Stack space Suatu thread bersama thread-thread lainnya bisa berbagi : Code section Data section Operating system resources

Contoh Multithreading Web browser : memiliki satu thread untuk display image, dan thread yang lain untuk mengambil data dari network. Web server : menerima request dari client untuk halaman web, image, sound, dll. Web server melayani client secara bersamaan (concurrent).

Perbedaan Thread Dengan Proses Thread adalah bagian dari suatu proses Tiap proses mempunyai informasi status dan sumber daya sendiri, thread berbagi informasi status dan sumber daya dengan thread yang lain dalam satu proses Tiap proses mempunyai alamat yang berbeda, sedangkan thread berbagi alamat yang sama Pergantian antar threads lebih cepat daripada antar proses

Contoh Multithread Pada Webserver

Keuntungan Multithread Responsiveness Program tetap bisa berjalan walaupun ada sebagian tugas yang memakan waktu lama. Contoh : Web browser tetap dapat digunakan walaupun sedang ada aktifitas download. Resource sharing Thread dalam suatu proses yang sama dapat men-share memori dan resource dengan thread yang lain. Mengijinkan sebuah aplikasi untuk memiliki beberapa thread yang berbeda dalam lokasi memori yang sama. Economy Alokasi memori dan resource untuk pembuatan proses memiliki cost yang mahal. Dalam hal context-switch, lebih ekonomis bila dilakukan dengan thread context-switch. Utilisasi CPU Meningkatkan kinerja pada arsitektur multiprocessor, dimana thread running secara paralel pada prosesor yang berbeda.

Single Thread vs Multi Thread

Multicore Program Multicore/Multiprocessor : ada lebih dari satu processor/core processor dalam satu system Pemrograman multithread memungkinkan pemanfaatan fitur multicore pada suatu system Contoh sebuah program dengan 4 threads Single core : Eksekusi thread dilakukan secara bergantian (concurrent) Multi Core : Eksekusi dilakukan secara parallel sesuai jumlah core Memungkinkan pembagian tugas dalam satu program

Concurrency vs. Parallelism Concurrent execution pada single core Hanya ada satu thread yang dieksekusi sekali waktu Thread dieksekusi dengan progress tertentu secara bergantian Paralleilism pada multi-core Beberapa thread dieksekusi secara parallel sesuai jumlah core

Tipe Parralelism Data parralelism Task parralelism

Data Parallelism Distribusi bagian-bagian data ke masing-masing core processor berbeda untuk diolah Operasi pada masing-masing core sama Contoh : Operasi penjumlahan bilangan 1 sampai N Ada 2 core processor Penjumlahan data 1 sampai (N/2) di core 1 dan (N/2+1) sampai N di core 2

Task Parallelism Distribusi tugas (thread) berbeda ke masing-masing core processor yang berbeda Operasi pada masing-masing core beda Contoh : Core 1 menghitung standard deviasi Core 2 mencari nilai max

User Thread vs Kernel Thread Berdasarkan pengendalinya, thread dibagi : User thread Kernel thread User thread dikendalikan oleh program pada level user tanpa campur tangan kernel Kernel thread dikendalikan langsung oleh sistem operasi

User Threads Keuntungan : Dapat lebih cepat dibuat dan dikendalikan karena tanpa campur tangan kernel. Kelemahan : Salah 1 thread pengguna menjalankan blocking system call maka mengakibatkan seluruh proses diblok.

Kernel Threads Keuntungan : Jika thread menjalankan blocking system call kernel dapat menjalankan thread lain di aplikasi untuk melakukan eksekusi. Pada lingkungan multiprosesor, kernel dapat menjadwal thread- thread pada prosesor yang berbeda. Kelemahan : lebih lambat daripada user kernel.

Model Many-to-One Beberapa user-thread dipetakan ke satu kernel-thread Kelebihan Tidak ada batasan jumlah user-thread yang bisa dibuat Kelemahan Satu thread melakukan blocking (misal I/O), seluruh proses terblock Multithread tidak dapat dijalankan secara parallel pada sistem multicore Contoh Solaris Green Threads GNU Portable Threads

Model One-to-One Satu user-thread dipetakan ke satu kernel-thread Pembuatan satu user-thread = Pembuatan satu kernel- thread Kelebihan Satu thread blocking tidak akan berpengaruh ke thread lain Multithread dapat dijalankan secara parallel pada sistem multicore Kelemahan Jumlah user-thread yang bisa dibuat terbatas Pembuatan kernel-thread dapat membebani performa Contoh : Windows, Linux

Model Many-to-Many Beberapa user-thread dipetakan ke beberapa kernel-thread (multiplexing) Jumlah kernel-thread yang dibuat bergantung aplikasi dan spesifikasi mesin Kelebihan : Satu thread blocking tidak akan berpengaruh ke thread lain Tidak ada batasan jumlah user-thread

Two Level Model Mirip M:M, tapi mengijinkan user-level thread dipetakan ke satu kernel thread Contoh : IRIX HP-UX TRU64-Unix Solaris 8 ke bawah

Thread Libraries Application programming interface (API) untuk pembuatan dan manajemen thread Dua jenis implementasi Library diimplementasi di level user Library diimplementasi di level kernel. Bisa dipanggil dengan dengan system call

Strategi Implementasi Asynchronous Threading Setelah thread induk membuat thread anak, proses induk kembali melanjutkan eksekusi Thread induk dan thread anak berjalan independen Proses induk tidak perlu tahu status thread anak Synchronous Threading Proses induk menunggu semua thread anak selesai sebelum melanjutkan eksekusi (fork-join) Setelah thread anak selesai, join ke thread induk

CANCELLATION Pemberhentian thread sebelum tugasnya selesai Target thread : thread yang akan diberhentikan Dapat terjadi melalui dua cara : Asynchronous cancellation : suatu thread seketika itu juga memberhentikan target thread Deferred cancellation : target thread memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut

THREAD POOLS Masalah multithreading : pembuatan thread terlalu banyak menurunkan performa sistem. Solusi : membuat sejumlah thread pada saat startup dan menempatkannya ke dalam pool. Ketika server menerima request, thread dipanggil. Jika selesai, thread kembali ke pool Keuntungan : lebih cepat dan membatasi jumlah thread yang ada pada suatu waktu

Terima Kasih