Sistem
Operasi Terdistribusi
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.
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).
Fungsi
Sistem Operasi Terdistribusi
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 dapat digunakan 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 sistem komputer, yang dapat berupa utilitas dan
program aplikasi pengolahan data tertentu.
Komponen
Sistem Operasi
Komponen sistem operasi terdiri dari:
A. 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.
B. 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
Sistem Operasi Terdistribusi Hal. 1
Sistem Terdistribusi
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.
C. 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:
• 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)
D. 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.
E. 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 secondary-storage yang
bersifat permanen dan mampu menampung banyak data. Contoh dari secondary-storage
adalah harddisk, disket, dll. Sistem operasi bertanggung-jawab atas
aktivitas-aktivitas yang berkaitan dengan disk-management seperti: free-space
management, alokasi penyimpanan, penjadualan disk.
F. 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.
G. Command-Interpreter System
Sistem Operasi menunggu instruksi dari
pengguna (command driven). Program yang membaca instruksi dan mengartikan
control statements umumnya disebut:
Sistem Operasi Terdistribusi Hal. 2
Sistem Terdistribusi
control-card interpreter, command-line
interpreter, dan UNIX shell. Command-Interpreter System sangat bervariasi dari
satu sistem 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
Thread dalam Sistem Operasi
Proses
Proses adalah konsep pokok dari sistem
operasi. Berbagai macam defnisi mengenai proses
telah dicetuskan. Secara sederhana,
proses adalah sebuah program yang dieksekusi. Proses
merupakan unit kerja terkecil yang
secara individu memiliki sumber daya-sumber daya dan
dijadwalkan sistem operasi. Sistem
operasi mengelola semua proses di sistem dan
mengalokasikan sumber daya ke proses
sesuai kebutuhan.
Secara informal; proses adalah program
dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala
dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang
terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari
daftar prosesor/ processor's register. Suatu proses umumnya juga termasuk
process stack, yang berisikan data temporer (seperti parameter metoda, address
yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan
variabel global.
Process State
Status proses selalu berubah-ubah selama
suatu program dieksekusi atau dijalankan. Beberapa status tersebut ialah :
- New : proses baru diciptakan
- Running : proses sedang dijalankan
- Waiting : proses sedang menunggu suatu
kondisi tertentu untuk bisa berjalan. (misalkan menunggu respon dari perangkat
I/O)
- Ready : proses menunggu untuk dilayani
processor
- terminated : proses telah
menyelesaikan eksekusi.
Diagram status proses
1.2 Process Control Block (PCB)
Sistem operasi membutuhkan banyak
informasi mengenai proses guna pengelolaan proses. Semua informasi ini ada pada
PCB. PCB mengandung beberapa informasi seperti berikut :
1. Process State >> berisi
informasi status proses. (new,running,waiting,ready,terminated)
2. Program counter >> berisi
informasi mengenai alamat instruksi yang akan digunakan selanjutnya.
3. CPU register >> berisi
register2 CPU apa saja yang digunakan
4. CPU scheduling information >>
berisis penjadwalan proses beserta algoritmanya
5. Memory management information
>> berisi informasi tentang berapa jumlah memory yang digunakan, limit
register, tabel segment, dll berkenaan dengan penggunaan memory.
6. I/O status information >>
berisi informasi tentang perangkat apa saja yang digunakan dalam proses
7. Accounting >> berisi informasi
tentang statistik eksekusi proses seperti waktu yang diperlukan, jumlah proses,
dll.
Diagram PCB
2. Thread
Program yang dieksekusi :
1.Proses berat (heavyweight) =>
proses tradisional
2.Proses ringan (lightweight) =>
THREAD
Thread terdiri dari ID thread, program
counter,himpunan register dan stack. Thread dapat melakukan lebih dari satu
pekerjaan pada waktu yang sama
(multithreading). Thread bekerja sama dengan thread lain dalam penggunaan
bagian kode, bagian data, dan resource. Dengan penggunaan thread CPU dapat
secara ekstensif di antara peer thread tanpa menggunakan manajemen memori.
Keuntungan penggunaan thread :
1.Tanggap
2.Pemberdayaan resorce
3.Ekonomis
4.Pemberdayaan arsitektur multiprocessor
2.1 Single thread dan multi thread
1.Single thread >> process hanya
mengeksekusi satu thread saja pada satu waktu
2.Multi thread >> process dapat
mengeksekusi sejumlah thread dalam satu waktu.
snmthread
2.2 Model Multithread
Sebelumnya, perlu diketahui apa itu user
thread dan kernel thread.
User thread >> pengelolaan thread
dilakukan oleh user level (pengguna)
Kernel thread >> pengelolaan
thread dilakukan oleh kernel komputer User tidak dapat menginterupsi.
Model-model multithreading :
1. Many to one.
- Beberapa thread user-lever dipetakan
ke dalam single kernel thread
- Penggunaannya pada sistem tidak
memerlukan dukungan kernel thread
many2one
2. One to one
- Setiap user-level thread dipetakan ke
kernel thread.
- Contoh : Windows 95/98/NT/2000
one2one
3. Many to many
- Membolehkan setiap user-level thread
dipetakan ke banyak kernel thread
- Membolehkan sistem operasi membuat
sejumlah kernel thread
- Contoh : Windows NT/2000 dengan paket
ThreadFiber 10, Solaris 2
Sumber:
http://file.unsri.ac.id/user_directory/Fasilkom/Sistem_Komputer/Candra_Setiawan/Sistem_Operasi/Tugas3_SO_Afdhal%20Akrom_Sk4B.pdf
http://ekohandoyo.blog.undip.ac.id/2009/12/08/proses-dan-thread/
File
Service
File service adalah suatu perincian atau
pelayanan dari file system yang ditawarka 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. File sistem
merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun
program yang berada dalam sistem operasi.
Karakteristik dari File System
File Sistem adalah bertanggung jawab
untuk pengorganisasian, penyimpanan, pencarian keterangan, penamaan, sharing
atau pembagian dan protection atau perlindungan dari file-file. File berisi
dari dua bagian penting yaitu data dan atribut. File sistem didesain untuk
menyimpan dan mengatur banyak dan besar file dengan fasilitas untuk membuat,
memberi nama dan menghapus file. File system juga bertanggung jawab untuk
pengontrolan dari akses file, akses terbatas ke file oleh user yang berhak dan
tipe-tipe dari akses yang diminta.
– Operasi pada file (=data + atribut)
Create / delete
Query / Modifikasi Atribut
Open / Close
Read / Write
Akses Kontrol
– Organisasi penyimpanan
Struktur direktori (hirarki, pathname)
Metadata (pengaturan informasi file) :
atribut file, informasi struktur direktori, dll
Atribut File
File adalah kumpulan informasi berkait
yang diberi nama dan direkam pada penyimpanan sekunder. Atribut file terdir
dari :
1.
Nama
Merupakan satu-satunya informasi yang
tetap dalam bentuk yang bisa dibaca oleh
manusia (human readable form)
2.
Type
Dibutuhkan untuk sistem yang mendukung
beberapa tipe berbeda
3.
Lokasi
Merupakan pointer atau penunjuk ke
device dan lokasi file pada device tersebut berada
4.
Ukuran (Size)
Ukuran file pada saat itu, baik dalam
byte, huruf ataupun blok
5.
Proteksi
Informasi mengenai kontrol akses,
misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi file
6.
Waktu, tanggal dan identifikasi pengguna Informasi ini biasanya disimpan
untuk :
– Pembuatan file
– Modifikasi terakhir yang dilakukan
pada file
– Penggunaan terakhir file
Struktur File System
– Modul direktori : menghubungkan nama
file dengan ID file
– Modul File : menghubungkan ID dengan
file tertentu
– Modul Akses Kontrol : memeriksa
permission utuk operasi yang diminta
– Modul Akses File : read / write data
file atau atribut
– Modul Blok : akses dan alokasi blok
disk
– Modul Perangkat : disk I/O dan
buffering
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.
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. KomponenASP.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.
Sumber:
[PDF]http://iwan.staff.gunadarma.ac.id/Downloads/files/22156/5_File+Service.pdf
http://blog.tp.ac.id/wp-content/uploads/3701/download-framework-pengembangan-aplikasi-berbasis-soa-service-oriented-architecture.pdf
http://digilib.its.ac.id/public/ITS-Undergraduate-14303-paperpdf.pdf