AMOEBA (SISTEM TERDISTRIBUSI)
1. Pendahuluan
Secara kasar, kita dapat membagi sejarah komputasi modern ke dalam era berikut:
- 1970-an: Timesharing (1 komputer dengan banyak pengguna)
- 1980-an: Personal komputer (1 komputer per user)
- 1990-an: Komputasi paralel (banyak komputer per user)
Sampai sekitar tahun 1980, komputer besar, mahal, dan terletak di
pusat-pusat komputer. Kebanyakan organisasi memiliki satu mesin besar.
Tahun 1980-an, harga turun ke titik di mana setiap user bisa
memiliki-nya komputer pribadi atau workstation. Mesin-mesin ini sering
jaringan bersama-sama, sehingga pengguna dapat melakukan remote login
pada komputer orang lain atau berbagi file dalam berbagai cara.
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 tersedia gratis untuk universitas dan
lembaga pendidikan lainnya dan komersial khusus harga dan kondisi
perusahaan, pemerintah, dan pengguna lain, seperti yang dijelaskan
kemudian.
2. Definisi Amoeba
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.
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.
3. Konsep Dasar dalam Amoeba
Bagian berikut memberikan pengenalan Amoeba dan sebagian karakteristiknya.
3.1. Mikrokernel + Server Arsitektur
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.
3.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.
3.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.
3.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.
3.5. 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.
3.6. 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.
3.7. 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.
4. Sistem Arsitektur Amoeba
Sejak komputasi terdistribusi dan paralel berbeda dari komputer
pribadi, itu pertama bermanfaat menggambarkan jenis konfigurasi hardware
yang Amoeba adalah dirancang. Amoeba tipikal sistem akan terdiri dari
tiga kelas fungsional mesin. Pertama, setiap pengguna memiliki
workstation untuk menjalankan antarmuka pengguna, sistem jendela X.
Workstation ini bisa menjadi teknik khas workstation, atau terminal X
khusus. Hal ini sepenuhnya didedikasikan untuk menjalankan antarmuka
pengguna, dan tidak perlu melakukan lain komputasi.
Kedua, terdapat sebuah kolam prosesor yang secara dinamis
dialokasikan untuk pengguna sebagai diperlukan. Prosesor ini dapat
menjadi bagian dari sebuah multiprosesor atau multicomputer, menjadi
koleksi komputer papan tunggal atau menjadi kelompok dialokasikan untuk
workstation tujuan. Biasanya, setiap kolam prosesor memiliki beberapa
megabyte memori swasta, yaitu, renang prosesor tidak perlu memiliki
memori bersama (tetapi tidak dilarang). Komunikasi dilakukan dengan
mengirimkan paket-paket di atas LAN. Semua berat komputasi prosesor yang
terjadi di kolam.
Ketiga, ada server khusus, seperti direktori file server dan server
yang dijalankan sepanjang waktu. Mereka dapat berjalan di kolam prosesor
prosesor, atau pada hardware khusus, seperti yang diinginkan.
Semua komponen ini harus terhubung dengan LAN cepat. Saat ini hanya Ethernet didukung, tapi port LAN lain yang mungkin.
5. Manajemen Berkas Amoeba
Dalam sistem operasi terdistribusi, sistem berkas dipetakan dengan
baik dengan berorientasi pada objek yang ada dan kapabilitasnya. Hal ini
akan menjadi berkesan abstrak, terutama untuk kelas pengguna. Ada
tingkatan yang lebih ekstra dalam pemetaan berkas yang ada, mulai dari
simbol, pengurutan nama path, dan kapabilitasnya. Melalui sistem ini
objek lokal tidak ada bedanya dengan objek publik. Dalam sistem ini ada
semacam tingkatan akses yang sebenarnya mirip UNIX. Setiap user dan
group memiliki hak akses yang berbeda-beda pada setiap berkas atau
folder yang ada pada sistem operasi terdisstribusi.
Dalam implementasi sistem Amoeba, terutama di negeri Belanda dimana
hak akses yang dimiliki pengguna terbatas pada hak baca, tulis/membuat,
dan hapus. Dengan hal ini, maka keamanan server dapat terjaga. Pelayanan
terhadap direktori yang ada dibuat sangat ketat dalam hal keamanan.
Bahkan dibuat semacam kode acak yang akan menyandikan sehngga tidak
mudah dibaca oleh siapapun. Kode penyandiannya akan digunakan lagi oleh
sistem untuk mengembalikan seperti semula kepada user. Kode ini hanya
akan diberikan kepada pemilik tersebut. Sehingga ketika user mengakses
berkas yang bersangkutan, maka kode penyandi akan dibuat oleh sistem,
agar pemilik dapat membacanya. Pelayanan direktori ini juga
bertanggungjawab dalam hal backup sistem. Hal ini akan menyebabkan
selalu dalam keadaan yang aman, dan lebih kebal terhadap gangguan yang
terjadi di dalam sistem, karena pelayanan direktori ini menyimpan cache
dari atau direktori yang berada pada sistem.
Sumber:
http://malupeng.files.wordpress.com/2010/03/amoeba-operating-system.docx
http://naeli.staff.gunadarma.ac.id/Downloads/files/8482/Sistem+Operasi+Terdistribusi.pdf
http://www.scribd.com/doc/38205899/53/Manajemen-Berkas
http://dablugen.blogspot.com/2012/04/manajemen-berkas-dalam-sistem-operasi.html
http://tugasso.blog.com/manajemen-file/
Tidak ada komentar:
Posting Komentar