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.
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
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 One-to-One memetakan setiap thread tingkatan pengguna ke thread kernel. Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahannya model ini ialah setiap pembuatan thread pengguna memerlukan pembuatan thread kernel. Karena pembuatan thread dapat menurunkan kinerja dari sebuah aplikasi maka implmentasi dari model ini jumlah thread dibatasi oleh sistem. Contoh sistem operasi yang mendukung model One-to-One ialah Windows NT dan OS/2.
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/
Tidak ada komentar:
Posting Komentar