Sistem Operasi
Terdistribusi
Politeknik Elektronika Negeri Surabaya Institut Tekonolgi Sepuluh Nopember
Tujuan Pembelajaran
Diharapkan agar Mahasiswa dapat :
Memahami definisi sistem operasi terdistribusi dan
dapat memberikan contoh nyata
Mengetahui karakteristik sistem operasi terdistribusi
Mengetahui model sistem operasi terdistribusi
Mengetahui permasalahan-permasalahan yang terjadi
pada sistem operasi terdistribusi
Pokok Bahasan
Penamaan dan Pengalamatan
Primitif Komunikasi
Sinkronisasi Clock
Penjaminan mutual-exclusion
Penanganan deadlock
Manajemen proses tersebar
Sistem file tersebar
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.
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.
Sistem
Terdistribusi
Politeknik Elektronika Negeri Surabaya Institut Tekonolgi Sepuluh Nopember
Sistem Terdistribusi
Sistem terdistribusi (tersebar) adalah sekumpulan
komputer otonom yang ditautkan pada jaringan
komunikasi dengan perangkat lunak dirancang untuk
menghasilkan satu fasilitas komputasi terpadu
Secara historis, komputasi terdistribusi telah difokuskan
pada masalah penyebaran perhitungan antara
beberapa sistem yang bersama-sama bekerja pada
masalah.
Abstraksi komputasi terdistribusi paling sering
digunakan adalah RPC – Remote Procedure Call. RPC
memungkinkan fungsi remote akan dipanggil
seolah-olah itu adalah satu lokal
Tujuan Komputasi Terdistribusi
Tujuan utama dari sistem komputasi terdistribusi
adalah untuk menghubungkan para pengguna dan
sumber daya dalam cara yang transparent, open dan
scalable. Idealnya, ini akan membuat sistem lebih
fault-tolerant daripada sistem komputer stand-alone.
Openness merupakan properti dari sistem terdistribusi
dimana setiap sub-sistem secara kontinu terbuka untuk
berinteraksi dengan sistem lain.
Protokol web services adalah standard yang
memungkinkan sistem terdistribusi extend dan
di-scale.
Secara umum, suatu sistem terbuka yang bersifat
scalable memberikan keuntungan lebih dibandingkan
sistem yang tertutup dan self-contained (menyatu).
Tantangan Sistem Terdistribusi
Monotonicity. Begitu sesuatu dipublikasikan di dalam sistem
terbuka (open system) maka tidak dapat diambil kembali.
Pluralism. Sub-sistem-subsistem berbeda dalam sistem open
distributed dapat mempunyai informasi yang heterogen, mungkin pula overlap dan menyebabkan konflik. Tidak ada pengatur
kebenaran sentral dalam sistem open distributed.
Unbounded nondeterminism. Secara asinkron,
subsistem-subsistem dapat naik dan turun, dan link komunikasi dapat masuk dan keluar antar sub-sistem dalam sistem open distributed. Karena itu, waktu yang diperlukan untuk menyelesakan suatu operasi tidak dapat dibatasi dan dipastikan.
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.
Keuntungannya adalah :
• Increased data availability.
Sistem Terdistribusi
Prosesor dalam sistem terdistribusi bervariasi, dapat
berupa small Microprocessor, workstation, dan
Why Distributed Systems?
Scale
Processing Data
Diversity in Application Domains
Collaboration
Why Distributed Systems?
A. Big data continues to grow:
In mid-2010, the information universe carried 1.2 zettabytes and 2020 predictions expect nearly 44 times more at 35 zettabytes coming our way.
Why Distributed Systems?
C. Individual computers have limited resources compared to scale of current day problems & application domains:
1. Caches and Memory:
L1 Cache L2 Cache
L3 Cache
Main Memory
16KB- 64KB, 2-4 cycles 512KB- 8MB, 6-15 cycles 4MB- 32MB, 30-50 cyclesWhy Distributed Systems?
2. Hard Disk Drive:
Limited capacity
Limited number of channels
Why Distributed Systems?
P L1 L2 P L1 L2 Cache P L1 P L1 P L1 Interconnect 3. Processor: The number of transistors that can be integrated on a single die has continued to grow at Moore’s pace.
Why Distributed Systems?
3. Processor (cont’d):
Up until a few years ago, CPU speed grew at the rate of 55% annually, while the memory speed grew at the rate of only 7% [H & P].
Memory Memory P L1 L2 P L1 L2 Cache P L1 P L1 P L1 Interconnect
Why Distributed Systems?
Even if 100s or 1000s of cores are placed on a CMP, it is a challenge to deliver input data to these cores fast enough for processing.
A Data Set of 4 TBs
4 100MB/S IO Channels
10000 seconds (or 3 hours) to load data Memory P L1 L2 Cache P L1 P L1 P L1 InterconnectWhy Distributed Systems?
Only 3 minutes to
load data
A Data Set (data) of 4 TBs Splits Memory P L1 L2 Memory P L1 L2 100 Machines
Requirements
But this requires:
A way to express the problem as parallel processes
and
execute
them
on
different
machines
(
Programming Models and Concurrency
).
A way for processes on different machines to
exchange information (
Communication
).
A way for processes to cooperate, synchronize with
one
another
and
agree
on
shared
values
(
Synchronization
).
A way to enhance reliability and improve performance
(
Consistency and Replication
).
Requirements
But this requires (Cont.):
A way to recover from partial failures (
Fault
Tolerance
).
A way to secure communication and ensure that a
process gets only those access rights it is entitled to
(
Security
).
A way to extend interfaces so as to mimic the
behavior of another system, reduce diversity of
platforms, and provide a high degree of portability and
flexibility (
Virtualization
)
Sistem Terdistribusi
Karakteristik Sistem Terdistribusi
Concurrency of components. Pengaksesan suatu
komponen/sumber daya (segala hal yang dapat digunakan
bersama dalam jaringan komputer, meliputi H/W dan S/W) secara bersamaan. Contoh: Beberapa pemakai browser mengakses
halaman web secara bersamaan
No global clock. Hal ini menyebabkan kesulitan dalam
mensinkronkan waktu seluruh komputer/perangkat yang terlibat. Dapat berpengaruh pada pengiriman pesan/data, seperti saat beberapa proses berebut ingin masuk ke critical session.
Independent failures of components. Setiap
komponen/perangkat dapat mengalami kegagalan namun komponen/perangkat lain tetap berjalan dengan baik.
Mengapa Sistem Terdistribusi
Resource Sharing. Dalam sistem terdistribusi, situs-situs yang
berbeda saling terhubung satu sama lain melalui jaringan
sehingga situs yang satu dapat mengakses dan menggunakan sumber daya yang terdapat dalam situs lain. Misalnya, user di situs A dapat menggunakan laser printer yang dimiliki situs B dan sebaliknya user di situs B dapat mengakses file yang terdapat di situs A.
Computation Speedup. Apabila sebuah komputasi dapat
dipartisi menjadi beberapa subkomputasi yang berjalan
bersamaan, maka sistem terdistribusi akan mendistribusikan subkomputasi tersebut ke situs-situs dalam sistem. Dengan
demikian, hal ini meningkatkan kecepatan komputasi (computation
Mengapa Sistem Terdistribusi
Reliability. Dalam sistem terdistribusi, apabila sebuah situs
mengalami kegagalan, maka situs yang tersisa dapat melanjutkan operasi yang sedang berjalan. Hal ini menyebabkan reliabilitas sistem menjadi lebih baik.
Communication. Ketika banyak situs saling terhubung melalui
jaringan komunikasi, user dari situs-situs yang berbeda mempunyai kesempatan untuk dapat bertukar informasi.
Tantangan Sistem Terdistribusi
Heterogen. Suatu sistem terdistribusi dapat dibangun
dari berbagai macam perangkat yang berbeda, baik
sistem operasi, H/W maupun S/W.
Keterbukaan. Setiap perangkat memiliki antarmuka
(interface) yang di-publish ke komponen lain. Perlu
integrasi berbagai komponen yang dibuat
oleh programmer atau vendor yang berbeda
Keamanan. Shared resources dan transmisi
Tantangan Sistem Terdistribusi
Penangan kegagalan. Setiap perangkat dapat
mengalami kegagalan secara independen. Namun,
perangkat lain harus tetap berjalan dengan baik.
Concurrency of components. Pengaksesan suatu
komponen/sumber daya secara bersamaan oleh
banyak pengguna.
Transparansi. Bagi pemakai, keberadaan berbagai
perangkat (multiplisitas perangkat) dalam sistem
terdistribusi tampak sebagai satu sistem saja
Fitur Sistem Terdistribusi
Data Migration. Misalnya, user di situs A ingin
mengakses data di situs B. Maka, transfer data dapat
dilakukan melalui dua cara, yaitu dengan mentransfer
keseluruhan data atau mentransfer sebagian data yang
dibutuhkan untuk immediate task.
Computation Migration. Terkadang, kita ingin
mentransfer komputasi, bukan data. Pendekatan ini
yang disebut dengan computation migration
Process Migration. Ketika sebuah proses dieksekusi,
Fitur Sistem Terdistribusi
Mengapa Process Migration ?
Load balancing. Proses atau subproses-subproses didistribusikan ke jaringan untuk
memeratakan beban kerja.
Computation speedup. Apabila sebuah proses dapat dibagi menjadi beberapa
subproses yang berjalan bersamaan di situs yang berbeda-beda, maka total dari process turnaround time dapat dikurangi.
Hardware preference. Proses mungkin mempunyai karakteristik tertentu yang
menyebabkan proses tersebut lebih cocok dieksekusi di prosesor lain.Misalnya, proses inversi matriks, lebih cocok dilakukan di array processor daripada
di microprocessor Software preference. Proses membutuhkan software yang
tersedia di situs lain, di mana software tersebut tidak dapat dipindahkan atau lebih murah untuk melakukan migrasi proses daripada software Data access.
Sistem operasi terdistribusi menyediakan semua fitur di atas dengan
kemudahan penggunaan dan akses dibandingkan dengan sistem operasi jaringan
Tipe Jaringan dalam Sistem Terdistribusi
Local Area Network (LAN). LAN muncul pada awal tahun
1970-an sebagai pengg1970-anti dari sistem komputer mainframe. LAN, didesain untuk area geografis yang kecil. Misalnya, LAN
digunakan untuk jaringan dalam sebuah bangunan atau beberapa bangunan yang berdekatan. Umumnya, jarak antara situs satu dengan situs yang lain dalam LAN berdekatan. Oleh karena itu, kecepatan komunikasinya lebih tinggi dan peluang terjadi
kesalahan (error rate) lebih rendah. Dalam LAN, dibutuhkan high
quality cable supaya kecepatan yang lebih tinggi dan reliabilitas
tercapai. Jenis kabel yang biasanya dipakai adalah
Tipe Jaringan dalam Sistem Terdistribusi
Tipe Jaringan dalam Sistem Terdistribusi
Wide Area Network. WAN muncul pada akhir tahun 1960-an,
digunakan sebagai proyek riset akademis agar tersedia layanan komunikasi yang efektif antara situs, memperbolehkan
berbagi hardware dansoftware secara ekonomis antar pengguna. WAN yang pertama kali didesain dan dikembangkan
adalah Arpanet yang pada akhirnya menjadi cikal bakal
dari Internet. Situs-situs dalam WAN tersebar pada area geografis yang luas. Oleh karena itu, komunikasi berjalan relatif lambat dan reliabilitas tidak terjamin. Hubungan antara link yang satu dengan yang lain dalam jaringan diatur oleh communication processor.
Tipe Jaringan dalam Sistem Terdistribusi
Topologi Sistem
Terdistribusi
Tipe Jaringan dalam Sistem Terdistribusi
Situs-situs dalam sistem terdistribusi dapat terhubung melalui
berbagai macam cara yang ditentukan berdasarkan kriteria-kriteria sebagai berikut:
Biaya instalasi. Biaya menghubungkan situs-situs dalam sistem.
Biaya komunikasi. Besar waktu dan uang untuk mengirimkan
pesan dari satu situs ke situs lainnya.
Ketersediaan/availabilitas. Sampai sejauh mana data dapat
diakses walaupun terdapat kegagalan pada beberapa link atau situs.
Topologi Jaringan
Fully Connected Network
Tiap situs dalam Fully Connected Network terkoneksi secara
langsung dengan situs lainnya. Link yang ada menjadi banyak dan menyebabkan biaya instalasi besar. Topologi jenis ini tidak praktis untuk diterapkan dalam sistem yang besar.
Topologi Jaringan
Partially Connected Network
Link yang ada hanya antara beberapa situs sehingga biaya
instalasi menjadi lebih rendah. Namun, biaya komunikasi bisa menjadi lebih mahal. Misalkan, situs A ingin mengakses data di situs E, maka jalan yang ditempuh menuju situs E harus melalui situs B terlebih dahulu karena tidak ada link langsung dari situs A ke situs E. Semakin jauh jalan yang ditempuh, biaya komunikasi semakin mahal. Selain itu, availibilitas atau ketersediaan data kurang baik dibandingkan dengan Fully Connected Network. Misalkan, jika terjadi failure site atau kegagalan situs di C maka akses ke situs F menjadi tidak ada.
Topologi Jaringan
Partially Connected Network terdiri dari:
Tree-structured network. Biaya instalasi dan komunikasi pada
topologi jenis ini biasanya rendah. Namun, jika terjadi failure
link atau failure site maka pengaksesan data menjadi terhambat
dan mengakibatkan availibilitas/ketersediaan menjadi rendah.
Star network. Biaya komunikasi rendah karena setiap situs paling
banyak mengakses dua link ke situs lain. Namun, bila
terjadi failure site di situs pusat maka setiap situs tidak akan dapat mengakses situs lainnya sehingga availibilitas/ketersediaan pada topologi jenis star network rendah.
Ring network. Biaya komunikasi tinggi karena jika ingin
Kegagalan Sistem Terdistribusi
Dalam sistem terdistribusi terdapat berbagai
macam kegagalan :
Kegagalan perangkat keras (hardware failure)
seperti kegagalan link atau failure link,
kegagalan situs atau failure site, dan
Oleh karena itu, untuk menjamin kekuatan sistem atau
disebut juga robustness maka sistem terdistribusi harus
mampu melakukan pendeteksian kegagalan,
mereparasi sistem, dan mengkonfigurasinya kembali.
Sebuah sistem terdistribusi harus menyediakan
mekanisme sinkronisasi proses dan komunikasi, agar
terhindar dari deadlock serta dapat
mengatasi failure yang tidak muncul dalam sistem
terpusat.
Contoh Aplikasi
Sistem kendali manufaktur
Sistem kendali penerbangan
Sistem alih telepon
Sistem perbankan otomatis
Arsitektur Sistem Terdistribusi
Model Workstation
Model Penampungan Pemroses (processors pool)
Model workstation. Sistem berisi workstation (PC) yang
tersebar dan dihubungkan dengan LAN berkecepatan
tinggi
Model penampungan pemroses. Terdapat satu rak
pemroses. Pemroses tersebut dapat dialokasikan ke
pemakai sesuai permintaan secara otomatis.
Disediakan terminal grafis dengan kinerja tinggi
Model hibrid. Kompromi dilakukan dimana pemakai
Sistem Operasi
Terdistribusi
Pokok Bahasan
Penamaan dan Pengalamatan
Komunikasi Primitif
Sinkronisasi Clock
Penjaminan mutual-exclusion
Penanganan deadlock
Manajemen proses tersebar
Sistem file tersebar
Pengantar
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)
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
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-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
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.
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
o Waktu pengolahan
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,
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)
Komunikasi di sistem
terdistribusi
Pengalamatan dan Penamaan
Nama adalah identifier (pengenal) yang yang
diterjemahkan oleh pemakai atau program. Nama
diterjemahkan menjadi bentuk untuk menjalankan aksi
pada sumberdaya yang diacu
Pengalamatan dan penamaan sumberdaya/objek pada
sistem tersebar harus bersifat global, tidak bergantung
pada lokasi objek, dapat ditingkatkan untuk sistem
besar dan diterjemahkan secara efisien sehingga
tidakmengurangi kinerja sistem
Pengalamatan
Di Internet, yang menggunakan protokol TCP/IP,
identifier berisi dua bagian
• Host identifier, disebut alamat IP berisi 4 oktet (byte)
• Port number, identifikasi port komunikasi tertentu (2 byte)
Cara implementasi pengalamatan
• Dipasang pada kode client secara langsung
• Terdapat nama server, yang mencarikan alamat untuk suatu nama tertentu
Komunikasi dalam sistem tersebar
Komunikasi dalam sistem tersebar dapat dikategorikan
menjadi dua:
• Komunikasi dua pihak; menggunakan model message-passing dan Remote Procedure Call (RPC)
• Komunikasi kelompok
Model message-passing direduksi menjadi 2 system
call, yaitu :
• Send (destination, message)
Remote Procedure Calls
Tujuan RPC adalah pemanggilan prosedur jauh
(dikerjakan di mesin lain) seperti pemanggilan prosedur
lokal.
Pemrogram menulis program tanpa peduli apakah
prosedur akan dijalankan di pemroses lokal atau di
pemroses jauh
RPC memungkinkan proses di suatu sistem memanggil
prosedur di proses lain pada mesin lain
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 SO Terdistribusi
Amoeba (Vrije Universiteit). Amoeba adalah sistem
berbasis mikro-kernel yang tangguh yang menjadikan
banyak workstation personal menjadi satu sistem
terdistribusi secara transparan.
Contoh SO Terdistribusi
Angel (City University of London). Angel didesain
sebagai sistem operasi terdistribusi yang pararel,
walaupun sekarang ditargetkan untuk PC dengan
jaringan berkecepatan tinggi. Model komputasi ini
memiliki manfaat ganda, yaitu memiliki biaya awal yang
cukup murah dan juga biaya incremental yang rendah
Contoh SO Terdistribusi
Chorus (Sun Microsystems). CHORUS merupakan keluarga dari sistem operasi berbasis mikro-kernel untuk mengatasi kebutuhan komputasi terdistribusi tingkat tinggi di dalam bidang telekomunikasi, internetworking, sistem tambahan, realtime, sistem UNIX, supercomputing, dan kegunaan yang tinggi.
Contoh SO Terdistribusi
GLUnix/Global Layer Unix (University of California, Berkeley). Sampai saat ini, workstation dengan modem tidak memberikan hasil yang baik untuk membuat eksekusi suatu sistem operasi terdistribusi dalam lingkungan yang shared dengan aplikasi yang berurutan. Hasil dari penelitian ini adalah untuk menempatkan resource untuk performa yang lebih baik baik untuk aplikasi pararel maupun yang seri/berurutan.
Contoh SO Terdistribusi
Guide (Grenoble Universities Integrated Distributed Environment) adalah sistem operasi terdistribusi yang berorientasi obyek untuk pempangunan dan operasi dari aplikasi terdistribusi pada PC atau server dengan jaringan yang tersambung LAN.
Guide adalah hasil penggabungan Bull and the IMAG Research Institute (Universities of Grenoble), yang telah membangun Bull-IMAG joint Research Laboratory. Ini juga memiliki kaitan erat dengan COMANDOS Esprit Project (Construction and Management of Distributed Open Systems) dan BROADCAST Esprit Basic Research project.
Contoh SO Terdistribusi
Hurricane memiliki hierarki sebagai sistem operasi dengan cluster yang merupakan implementasi dari Hector multiprocessor.
Peng-cluster-an mengatur resource pada sistem, menggunakan
pasangan yang ketat antara cluster, dan kehilangan pasangan pada cluster.
Prinsip sistem terdistribusi diaplikasikan dengan mendistribusikan dan mereplika servis pada sistem dan objek data untuk
meningkatkan kelokalan, meningkatkan konkurensi, dan untuk mencegah sistem terpusat, sehingga membuat sistem berimbang.
Contoh SO Terdistribusi
Mach (Carnegie Mellon University) adalah satu dari beberapa komunitas penelitian tentang sistem operasi. Sistem ini aslinya dimulai di CMU, dan Mach menjadi basis dari banyak sistem
penelitian. Walaupun pekerjaan dengan Mach di CMU sudah lama tidak diterapkan, tetapi masih banyak kelompok-kelompok lain
yang masih menggunakan Mach sebagai basis pada penelitiannya.
Mach at OSF (OSF Research Institute). OSF Research Institute masih menggunakan teknologi yang dimulai dari CMU dan
menggunakan ini sebagai basis dari banyak penelitian, termasuk sistem operasi untuk mesin pararel , kernel berorientasi objek yang aman, dan penelitian-penelitian tentang sistem operasi yang lain.
Contoh SO Terdistribusi
Mach (Carnegie Mellon University) adalah satu dari beberapa komunitas penelitian tentang sistem operasi. Sistem ini aslinya dimulai di CMU, dan Mach menjadi basis dari banyak sistem
penelitian. Walaupun pekerjaan dengan Mach di CMU sudah lama tidak diterapkan, tetapi masih banyak kelompok-kelompok lain
yang masih menggunakan Mach sebagai basis pada penelitiannya.
Mach at OSF (OSF Research Institute). OSF Research Institute masih menggunakan teknologi yang dimulai dari CMU dan
menggunakan ini sebagai basis dari banyak penelitian, termasuk sistem operasi untuk mesin pararel , kernel berorientasi objek yang
Contoh SO Terdistribusi
Maruti (University of Maryland) Group Members
Maruti adalah sistem operasi berbasis waktu, yang
merupakan proyek di University of Maryland.
Masix (Blaise Pascal Institute MASI Laboratory)
Masix adalah sistem operasi terdistribusi yang berbasis
pada mikro kernel dari Mach, yang saat ini di bawah
pengembangan dari MASI Laboratory. Tujuan utama
dari sistem ini adalah untuk secara simultan
mengeksekusi banyak data aplikasi personal, yang
berjalan baik baik di semua platform, baik Unix, DOS,
Contoh SO Terdistribusi
MOSIX (Hebrew University, Jerusalem, Israel)
Sebuah solusi untuk masalah saat ini menjadi ada
untuk lingkungan multikomputer, yang disebut MOSIX.
Mosix adalah pengembangan dari UNIX, yang
mengijinkan user untuk menggunakan resource yang
ada tanpa ada perubahan pada level aplikasi. Dengan
penggunaan yang transparan, algoritma proses migrasi
dinamis, MOSIX melayani servis jaringan, seperti NFS,
TCP/IP, dari UNIX, untuk level proses, dengan
Contoh SO Terdistribusi
Plan 9 (Bell Labs Computing Science Research
Center)
Plan 9 adalah sistem operasi baru yang dibangun di
Bell Labs. Pada kebanyakan konfigurasi menggunakan
tiga macam komponen : terminal yang ada pada meja
pengguna, server file yang menyimpan data permanen,
dan server CPU yang melayani CPU lainnya lebih
Contoh SO Terdistribusi
Puma and relatives (Sandia National Laboratory)
Sistem operasi Puma menargetkan aplikasi dengan
performa tinggi yang dipasangkan dengan arsitektur
memory terdistribusi. Ini adalah turunan dari SUNMOS.
Sistem Berkas
Terdistribusi
Sistem Berkas Terdistribusi
Sistem berkas terdistribusi adalah sebuah sistem
dimana banyak pengguna dapat berbagi berkas dan
sumber daya penyimpanan.
Client, server, dan media penyimpanan dalam sistem
terdistribusi tersebar pada perangkat-perangkat yang
terdapat dalam sistem terdistribusi. Service dijalankan
melalui jaringan.
Konfigurasi dan implementasi dari sistem berkas
terdistribusi bervariasi dari sistem yang satu ke sistem
yang lain.
Idealnya, sistem berkas terdistribusi tampil di depan
pengguna atau client sebagai sistem berkas yang
konvensional dan terpusat. Keberagaman perangkat
dibuat tidak tampak sehingga client interface dalam
sistem berkas terdistribusi tidak dibedakan antara local
file dan remote file.
Sistem berkas terdistribusi yang transparan juga akan
memfasilitasi mobilitas pengguna dengan membawa
lingkungan pengguna, yang dimaksudkan adalah home
Sistem Berkas Terdistribusi
Dalam sistem berkas konvensional dan terpusat, waktu
yang diperlukan untuk memenuhi permintaan adalah
waktu akses disk dan sedikit waktu untuk
CPU processing.
Sedangkan dalam sistem berkas terdistribusi, waktu
yang diperlukan untuk memenuhi permintaan
meningkat akibat remote access yang menambah
waktu pengiriman permintaan ke server dan waktu
penerimaan respon oleh client.
Metode Remote File Access (RFA)
Dengan remote service. Permintaan akses data dikirimkan
ke server. Server melakukan akses ke data dan hasilnya
di-forward kembali ke client.
Dengan caching. Bila data yang dibutuhkan belum disimpan
di cache maka salinan data akan dibawakan dari server ke client. Idenya adalah untuk menahan data yang baru saja diakses
di cache sehingga akses yang berulang ke informasi yang sama dapat ditangani secara lokal. Dengan demikian, dapat
mengurangi network traffic. Namun, masalah yang timbul adalah mengenai konsistensi cache, di mana seharusnya
Metode Remote File Access (RFA)
Dalam sistem berkas terdistribusi, replikasi berkas pada perangkat yang berbeda adalah redundansi yang berguna untuk
meningkatkan availibilitas atau ketersediaan.
Syarat mendasar untuk replikasi berkas adalah replika dari berkas yang sama terletak pada perangkat yang
failure-independent sehingga ketersediaan satu replika tidak dipengaruhi
oleh ketersediaan replika yang lain.
Masalah utama dalam replikasi adalah updating.
Proses update pada satu replika harus dilakukan juga pada replika yang lain.
Hardware Sistem
Operasi Terdistribusi
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 :
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 Sistem
Operasi Terdistribusi
ChorusOS Layers
U3 U2 U1 S1 S2 K1 S3 K2 UNIX Subsystem Object-Oriented subsystem User process System process Management of names, processes, threads, memory, and communication User Address Space Kernel Address SpaceHow Chorus is Used in a Distributed
System
Three layer communication
User interface to systemSystem interface to kernel
Kernel interface to micro-kernel
Features and Benefits of ChorusOS
Memory Protection
Hot Restart
Dynamic Reconfiguration
Component-based architecture for super-configurability Mission-Critical Quality
Exceptional scalability Transparent Distribution
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
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.
Manajemen Berkas
Dalam implementasi sistem Amoeba, terutama di negeri Belanda, 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-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
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