Sistem
operasi terdistribusi
sistem operasi terdistribusi adalah sistem operasi yang berjalan pada beberapa
buah mesin, yang tidak melakukan sharing memori, tetapi terlihat bagi user
sebagai satu buah komputer single. Pengguna tidakperlu memikirkan keberadaan
perangkat keras yang ada, seperti prosesor. Contoh dari sistem seperti ini adalah
Amoeba.
Sistem
operasi terdistribusi berbeda dengan sistem operasi jaringan. 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
Fungsi
Sistem Operasi
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. Salah satu sasaran yang harus dicapai sistem operasi adalah dapat
memanfaatkan seluruh sumber daya agar dapatdigunakan secara efektif dan efisien
mungkin.
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 system komputer, yang dapat berupa
utilitas dan program aplikasi pengolahan data tertentu.
b.
Penyedia layanan (extended/virtual machine) Secara spesifik berfungsi :
-
Memberi abstaksi mesin tingkat tinggi yang lebih sederhana dan menyembunyikan
kerumitan perangkat keras. Sistem operasi menyediakan system call
(API=Application Programming Interface) yang berfungsi menghindarkan
kompleksitas pemograman dengan memberi sekumpulan instruksi yang mudah
digunakan.
-
Basis untuk program lain. Program aplikasi dijalankan di atas sistem operasi
yang bertujuan untuk memanfaatkan dan mengendalikan sumber daya sistem komputer
secara benar, efisien, dan mudah dengan meminta layanan sistem operasi.
Komponen
Inti Sistem Operasi:
Ø manajemen proses,
Ø manajemen memori utama,
Ø manajemen berkas,
Ø manajemen sistem I/O,
Ø manajemen penyimpanan sekunder,
Ø sistem proteksi,
Ø jaringan dan
Ø Command-Interpreter System.
Ø Manajemen Proses
Proses
adalah keadaan ketika sebuah program sedang di eksekusi. Sebuah proses
membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. sumber daya
tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat
I/O. Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan
dengan manajemen proses seperti:
• Pembuatan dan penghapusan proses pengguna dan
sistem proses.
• Menunda atau melanjutkan proses.
• Menyediakan mekanisme untuk proses
sinkronisasi.
• Menyediakan mekanisme untuk proses
komunikasi.
• Menyediakan mekanisme untuk penanganan
deadlock.
Ø
Manajemen Memori Utama
Memori
utama atau lebih dikenal sebagai memori adalah sebuah array yang besar dari
word atau byte, yang ukurannya mencapai ratusan, ribuan, atau bahkan jutaan.
Setiap word atau byte mempunyai alamat tersendiri. Memori Utama berfungsi
sebagai tempat penyimpanan yang akses datanya digunakan oleh CPU atau perangkat
I/O. Memori utama termasuk tempat penyimpanan data yang sementara (volatile),
artinya data dapat hilang begitu sistem dimatikan.
Sistem
operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan
manajemen memori seperti:
• Menjaga track dari memori yang sedang
digunakan dan siapa yang menggunakannya.
• Memilih program yang akan di-load ke memori.
• Mengalokasikan dan meng-dealokasikan ruang
memori sesuai kebutuhan.
Ø
Manajemen Penyimpanan Sekunder
Data
yang disimpan dalam memori utama bersifat sementara dan jumlahnya sangat kecil.
Oleh karena itu, untuk meyimpan keseluruhan data dan program komputer
dibutuhkan secondarystorage yang bersifat permanen dan mampu menampung banyak
data. Contoh dari secondarystorage adalah harddisk, disket, dll. Sistem operasi
bertanggung-jawab atas aktivitas-aktivitas yang berkaitan dengan diskmanagement
seperti: free-space management, alokasi penyimpanan, penjadualan disk.
Ø
Manajemen Sistem I/O
Sering
disebut device manager. Menyediakan "device driver" yang umum
sehingga operasi I/O dapat seragam (membuka, membaca, menulis, menutup).
Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada
hard-disk, CD-ROM dan floppy disk. Komponen Sistem Operasi untuk sistem I/O:
• Buffer: menampung sementara data dari/ ke
perangkat I/O.
• Spooling: melakukan penjadualan pemakaian
I/O sistem supaya lebih efisien (antrian dsb.).
• Menyediakan driver untuk dapat melakukan
operasi "rinci" untuk perangkat keras I/O tertentu.
Ø
Manajemen Berkas
Berkas
adalah kumpulan informasi yang berhubungan sesuai dengan tujuan pembuat berkas
tersebut. Berkas dapat mempunyai struktur yang bersifat hirarkis (direktori,
volume, dll.).
Sistem operasi bertanggung-jawab:
Sistem operasi bertanggung-jawab:
• Pembuatan dan penghapusan berkas.
• Pembuatan dan penghapusan direktori.
• Mendukung manipulasi berkas dan direktori.
• Memetakan berkas ke secondary storage.
• Mem-backup berkas ke media penyimpanan yang
permanen (non-volatile).
Ø
Sistem Proteksi
Proteksi mengacu pada mekanisme untuk
mengontrol akses yang dilakukan oleh program,
prosesor, atau pengguna ke sistem sumber daya. Mekanisme
proteksi harus
• membedakan antara penggunaan yang sudah
diberi izin dan yang belum.
• specify the controls to be imposed.
• provide a means of enforcement.
Ø
JaringanSistem 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.
• Increased data availability.
• Enhanced reliability.
• Computation speed-up.
• Increased data availability.
• Enhanced reliability.
Ø
Command-Interpreter System
Sistem Operasi menunggu instruksi dari
pengguna (command driven). Program yang membaca instruksi dan mengartikan
control statements umumnya disebut: control-card interpreter, commandline
interpreter, dan UNIX shell. Command-Interpreter System sangat bervariasi dari
satu system operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan
dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch),
dan lain-lain.
Proses
dan Thread pada sistem operasi terdistribusi.
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
dan proses dengan thread yang banyak adalah proses dengan thread banyak
dapat mengerjakan lebih dari satu tugas pada satu satuan waktu. Bayanyak perangkat
lunak yang berjalan pada PC modern dirancang secara multithreading, sebuah
aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa
thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser
mempunyai therad 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. Sebagai contohnya
sebuah web server dapat mempunyai ratusan klien yang mengaksesnya
secara concurrent. Kalau web server berjalan sebagai proses yang
hanya mempunyai thread tunggal maka ia hanya dapat melayani satu
klien pada pada satu satuan waktu. Bila ada klien lain yang ingin mengajukan
permintaan maka ia harus menunggu sampai klien sebelumnya selesai dilayani.
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.
File Sistem Terdistribusi ( Distributed
File System , disingkat) adalah file sistem yang mendukung sharing
files dan resources dalam bentuk penyimpanan
persistent di sebuah network. File server pertama kali didevelop pada
tahun 1970 dan Sun NFS (Network File System) menjadi DFS pertama yang
banyak digunakan setelah awal pemunculannya di tahun 1985. DFS yang terkenal
selain NFS adalah AFS (Andrew File System) dan CIFS (Common Internet
File System).
I. Pengenalan File Service
File service adalah suatu
perincian atau pelayanan dari file system yang ditawarkan pada komputer client.
Suatu file server adalah implementasi dari file service dan berjalan pada satu
atau lebih mesin. File itu sendiri berisi dari nama, data dan atribut file
seperti kepemilikan file, ukuran, waktu pembuatan file dan hak akses file.
II. Komponen File service
Komponen-komponen file service
adalah terdiri dari :
·
File Service
Pengoperasian
dari masing-masing file.
·
Directory Service
Management
atau pengaturan direktori
·
Naming Service
– Location Independence :
File dapat dipindahkan tanpa
penggantian nama
– Hal yang umum untuk penamaan file dan directori :
Mesin + nama path e.g /
machine / path atau machine : path
Mounting File sistem
secara remote kedalam hirarki local file.
Single name space yang
sama pada semua mesin.
– Dua level penamaan :
Nama simbolik yang dilihat user
dan nama binary yang dilihat oleh sistem.
III. Contoh File Service
NFS (Network File System)
Network File System (NFS) merupakan sebuah protokol yang
dikembangkan oleh Sun Microsystem pada tahun 1984 dan NFS didefinisikan dalam
RFC 1094, 1813 dan 3530 sebagai DFS yang mengijikan sebuah komputer untuk
mengakses file melalui network serasa akses file di disk local.
Tujuan dari NFS adalah untuk memungkinkan terjadinya pertukaran
sistem berkas secara transparan antara mesin-mesin bebas tersebut.
Interface Service
Interface service adalah metode
standard komunikasi yang dapat dipakai oleh siapapun tanpa membedakan
vendornya. Interface Service merupakan titik point yang konsumen gunakan untuk
mengakses fungsionalitas yang diarahkan oleh aplikasi. Interface Service
biasanya menggunakan alamat jaringan, yang berarti bahwa ia dapat di
akses oleh konsumen lebih dari beberapa macam komunikasi jarigan. Alamat
jaringan dapat terkenal lokasinya atau ia dapat terkandung dari direktori
service seperti UDDI.
Sebuah kunci aspek dari desain service interface untuk
memisahkan implementasi yang dibutuhkan untuk mengkomunikasikan dengan system
lain dari aplikasi logika bisnis. Interface Service menyediakan interface yang
jauh lebih kasar sambil menjaga semantik dan rincian lebih halus dari logika
aplikasi. Hal ini juga memberikan penghalang yang memungkinkan logika
aplikasi dapat berubah tanpa mempengaruhi interface konsumen.
Interface Service mengimplementasikan kontrak antara konsumen
dan penyedia. Kontrak ini memungkinkan mereka untuk bertukar informasi
bahkan jika mereka berada di sistem yang berbeda. Interface Service bertanggung
jawab untuk semua rincian pelaksanaan yang dibutuhkan untuk melakukan
komunikasi ini. Rincian tersebut termasuk tetapi tidak terbatas pada:
• Network protocol
Interface Service harus merangkum semua aspek dari network
protocol yang digunakan untuk komunikasi antara konsumen dan
pelayanan. Sebagai contoh, anggaplah layanan terkena konsumen melalui HTTP
melalui jaringan TCP/IP. Anda dapat menerapkan Interface Service sebagai
komponen ASP.NET diterbitkan ke URL
terkenal. Komponen ASP.NET menerima permintaan HTTP, ekstrak
informasi yang dibutuhkan oleh layanan untuk memproses permintaan tersebut,
memanggil implementasi layanan, paket respon layanan, dan mengirim respon
kembali ke konsumen sebagai respon HTTP. Dari perspektif layanan,
satu-satunya komponen yang memahami HTTP adalah antarmuka
layanan. Pelaksanaan layanan memiliki kontrak sendiri dengan antarmuka
layanan dan seharusnya tidak memiliki ketergantungan pada spesifikasi teknologi
yang digunakan konsumen untuk berkomunikasi dengan antarmuka layanan.
• Data formats
Menerjemahkan Interface Service konsumen antara format data
dan format data yang mengharapkan layanan. Sebagai contoh, konsumen
eksternal untuk perusahaan dapat menyediakan data dan mengharapkan data yg
berada dalam format XML yang sesuai dengan skema standar industri XML. Konsumen
internal untuk perusahaan mungkin ingin menggunakan format XML dioptimalkan
untuk layanan tertentu. Interface Service bertanggung jawab untuk mengubah
dan pemetaan kedua format data dalam format yang dapat menggunakan layanan ini. Pelaksanaan
pelayanan tidak memiliki pengetahuan tentang format data spesifik Interface
Service mungkin gunakan untuk berkomunikasi dengan konsumen.
• Security
Interface Service harus dipertimbangkan batas kepercayaan
sendiri. Konsumen yang berbeda mungkin memiliki persyaratan keamanan yang
berbeda, jadi terserah untuk Interface Service untuk melaksanakan konsumen
spesifik persyaratan. Misalnya, konsumen eksternal untuk perusahaan
umumnya akan memiliki persyaratan keamanan yang lebih ketat daripada konsumen
internal untuk perusahaan. Konsumen eksternal mungkin memiliki persyaratan
otentikasi kuat dan hanya dapat diberi kewenangan untuk melakukan subset yang
sangat terbatas dari operasi yang berwenang untuk konsumen internal. Konsumen
internal dapat dipercaya secara implisit untuk kebanyakan operasi dan hanya
membutuhkan otorisasi untuk operasi yang paling sensitif.
• Service level agreements
Interface Service memiliki peran signifikan dalam memastikan
bahwa pelayanan memenuhi komitmen tingkat layanan untuk satu set khusus
konsumen. Interface Service dapat mengimplementasikan caching untuk
meningkatkan waktu respon dan mengurangi konsumsi bandwidth. Beberapa contoh
dari Interface Service dapat digunakan di satu set beban-seimbang node pengolahan
untuk mencapai skalabilitas, ketersediaan, dan kesalahan-toleransi persyaratan.