Sistem Terdistribusi - elista:.

advertisement
Sistem Operasi
Terdistribusi
Catur Iswahyudi
Politeknik Elektronika Negeri Surabaya
Institut Tekonolgi Sepuluh Nopember
Surabaya
1
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
2
Pokok Bahasan
 Penamaan dan Pengalamatan
 Primitif Komunikasi
 Sinkronisasi Clock
 Penjaminan mutual-exclusion
 Penanganan deadlock
 Manajemen proses tersebar
 Sistem file tersebar
 Manajemen Memori tersebar
 Pemulihan dari kegagalan, fault-tolerance, dan pemeliharaan
konsistensi
3
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.
4
5
6
 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.
7
How google search engine works
8
 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.
9
Sistem
Terdistribusi
Politeknik Elektronika Negeri Surabaya
Institut Tekonolgi Sepuluh Nopember
Surabaya
10
Sistem Terdistribusi
 Sistem terdistribusi (tersebar) adalah sekumpulan
komputer otonom yang ditautkan pada jaringan
komunikasi dengan perangkat lunak dirancang untuk
menghasilkan satu fasilitas komputasi terpadu
11
 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 seolaholah itu adalah satu lokal
12
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 faulttolerant daripada sistem komputer stand-alone.
13
 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 di-extend dan discale.
 Secara umum, suatu sistem terbuka yang bersifat
scalable memberikan keuntungan lebih dibandingkan
sistem yang tertutup dan self-contained (menyatu).
14
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, subsistemsubsistem 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.
15
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.
• Enhanced reliability.
• Computation speed-up.
• Increased data availability.
• Enhanced reliability
16
Sistem Terdistribusi
 Prosesor dalam sistem terdistribusi bervariasi, dapat
berupa small Microprocessor, workstation, dan
minicomputer
17
Why Distributed Systems?
 Scale
Processing
Data
 Diversity in Application Domains
 Collaboration
 Cost
18
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.
B. Applications are becoming data-intensive.
19
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
16KB- 64KB, 2-4 cycles
512KB- 8MB, 6-15 cycles
L3 Cache
Main Memory
4MB- 32MB, 30-50 cycles
1GB- 4GB, 300+ cycles
20
Why Distributed Systems?
2.
Hard Disk Drive:

Limited capacity

Limited number of channels

Limited bandwidth
21
Why Distributed Systems?
3.
Processor:
 The number of transistors that can be integrated on a single die has
continued to grow at Moore’s pace.
 Chip Multiprocessors (CMPs) are now available
P
P
P
P
P
L1
L1
L1
L1
L1
Interconnect
L2
L2 Cache
A single Processor Chip
A CMP
22
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].
P
P
P
P
P
L1
L1
L1
L1
L1
Interconnect
L2
L2 Cache
Memory
Memory
P
M
Processor-Memory speed gap
23
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.
P
P
P
P
L1
L1
L1
L1
Interconnect
A Data Set
of 4 TBs
10000
seconds
(or 3
hours) to
load data
L2 Cache
Memory
4 100MB/S IO Channels
24
Why Distributed Systems?
Splits
P
L1
100
Machines
P
L1
L2
L2
Memory
Memory
Only 3
minutes to
load data
A Data Set (data)
of 4 TBs
25
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).
26
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)
27
Sistem Terdistribusi
 Berikut adalah ilustrasi struktur sistem terdistribusi:
28
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.
29
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
speedup).
30
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.
31
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
informasi/data perlu dilengkapi dengan enkripsi.
32
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
33
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,
proses tersebut tidak selalu dieksekusi di situs di mana
ia pertama kali diinisiasi. Keseluruhan proses, atau
sebagian daripadanya, dapat saja dieksekusi pada
situs yang berbeda.
34
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
35
Tipe Jaringan dalam Sistem Terdistribusi
 Local Area Network (LAN). LAN muncul pada awal tahun 1970an sebagai pengganti 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 twistedpair dan fiber-optic.
36
Tipe Jaringan dalam Sistem Terdistribusi
 Berikut adalah ilustrasi dari Local Area Network:
37
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.
38
Tipe Jaringan dalam Sistem Terdistribusi
 Berikut adalah ilustrasi dari Wide Area Network
39
Topologi Sistem
Terdistribusi
40
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.
41
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.
42
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.
43
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
mengakses sebuah situs bisa jadi harus menempuh banyak link.
Misalnya, dari situs A menuju situs D, link yang dilewati sebanyak
tiga buah. Availibilitas/ketersediaan pada topologi ring
network lebih terjamin dibandingkan pada star network maupun
pada tree-structured network.
44
Topologi Jaringan
45
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
 kehilangan pesan atau loss of message.
