Sistem operasi terdistribusi adalah implementasi dari sistem terdistribusi dimana sekumpulan komputer dan prosesor yang terhubung secara jaringan dapat berbagi sumber daya seperti file system, memori, dan perangkat keras secara transparan untuk memberikan hasil yang lebih optimal dalam hal waktu pengolahan, aksesibilitas, skalabilitas, dan keamanan.
Ketergunaan (usability) dimaksudkan pada Interaksi Manusia dan Komputer ini bahwa sistem yang dibuat tersebut mudah digunakan dan mudah dipelajari baik secara individu ataupun kelompok. Usability merupakan bagian penting yang harus terpenuhi dalam perancangan sebuah sistem.
Ketergunaan (usability) dimaksudkan pada Interaksi Manusia dan Komputer ini bahwa sistem yang dibuat tersebut mudah digunakan dan mudah dipelajari baik secara individu ataupun kelompok. Usability merupakan bagian penting yang harus terpenuhi dalam perancangan sebuah sistem.
2. SISTEM OPERASI
Sistem operasi (Operating System atau OS) adalah
perangkat lunak sistem yang bertugas untuk melakukan
kontrol dan manajemen perangkat keras serta operasi-
operasi dasar sistem, termasuk menjalankan software
aplikasi seperti program-program pengolah kata dan
browser web.
Sistem Operasi secara umum terdiri dari beberapa
bagian:
1.Mekanisme Boot, yaitu meletakkan kernel ke dalam
memory
2.Kernel, yaitu inti dari sebuah Sistem Operasi
3.Command Interpreter atau shell, yang bertugas membaca
input dari pengguna
4.Pustaka-pustaka, yaitu yang menyediakan kumpulan
fungsi dasar dan standar yang dapat dipanggil oleh
aplikasi lain
5.Driver untuk berinteraksi dengan hardware eksternal,
4. Sistem operasi terdistribusi adalah salah satu
implementasi dari sistem terdistribusi, di mana
sekumpulan komputer dan prosesor yang heterogen
terhubung dalam satu jaringan. Tujuan utamanya adalah
untuk memberikan hasil secara lebih, terutama dalam:
file system
name space
Waktu pengolahan
Keamanan
Akses ke seluruh resources, seperti prosesor, memori,
penyimpanan sekunder, dan perangakat keras
Proses:
- Dijalankan secara bersamaan (execute concurrently)
- interaksi untuk bekerjasama dalam mencapai tujuan yang sama
- mengkoordinasikan aktifitas dan pertukaran informasi yaitu pesan
yang dikirim melalui jaringan komunikasi
5. SISTEM OPERASI JARINGAN VERSUS
SISTEM OPERASI TERDISTRIBUSI
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:
a. Tiap komputer memiliki sistem operasi sendiri
b. Tiap personal komputer memiliki sistem file sendiri,
di mana data-data disimpan
c. Sistem operasi 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
Sistem
7. Komputer (Resource Manager).
Semua komponen yang memberikan fungsi (manfaat) atau
dengan pengertian lain adalah semua yang terdapat atau
terhubung ke sistem komputer dapat untuk memindahkan,
menyimpan, dan memproses data, serta untuk mengendalikan
fungsi-fungsi tersebut.
Sumber daya pada sistem komputer, antara lain :
1. Sumber daya fisik
Seperti keyboard, bar-code reader, mouse, joystick, lightpen,
track-ball, touchscreen, pointing devices, floppy disk drive,
hard-disk, tape drive, optical disk, CD ROM drive, CRT, LCD,
printer, modem, ethernet card, PCMCIA, RAM, cache memory,
register, kamera, sound card, radio, digitizer, scanner, plotter,
dan sebagainya.
2. Sumber daya abstrak
Seperti Semaphore untuk pengendalian sinkronisasi proses-
proses, PCB (Process Control Block) untuk mencatat dan
mengendalikan proses, tabel segmen, tabel page, i-node, FAT,
file dan sebagainya.
8. 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.
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 biasanya berjalan dalam jaringan
dan biasanya melayani koneksi jaringan. Sistem ini biasanya
digunakan user untuk proses networking. Uses dapat saling
bertukar data, atau saling berkomunikasi antara titik baik
secara LAN maupun WAN.
9. KOMPONEN INTI SO
Komponen sistem operasi terdiri dari
manajemen proses,
manajemen memori utama,
manajemen berkas,
manajemen sistem I/O,
manajemen penyimpanan sekunder,
sistem proteksi,
jaringan dan
Command-Interpreter System.
11. HARDWARE SISTEM OPERASI
TERDISTRIBUSI
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
12. MACAM- MACAM SISTEM OPERASI
TERDISTRIBUSI
Beberapa contoh dari sistem operasi terdistribusi
ini diantaranya :
Amoeba (Vrije Universiteit). Amoeba adalah
sistem berbasis mikro-kernel yang tangguh yang
menjadikan banyak workstation personal
menjadi satu sistem terdistribusi secara
transparan.
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 manfaal ganda,
yaitu memiliki biaya awal yang cukup murah
dan juga biaya incremental yang rendah.
13. 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.
GLUnix (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.
14. PROSES DAN TREAD SISTEM
OPERASI
Proses : program yang sedang dijalankan
Thread adalah sebuah alur kontrol dari sebuah
proses. Kontrol thread tunggal ini hanya
memungkinkan proses untuk menjalankan satu
tugas pada satu waktu.
Perbedaan antara thread tunggal dan
multithreading adalah multithread dapat
mengerjakan lebih dari satu tugas pada satu satuan
waktu.
15. Contohnya sebuah web browser mempunyai
thread untuk menampilkan gambar atau tulisan
sedangkan thread yang lain berfungsi sebagai
penerima data dari network.
Kadang kala ada situasi dimana sebuah aplikasi
diperlukan untuk menjalankan beberapa tugas
yang serupa.
Solusinya adalah dengan membuat web server
menjadi multi-threading. Dengan ini maka
sebuah web server akan membuat thread yang
akan mendengar permintaan klien, ketika
permintaan lain diajukan maka web server akan
menciptakan thread lain yang akan melayani
permintaan tersebut.
16.
17. KEUNTUNGAN MULTITHREADING
Keuntungan dari program yang multithreading dapat
dipisah menjadi empat kategori:
1. Responsi: Membuat aplikasi yang interaktif menjadi
multithreading dapat membuat sebuah program terus
berjalan meski pun sebagian dari program tersebut diblok
atau melakukan operasi yang panjang, karena itu dapat
meningkatkan respons kepada pengguna. Sebagai
contohnya dalam web browser yang multithreading, sebuah
thread dapat melayani permintaan pengguna sementara
thread lain berusaha menampilkan image.
2. Berbagi sumber daya: thread berbagi memori dan
sumber daya dengan thread lain yang dimiliki oleh proses
yang sama. Keuntungan dari berbagi kode adalah
mengizinkan sebuah aplikasi untuk mempunyai beberapa
thread yang berbeda dalam lokasi memori yang sama.
18. 3. Ekonomi: dalam pembuatan sebuah proses banyak
dibutuhkan pengalokasian memori dan sumber daya.
Alternatifnya adalah dengan penggunaan thread,
karena thread berbagi memori dan sumber daya proses
yang memilikinya maka akan lebih ekonomis untuk
membuat dan context switch thread. Pada Solaris,
pembuatan proses lebih lama 30 kali dibandingkan
pembuatan thread, dan context switch proses 5 kali
lebih lama dibandingkan context switch thread.
4. Utilisasi arsitektur multiprocessor: Keuntungan dari
multithreading dapat sangat meningkat pada arsitektur
multiprocessor, dimana setiap thread dapat berjalan
secara pararel di atas processor yang berbeda. Pada
arsitektur processor tunggal, CPU menjalankan setiap
thread secara bergantian tetapi hal ini berlangsung
sangat cepat sehingga menciptakan ilusi pararel, tetapi
pada kenyataannya hanya satu thread yang dijalankan
CPU pada satu-satuan waktu (satu-satuan waktu pada
CPU biasa disebut time slice atau quantum).
19. MULTITHREADING MODELS
a. Thread pengguna: Thread yang pengaturannya
dilakukan oleh pustaka thread pada tingkatan
pengguna. Karena pustaka yang menyediakan
fasilitas untuk pembuatan dan penjadwalan
thread, thread pengguna cepat dibuat dan
dikendalikan.
b. Thread Kernel: . Thread yang didukung
langsung oleh kernel. Pembuatan, penjadwalan
dan manajemen thread dilakukan oleh kernel
pada kernel space. Karena dilakukan oleh sistem
operasi, proses pembuatannya akan lebih lambat
jika dibandingkan dengan thread pengguna.
20. MODEL-MODEL MULTITHREADING
a. Model Many-to-One. Model ini memetakan beberapa thread tingkatan
pengguna ke sebuah thread. tingkatan kernel. Pengaturan thread
dilakukan dalam ruang pengguna sehingga efisien. Hanya satu thread
pengguna yang dapat mengakses thread kernel pada satu saat. Jadi
Multiple thread tidak dapat berjalan secara paralel pada multiprosesor.
Contoh: Solaris Green Threads dan GNU Portable Threads.
b. Model One-to-One. Model ini memetakan setiap thread tingkatan
pengguna ke setiap thread. Ia menyediakan lebih banyak concurrency
dibandingkan model Many-to-One. Keuntungannya sama dengan
keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan
thread pengguna memerlukan tambahan thread kernel. Karena itu, jika
mengimplementasikan sistem ini maka akan menurunkan kinerja dari
sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem.
Contoh: Windows NT/XP/2000 , Linux, Solaris 9.
c. Model Many-to-Many. Model ini memultipleks banyak thread tingkatan
pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan
tingkatan pengguna. Model ini mengizinkan developer membuat thread
sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena
hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu
waktu. Keuntungan dari sistem ini ialah kernel thread yang
bersangkutan dapat berjalan secara paralel pada multiprosessor.
21.
22. PEMBATALAN THREAD (THREAD
CANCELLATION)
Thread Cancellation ialah pembatalan thread sebelum
tugasnya selesai. Umpamanya, jika dalam program
Java hendak mematikan Java Virtual Machine (JVM).
Sebelum JVM dimatikan, maka seluruh thread yang
berjalan harus dibatalkan terlebih dahulu. Contoh lain
adalah di masalah search. Apabila sebuah thread
mencari sesuatu dalam database dan menemukan serta
mengembalikan hasilnya, thread sisanya akan
dibatalkan. Thread yang akan diberhentikan biasa
disebut target thread.
Pemberhentian target Thread dapat dilakukan dengan
2 cara:
a. Asynchronous cancellation. Suatu thread seketika itu
juga membatalkan target thread.
b. Deferred cancellation. Suatu thread secara periodik
memeriksa apakah ia harus batal, cara ini
memperbolehkan target thread untuk membatalkan
dirinya secara terurut.
23. PENJADWALAN THREAD
Begitu dibuat, thread baru dapat dijalankan dengan
berbagai macam penjadwalan. Kebijakan
penjadwalanlah yang menentukan setiap proses, di mana
proses tersebut akan ditaruh dalam daftar proses sesuai
proritasnya dan bagaimana ia bergerak dalam daftar
proses tersebut.
Untuk menjadwalkan thread, sistem dengan model
mulithreading many to many atau many to one
menggunakan:
a. Process Contention Scope (PCS). Pustaka thread
menjadwalkan thread pengguna untuk berjalan pada
LWP (lightweight process) yang tersedia.
b. System Contention Scope (SCS). SCS berfungsi untuk
memilih satu dari banyak thread , kemudian
menjadwalkannya ke satu thread tertentu(CPU / Kernel).