BAB I
PENDAHULUAN
1.
Latar Belakang
Perkembangan
pesat teknologi informasi menyebabkan bertambahnya permintaan suatu sistem,
baik berupa perangkat keras maupun perangkat lunak yang dapat digunakan dengan
baik dan cepat.
Permintaan
yang terus bertambah ini tidak sebanding dengan kemampuan perangkat keras yang
ada. Salah satu cara untuk mengatasi hal itu dibuat pengembangan di sisi
perangkat lunak dengan membuat suatu sistem virtual di mana beberapa perangkat
keras atau komputer dihubungkan dalam jaringan dan diatur oleh sebuah sistem
operasi yang mengatur seluruh proses yang ada pada setiap komputer tersebut
sehingga memungkinkan proses berjalan dengan cepat. Sistem operasi yang
mengatur proses ini sering disebut sebagai sistem operasi terdistribusi (distributed
operating system) .
Sistem operasi terdistribusi ini sekarang menjadi trend, terutama untuk research yang kadang membutuhkan CPU yang sangat cepat untuk melakukan perhitungan yang sangat kompleks. Dalam makalah ini akan dibahas mengenai sistem operasi terdistribusi, terutama untuk mengetahui apa dan bagaimana cara sistem ini bekerja.
Dewasa ini beberapa sistem
memiliki banyak prosesor per pengguna, baik dalam bentuk komputer
paralel atau koleksi besar CPU yang dibagi oleh komunitas pengguna yang kecil. Seperti biasanya disebut sistem parallel
atau terdistribusi sistem komputer.
Perkembangan ini menimbulkan
pertanyaan tentang jenis perangkat lunak apa yang akan dibutuhkan untuk sistem
baru ini. Untuk menjawab pertanyaan ini, sebuah
kelompok di bawah arahan Prof Andrew S. Tanenbaum pada Vrije Universiteit (VU) di Amsterdam (Belanda) telah
melakukan penelitian sejak tahun 1980 di bidang sistem komputer terdistribusi. Ini penelitian,
sebagian dilakukan dalam kerjasama dengan Centrum
voor Wiskunde en Informatica (CWI), telah mengakibatkan pengembangan suatu
sistem operasi terdistribusi baru, yang disebut Amoeba, yang dirancang untuk lingkungan yang terdiri dari sejumlah
besar komputer.
Amoeba ditujukan untuk komputasi terdistribusi baik (beberapa pengguna independen bekerja pada proyek-proyek yang berbeda) dan komputasi paralel (misalnya, satu pengguna menggunakan CPU 50 untuk bermain catur secara paralel). Sistem operasi ini juga menyediakan mekanisme yang diperlukan untuk melakukan keduanya aplikasi terdistribusi dan paralel, tetapi kebijakan sepenuhnya ditentukan oleh user-level program. Sebagai contoh, baik tradisional (yaitu berurutan) membuat dan paralel baru amake disediakan.
Saat pengguna akan menggunakan sistem operasi ini pengguna
akan ditampilkan suatu layar login yang hampir mirip dengan tampilan GUI dari
Linux. Tampilan login pada Sistem Operasi Amoeba dapat dilihat pada Gambar
berikut ini:
BAB II
PEMBAHASAN
1.
Pengertian
Amoeba adalah tujuan umum dari
sistem operasi terdistribusi. Ini
dirancang untuk mengambil koleksi mesin-mesin dan membuat mereka bertindak
bersama sebagai satu sistem terpadu. Di umum,
pengguna tidak mengetahui jumlah dan lokasi dari prosesor yang menjalankan
perintah, maupun jumlah dan lokasi dari file server yang menyimpan file. Untuk
pengguna biasa, sebuah sistem Amoeba terlihat seperti satu kuno time-sharing
sistem.
Amoeba adalah sebuah proyek
penelitian yang sedang berlangsung. Itu
harus dianggap sebagai platform untuk
melakukan penelitian dan pengembangan di
terdistribusi dan sistem paralel, bahasa, protokol dan aplikasi. Meskipun memberikan beberapa UNIX emulasi, dan pasti
UNIX-seperti rasa (termasuk lebih dari 100 UNIX-seperti utilitas), itu adalah
TIDAK plug-compatible pengganti
UNIX. Harus menarik bagi pendidik dan peneliti
yang ingin kode sumber sistem operasi terdistribusi untuk memeriksa dan
bermain-main dengan, serta untuk mereka yang membutuhkan basis untuk
menjalankan aplikasi terdistribusi dan paralel.
Amoeba ini ditujukan untuk
komputasi terdistribusi baik (beberapa pengguna independen bekerja pada
proyek-proyek yang berbeda) dan komputasi paralel (misalnya, satu pengguna
menggunakan CPU 50 untuk bermain catur secara paralel). Amoeba menyediakan mekanisme yang diperlukan untuk
melakukan keduanya aplikasi terdistribusi dan
paralel, tetapi kebijakan sepenuhnya ditentukan oleh user-level program.
Sebagai contoh, baik tradisional (yaitu
berurutan) membuat dan paralel baru amake disediakan.
2.
Konsep
Dasar dalam Amoeba
Bagian
berikut memberikan pengenalan Amoeba dan sebagian karakteristiknya.
2.1
Mikrokernel
Amoeba
ini dirancang dengan apa yang saat ini disebut sebagai arsitektur mikrokernel. Ini berarti bahwa setiap mesin dalam sebuah sistem
berjalan Amoeba kecil, identik sepotong software yang disebut kernel.
Kernel mendukung proses dasar, komunikasi, dan objek primitif. Mentah ini juga
menangani perangkat I / O dan memori manajemen. Segalanya lain yang dibangun
ontop fundamental ini, biasanya byuser-ruang server proses.
Dengan
demikian sistem terstruktur sebagai kumpulan proses independen. Beberapa ini
adalah proses pengguna, menjalankan program aplikasi. Proses tersebut disebut
klien. Proses server lainnya, seperti file Bullet server atau direktori server.
Fungsi dasar dari mikrokernel adalah untuk menyediakan sebuah lingkungan di
mana klien dan server dapat berjalan dan berkomunikasi dengan satu sama lain.
Desain modular ini membuat lebih mudah untuk memahami,
menjaga, dan memodifikasi sistem.
Sebagai contoh, karena file server adalah sebuah server terisolasi, bukan
menjadi seorang bagian integral dari sistem
operasi, adalah mungkin bagi pengguna untuk mengimplementasikan file baru server
untuk tujuan-tujuan khusus (misalnya NFS, database). Dalam sistem konvensional,
seperti UNIX, menambahkan tambahan yang
ditetapkan pengguna sistem file infeasible.
2.2 Threads
Dalam
banyak sistem operasi tradisional, suatu proses terdiri dari sebuah ruang
alamat dan benang tunggal kontrol. Dalam Amoeba, masing-masing proses memiliki
ruang alamat sendiri, tetapi mungkin berisi beberapa kontrol benang (benang).
Setiap thread memiliki programnya sendiri counter dan stack sendiri, tetapi
kode saham dan data global dengan semua benang lainnya dalam proses.
Setelah beberapa benang di dalam setiap proses yang nyaman
untuk berbagai tujuan dan sesuai
dengan model komputasi terdistribusi dan paralel dengan sangat baik. Sebagai
contoh, sebuah file server mungkin memiliki beberapa benang, masing-masing
thread awalnya menunggu permintaan masuk Ketika permintaan datang, diterima
oleh beberapa thread, yang kemudian mulai memproses itu. Jika itu thread blok
kemudian menunggu untuk disk I / O, benang lain dapat melanjutkan. Meskipun
mereka kontrol independen Namun, semua benang dapat mengakses blok Common
cache, menggunakan Semaphore untuk menyediakan sinkronisasi antar thread.
Desain ini membuat pemrograman server dan aplikasi paralel jauh lebih mudah.
Tidak
hanya proses pengguna terstruktur sebagai koleksi benang berkomunikasi dengan
RPC, tapi kernel juga. Secara khusus, benang di kernel menyediakan akses ke jasa manajemen memori.
2.3 Remote Procedure
Call
Threads
sering perlu untuk berkomunikasi dengan satu sama lain. Threads dalam satu
proses hanya dapat berkomunikasi melalui memori bersama, tetapi benang yang
terletak di berbagai proses memerlukan mekanisme
yang berbeda. Amoeba dasar mekanisme komunikasi prosedur remote
panggilan (RPC). Komunikasi terdiri dari benang klien mengirimkan pesan ke
server benang, kemudian menghalangi sampai server mengirimkan kembali benang
kembali pesan, dan pada saat klien diblokir.
Untuk
melindungi pengguna dari naif rincian ini, prosedur perpustakaan khusus, yang
disebut Rintisan bertopik, disediakan untuk mengakses layanan terpencil. Amoeba
memiliki bahasa khusus yang disebut Amoeba Interface
Language (AIL) untuk secara otomatis menghasilkan tulisan rintisan ini
prosedur. Mereka marshal parameter dan menyembunyikan rincian komunikasi
dari para pengguna.
2.4 Komunikasi
kelompok
Untuk banyak aplikasi, satu-ke-banyak komunikasi dibutuhkan,
di mana satu pengirim
ingin mengirim pesan ke beberapa penerima. Sebagai contoh, sekelompok kerjasama
server mungkin perlu melakukan ini ketika struktur data diperbarui. Juga sering
dibutuhkan untuk pemrograman paralel. Amoeba menyediakan fasilitas dasar untuk
dapat dipercaya, benar-benar-kelompok memerintahkan komunikasi, di mana semua
penerima dijamin untuk kelompok mendapatkan semua pesan dalam urutan yang sama
persis. Mekanisme ini menyederhanakan banyak terdistribusi dan pemrograman
paralel masalah.
2.4
Objek dan Kemampuan
Ada dua
konsep dasar di Amoeba : objek dan kemampuan. Semua layanan dan komunikasi yang
dibangun di sekitar mereka.
Sebuah
objek konseptual tipe data abstrak. Itu adalah, sebuah objek adalah sebuah
struktur data di mana operasi tertentu didefinisikan. Sebagai contoh, sebuah
direktori adalah obyek yang operasi tertentu dapat diterapkan, seperti nama
masukkan dan melihat upname.
Amoeba terutama perangkat lunak mendukung objek, tetapi objek
hardware juga ada. Tiap
objek ini dikelola oleh proses server yang dapat dikirim RPCs. Setiap RPC menentukan
objek yang akan digunakan, operasi harus dilakukan, dan setiap parameter yang
akan berlalu.
Ketika
sebuah objek dibuat, server melakukan penciptaan membangun sebuah 128-bit disebut kemampuan dan mengembalikannya ke pemanggil. Operasi
berikutnya pada objek meminta user untuk mengirimkan kemampuan server untuk
kedua menentukan objek dan membuktikan pengguna memiliki izin untuk
memanipulasi objek. Kemampuan terlindungi cryptographically untuk mencegah
gangguan. Semua benda di seluruh sistem diberi nama dan dilindungi menggunakan
satu ini sederhana, transparan skema.
2.5
Memory Management
Amoeba
model memori yang sederhana dan efisien. Sebuah ruang alamat proses terdiri dari satu atau lebih segmen pengguna dipetakan
ke alamat virtual yang ditentukan. Ketika proses
pelaksanaan, semua segmen dalam memori. Ada swapping atau paging di sekarang, dengan demikian Amoeba hanya dapat
menjalankan program yang cocok di memori fisik. Keuntungan utama dari skema ini adalah kesederhanaan dan kinerja
tinggi. Kekurangan utama adalah bahwa tidak mungkin untuk menjalankan
program lebih besar daripada memori fisik.
2.6
Input / Output
I / O juga ditangani oleh kernel benang. Untuk membaca mentah blok dari disk, misalnya, proses pengguna memiliki otorisasi yang tepat, apakah
RPCs dengan disk I / O thread di kernel. Pemanggil
tidak menyadari bahwa server benar-benar sebuah kernel thread, sejak antarmuka
pengguna kernel benang dan benang adalah identik. Secara umum, hanya
file server dan sistem serupa seperti proses berkomunikasi dengan kernel I / O
benang.
3. Arsitektur Amoeba
Arsitektur
Amoeba Terdiri Dari 4 Bagian Komponen Yaitu:
·
Pertama adalah workstation, Workstation
atau komputer personal mengeksekusi proses yang memerlukan interaksi dari user
seperti text editor atau manager berbasis window. Server khusus memiliki fungsi
untuk melakukan tugas yang spesifik. Server ini mengambil alih proses yang
memerlukan I/O yang khusus dari larikan disk.Saat iniSuns, IBM PC/AT
clones dan X terminals dapat digunakan sebagai workstation.
·
Kedua adalah specialized servers, seperti server direktori, server file, server boot, dan
berbagai server lain dengan fungsi khusus. Setiap server didedikasikan untuk
melakukan fungsi yang spesifik. Dalam beberapa kasus, ada beberapa server yang
menyediakan fungsi yang sama.
·
Ketiga adalah gateway, yang digunakan untuk
menghubungkan sistem Amoeba di lokasi yang berbeda dan dari berbagai negara ke
dalam sistem tunggal yang seragam. Gateway mengisolasi Amoeba dari keanehan
pada protokol yang harus digunakan selama wide-area jaringan.
·
Keempat adalah pool processors, pool processors mengambil
alih semua proses yang lain. Tiap unit biasanya terdiri dari processor, local
memory dan network connection. Tiap processor mengerjakan satu buah proses
sampai processor yang tidak digunakan habis. Untuk selanjutnya proses yang lain
berada dalam antrian menunggu proses yang lain selesai.
4.
Tujuan
Desain
Tujuan desain dasar Amoeba adalah:
-
Distribution à Connecting bersama banyak mesin
- Parallelism à Allowing pekerjaan individu untuk menggunakan beberapa CPU dengan
mudah
-
Transparency à Having koleksi komputer bertindak seperti sistem tunggal
-
Performance à Achieving
semua di atas dalam cara yang efisien
Amoeba adalah
sebuah sistem terdistribusi, di mana
beberapa mesin dapat dihubungkan bersama. Mesin-mesin
ini tidak perlu semua akan dari jenis yang sama. Mesin dapat ditularkan sekitar bangunan pada sebuah LAN. Amoeba
menggunakan performa tinggi protokol jaringan FLIP untuk LAN komunikasi. Jika sebuah mesin Amoeba memiliki lebih dari satu
antarmuka jaringan itu akan secara otomatis bertindak sebagai router FLIP
antara berbagai jaringan dan dengan demikian menghubungkan berbagai LAN
bersama.
Amoeba
juga merupakan sistem paralel. Ini berarti bahwa satu pekerjaan atau program
dapat menggunakan beberapa prosesor untuk mendapatkan kecepatan. Sebagai
contoh, sebuah cabang dan boundproblem seperti Traveling
Salesman Problem dapat menggunakan puluhan atau bahkan ratusan CPU, jika
tersedia, semua bekerja sama untuk memecahkan masalah lebih cepat. Large
back end Multiprocessors, misalnya, bisa
dimanfaatkan dengan cara ini sebagai mesin menghitung besar.
Tujuan utama lainnya adalah transparansi. Pengguna
tidak perlu tahu nomor atau lokasi dari CPU,
maupun tempat di mana file tersebut disimpan. Demikian pula,
masalah-masalah seperti file replikasi ditangani
sebagian besar secara otomatis, tanpa campur tangan pengguna bythe.
Dimasukkan ke dalam istilah yang berbeda, seorang pengguna
tidak login ke mesin tertentu, tetapi ke dalam sistem secara keseluruhan. Tidak ada konsep mesin rumah. Setelah log in,
pengguna tidak harus memberikan perintah remote
login khusus untuk mengambil keuntungan dari beberapa prosesor atau melakukan
operasi mount remote khusus untuk mengakses file jauh. Untuk pengguna, seluruh sistem seperti satu sistem operasi time
sharing konvensional.
Kinerja dan kehandalan selalu isu kunci dalam sistem operasi,
jadi upaya substansial telah pergi ke dalam berurusan dengan mereka. Secara khusus, dasar mekanisme komunikasi telah dioptimalkan untuk memungkinkan pesan yang
akan dikirim dan balasan diterima dengan penundaan yang minimum, dan untuk
memungkinkan blok besar data yang akan dikirimkan dari mesin mesin
bandwidth tinggi. Blok bangunan ini berfungsi
sebagai dasar untuk pelaksanaan kinerja tinggi subsistem dan aplikasi onAmoeba.
5.
Konsep Dan Cara Kerja
Pada
awalnya Amoeba telah dikembangkan dengan beberapa ide:
·
komputer menjadi lebih murah dengan akses
lebih cepat secara pesat. Dalam satu dekade kita telah mengalami kemajuan dari
awalnya beberapa orang menggunakan kompuer secara bersama-sama hingga setiap
orang dapat memiliki komputer masing-masing,sebagaimana komputer yang
berkembang dan terus menjadi semakin semakin murah hal ini memungkinkan bagi
setiap orang untuk memiliki lebih dari kmputer untuk pemakaian individual. Hal
ini sudah terjadi sampai batas tertentu.
·
berkaitan dengan luas penggunaan dan
peningkatan performa dari jaringan komputer. Kebutuhan akan sebuah keseragaman
dalam mekanisme komunikasi antar omputer yang keduanya berada dalam suatu
jaringan lokal maupun dalam jaringan yang lebih luas sudah jelas untuk beberapa
aplikasi.
Ide mendasar dari Sistem
Operasi Amoeba adalah untuk memberikan ilusi dari sebuah sistem timesharing
tunggal yang powerfull, ketika faktanya adalah bahwa sistemnya
diimplementasikan pada sebuah koleksi mesin, berpotensi didistribusikan ke
beberapa negara. Tujuan desain utama adalah untuk membangun sebuah sistem
terditribusi yang kecil, mudah digunakan, memiliki prosesor dalam jumlah yang
banyak, memiliki derajat toleransi kesalahan, meiliki performa yang tinggi,
termasuk kemungkinan untuk paralelismen dan yang terutama adalah agar dapat
digunakan secara transparan kepada pengguna.
Yang dimaksudkan
dengan trasparan dapat digambarkan dengan membandingkan dengan sistem operasi
jaringan, dimana setiap mesin mempertahankan identitasnya sendiri. Dengan
sebuah sisem operasi jaringan, masing-masing pengguna log ke dalam bagian mesin
tertentu, yaitu bagian ‘home machine’ mereka. Ketika sebuah program dimulai,
hal tersebut dieksekusi pada home machine, kecuali pengguna memberikan perintah
eksplisit untuk mengeksekuis di tempat lain. Demikian pula dengan berkas-berkas
lokal, kecuali sebuah remote sistem berkas secara explicit dipasang atau
berkas-berkas telah disalin secara eksplisit.Singkatnya, para pengguna sadar
bahwa terdapat beberapa komputer independen, dan harus berhubungan dengan hal
tersebut secara eksplisit.
Sebaliknya, dalam
sebuah sisem terdisribusi yang tansparan, pengguna dapat secara efektif masuk
ke sistem secara keseluruhan, dan bukan ke beberapa mesin tertentu. Saat sebuah
program dijalankan, sistem yang akan memutuskan dimana yang paling baik untuk
menjalankan program tersebut, bukan pengguna yang menentukan. Penggun bahkan
tidak menyadari pilihan ini. Akhirnya, ada sebuah sistem penamaan objek secara
keseluruhan. Berkas-berkas yang berada pada sebuah direktori tunggal dapat
dilokasikan pada mesin yang berbeda bahakan mungkin negara yang berbeda. Tidak
ada konsep transfer berkas, mengunggah atau mengunduh dari server, atau
memasang remote sistem berkas.
BAB III
KESIMPULAN
Amoeba adalah sistem
berbasis mikro-kernel yang tangguh yang menjadikan banyak workstation personal
menjadi satu sistem terdistribusi secara transparan. Sistem ini sudah banyak
digunakan di kalangan akademik, industri, dan pemerintah selama sekitar 5
tahun. Sistem operasi terdistribusi Amoeba telah dikembangkan dan digunakan
sejak 1981. Amoeba awalnya dirancang dan diimplementasikan di Vrije
Universiteit di Amsterdam, Belanda oleh Prof. Andrew S. Tanenbaum dan dua
murid Ph.D. nya Sape Mullender dan Robbert van Renesse.
Amoeba tersedia gratis untuk
universitas dan lembaga pendidikan lainnya dan komersial khusus harga dan
kondisi perusahaan, pemerintah, dan pengguna lain, seperti yang dijelaskan
kemudian.
Amoebaadalah salah satu sistem
operasi yang merupakan bagian dari penelitian Profesor Andrew S. Tanenbaum yang
juga perintis MINIX. Amoeba didesain untuk sekumpulan mesin komputer yang
terhubung untuk membuat mesin-mesin itu bekerja bersama sebagai satu sistem
yang terintegrasi. Tujuan utamanya adalah distribusi, pararelisme, transparansi
dan kinerja.
Kelahiran Amoeba juga meruapakan sebuah proyek penelitian yang sedang berlangsung dan dianggap sebagai platform untuk melakukan penelitian dan pengembangan sistem terdistribusi dan sistem paralel, bahasa, protokol dan aplikasi. Meskipun memberikan beberapa UNIX emulasi, dan pasti UNIX-seperti rasa (termasuk lebih dari 100 UNIX-seperti utilitas), itu adalah tidak plug-compatible pengganti UNIX.
DAFTAR PUSTAKA
http://iwan.staff.gunadarma.ac.id/Downloads/files/22155/4_Sistem+Operasi+Terdistribusi.pdf, 26 september 2011
http://www.scribd.com/doc/16677284/Jenis-Sistem-Operasi-Terdistribusi, 27 september 2011 http://dhy-tha.blogspot.com/2012/01/sistem-operasi-terdistribusi.html
Stallings
(2005). Operating Systems, Internals and Design Principles