46
 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.
47
Contoh Aplikasi
 Sistem kendali manufaktur
 Sistem kendali penerbangan
 Sistem alih telepon
 Sistem perbankan otomatis
 Sistem perdagangan saham
48
Arsitektur Sistem Terdistribusi
 Model Workstation
 Model Penampungan Pemroses (processors pool)
 Model hibrid
49
 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
memiliki PC dan disediakan processors pool. Solusi ini
lebih mahal dibanding model WS atau processor pool
murni
50
Sistem Operasi
Terdistribusi
51
Pokok Bahasan
 Penamaan dan Pengalamatan
 Komunikasi Primitif
 Sinkronisasi Clock
 Penjaminan mutual-exclusion
 Penanganan deadlock
 Manajemen proses tersebar
 Sistem file tersebar
 Manajemen Memori tersebar
 Pemulihan dari kegagalan, fault-tolerance, dan pemeliharaan
konsistensi
52
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.
53
54
 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
55
Arsitektur Distibuted OS
56
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.
57
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
58
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 timesharing melakukan switching antar task berbasis pada interupsi clock.
59
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.
60
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.
61
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.
62
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.
63
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
o Keamanan
o Akses ke seluruh resources, seperti prosesor, memori, penyimpanan
sekunder, dan perangkat keras
64
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).
65
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
66
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.
67
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.
68
Skema NOS
69
Komunikasi di sistem
terdistribusi
70
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
71
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
72
Komunikasi dalam sistem tersebar
 Komunikasi dalam sistem tersebar dapat dikategorikan
menjadi dua:
• Komunikasi dua pihak; menggunakan model messagepassing dan Remote Procedure Call (RPC)
• Komunikasi kelompok
 Model message-passing direduksi menjadi 2 system
call, yaitu :
• Send (destination, message)
• Receive (sourceAddress, message)
73
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
74
75
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
76
Contoh aplikasi SO Terdistribusi
77
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.
78
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
79
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.
80
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.
81
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 BullIMAG 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.
82
Contoh SO Terdistribusi
 Hurricane memiliki hierarki sebagai sistem operasi dengan cluster
yang merupakan implementasi dari Hector multiprocessor. Pengcluster-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.
83
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.
84
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.
85
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,
OS/2 dan Win32.
86
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
menggunakan penyeimbangan load dan distribusi
dinamis pada cluster-cluster yang homogen.
87
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
cepat, authentikasi user, dan network gateways.
88
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.
89
Sistem Berkas
Terdistribusi
90
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.
91
 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
directory, ke mana saja pengguna itu login.
92
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.
 Selain itu, dalam transfer informasi, ada tambahan
waktu untuk menjalankan software untuk protokol
komunikasi.
93
Metode Remote File Access (RFA)
 Dengan remote service. Permintaan akses data dikirimkan
ke server. Server melakukan akses ke data dan hasilnya diforward 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
salinancache tetap konsisten dengan file-master-nya.
94
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 failureindependent 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.
95
Hardware Sistem
Operasi Terdistribusi
96
Amoeba
97
 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.
98
 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.
99
 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
100
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.
101
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.
102
Arsitektur Sistem
Operasi Terdistribusi
103
CHORUS OS
104
ChorusOS Layers
UNIX
Subsystem
Object-Oriented
subsystem
U1
User
Address
Space
S1
U2
S2
K1
Kernel
Address
Space
User
process
U3
System
process
S3
K2
Management of
names, processes,
threads, memory,
and communication
Micro-kernel
105
105
How Chorus is Used in a Distributed
System
 Three layer communication
User interface to system
System interface to kernel
Kernel interface to micro-kernel
 Uses message passing between process and threads
106
Features and Benefits of ChorusOS
 Memory Protection
 Hot Restart
 Dynamic Reconfiguration
 Component-based architecture for super-configurability
 Mission-Critical Quality
 Exceptional scalability
 Transparent Distribution
 Code re-use
 Multiple OS personalities and APIs
107
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.
108
 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.
109
Manajemen Sistem
110
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.
111
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.
112
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 prosesorprosesor 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.
113
 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.
114
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 perhitunganperhitungan yang tentu saja sangat rumit dan membutuhkan
pemroses yang hebat dan cepat supaya dapat segera dicari
hasilnya.
115
Tugas untuk materi minggu depan
Carilah referensi tentang:
 Sinkronisasi Clock
 Penjaminan mutual-exclusion
 Penanganan deadlock
 Manajemen proses tersebar
 Manajemen memory tersebar
116
Download