Anda di halaman 1dari 12

Nama : Andi Agung Dwi Arya B

Nim : 105841101818
RANGKUMAN SISTEM TERDISTRIBUSI

PENGENALAN SISTEM TERDISTRIBUSI

Definisi dan contoh 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.

Contoh Sistem Terdistribusi :

a. Intranet Jaringan (proprietary) yang teradministrasi secara lokal dan  dapat


terhubung ke internet melalui firewall juga adanya layanan internal dan eksternal
didalamnya.
b. Internet Jaringan global yang menghubungkan komputer satu sama lain dan dapat
berkomunikasi dengan media IP sebagai protokol.
c. World Wide Web Arsiteketur client/server terbuka yang diterapkan di atas
infrastuktur internet dan juga shared resources melalui URL.
d. Mobile dan sistem komputasi ubiguitos Sistem telepon Celullar (e.g. GSM) re.
Resources yang dishare : frekuensi radio, waktu transmisi dalam satu frekuensi,
bergerak, komputer laptop, ubiquitos computing, handheld devices, PDA, etc
e.  Sistem terdistribusi multimedia biasanya digunakan pada infrastruktur internet -
karakteristik Sumber data yang heterogen dan memerlukan sinkronisasi secara real
time -video, audio, text Multicast

Karakteristik Sistem Terdistribusi

Resource Access and Sharing

Kemampuan menggunakan hardware, software atau data dimanapun dan


kapanpun. Karakteristik ini juga yang menentukan siapa saja yang dapat mengakses
sebuah resource
dalam  sebuah  sistem  terdistribusi.  Salah  satu  contohnya  dalam  sebuah   web,   t
erdapat .htaccess yang hanya dapat diakses oleh user-user yang telah memiliki
grant access terhadap file tersebut.
Openness (Keterbukaan)

Sebuah keterbukaan dalam sistem terdistribusi memiliki pengertian kemampuan


sebuah sistem dalam mengembangkan fleksibilitas terhadap peningkatan kinerja
sebuah sistem. Seperti penambahan module baru dan ketersediaan extension /
plugin yang dapat terkoneksi dengan sistem lain. Contoh karakteristik ini misalkan
sebuah aplikasi web banking yang dapat terhubung dengan sistem web milik
perusahaan finance.

Concurrency

Semua proses dalam sistem terdistribusi dilakukan secara concurrency (secara


bersama-sama). Hal ini dilakukan untuk mencegah inkonsistensi dan ketidak valid
an sebuah data dan proses. Sebagai contoh dalam sebuah aplikasi web yang diakses
oleh banyak user. Ketika server melakukan sebuah update. Maka semua user yang
mengakses halaman web tersebut akan langsung mendapatkan update
terbaru tersebut.

Scalability

Skalabilitas memiliki pengertian bahwa sebuah sistem terdistribusi harus dapat


ditingkatkan kinerjanya tanpa mengubah komponen-komponen di dalamnya.
Sebagai contoh, sebuah aplikasi web yang digunakan oleh user yang terlalu banyak.
Maka untuk meningkatkan kinerja dari web tersebut agar tidak terjadi overload
atau system down maka perlu dilakukan upgrade processor dan ram. Dalam proses
upgrading tersebut, komponen dalam web tidak perlu diubah.

Fault Tolerance (Toleransi Kesalahan)

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 Sistem Terdistribusi

 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 

 Mendukung extensibility.-Setiap komponen memiliki antarmuka (interface), yang


di- publish ke komponen lain.Perlu integrasi berbagai komponen yang dibuat
olehprogrammer atau vendor yang berbeda.
Keamanan

 Shared resources & transmisi informasi rahasia perlu dilengkapi dengan enkripsi.
Cegah denial of service.-PS: Dibahas dalam kuliahCriptography & Information
Security.

Scalability

 Penambahan pemakai membutuhkan  penambahan  resource  yang  konstan.  Cegah


bottleneck Jika perlu, gunakan replikasi.

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

 Transparan: bagi pemakai, keberadaan beberapa komponen tampak sebaaig satu


