Client
Server
Client-Server
adalah pembagian kerja antara server dan client yg mengakses server dalam suatu
jaringan. Jadi arsitektur client-server adalah desain sebuah aplikasi terdiri
dari client dan server yang saling berkomunikasi ketika mengakses server dalam
suatu jaringan.
Dari
diatas, kata kuncinya 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). Istilah server di sini bisa saja
berupa komputer-komputer kelas server seperti IBM, HP, Compaq dll. Atau juga
berupa software yang dapat dikategorikan berdasarkan layanannya misalnya web
server, application server, file server, database server, terminal server, mail
server, dll.
Server
bisa juga berupa proses, seperti RPC Server yang terdapat pada sistem operasi
server seperti Novell, Windows NT, Linux dll. Lebih dalam lagi, pada kernel
(inti) sebuah sistem operasi juga banyak terdapat proses-proses yang
bertanggung-jawab menyediakan layanan-layanan agar hardware komputer dapat
bekerja sebagai mana mestiya. Microsoft menamakan proses tersebut
servicessedangkan keluarga Unix/Linux menyebutnya daemons. Services/daemons
tersebut umumnya menyediakan manajemen memory, akses file/jaringan, serta
penjadwalan (scheduling).
Server
adalah komputer yang dapat memberikan service ke client, sedangkanclient adalah
komputer yang mengakses beberapa service yang ada di server. Ketika client
membutuhkan suatu service yang ada di server, dia akan mengirimrequest kepada
server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server
akan mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan
menggunakan Socket.
·
Karakteristik
Server
·
Pasif
·
Menunggu request
·
Menerima
request, memproses mereka dan mengirimkan balasan berupaservice
·
Karakteristik
Client
·
Aktif
·
Mengirim request
·
Menunggu dan
menerima balasan dari server
Socket
adalah sebuah endpoint untuk komunikasi didalam jaringan. Sepasang proses atau
thread berkomunikasi dengan membangun sepasang socket, yang masing-masing
proses memilikinya. Socket dibuat dengan menyambungkan dua buah alamat IP
melalui port tertentu. Secara umum socket digunakan dalamclient/server system,
dimana sebuah server akan menunggu client pada porttertentu. Begitu ada client
yang menghubungi server maka server akan menyetujui komunikasi dengan client
melalui socket yang dibangun.
Thread
Thread
adalah sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded
mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama.
Keuntungan dari multithreaded meliputi peningkatan respon dari user, pembagian
sumber daya proses, ekonomis, dan kemampuan untuk mengambil keuntungan dari
arsitektur multiprosesor. User level thread adalah thread yang tampak oleh
programmer dan tidak diketahui oleh kernel. User level thread secara tipikal
dikelola oleh sebuah library thread di ruang user. Kernel level thread didukung
dan dikelola oleh kernel sistem operasi. Secara umum, user level thread lebih
cepat dalam pembuatan dan pengelolaan dari pada kernel thread. Ada tiga
perbedaan tipe dari model yang berhubungan dengan user dan kernel thread.
Model
Many to One: Model Many-to-One memetakan beberapa thread tingkatan pengguna ke
sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam ruang
pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat mengakses
thread kernel pada satu saat. Jadi, multiple thread tidak dapat berjalan secara
paralel pada multiprocessor. Thread tingkat pengguna yang diimplementasi pada
sistem operasi yang tidak mendukung thread kernel menggunakan model
Many-to-One.
Model
Many to One
Model
One to One
Model
Many To Many: Model ini me-multipleks banyak thread tingkatan pengguna ke
thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna.
thread. Jumlah thread kernel spesifik untuk sebagian aplikasi atau sebagian
mesin. Many-to-One model mengizinkan developer untuk membuat user thread
sebanyak yang ia mau tetapi concurrency (berjalan bersama) tidak dapat
diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu
waktu. One-to-One menghasilkan concurrency yang lebih tetapi developer harus
hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi
(dalam beberapa hal, developer hanya dapat membuat thread dalam jumlah yang
terbatas). Model Many-to-Many tidak mengalami kelemahan dari dua model di atas.
Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread
yang bersangkutan dapat bejalan secara paralel pada multiprocessor. Dan juga
ketika suatu thread menjalankan blocking system call maka kernel dapat
menjadwalkan thread lain untuk melakukan eksekusi. Contoh sistem operasi yang
mendukung model ini adalah Solaris, IRIX, dan Digital UNIX.
Thread
terdiri dari ID thread, program counter,himpunan register dan stack. Thread
dapat melakukan lebih dari satu pekerjaan pada waktu yang sama
(multithreading). Thread bekerja sama dengan thread lain dalam penggunaan
bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat
secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Keuntungan
penggunaan thread :
>Tanggap
>Pemberdayaan
resorce
>Ekonomis
>Pemberdayaan
arsitektur multiprocessor
Single
thread dan multi thread
1.Single
thread >> process hanya mengeksekusi satu thread saja pada satu waktu
2.Multi
thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.
Model Multi thread
Sebelumnya,
perlu diketahui apa itu user thread dan kernel thread.
User
thread >> pengelolaan thread dilakukan oleh user level (pengguna)
Kernel
thread >> pengelolaan thread dilakukan oleh kernel komputer User tidak
dapat menginterupsi.
Sumber :
http://jifly.wordpress.com/2012/02/08/sistem-operasi-terdistribusi/
0 komentar: (+add yours?)
Posting Komentar