Selasa, 02 Desember 2014

Proses

I. Thread
Thread adalah sebuah alur kontrol dari sebuah proses. Kontrol thread tunggal ini hanya
memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi
modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk
memiliki eksekusi multi-threads, agar dapat secara terus menerus mengetik dan menjalankan
pemeriksaan ejaan didalam proses yang sama, maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu. Suatu proses yang multithreaded
mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama.
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 Thread
Keuntungan dari program yang multithreading dapat dipisah menjadi empat kategori:
1. Responsi: Membuat aplikasi yang interaktif menjadi multithreading dapat membuat sebuah
program terus berjalan meski pun sebagian dari program tersebut diblok atau melakukan
operasi yang panjang, karena itu dapat meningkatkan respons kepada pengguna. Sebagai
contohnya dalam web browser yang multithreading, sebuah thread dapat melayani permintaan
pengguna sementara thread lain berusaha menampilkan image.
2. Berbagi sumber daya: thread berbagi memori dan sumber daya dengan thread lain yang
dimiliki oleh proses yang sama. Keuntungan dari berbagi kode adalah mengizinkan sebuah
aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
3. Ekonomi: dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan
sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori
dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan
context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread
dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses
lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali
dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan
context switch thread.
4. Utilisasi arsitektur multiprocessor: Keuntungan dari multithreading dapat sangat meningkat
pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas
processor yang berbeda.
Client Server
Menurut Gallaugher & Ramanathan (1996) : client/server adalah client mengirim permintaan
ke server, server menterjemahkan pesan, kemudian berusaha memenuhi permintaan . Sedangkan
menurut Blaha & Premerlani (1998) : client/server adalah suatu arsitektur dimana sumber daya
server menyediakan komputasi untuk banyak komponen client. Client dapat mengakses satu server atau multiple server. Client dan server bisa berjalan pada mesin yg sama atau berbeda, ditulis dalam berbagai bahasa dan menggunakan sistem operasi yang berbeda.
Agent
Software Agent adalah entitas perangkat lunak yang didedikasikan untuk tujuan tertentu yang
memungkinkan user untuk mendelegasikan tugasnya secara mandiri, selanjutnya software agent
nantinya disebut agent saja. Agen bisa memiliki ide sendiri mengenai bagaimana menyelesaikan
suatu pekerjaan tertentu atau agenda tersendiri. Agen yang tidak berpindah ke host lain disebutstationary agent.
Karakteristik dari Agen:
1. Autonomy: Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara
langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai
tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol
terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam [Woolridge et.
al., 1995]. Dan satu hal yang penting yaitu mendukung autonomy dan masalah intelegensi
(intelligence) dari agent.
2. Intelligence, Reasoning, dan Learning: Setiap agent harus mempunyai standar minimum
untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga
komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar
pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam
perubahan lingkungan.
3. Mobility dan Stationary: Khusus untuk mobile agent, dia harus memiliki kemampuan yang
merupakan karakteristik tertinggi yang dia miliki yaitu mobilitas. Berbeda dengan stationary
agent. Tetapi keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan
berkomunikasi dengan agent lain.
4. Delegation: Sesuai dengan namanya dan seperti yang sudah kita bahas pada bagian definisi,
agent bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena
pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.
5. Reactivity: Karakteristik agent yang lain adalah kemampuan untuk bisa cepat beradaptasi
dengan adanya perubahan informasi yang ada dalam suatu lingkungan (enviornment).
Lingkungan itu bisa mencakup: agent lain, user, informasi dari luar, dsb [Brenner et. al.,
1998].
6. Proactivity dan Goal-Oriented: Sifat proactivity boleh dibilang adalah kelanjutan dari sifat
reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan,
tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil [Brenner
et. al., 1998]. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu
berorientasi kepada tujuan yang diembannya (goal-oriented).
7. Communication and Coordination Capability: Agent harus memiliki kemampuan
berkomunikasi dengan user dan juga agent lain. Masalah komunikasi dengan user adalah
masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi,
koordinasi, dan kolaborasi dengan agent lain adalah masalah sentral penelitian Multi Agent

System (MAS).

Baca Artikel Selanjutnya



Tidak ada komentar:

Posting Komentar

 

Shantii Widya Kusuma Copyright 2009 Sweet Cupcake Designed by faris vio Templates Image by vio's Notez