Nim : 105841101818
RANGKUMAN SISTEM TERDISTRIBUSI
Sistem Terdistribusi terdiri dari dua kata yaitu “Sistem” dan “Terdistribusi”. Sistem
terdistribusi merupakan sekumpulan elemen yang saling berhubungan satu dengan yang
lainnya dan membentuk satu kesatuan untuk menyelesaikan satu tujuan yang spesifik atau
menjalangkan sperangkat fungsi. Adapun terdistribusi berasal dari kata “distribusi” yang
merupakan lawan kata “sentralisasi” yang artinya penyebaran, sirkulasi, penyerahan,
pembagian menjadi bagian-bagian kecil.
Karakteristik Sistem Terdistribusi
Concurrency
Scalability
Kesalahan pasti terjadi dalam sebuah sistem. Entah itu disebabkan karena masalah
jaringan, power supply, bencana alam atau human error. Sebuah sistem
terdistribusi dirancang memliki kemampuan untuk menangani hal-hal tersebut.
Contoh dalam hal ini adalah dibangunnya sebuah clustering server. Dimana ketika
server utama mengalami down karena beberapa penyebab kesalahan, maka
extended server langsung membackup sistem utama dan menggantikannya.
Transparency
Secara umum, transparansi disini tidak berlaku untuk user biasa yang
mengutamakan fungsionalitas, apakah ia sedang menggunakan sistem yang
terdistribusi atau tidak. Namun secara khusus bagi seorang pengelola baik itu
developer atau administrator sistem sangat perlu untuk mengetahui arsitektur dari
sistem yang sedang digunakan karena untuk mempermudah bagi mereka dalam
mengembangkan dan memelihara sistem tersebut.
Model Client Server
Sistem client-server mempunyai satu atau lebih proses client dan satu atau lebih proses
server, dan sebuah proses client dapat mengirim query ke sembarang proses server.
Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur
data dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah
personal komputer dan mengirim query ke sebuah server yang berjalan
pada mainframe.
Arsitektur ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi
yang relatif sederhana karena pembagian fungsi yang baik dan karena server
tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terpengaruh pada
interaksi pemakai, meskipun mesin client tidak mahal. Ketiga, pemakai dapat
menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah dibandingkan
antar muka pada server yang tidak user- friendly. perlu diingat batasan antara client
dan server dan untuk menjaga komunikasi antara keduanya yang berorientasi
himpunan.
Permasalahan Sistem Terdistribusi
Keheterogenan
Suatu sistem terdistribusi dpt dibangun dr berbagai n/w, o/s, h/w, & p/l yg
berbeda. IP dpt digunakan untuk mengatasi perbedaan jaringan.
Middleware mengatasi perbedaan lainnya.
Keterbukaan
Shared resources & transmisi informasi rahasia perlu dilengkapi dengan enkripsi.
Cegah denial of service.-PS: Dibahas dalam kuliahCriptography & Information
Security.
Scalability
Penanganan Kegagalan
Setiap proses (komputer atau jaringan) dpt mengalami kegagalan secara independen.
Komponen lain harus tetap berjalan dengan baik. E.g. failed branch in a distributed banking
system. Concurrency
Multiple users with concurrent requests to a shared resources. Setiap
resource hrs aman di lingkungan tersebut di atas.
Transparansi
KOMUNIKASI
Protocol
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan
terjadinya hubungan, komunikasi, dan perpindahan data antara dua atau lebih
titik komputer. Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau
kombinasi dari keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi
perangkat keras.
Remote Procedure Call (RPC) adalah sebuah metode yang memungkinkan kita
untuk mengakses sebuah prosedur yang berada di komputer lain. Untuk dapat
melakukan ini sebuah server harus menyediakan layanan remote
procedure.Pendekatan yang dilakuan adalah sebuah server membuka socket, lalu
menunggu client yang meminta prosedur yang disediakan oleh server. Bila client tidak tahu
haruS menghubungi port yang mana, client bisa me-request kepada sebuah matchmaker
pada sebuah RPC port yang tetap. Matchmaker akan memberikan port apa yang digunakan
oleh prosedur yang diminta client.
Contoh studi kasus RPC yaitu pada jasa penge-print-an di rental pengetikan yang di
dalamnya terdapat 1 komputer server, beberapa komputer client dan sebuah printer yang
hanya terhubung dengan server. User dari computer client ingin mencetak data dari
komputernya. Biasanya user memindah data dengan bantuan device external seperti
disket,flash disk, hard disk, atau cd-rw. Namun dengan RPC hal tersebut akan menjadi lebih
efisien.
Solusi : Dengan RPC, untuk mencetak data dari computer client, computer client
mengirim pesan “cetak” kepada computer server. Kemudian computer server menerima
perintah tersebut dan kemudian menjalankan perintah mencetak data. Setelah itu server
mengirimkan pesan pada client berupa informasi “file telah dicetak”.
Object Interface
Pengertian Interface adalah Himpunan operasi – operasi yang menentukan perilaku sebuah
objek, biasanya digunakan apabila kita ingin menentukan apa saja yang harus dillakukan
oleh satu class tetapi tidak menentukan bagaimana cara untuk melakukannya.
Untuk memiliki class yang tidak berhubungan yang mengimplementasikan method yang
sama.
Contoh:
– isGreater
– isles
– isEqual
◦ Untuk model multi inheritance yang mengijinkan sebuah class untuk memiliki lebih dari
satu superclass.
PROSES
Thread
Pengertian Thread
Thread adalah sebuah alur kontrol dari sebuah proses. 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.
Pustaka Thread
Pustaka Thread atau yang lebih familiar dikenal dengan Thread Library bertugas untuk
menyediakan API untuk programmer dalam menciptakan dan memanage thread.
a. Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga
pemanggilan fungsi tidak melalui system call. Jadi, jika kita memanggil fungsi yang sudah
ada di pustaka, maka akan menghasilkan pemanggilan fungsi call yang sifatnya lokal dan
bukan system call.
b. Menyediakan API di level kernel yang didukung secara langsung oleh sistem operasi.
Pemanggilan fungsi call akan melibatkan system call ke kernel.
Ada tiga pustaka thread yang sering digunakan saat ini, yaitu: POSIX Pthreads, Java, dan
Win32. Implementasi POSIX standard dapat dengan cara user level dan kernel level,
sedangkan Win32 adalah kernel level. Java API thread dapat diimplementasikan oleh
Pthreads atau Win32.
Kegunaan Thread yaitu Multithreading berguna untuk multi processor dan single
processor.
· Mempercepat eksekusi program.
Manfaat utama banyak thread di satu proses adalah memaksimumkan derajat kongkurensi
antara operasi-operasi yang terkait erat. Aplikasi jauh lebih efisien dikerjakan sebagai
sekumpulan thread disbanding sekumpulan proses.
Client – Server
Pengertian Client Server
Server adalah komputer yang dapat memberikan service ke client, sedangkan client adalah
komputer yang mengakses beberapa service yang ada di server.
Ketika client membutuhkan suatu service yang ada di server, dia akan mengirim request
kepada server lewat jaringan. Jika request tersebut dapat dilaksanakan, maka server akan
mengirim balasan berupa service yang dibutuhkan untuk saling berhubungan
menggunakan Socket.
SISTEM OPERASI TERDISTRIBUSI
Fungsi Sistem Operasi
Dalam hal ini sistem operasi berfungsi untuk mengatur semua aktivitas yang kompleks dari
perangkat lunak sistem/perangkat lunak aplikasi yang sedang dijalankan agar dapat
berjalan sesuai dengan urutan yang benar. Selain mengatur semua aktivitas perangkat
lunak, sistem operasi juga bertugas mengatur/mengelola semua aktivitas yang
berhubungan dengan hardware, baik input device ataupun output device.
Hal ini dimaksudkan bahwa salah satu fungsi atau tugas dari sistem operasi adalah untuk
memegang kendali proses, melindungi file dan memberi batasan pada pembacaan dan
penulisan serta eksekusi data dan program. Sistem operasi juga dapat berfungsi sebagai
pengatur tentang siapa saja yang dapat mengakses file, program dan sistem yang ada di
komputer kita.
Hal ini berarti fungsi dari sistem operasi komputer adalah untuk melayani segala sesuatu
yang dibutuhkan oleh seorang user (pengguna).
· Manajemen Proses Proses
adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses membutuhkan
beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya tersebut dapat berupa
CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.
· Manajemen Memori Utama
Memori utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari
word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan. Setiap
word atau byte mempunyai alamat tersendiri. Memori Utama berfungsi sebagai tempat
penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O.
· Manajemen Penyimpanan Sekunder
Data yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil.
Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer dibutuhkan
secondarystorage yang bersifat permanen dan mampu menampung banyak data. Contoh
dari secondarystorage adalah harddisk, disket, dll.
Menyediakan "device driver" yang umum sehingga operasi I/O dapat seragam (membuka,
membaca, menulis, menutup). Contoh: pengguna menggunakan operasi yang sama untuk
membaca berkas pada hard-disk, CD-ROM dan floppy disk.
· Manajemen Berkas
Berkas adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat
berkas tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori,
volume, dll.). Sistem operasi bertanggung-jawab : pembuatan dan
penghapusan berkas, pembuatan dan penghapusan direktori, mendukung manipulasi
berkas dan direktori, memetakan berkas ke secondary storage, mem-backup berkas ke
media penyimpanan yang permanen (non-volatile).
· Sistem Proteksi
Proteksi mengacu pada mekanisme untuk mengontrol akses yang dilakukan oleh program,
prosesor, atau pengguna ke sistem sumber daya. Mekanisme proteksi harus: membedakan
antara penggunaan yang sudah diberi izin dan yang belum.
· Jaringan Sistem terdistribusi
adalah sekumpulan prosesor yang tidak berbagi memori atau clock. Tiap prosesor
mempunyai memori sendiri. Prosesor-prosesor tersebut terhubung melalui jaringan
komunikasi Sistem terdistribusi menyediakan akses pengguna ke bermacam sumber-daya
sistem.
· Command-Interpreter System
Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang
membaca instruksi dan mengartikan control statements umumnya disebut: control-card
Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem
operasi. karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu
program yang harus dilayani dalam waktu yang bersamaan maka kernel juga bertugas
untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian
perangkat keras tersebutTugasnya melayani bermacam program aplikasi untuk
mengakses perangkat keras komputer secara aman. Kernel berfungsi layaknya jembatan
yang menghubungkan antara software dan hardware pada komputer.
Fungsi utama kernel adalah untuk mengelola sumber daya komputer dan memungkinkan
program lain untuk menjalankan dan menggunakan sumber daya koputer tersebut. Untuk
menjalankan aplikasi suatu kernel pertama kali harus menyediakan space address untuk
aplikasi lalu men-load file yang berisi kode aplikasi ke dalam memory, mempersiapkan
stack untuk program dan percabangan ke lokasi lain untuk program, dan kemudian baru
memulai eksekusi program.
Proses dan Thread
Proses dalam sistem operasi adalah suatu bagian dari program yang berada pada status
tertentu dalam rangkaian eksekusinya. Di dalam bahasan Sistem Operasi, kita lebih sering
membahas proses dibandingkan dengan program.
Secara informal, proses adalah program dalam eksekusi. Suatu proses adalah lebih dari
kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk
aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter
dan isi dari daftar prosesor/ processor's register.
Process State
Status proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan.
Beberapa status tersebut ialah :
Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses.
Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :
· I/O status information : berisi informasi tentang perangkat apa saja yang digunakan
dalam proses.
· Accounting : berisi informasi tentang statistik eksekusi proses seperti waktu yang
diperlukan, jumlah proses, dll.
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 dan proses dengan thread yang banyak
adalah proses dengan thread banyak dapat mengerjakan lebih dari satu tugas pada satu
satuan waktu.