sistem saja. Accesstransparency : Local & remote resources dapat diakses dengan
operasi yang sama.

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.

Protokol perlu diutamakan pada penggunaan standar teknis, untuk menspesifikasi


bagaimana membangun komputer atau menghubungkan peralatan perangkat keras.
Protokol secara umum digunakan pada komunikasi real-time dimana standar digunakan
untuk mengatur struktur dari informasi untuk penyimpanan jangka panjang.
RPC (Remote Procedure Call)

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.

RPC masih menggunakan cara primitif dalam pemrograman, yaitu menggunakan


paradigma procedural programming. Hal itu membuat kita sulit ketika menyediakan
banyak remote procedure. RPC menggunakan socket untuk berkomunikasi dengan proses
lainnya. Pada sistem seperti SUN, RPC secara default sudah ter-install kedalam sistemnya,
biasanya RPC ini digunakan untuk administrasi sistem. Sehingga seorang administrator
jaringan dapat mengakses sistemnya dan mengelola sistemnya dari mana saja, selama
sistemnya terhubung ke jaringan.

Studi kasus RPC

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:

–        Class Line dan MyInteger : Tidak berhubungan, Keduanya mengimplementasikan


method perbandingan

–    isGreater

–    isles

–    isEqual

◦   Untuk mengungkapkan sebuah interface pemrograman object tanpa pernyataan class

◦   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.

Ada dua cara dalam mengimplementasikan pustaka 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.

Implementasi Threads Pada User-Space

Kegunaan Thread yaitu Multithreading berguna untuk multi processor dan single
processor.

Kegunaan untuk system multi processor adalah :

·         Sebagai unit pararel atau tingkat granularitas pararelisme.

·         Peningkatan kinerja disbanding berbasis proses. Kegunaan multithreading pada


single processor, adalah :

·         Kerja foreground dan background sekaligus di satu aplikasi.

·         Penanganan asynchronous proseccing menjadi baik.

·         Mempercepat eksekusi program.

·         Pengorganisasian program menjadi lebih baik.

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

1.  Sistem Operasi Sebagai Kordinator.

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.

2.  Sistem Operasi Sebagai Penghubung.

Sistem operasi komputer berfungsi untuk menyiapkan serta menghubungkan program


aplikasi agar dapat berinteraksi dengan perangkat keras secara konsisten dan stabil.

3.  Sistem Operasi Sebagai Pelindung.

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.

4.  Sistem Operasi Sebagai Interpretasi (penerjemah).

Sistem Operasi berfungsi sebagai penerjemah perintah-perintah dan instruksi- instruksi


antara User dan Sistem. Sebagai fasilitas komunikasi yang mudah antara sistem komputer
dan User (pengguna).

5.  Sistem Operasi Sebagai Server (Pelayan).

Hal ini berarti fungsi dari sistem operasi komputer adalah untuk melayani segala sesuatu
yang dibutuhkan oleh seorang user (pengguna).

Komponen Inti Sistem Operasi

Komponen sistem operasi terdiri dari :

·         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.

·         Manajemen Sistem I/O Sering disebut device manager.

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

interpreter, commandline interpreter, dan UNIX shell. Command-Interpreter System sangat


bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan
tujuan dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch),
dan lain-lain.

Pengertian dan Fungsi Kernel

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

Konsep Dasar Proses Dalam Sistem Operasi

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 :

a.  New : proses baru diciptakan

b.  Running : proses sedang dijalankan

c. Waiting : proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan.

d.  Ready : proses menunggu untuk dilayani processor

           Process Control Block (PCB)

Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses.
Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :

·         Process State : berisi informasi status proses.

·         Program counter : berisi informasi mengenai alamat instruksi selanjutnya.

·         CPU register : berisi register2 CPU apa saja yang digunakan

·         CPU scheduling information : berisis penjadwalan proses beserta algoritmanya

·         Memory management information: berisi informasi tentang berapa jumlah memory


yang digunakan, limit register, tabel segment, dll berkenaan dengan penggunaan memory.

·         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.

Konsep Dasar Thread Dalam Sistem Operasi

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.

Anda mungkin juga menyukai