Selasa, 02 Desember 2014

Sistem Operasi Terdistribusi

I. PENDAHULUAN
Sistem operasi terdistribusi adalah salah satu implementasi dari sistem terdistribusi, di mana
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:
·         file system
·         name space
·         Waktu pengolahan
·         Keamanan
·         Akses ke seluruh resources, seperti prosesor, memori, penyimpanan sekunder, dan perangakat keras.

MANFAAT SISTEM OPERASI TERDISTRIBUSI
Sistem operasi terdistribusi memiliki manfaat dalam banyak sistem dan dunia komputasi
yang luas. Manfaat-manfaat ini termasuk dalam sharing resource, waktu komputasi dan
komunikasi.
1. Shared Resource
Walaupun perangkat sekarang sudah memiliki kemampuan yang cepat dalam prosesproses
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.
2. 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 prosesorprosesor
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.
3. 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.
4. 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.
Secara garis besar Sistem Operasi mempunyai 2 tugas utama, yaitu sebagai :

a. Pengelola Seluruh Sumber Daya Pada Sistem Komputer (Resource Manager).
Yang dimaksud dengan sumber daya pada sistem komputer adalah semua komponen yang
memberikan fungsi (manfaat) atau dengan pengertian lain adalah semua yang terdapat atau
terhubung ke sistem komputer yang dapat untuk memindahkan, menyimpan, dan memproses data, serta untuk mengendalikan fungsi-fungsi tersebut.
Sumber daya pada sistem komputer, antara lain :

1) Sumber daya fisik
Contoh dari sumber daya fisik diantaranya 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
Terdiri dari :
Data, misalnya :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.
Program yang berupa kumpulan instruksi yang dapat dijalankan oleh sistem
komputer, yang dapat berupa utilitas dan program aplikasi pengolahan data tertentu.

Komponen Inti Sistem Operasi
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.
»»  Baca Selanjutnya...

Proses

I. Thread
Thread adalah sebuah alur kontrol dari sebuah proses. Kontrol thread tunggal ini hanya
memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi
modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk
memiliki eksekusi multi-threads, agar dapat secara terus menerus mengetik dan menjalankan
pemeriksaan ejaan didalam proses yang sama, maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu. Suatu proses yang multithreaded
mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama.
Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak
adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.

Keuntungan Thread
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.
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. Akan susah untuk mengukur perbedaan waktu antara proses dan thread
dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses
lebih lama dibandingkan 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.
Client Server
Menurut Gallaugher & Ramanathan (1996) : client/server adalah client mengirim permintaan
ke server, server menterjemahkan pesan, kemudian berusaha memenuhi permintaan . Sedangkan
menurut Blaha & Premerlani (1998) : client/server adalah suatu arsitektur dimana sumber daya
server menyediakan komputasi untuk banyak komponen client. Client dapat mengakses satu server atau multiple server. Client dan server bisa berjalan pada mesin yg sama atau berbeda, ditulis dalam berbagai bahasa dan menggunakan sistem operasi yang berbeda.
Agent
Software Agent adalah entitas perangkat lunak yang didedikasikan untuk tujuan tertentu yang
memungkinkan user untuk mendelegasikan tugasnya secara mandiri, selanjutnya software agent
nantinya disebut agent saja. Agen bisa memiliki ide sendiri mengenai bagaimana menyelesaikan
suatu pekerjaan tertentu atau agenda tersendiri. Agen yang tidak berpindah ke host lain disebutstationary agent.
Karakteristik dari Agen:
1. Autonomy: Agent dapat melakukan tugas secara mandiri dan tidak dipengaruhi secara
langsung oleh user, agent lain ataupun oleh lingkungan (environment). Untuk mencapai
tujuan dalam melakukan tugasnya secara mandiri, agent harus memiliki kemampuan kontrol
terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam [Woolridge et.
al., 1995]. Dan satu hal yang penting yaitu mendukung autonomy dan masalah intelegensi
(intelligence) dari agent.
2. Intelligence, Reasoning, dan Learning: Setiap agent harus mempunyai standar minimum
untuk bisa disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence, ada tiga
komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar
pada knowledge base yang dimiliki, dan kemampuan learning untuk beradaptasi dalam
perubahan lingkungan.
3. Mobility dan Stationary: Khusus untuk mobile agent, dia harus memiliki kemampuan yang
merupakan karakteristik tertinggi yang dia miliki yaitu mobilitas. Berbeda dengan stationary
agent. Tetapi keduanya tetap harus memiliki kemampuan untuk mengirim pesan dan
berkomunikasi dengan agent lain.
4. Delegation: Sesuai dengan namanya dan seperti yang sudah kita bahas pada bagian definisi,
agent bergerak dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena
pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.
5. Reactivity: Karakteristik agent yang lain adalah kemampuan untuk bisa cepat beradaptasi
dengan adanya perubahan informasi yang ada dalam suatu lingkungan (enviornment).
Lingkungan itu bisa mencakup: agent lain, user, informasi dari luar, dsb [Brenner et. al.,
1998].
6. Proactivity dan Goal-Oriented: Sifat proactivity boleh dibilang adalah kelanjutan dari sifat
reactivity. Agent tidak hanya dituntut bisa beradaptasi terhadap perubahan lingkungan,
tetapi juga harus mengambil inisiatif langkah penyelesaian apa yang harus diambil [Brenner
et. al., 1998]. Untuk itu agent harus didesain memiliki tujuan (goal) yang jelas, dan selalu
berorientasi kepada tujuan yang diembannya (goal-oriented).
7. Communication and Coordination Capability: Agent harus memiliki kemampuan
berkomunikasi dengan user dan juga agent lain. Masalah komunikasi dengan user adalah
masuk ke masalah user interface dan perangkatnya, sedangkan masalah komunikasi,
koordinasi, dan kolaborasi dengan agent lain adalah masalah sentral penelitian Multi Agent

