Jumat, 23 September 2016

RISUMAN BAB.3 PROSES


3.1 Thread
Thread adalah sebuah alur kontrol dari sebuah proses. Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu.
Perbedaan antara proses dengan thread tunggal dan proses dengan thread yang banyak adalah proses dengan thread 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
2.       Berbagi sumber daya
3.       Ekonomi
4.       Utilisasi arsitektur multiprocessor

·         Multithreading Models
Beberapa terminologi yang akan dibahas:
a.        Thread pengguna: Thread yang pengaturannya dilakukan oleh pustaka thread pada tingkatan pengguna.
b.       Thread Kernel: . Thread yang didukung langsung oleh kernel.

Model-model Multithreading:
a.       Model Many-to-One. Model ini memetakan beberapa thread tingkatan pengguna ke sebuah thread.
b.      Model One-to-One. Model ini memetakan setiap thread tingkatan pengguna ke setiap thread.
c.       Model Many-to-Many. Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna.

·         Pustaka Thread
Pustaka Thread atau yang lebih familiar dikenal dengan Thread Library bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread. Ada dua cara dalam mengimplementasikan pustaka thread:
a.       Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga pemanggilan fungsi tidak melalui system call.
b.      Menyediakan API di level kernel yang didukung secara langsung oleh sistem operasi.

Pembatalan Thread (Thread Cancellation)
Thread Cancellation ialah pembatalan thread sebelum tugasnya selesai. Umpamanya, jika dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus dibatalkan terlebih dahulu. Contoh lain adalah di masalah search. Apabila sebuah thread mencari sesuatu dalam database dan menemukan serta mengembalikan hasilnya, thread sisanya akan dibatalkan. Thread yang akan diberhentikan biasa disebut target thread.
Pemberhentian target Thread dapat dilakukan dengan 2 cara:
  1. Asynchronous cancellation. Suatu thread seketika itu juga membatalkan target thread.
  2. Deferred cancellation. Suatu thread secara periodik memeriksa apakah ia harus batal, cara ini memperbolehkan target thread untuk membatalkan dirinya secara terurut.
Penjadwalan Thread
Begitu dibuat, thread baru dapat dijalankan dengan berbagai macam penjadwalan.
Untuk menjadwalkan thread, sistem dengan model mulithreading many to many atau many to one menggunakan:
  1. Process Contention Scope (PCS). Pustaka thread menjadwalkan thread pengguna untuk berjalan pada LWP (lightweight process) yang tersedia.
  2. System Contention Scope (SCS). SCS berfungsi untuk memilih satu dari banyak thread , kemudian menjadwalkannya ke satu thread tertentu(CPU / Kernel).
3.2. Client – Server
Pengertian Client Server
Client Server adalah pada sistem client/server harus terdapat satu atau beberapa server yang menyediakan layanan dan satu atau beberapa klien yang meminta layanan tersebut (tidak perduli apakah kondisi tersebut berada pada sebuah sistem jaringan ataupun stand-alone).
Server adalah komputer yang dapat memberikan service ke client, sedangkan client adalah komputer yang mengakses beberapa service yang ada di server .
Socket adalah sebuah endpoint untuk komunikasi didalam jaringan.. Socket dibuat dengan menyambungkan dua buah alamat IP melalui port tertentu. Secara umum socket digunakan dalam client/server system, dimana sebuah server akan menunggu client pada port tertentu.
Model Client-Server
Ada beberapa model client/server yang penting untuk diketahui. 
a.       Arsitektur Mainframe
Pada arsitektur ini, terdapat sebuah komputer pusat (host) yang memiliki sumber daya yang sangat besar, baik memori, processor maupun media penyimpanan.
b.       b.  Arsitektur File Sharing
Pada arsitektur ini komputer server menyediakan file-file yang tersimpan di media penyimpanan server yang dapat diakses oleh pengguna.
c.  Arsitektur Client/Server
Karena keterbatasan sistem file sharing, dikembangkanlah arsitektur client/server. Salah satu hasilnya yaitu berupa software database server yang menggantikan software database berbasis file server.
d. Model Two-tier
Model Two-tier terdiri dari tiga komponen yang disusun menjadi dua lapisan: client (yang meminta service) dan server (yang menyediakan service). Tiga komponen tersebut yaitu :
    1. User Interface, yaitu antar muka program aplikasi yang berhadapan dan digunakan langsung oleh user.
    2. Manajemen proses
    3. Database
