• Konkurensi. Sitem terdistribusi memungkinkan beberapa proses dapat
beroperasi pada saat yang sama pada berbagai computer di jaringan. Proses ini dapat tapi tidak perlu berkomunikasi satu dengan lainnya pada saat
operasi normalnya. •
Skalabilitas. Sitem terdistribusi dapat diskala dengan meng-upgrade atau menambahkan sumber daya baru untuk memenuhi kebutuhan sistem.
• Toleransi kesalahan. Sitem terdistribusi bersifat toleran terhadap beberapa
kegagalan perangkat keras dan lunak dan layanan terdegradasi dapat diberikan ketika terjadi kegagalan.
• Transparansi. Sitem terdistribusi adalah bersifat terbuka bagi pengguna.
Gambar 2. 3 Arsitektur Sistem Terdistribusi Sumber : skullbox.net
2.3.1 Raspberry Pi
Raspberry Pi merupakan sebuah single board computer dengan resource minimal yang dibuat untuk dapat memperkenalkan pelajaran mengenai koding kepada
masyarakat oleh Raspberry Foundation. Raspberry pi berukuran kecil seperti kartu
Universitas Sumatera Utara
ATM. Raspberry pi banyak digunakan sebagai alat untuk menerapkan konsep Internet of Things IoT.
Raspberry pi menjalankan sistem operasi berbasis linux sebagai sistem operasi utamanya. Distro yang digunakan berasal dari turunan debian yang
dimodifikasi untuk spesifikasi raspberry pi yang dinamakan Raspbian. Pada saat sekarang, raspberry pi telah mencapai generasi ketiga dengan penambahan berbagai
module nirkabel pada board-nya.
Gambar 2. 4 Raspbery Pi 2 Sumber : raspberrypi.org 2.3.2 Message Passing
Menurut Silberchatz proses di dalam sistem operasi dieksekusi secara konkuren dan mungkin berbeda antara proses independen dan proses yang saling bekerjasama.
Sebuah proses dikatakan independen apabila tidak mempengaruhi dan dipengaruhi oleh proses lain yang diekseskusi di dalam sistem. Setiap proses yang tidak membagi
data dengan proses lainnya dikatakan independen. Sebuah proses dikatakan bekerjasama apabila proses tersebut dapat mempengaruhi dan dipengaruhi oleh proses
yang lainnya di dalam sistem yakni dengan ditandai adanya data yang dibagi antar proses. Proses yang saling bekerjasama membutuhkan mekanisme komunikasi antar
proses IPC yang memungkinkan mereka saling berbagi data dan informasi. Ada 2 model fundamental mengenai komunikasi antar proses yaitu : Shared Memory dan
Message Passing.
Universitas Sumatera Utara
Message Passing menyediakan mekanisme yang mengizinkan proses saling berkomukasi dan sinkronisasi tanpa membagi address space di dalam memory. Hal ini
banyak digunakan pada komputer yang saling terkoneksi dalam sebuah jaringan. Dalam mekanisma message passing, dikenal 2 model operasi yaitu : send dan
receive. Silberchatz, 2013 Untuk dapat saling berkomunikasi, setiap proses harus memenuhi beberapa
persyaratan yaitu : •
Naming Penamaan Setiap proses yang akan berkomunikasi harus memiliki pengenal antara satu
dan lainnya disebut dengan proses ID PID. •
Sychronization Setiap proses yang mengirimkan pesan satu dengan yang lainnya haruslah
saling sinkron. Mekanisme sinkronisasi komunikasi antar proses dapat bersifat synchronous dan asynchronous.
• Buffer
Komunikasi secara langsung maupun tidak langsung biasanya menyisakan pesan yang terdapat pada antrian sementara di dalam memory.
2.3.3 Multithreading