bab 4
DESCRIPTION
TRANSCRIPT
Mata kuliahSISTEM TERDISTRIBUSI
PROSES, OBJEK DAN LAYANAN TERDISTRIBUSI
Pengantar
• Apa kegiatan yang dilakukan oleh CPU,,?• Sistem batch mengeksekusi jobs seba-gaimana
suatu sistem time-share menggunakan program pengguna (user programs) atau tasks.
• Bahkan suatu sistem pengguna tunggal mampu menjalankan beberapa program pada saat yang sama.
• Dalam banyak hal, seluruh aktivitas ini adalah serupa, maka kita menyebut seluruh program itu proses-proses.
Defenisi Proses
• Secara tidak langsung, proses merupakan program yang sedang
dieksekusi.
• Menurut Silberschatz, suatu proses adalah lebih dari sebuah kode
program, yang terkadang disebut text section. Proses juga
mencakup program counter, yaitu sebuah stack untuk menyimpan
alamat dari instruksi yang akan dieksekusi selanjutnya dan
register.
• Tanenbaum juga berpendapat bahwa proses adalah sebuah
program yang dieksekusi yang mencakup program counter
register, dan variabel di dalamnya. Kami tekankan bahwa
program itu sendiri bukanlah sebuah proses.
Count’d
Dengan kata lain, proses terdistribusi adalah
sebuah proses yang dijalankan pada lebih dari satu
processor untuk menyelesaikan pekerjaan.
Proses distribusi dirancang agar sebuah program
dapat dijalankan pada berbagai tempat dalam suatu
jaringan computer, baik LAN maupun WAN.
Status Proses
Tanenbaum: Running: pada saat menggunakan CPU pada
suatu waktu. Ready: proses diberhentikan sementara karena
menunggu proses lain untuk dieksekusi. Blocked: tidak dijalankan sampai event dari luar,
yang berhubungan dengan proses tersebut terjadi.
Count’d
Sedangkan menurut Silberschatz, terdapat lima macam jenisstatus yang mungkin dimiliki oleh suatu proses:
New: status yang dimiliki pada saat proses baru saja dibuat. Running: status yang dimiliki pada saat instruksi-instruksi dari sebuah
proses dieksekusi. Waiting: status yang dimiliki pada saat proses menunggu suatu event
(contohnya: proses I/O). Ready: status yang dimiliki pada saat proses siap untuk dieksekusi
oleh prosesor. Terminated: status yang dimiliki pada saat proses telah selesai
dieksekusi.
Count’d
Gambar~3.1: Status proses
Proses Control Block
Tiap proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB) - juga disebut sebuah control block. PCB berisikan banyak bagian dari informasi yang berhubungan dengan sebuah proses yang spesifik, termasuk hal-hal di bawah ini:
Status proses: status mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.
Program counter: suatu stack yang berisi alamat dari instruksi selanjutnya untuk dieksekusi untuk proses ini.
CPU register: Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer. Register tersebut termasuk accumulator, register indeks, stack pointer, general-purposes register, ditambah code information pada kondisi apa pun.
Count’d
Informasi managemen memori: Informasi ini dapat termasuk suatu
informasi sebagai nilai dari dasar dan batas register, tabel page/halaman,
atau tabel segmen tergantung pada sistem memori yang digunakan oleh
sistem operasi.
Informasi pencatatan: Informasi ini termasuk jumlah dari CPU dan waktu
riil yang digunakan, batas waktu, jumlah akun jumlah job atau proses,
dan banyak lagi.
Informasi status I/O: Informasi termasuk daftar dari perangkat I/O yang
di gunakan pada proses ini, suatu daftar berkas-berkas yang sedang
diakses dan banyak lagi.
PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat
bervariasi dari proses yang satu dengan yang lain.
Thread
Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack.
Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process.
Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.
Keuntungan Trhead
• Responsi• Berbagi sumber daya• Ekonomi
Multithreading Model
1. Many to one Model
Many-to-One model memetakan banyak user-level thread
ke satu kernel thread. Pengaturan thread dilakukan di user space,
oleh karena itu ia efesien tetapi ia mempunyai kelemahan yang
sama dengan user thread. Selain itu karena hanya satu thread
yang dapat mengakses thread pada suatu waktu maka multiple
thread tidak dapat berjalan secara pararel pada multiprocessor.
Userlevel thread yang dimplementasi pada sistem operasi yang
tidak mendukung kernel thread menggunakan Many-to-One
model.
Count’d
2. One to one Model
One-to-One model memetakan setiap user
thread ke kernel thread. Ia menyediakan lebih banyak
concurrency dibandingkan Many-to-One model.
Keuntungannya sama dengan keuntungan kernel
thread. Kelemahannya model ini adalah setiap
pembuatan user thread membutuhkan pembuatan
kernel thread.
Karena pembuatan thread dapat menurunkan
performa dari sebuah aplikasi maka implmentasi dari
model ini membatasi jumlah thread yang dibatasi
oleh sistem. Contoh sistem operasi yang mendukung
One-to-One model adalah Windows NT dan OS/2.
Count’d
3. Many to many Model
Many-to-many model multiplexes banyak user-
level thread ke kernel thread yang jumlahnya lebih kecil
atau sama banyaknya dengan user-level thread. Jumlah
kernel thread dapat spesi…k untuk sebagian aplikasi atau
sebagian mesin. Many-to-One model mengizinkan
developer ntuk membuat user thread sebanyak yang ia
mau tetapi concurrency tidak dapat diperoleh karena
hanya satu thread yang dapat dijadual oleh kernel pada
suatu waktu.
Count’d
Distributed object
Sistem objek terdistribusi dapat mengadopsi arsitektur client-server.
Dalam kasus ini, objek dikelola oleh server dan klien memanggil
method mereka dengan menggunakan remote metode invokasi. Di RMI,
permintaan klien untuk memohon sebuah metode objek dikirim dalam
pesan ke server. invokasi dilakukan dengan melaksanakan metode objek
di server dan hasilnya dikembalikan ke klien dalam pesan lain.
Distributed object dapat mengasumsikan model arsitektur lain. Sebagai
contoh, objek dapat direplikasi dalam rangka memperoleh manfaat
untuk toleransi kesalahan dan meningkatkan kinerja, dan objek dapat
bermigrasi dengan maksud untuk meningkatkan kinerja mereka.
CORBA
• Interoperabilitas adalah kemampuan saling bekerjasama antar sistem komputer. Sebenarnya interoperabilitas bukanlah barang baru, karena protokol komunikasi datapun (TCP/IP misalnya) pada dasarnya diciptakan untuk mewujudkan interoperabilitas.
• Interoperabilitas perangkat lunak menuntut homogenitas pada suatu level tertentu. Untuk itu diperlukan semacam 'standarisasi'. Berawal dari keperluan ini lahirlah CORBA (Common Object Request Broker Architecture). CORBA adalah hasil 'kesepakatan' antara sejumlah vendor dan pengembang perangkat lunak terkenal seperti IBM, Hewlett-Packard, dan DEC, yang tergabung dalam sebuah konsorsium bernama OMG (Object Management Group).
• CORBA adalah sebuah arsitektur software yang berbasis pada teknologi berorientasi obyek atau Object Oriented (OO) dengan paradigma client-server. Dalam terminologi OO, sebuah obyek berkomunikasi dengan obyek lain dengan cara pengiriman pesan (message passing).
COUNT’D
• Keunikan dari CORBA adalah kemampuannya dalam
menangani heterogenitas antara client dan server (dalam
terminologi CORBA, obyek server dinamakan
implementasi obyek (object implementation). Keduanya
dapat saja diimplementasikan dalam hardware, sistem
operasi, bahasa pemrograman, dan di lokasi yang
berbeda, tetapi tetap bisa saling berkomunikasi. Kuncinya
ada pada sebuah lapisan software yang disebut dengan
ORB(Object Request Broker).
COM DAN DCOM
• COM (Component Object Model) adalah spesifikasi mencakup
implementasi yang dikembangkan Microsoft Corporation, yang
menyediakan framework untuk integrasi komponen. Framework
ini mendukung interoperability dan reusability objek-objek
terdistribusi yang memungkinkan developer membangun sistem
dengan melakukan assembly berbagai komponen dari berbagai
vendor. Komponen-komponen tersebut akan berkomunikasi
melalui COM.
COUNT’D
• COM dikembangkan menjadi DCOM (Distrubuted COM) untuk mendukung interaksi antar komponen yang terdistribusi (berlokasi di mesin yang berbeda). Dengan DCOM, komponen yang beroperasi di berbagai platform yang berbeda akan dapat berinteraksi.
• COM dan DCOM merepresentasikan teknologi low-level untuk interaksi komponen, sedangkan OLE, ActiveX, dan MTS merepresentasikan higher-level application services yang dibangun di atas COM dan DCOM. Batasan antar berbagai teknologi Microsoft kadang-kadang kurang jelas. Orang seringkali menggunakan terminologi “OLE technologies” yang mencakup COM, atau “Active Platform” sebagai web solution yang lengkap.
Layanan Terdistribusi
• Dalam perkembangannya, objek terdistribusi masih
dirasa kurang.
• Untuk itu dikembangkan layanan terdistribusi dimana
bukan lagi objek yang didistribusikan, tetapi sudah
berupa sebuah layanan.
• Teknologi yang menggunakan konsep ini adalah web
service yang menggunakan protocol standard an terbuka
sehingga mudah untuk diadaptasi oleh berbagai pihak
dan dapat beroprasi pada berbagai aplikasi dan platform.
Web Service (WS)
• WS, akronin dari Web Service, adalah system
software yang didesain untuk mendukung interaksi
antar computer dalam jaringan.
• WS memiliki antar muka dalam format yang dapat
dibaca oleh computer seperti WSDL (Web Service
Description Language).
• System lain berinteraksi dengan Web Service melalui
massage yang dikirim dengan protocol HTTP.
Keuntungan Web Service
a. Web Service memungkinkan aplikasi yang berjalan dalam berbagai platform untuk dapat saling berintraksi.
b. Web Service menggunakan standard an protocol yang terbuka.
c. Dengan menggunakan protocol HTTP, Web Service dapat melalui berbagai macam firewall tampa harus banyak mengubah konfigurasi firewall tersebut.
d. Web service memungkinkan penggabungan aplikasi dan layanan dari berbagai perusahaan untuk menyediakan layanan yang terintegrasi bagi pengguna.
e. Web service memungkinkan penggunaan kembali layanan dan komponen yang ada dalam infastrukturnya.
Kelemahan dari Web Service
a. Karena relatife baru, fasilitas standar yang
dimiliki oleh Web Service masih ternatas bila
dibandingkan dengan teknologi yang lebih
matang CORBA.
b. Kinerja Web Service masih kalah dibandingkan
dengan teknologi terdistribusi lainnya karena
menggunakan format teks dalam melakukan
pertukaran data.
END,,,,,,,
TERIMA KASIH