Distributed
Operating System
Munawar, PhD
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 dimana 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.
How google search engine works
Sistem operasi yang mengatur proses ini sering disebut
sebagai sistem operasi terdistribusi (distributed
operating system) .
Sistem operasi terdistribusi ini sekarang menjadi trend,
terutama untuk riset yang kadang membutuhkan CPU
yang sangat cepat untuk melakukan perhitungan yang
sangat kompleks.
Suatu sistem operasi terdistribusi yang sejati adalah
yang berjalan pada beberapa buah mesin, yang tidak
melakukan sharing memori, tetapi terlihat bagi user
sebagai satu buah komputer single.
Pengguna tidak perlu memikirkan keberadaan
perangkat keras yang ada, seperti prosesor. Contoh
dari sistem seperti ini adalah Amoeba.
Sistem operasi terdistribusi berbeda dengan sistem
operasi jaringan. SO jaringan memiliki ciri-ciri sebagai
berikut:
a. Tiap komputer memiliki sistem operasi sendiri
b. Tiap PC memiliki sistem file sendiri, dimana data disimpan
c. SO tiap komputer dapat berbeda-beda atau heterogen
d. Pengguna harus memikirkan keberadaan komputer lain
yang terhubung, dan harus mengakses, biasanya
menggunakan remote login (telnet)
e. File system dapat digunakan dengan dukungan NFS
Arsitektur Distibuted OS
SO adalah
Sistem operasi (OS) adalah sekumpulan software yang
mengatur sumber daya di hardware komputer dan
memberikan layanan bagi program komputer.
Sistem Operasi merupakan komponen penting dari
sistem perangkat lunak dalam sebuah komputer. Program
aplikasi biasanya membutuhkan sistem operasi untuk
bisa berfungsi.
Untuk fungsi hardware seperti I/O dan alokasi
memory, sistem operasi berfungsi sebagai perantara
antara program dengan komputer hardware. Meskipun
demikian aplikasi dijalankan secara langsung oleh
hardware dan biasanya akan melakukan system call ke
fungsi di OS atau di-interupsi oleh OS tersebut.
SO Modern
Sistem operasi dapat ditemukan di hampir semua alat
yang mempunyai fungsi komputer mulai
dari handphone, video game hingga super komputer dan
web server.
Contoh sistem operasi modern
Android, BSD, iOS, Linux, Mac OS
X, Microsoft Windows, and IBM z/OS.
Semuanya, kecuali Windows dan z/OS, mempunyai akar
yang sama yaitu Unix
Tipe Sistem Operasi
(1) Real-time
Sistem operasi real-time adalah sebuah sistem
operasi multitasking yang ditujukan untuk menjalankan aplikasi real-
time.
Sistem Operasi real-time biasanya menspesialisasikan pada
algoritma scheduling (penjadwalan) sehingga mereka dapat
mencapai perilaku yang deterministik.
Tujuan utama sebuah sistem operasi real-time adalah respons yang
cepat dan dapat diprediksi untuk berbagai kejadian.
Sistem operasi ini dirancang berdasarkan event-driven atau time-
sharing atau kedua-nya.
Sebuah sistem event-driven melakukan switching antar task
berdasarkan prioritas atau kejadian (event) dari luar,
sementara sistem operasi time-sharing melakukan switching antar
task berbasis pada interupsi clock.
Tipe Sistem Operasi
(2) Multi-user
Sistem operasi multi-user memungkinkan banyak pengguna
untuk mengakses sistem komputer pada saat yang sama.
Sistem time-sharing dan server di Internet dapat dikategorikan
sebagai sistem multi-user karena mereka memungkinkan
banyak pengguna untuk mengakses komputer dengan cara
berbagai waktu (sharing time).
Sistem operasi single user hanya satu pengguna tapi dapat
menjalankan multiple program pada saat yang sama.
Tipe Sistem Operasi
(3) Multi-tasking vs. single-tasking
Sebuah sistem operasi multi-tasking memungkinkan lebih dari
satu program untuk berjalan pada satu saat, dilihat dari skala
waktu manusia.
Sebuah sistem single-tasking hanya dapat menjalankan satu
program. Ada dua tipe Multi-tasking, yaitu: (1) pre-emptive dan
(2) co-operative. Pada pre-emptive multitasking, SO akan
membagi CPU time dan mendedikasikan satu slot untuk setiap
program.
Di SO Unix-like, seperti, Solaris dan Linux, biasanya
mendukung pre-emptive multitasking, seperti juga AmigaOS.
Cooperative multitasking dapat dicapai dengan cara saling
mengandalkan satu sama lain untuk memberikan waktu / slot
time ke proses yang lain dengan aturan yang baku.
Tipe Sistem Operasi
(4) Sistem Terdistribusi
Sebuah sistem operasi terdistribusi mengatur sebuah
kelompok dari komputer yang independen dan membuat
mereka tampak seperti satu buah komputer.
Dengan perkembangan jaringan komputer
memungkinkan sambungan dan komunikasi satu sama
lain untuk membangun distributed computing.
Komputasi terdistribusi dilakukan oleh lebih dari satu
mesin. Jika komputer dalam satu group bekerjasama,
maka mereka akan membangun sebuah distributed
system / sistem terdistribusi.
Tipe Sistem Operasi
(5) Sistem Embedded
Sistem operasi embedded dirancang untuk digunakan di
sistem komputer embedded.
Sistem operasi embedded dioperasikan di mesin kecil
seperti PDA (Personal Digital Assistant), atau Smartphone.
Sistem operasi ini dapat beroperasi dengan sumber daya
yang sangat terbatas. Sistem operasi ini dirancang agar
sangat kecil dan sangat effisien.
Contoh dari sistem operasi embedded ini adalah OpenWRT.
SO Terdistribusi
Sistem operasi terdistribusi adalah salah satu implementasi
dari sistem terdistribusi, dimana sekumpulan komputer dan
prosesor yang heterogen terhubung dalam satu jaringan.
Koleksi-koleksi dari objek-objek ini secara tertutup bekerja
secara bersama-sama untuk melakukan suatu tugas atau
pekerjaan tertentu.
Tujuan utamanya adalah untuk memberikan hasil secara
lebih, terutama dalam:
o file system
o name space
oWaktu pengolahan
oKeamanan
oAkses ke seluruh resources, seperti prosesor, memori,
penyimpanan sekunder, dan perangkat keras
SO Terdistribusi
Sistem operasi terdistribusi bertindak sebagai sebuah infrastruktur/rangka dasar untuk network-transparent resource management.
Infrastruktur mengatur low-level resources (seperti Processor, memory, network interface dan peripheral device yang lain) untuk menyediakan sebuah platform untuk pembentukan/penyusunan higher-level resources (seperti Spreadsheet, electronic mail messages, windows).
Manfaat SO Terdistribusi
Shared Resource.
Walaupun perangkat sekarang sudah memiliki kemampuan yang
cepat dalam proses- proses komputasi, atau misal dalam
mengakses data, tetapi pengguna masih saja menginginkan
sistem berjalan dengan lebih cepat. Apabila hardware terbatas,
kecepatan yang diinginkan user dapat di atasi dengan
menggabung perangkat yang ada dengan sistem DOS.
Manfaat Komputasi
Salah satu keunggulan sistem operasi terdistribusi ini adalah
bahwa komputasi berjalan dalam keadaan paralel. Proses
komputasi ini dipecah dalam banyak titik, yang mungkin berupa
komputer pribadi, prosesor tersendiri, dan kemungkinan perangkat
prosesor- prosesor yang lain. Sistem operasi terdistribusi ini
bekerja baik dalam memecah komputasi ini dan baik pula dalam
mengambil kembali hasil komputasi dari titik-titik cluster untuk
ditampilkan hasilnya
Manfaat SO Terdistribusi
Reliabilitas
Fitur unik yang dimiliki oleh DOS ini adalah reliabilitas.
Berdasarkan design dan implementasi dari design sistem
ini, maka hilangnya satu node tidak akan berdampak
terhadap integritas sistem. Hal ini berbeda dengan PC,
apabila ada salah satu hardware yang mengalami
kerusakan, maka sistem akan berjalan tidak seimbang,
bahkan sistem bisa tidak dapat berjalan atau mati.
Komunikasi
Sistem operasi terdistribusi berjalan dalam jaringan dan
biasanya melayani koneksi jaringan. Sistem ini umumnya
digunakan user untuk proses networking. User dapat saling
bertukar data, atau saling berkomunikasi antar titik baik
secara LAN maupun WAN.
DOS versus NOS
Suatu sistem operasi terdistribusi yang sejati adalah yang berjalan
pada beberapa buah mesin, yang tidak melakukan sharing memori,
tetapi terlihat bagi user sebagai satu buah komputer single. Contoh
dari sistem seperti ini adalah Amoeba.
Untuk dapat membedakannya, sistem operasi jaringan memiliki ciri-
ciri sebagai berikut:
Tiap komputer memiliki sistem operasi sendiri
Tiap personal komputer memiliki sistem file sendiri, di mana data-data
disimpan
Sistem operasi tiap komputer dapat berbeda-beda atau heterogen
Pengguna harus memikirkan keberadaan komputer lain yang terhubung,
dan harus mengakses, biasanya menggunakan remote login (telnet)
File system dapat digunakan dengan dukungan NFS Sistem
Contoh dari sistem ini adalah UNIX dan LINUX Server.
Skema NOS
Komunikasi kelompok
Dalam sistem tersebar, komunikasi dapat melibatkan
banyak proses sekaligus, tidak hanya dua. Misalnya
sekelompok file server memberi layanan file dan
menyediakan kemampuan fault tolerance.
Pada sistem fault tolerance, client mengirim pesan ke
semua server untuk menjamin dilayani oleh satu server
Contoh aplikasi SO Terdistribusi
Contoh SO Terdistribusi
Amoeba (Vrije Universiteit). Amoeba adalah sistem
berbasis mikro-kernel yang tangguh yang menjadikan
banyak workstation personal menjadi satu sistem
terdistribusi secara transparan.
Amoeba
Amoeba is a powerful microkernel-based system that
turns a collection of workstations or single-board
computers into a transparent distributed system.
It has been in use in academia, industry, and
government for about 5 years.
It runs on the SPARC (Sun4c and Sun4m), the 386/486,
68030, and Sun 3/50 and Sun 3/60.
At the Vrije Universiteit, Amoeba
runs on a collection of 80 single-
board SPARC computers
connected by an Ethernet, forming
a powerful processor pool.
It is used for research in distributed
and parallel operating systems,
runtime systems, languages, and
applications.
Sistem Amoeba ini tumbuh dari bawah hingga
akhirnya tumbuh menjadi sistem operasi terdistribusi.
Inilah keunggulan sistem operasi terdistribusi dalam
hal reliabilitas. Apabila ada satu unit pemroses yang
mati, maka proses yang dialokasikan harus di restart,
tetapi integritas sistem tidak akan terganggu, apabila
proses deteksi berjalan dengan baik.
Desain sistem ini memungkinkan untuk 10 sampai 100
prosesor. Spesifikasi perangkat keras yang harus
disediakan pada tiap cluster minimalnya adalah :
File server: 16 MB RAM, 300MB HD, Ethernet card.
Workstation: 8 MB RAM, monitor, keyboard, mouse
Pool processor: 4 MB RAM, 3.5” floppy drive
Komponen Amoeba
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.
Gateway berfungsi untuk mengambil alih tugas untuk terhubung ke jaringan WAN.
Procesor pool mengambil alih semua proses yang lain. Tiap unit ini biasanya terdiri dari prosesor, memori lokal, dan koneksi jaringan. Tiap prosesor mengerjakan satu buah proses sampai prosesor yang tidak digunakan habis.
Komponen Amoeba
Untuk selanjutnya proses yang lain berada dalam antrian
menunggu proses yang lain selesai. Inilah keunggulan
sistem operasi terdistribusi dalam hal reliabilitas. Apabila
ada satu unit pemroses yang mati, maka proses yang
dialokasikan harus di restart, tetapi integritas sistem tidak
akan terganggu, apabila proses deteksi berjalan dengan
baik.
Arsitektur Software
Sistem operasi terdistribusi sejati memiliki arsitektur
software yang unik. Arsitektur software ini dikarakterkan
dalam objek di dalam hubungan antara klien dan server.
Proses-proses yang terjadi di klien menggunakan remote
procedure yang memanggil dan mengirimkan request ke
server untuk memproses data atau objek yang dibawa.
Tiap objek yang dibawa memiliki karakteristik yang
disebut sebagai kapabilitas.
Kapabilitas ini besarnya adalah 128 bits. 48 bits pertama
menunjukkan servis mana yang memiliki objek tersebut. 24
bits berikutnya adalah nomor dari objek. 8 bits berikutnya
menampilkan operasi yang diijinkan terhadap objek yang
bersangkutan. Dan 48 bits terakhir merupakan “check field”
yang merupakan field yang telah terenkripsi agar tidak
dapat dimodifikasi oleh proses yang lain.
Operasi diselesaikan oleh RPC (remote procedure calls)
yang dibuat oleh klien di dalam proses yang kecil dan
ringan. Proses dengan tipe seperti ini memiliki bidang
alamat sendiri, dan bisa saja memiliki satu atau lebih
hubungan. Hubungan ini ketika berjalan memiliki program
counter dan stack sendiri, tetapi dapat saling berbagi kode
dan data antara hubungan lain di dalam proses.
Manajemen Berkas
Dalam sistem operasi terdistribusi ini 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 semacan 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 terdistribusi.
Manajemen Berkas
Dalam implementasi sistem Amoeba, hak akses yang
dimiliki pengguna terbatas pada hak baca file,
tulis/membuat file, dan hapus file. Dengan hal ini, maka
keamanan server dapat terjaga.
Pelayanan terhadap direktori yang ada dibuat sangat
ketat dalam hal keamanan. Bahkan dibuat semacan
kode acak yang akan menyandikan file tersebut
sehingga tidak mudah dibaca oleh siapapun. Kode
penyandinya akan digunakan lagi oleh sistem untuk
mengembalikan file seperti semula kepada user. Kode ini
hanya akan diberikan kepada pemilik file tersebut. Jadi
ketika user mengakses file/berkas yang bersangkutan,
maka kode penyandi akan dibuat oleh sistem, agar
pemilik file dapat membacanya.
Manajemen Proses
Dalam sistem operasi terdistribusi yang sejati, tiap
proses berada pada alamat segmen-segmen virtual.
Proses-proses ini dapat memiliki lebih dari satu
hubungan. Kaitan-kaitan ini dialokasikan ke prosesor-
prosesor sampai semua prosesor habis digunakan.
Hasil dari manajemen proses seperti ini menghasilkan
utilisasi yang lebih baik, dimana tidak perlu switch
apabila harus ada proses yang berat, karena satu proses
dialokasikan ke satu prosesor.
Proses memiliki dua macam keadaan, yaitu proses
sedang berjalan atau sedang stunned. Stunned terjadi
bila proses masih ada, tetapi tidak melakukan
eksekusi apapun, atau sedang dalam proses debug.
Pada keadaan ini kernel memberitahu komunikator
(kernel yang lain) adanya proses yang dalam keadaan
stunned. Kernel yang lain tersebut berusaha
berkomunikasi dengan proses itu sampai proses di-kill
atau proses tersebut berjalan kembali. Debugging dan
migrasi pada proses ini selesai setelah adanya
stunning.
Kelemahan SO Terdistribusi
Perawatan tiap cluster yang sangat sulit, selain itu juga boros
daya, karena harus menghidupkan banyak CPU,
membutuhkan jaringan berkecepatan tinggi.
Kelemahan-kelemahan tersebut sebenarnya tidak seberapa
jika dibandingkan dengan hasilnya. Misalnya saja search
engine paling ramai seperti Google™, yang menggunakan
teknologi ini, karena hardware yang paling canggih saat ini
masih belum mencukupi untuk menangani jutaan request ke
server Google tiap detiknya, sehingga mereka harus membuat
sistem pararel yang mampu melayani keperluan tersebut.
Selain itu dalam dunia research, juga diperlukan sistem ini,
terutama untuk melakukan perhitungan-perhitungan yang
tentu saja sangat rumit dan membutuhkan pemroses yang
hebat dan cepat supaya dapat segera dicari hasilnya.
Distributed OS – Munawar, PhD