System (MAS).
»»  Baca Selanjutnya...

Komunikasi

Protokol
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya
hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer.
Protokol dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari
keduanya. Pada tingkatan yang terendah, protokol mendefinisikan koneksi perangkat
keras.

International Standards Organization (ISO) membuat suatu arsitektur komunikasi yang dikenal sebagai Open System Interconnection (OSI), model yang mendefinisikan standar untuk menghubungkan komputer-komputer dari vendor-vendor yang berbeda. Model-OSI tersebut terbagi atas 7 layer.

Layer-layer tersebut disusun sedemikian sehingga perubahan pada satu layer tidak
membutuhkan perubahan pada layer lain. Layer teratas (5, 6 and 7) adalah lebih cerdas
dibandingkan dengan layer yang lebih rendah; Layer Application dapat menangani
protocol dan format data yang sama yang digunakan oleh layer lain, dan seterusnya. Jadi
terdapat perbedaan yang besar antara layer Physical dan layer Aplication.
Suatu permintaan, dihasilkan dari atas (contohnya Application Layer) diteruskan keenam
layer di bawahnya yang setiap layer memiliki tugasnya masing-masing.

1. Physical Layer
Ini adalah layer yang paling sederhana berkaitan dengan electrical (dan optical)
koneksi antar peralatan.
2. Data-link Layer
Layer ini sedikit lebih "cerdas" dibandingkan dengan layer physical, karena
menyediakan transfer data yang lebih nyata.
3. Network Layer
Tugas utama dari layer network adalah menyediakan fungsi routing sehingga paket
dapat dikirim keluar dari segment network lokal ke suatu tujuan yang berada pada suatu
network lain.
4. Transport Layer
Layer transport data, menggunakan protocol seperti UDP, TCP dan/atau SPX
(Sequence Packet eXchange, yang satu ini digunakan oleh NetWare, tetapi khusus untuk
koneksi berorientasi IPX).
5. Session Layer
Layer Session, sesuai dengan namanya, sering disalah artikan sebagai prosedur logon
pada network dan berkaitan dengan keamanan.
6. Presentation Layer
Layer presentation dari model OSI melakukan hanya suatu fungsi tunggal: translasi
dari berbagai tipe pada syntax sistem.
7. Application Layer
Layer ini adalah yang paling cerdas , gateway berada pada layer ini. Gateway
melakukan pekerjaan yang sama seperti sebuah router, tetapi ada perbedaan diantara
mereka.
Remote Procedure Call (RPC)
Remote Procedure Call (RPC) adalah sebuah metoda yang memungkinkan kita untuk
mengakses sebuah prosedur yang berada di komputer lain.
Kelebihan RPC
Relatif mudah digunakan :
Pemanggilan remote procedure tidak jauh berbeda dibandingkan pemanggilan local
procedure. Sehingga pemrogram dapat berkonsentrasi pada software logic, tidak perlu
memikirkan low level details seperti soket, marshalling & unmarshalling.
Robust (Sempurna):
Sejak th 1980-an RPC telah banyak digunakan dlm pengembangan mission-critical
application yg memerlukan scalability, fault tolerance, & reliability.
Kekurangan RPC
Tidak fleksibel terhadap perubahan :
- Static relationship between client & server at run-time.
- Berdasarkan prosedural/structured programming yang sudah ketinggalan jaman
dibandingkan OOP.
Kurangnya location transparency :
- Misalnya premrogram hanya boleh melakukan pass by value, bukan pass by
reference.
- Komunikasi hanya antara 1 klien & 1 server (one-to-one at a time).
- Komunikasi antara 1 klien & beberapa server memerlukan beberapa koneksi yg
terpisah.
»»  Baca Selanjutnya...
 

Shantii Widya Kusuma Copyright 2009 Sweet Cupcake Designed by faris vio Templates Image by vio's Notez