Model ini memisahkan peranan user interface dan database dengan jelas, sehingga terbentuk dua lapisan.
e. Model Three-tier
Middle-Tier terdiri dari bussiness logic dan rules yang menjembatani query user dan database, sehingga program aplikasi tidak bisa mengquery langsung ke database server, tetapi harus memanggil prosedur-prosedur yang telah dibuat dan disimpan pada middle-tier. Ada berbagai macam software yang dapat digunakan sebagai server middle-tier. Contohnya MTS (Microsoft Transaction Server) dan MIDAS.
3.3.    Agent
Software Agent adalah entitas perangkat lunak yang didedikasikan untuk tujuan
Klasifikasi Software Agent
1.  Klasifikasi menurut Karakteristik yang Dimiliki
Menurut Nwana, agent bisa diklasifikasikan menjadi delapan berdasarkan pada karakteristiknya.
a.     Collaborative Agent: Agent yang memiliki kemampuan melakukan kolaborasi dan koordinasi antar agent dalam kerangka Multi Agent System (MAS).
b.    Interface Agent: Agent yang memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi monitoring dan learning untuk memenuhi kebutuhan user.
c.     Mobile Agent: Agent yang memiliki kemampuan untuk bergerak dari suatu tempat ke tempat lain, dan secara mandiri melakukan tugas ditempat barunya tersebut, dalam lingkungan jaringan komputer.
d.   Information dan Internet Agent: Agent yang memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian, pemfilteran, dan penyajian informasi untuk user, secara mandiri. Atau dengan kata lain, memanage informasi yang ada di dalam jaringan Internet.
e.       Reactive Agent: Agent yang memiliki kemampuan untuk bisa cepat beradaptasi dengan lingkungan baru dimana dia berada.
f.    Hybrid Agent: Kita sudah mempunyai lima klasifikasi agent. Kemudian agent yang memiliki katakteristik yang merupakan gabungan dari karakteristik yang sudah kita sebutkan sebelumnya adalah masuk ke dalam hybrid agent.
g.      Heterogeneous Agent System: Dalam lingkungan Multi Agent System (MAS), apabila terdapat dua atau lebih hybrid agent yang memiliki perbedaan kemampuan dan karakteristik, maka sistem MAS tersebut kita sebut dengan heterogeneous agent system.
2        Klasifikasi menurut Lingkungan Dimana Dijalankan
Desktop Agent: Agent yang hidup dan bertugas dalam lingkungan Personal Computer (PC), dan berjalan diatas suatu Operating System (OS). Termasuk dalam klasifikasi ini adalah:
      Operating System Agent
      Application Agent
      Application Suite Agent
3    Internet Agent: Agent yang hidup dan bertugas dalam lingkungan jaringan Internet, melakukan tugas memanage informasi yang ada di Internet. Termasuk dalam klasifikasi ini adalah: Web Search Agent, Web Server Agent, Information Filtering Agent,Information Retrieval Agent, Notification Agent, ervice Agent ,dan Mobile Agent.


4    Intranet Agent: Agent yang hidup dan bertugas dalam lingkungan jaringan Intranet, melakukan tugas memanage informasi yang ada di Intranet. Termasuk dalam klasifikasi ini adalah: Collaborative, Customization Agent, Process Automation Agent, Database Agent dan Resource Brokering Agent.
Bahasa Pemrograman yang digunakan
Beberapa peneliti memberikan petunjuk tentang bagaimana karakteristik bahasa pemrorgaman yang sebaiknya di pakai [Knabe, 1995] [Brenner et al., 1998]. Diantaranya yaitu :
1. Object-Orientedness:
Karena agent adalah berhubungan dengan obyek, bahkan beberapa peneliti menganggap agent adalah obyek yang aktif, maka juga agent harus diimplementasikan kedalam pemrorgaman yang berorientasi obyek (object-oriented programming language).
2. Platform Independence:
Seperti sudah dibahas pada bagian sebelumnya, bahwa agent hidup dan berjalan diberbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakai untuk implementasi adalah yang terlepas dari platform, atau dengan kata lain program tersebut harus bisa dijalankan di platform apapun (platform independence).
3. Communication Capability:
Pada saat berinteraksi dengan agent lain dalam suatu lingkungan jaringan (network environment), diperlukan kemampuan untuk melakukan komunikasi secara fisik. Sehingga diperlukan bahasa pemrograman yang dapat mensupport pemrograman yang berbasis network dan komunikasi.
4. Security:
Faktor keamanan (security) adalah factor yang sangat penting dalam memilih bahasa pemrorgaman untuk implementasi software agent.
Code Manipulation:
Beberapa aplikasi software agent memerlukan manipulasi kode program secara runtime, sehingga diperlikan bahasa pemrograman untuk software agent yang dapat menangani masalah runtime tersebut.
Dari karakteristik di atas dapat disimpulkan bahwa bahasa pemrograman yang layak untuk mengimplementasikan software agent adalah Java dan Telescript, Tcl/Tk, Safe-Tcl, Agent-Tcl .
Referensi:
1.      http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch11.html#c31101
2.      http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/2002/riene101/produk/Materi/T hreads.html
3.      Rofiq Siregar, Definisi Client/Server, http://rofiqsiregar.wordpress.com/2007/05/09/defenisi-clientserver/
4.      http://bebas.vlsm.org/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch17s05.html
5.      Rofiq Siregar, Model Client/Server, http://rofiqsiregar.wordpress.com/2007/05/29/model-clientserver/
6.      Ayu Anggriani dkk., Tugas Kuliah Pengantar Sistem Terdistribusi, 2008.
7.      Romi Satria Wahono, Pengantar Software Agent: Teori dan Aplikasi, http://ilmukomputer.com/2006/08/21/pengantar-software-agent/

Tidak ada komentar:

Posting Komentar