materi 6
TRANSCRIPT
![Page 1: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/1.jpg)
OLEH : AHMAD KURNIAWAN
SISTEM TERDISTRIBUSI
![Page 2: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/2.jpg)
Penjadwalan Proses
Prinsip-prinsip penjadwalan Keadilan: tiap proses mendapatkan alokasi CPU yang adil Efisiensi: penggunaan CPU semaksimal mungkin Waktu respons: minimal Waktu tunggu: minimal Throughput: maksimisasi pemrosesan proses
Strategi penjadwalan Run to completion Preemptive
Teknik Round Robin List proses Semua proses memiliki hak yang sama1. Tiap proses dialokasikan sepotong selang waktu (quantum) utk eksekusi2. Jika dalam 1 quantum eksekusi belum selesai dikeluarkan dari status
aktifnya (preempted)3. Selanjutnya proses tsb ditempatkan di akhir list4. Eksekusi berlanjut dng proses pd antrian pertama
![Page 3: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/3.jpg)
Penjadwalan Proses
Penjadwalan dengan prioritas Memasukkan unsur prioritas proses Tiap proses memiliki prioritas tertentu, dan penjadwalannya
menurut urutan prioritasnya Sering diimplementasikan dengan kelas-kelas prioritas dan teknik
round robin Prioritas proses diturunkan selama eksekusi dilakukan supaya
proses dng prioritas rendah memiliki kesempatan dieksekusi juga Contoh penjadwalan dng prioritas
Proses dng prioritas pertama diekseskusi selama 1 quantum, prioritas kedua selama 2 quantum, prioritas ketiga 4 kuantum, dst.
Setelah eksekusi menghabiskan n quantum yg dialokasikan, proses diturunkan ke prioritas berikutnya
Proses sepanjang 100 quantum memerlukan 7x pergantian (swap) saja
![Page 4: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/4.jpg)
Penjadwalan Proses
Teknik Pengutamaan Proses Tercepat Cocok untuk batch job dng waktu eksekusi yg diketahui sebelumnya Menempatkan proses-proses pendek pada urutan awal Memperpendek waktu tunggu Optimal untuk proses-proses yg sudah “siap” dieksekusi
Penjadwalan berbasis pemakai Jika ada n pemakai pd satu saat ttt, maka tiap orang akan menerima
1/n alokasi CPU Perlu informasi:
Brp banyak waktu CPU yg telah dikonsumsi seorang pemakai sejak login x
Brp lama pemakai ybs login ke sistem y “Jatah” pemakai z = y/n, dan rasio antara jatah dng kenyataan r = z/x Penjadwalan mengikuti nilai r: proses-proses milik pemakai dengan
nilai r yg lebih rendah dieksekusi dahulu
![Page 5: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/5.jpg)
Deadlock
Deadlock: sekumpulan proses yg menunggu event yg hanya bisa dimunculkan oleh salah satu dr proses anggota Tidak ada proses yg bisa berlanjut, melepaskan resources, atau
diaktifkan kembali Berawal dari situasi supply resources lebih kecil drpd demand
Empat kondisi pemicu deadlock Kondisi mutual exclusion. Sebuah resource sdg digunakan oleh 1
proses, atau sdg bebas Kondisi hold and wait. Proses-proses yg sdg memakai resources
diijinkan meminta resources baru Kondisi non-preemptive. Resource yg sdg digunakan hanya bisa
dilepaskan oleh proses yg memakainya (pelepas-an tdk bisa dipaksa oleh pihak lain)
Kondisi circular wait. Ada rantai dr 2 atau lebih proses, msg-msg menunggu resource yg dikuasai proses berikutnya dalam rantai tsb.
![Page 6: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/6.jpg)
Deadlock
Pemodelan penggunaan resource Menggunakan graf alokasi resource A menguasai resource R A R A meminta resource R A R Dpt digunakan utk analisis deadlock
Strategi dlm menghadapi deadlock Abaikan saja algoritma “onta” (prinsip pragmatisme) Pendeteksian dan pemulihan Pencegahan, dng cara menegasikan kondisi-kondisi pemicu Menghindari, dng cara alokasi resource scr hati-hati
Algoritma onta (Ostrich algorithm) Pragmatisme, perbandingan antara usaha utk menghilangkan deadlock dng
akibat yg ditimbulkannya Pendeteksian dan pemulihan
Monitoring request dan release dr resources, menganalisis graf alokasi resources utk mendeteksi deadlock
Rantai deadlock diputus dng mengorbankan 1 atau lebih proses
![Page 7: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/7.jpg)
Deadlock
Pencegahan deadlock Negasi 4 kondisi pemicu Kondisi mutual exclusion ?
Resource bisa digunakan oleh lebih dr satu proses Kondisi hold and wait ?
Proses yg sdg menguasai sbh resource tidak diijinkan utk meminta resource yg lain Kebutuhan resource sering bersifat dinamis Menyebabkan alokasi resource tdk efisien
Kondisi non-preemptive ? Memungkinkan resource dilepas scr paksa Dapat mengacaukan operasi (e.g., printing)
Kondisi rantai tunggu (circular wait) ? Alternatif yg paling mungkin ditempuh Dengan penomoran resource, akses diijinkan dng mengikuti urutan tertentu
Menghindari deadlock Alokasi resource scr hati-hati Algoritma banker
Alokasi resource selalu memperhatikan kemungkinan ke depan (next state) Kebutuhan ke depan satu atau lebih proses harus selalu dapat dipenuhi oleh resource
yg tersedia saat ini
![Page 8: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/8.jpg)
Sistem FileTujuan: memberikan persistence bagi data
Kondisi ideal: tidak ada impedance mismatch antara short-term memory dan long-term memory
Krn kondisi ideal tdk bisa tercapai muncul abstraksi file Bagaimana rancangan sistem file ? Manajemen ruang disk
Ruang sebesar n byte scr kontinyu, atau m blok yg tidak harus kontinyu
Alt. I bgmn jika file berkembang (bertambah besar) ? Alt. II brp besar ukuran blok ?
Terlalu besar boros Terlalu kecil delay saat pembacaan Trade off antara efisiensi waktu dan ruang 512 byte, 1 kb,
atau 2 kb Bgmn melacak blok-blok bebas ?
Linked list berisi blok-blok bebas Bit map berisi status semua blok (0-bebas, 1-terpakai)
![Page 9: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/9.jpg)
Sistem File Bagaimana menyimpan file ?
Blok data dirangkai mjd linked-list Implementasi akses scr acak mjd mahal
File Allocation Table (FAT) dr MS-DOS Tidak cocok utk disk berukuran besar menyita tempat di memory Pointer ke semua file disimpan dlm satu tabel yg sama
i-Node (digunakan oleh UNIX) Tabel berisi info accounting dan proteksi, diasosiasikan ke sebuah
file Mampu menangani dinamika file, dan lebih modular (1 file 1 i-
node)X
0
X
1
EOF
2
10
3
2
4
EOF
5
4
6
FREE
7
5
8
FREE
9
8
10
File node
No. of links to file
Owner's UID
Owner's GID
File size
Time created
Time last accessed
Time last modified
10 disk block numbers
Single indirect
Double indirect
Triple indirect
![Page 10: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/10.jpg)
Sistem File Struktur dan organisasi direktori
Direktori pada MS-DOS Direktori diwujudkan dlm sebuah file Tiap entri direktori menunjuk pd satu file Tidak ada batas maksimal jumlah file pada sebuah direktori
Direktori pada UNIX Direktori diwujudkan dlm sebuah file Tiap entri merujuk pd satu file Info pd tiap entri: nomor i-node dan nama file
File name
8 byte
Ext.
3 byte
Attr.
1 b
Reserved
8 byte
Time
2 byte
Date
2 byte
Firstblocknum.
2 byte
Size
4 byte
Root directory
usr: to i-node 6
1 .1 ..4
7
14
9
6
8
bin
dev
lib
etc
usr
tmp
modesize
times
132
i-node 6 for /usr
/usr is inblock 132
modesize
times
406
i-node 26 for/usr/ast
/usr/ast is inblock 406
6 .1 ..19
30
26
45
dick
eric
ast
bal
block 132 is/usr directory
/usr/ast isi-node 26
26 .6 ..
64
92
60
81
grants
books
mbox
src
block 406 is/usr/ast dir.
/usr/ast/mboxis i-node 60
![Page 11: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/11.jpg)
Sistem FileBerbagi file (file sharing)
Dengan mekanisme link Problem: update agar terlihat oleh pihak lain
Metode langsung: Info blok disk sbg “atribut” file (di i-node dlm UNIX) yg bisa dilihat oleh direktori siapapun
Kelemahan metode langsung: “dirty” deletion penghapusan file oleh pemilik bisa menyisakan i-node file tsb (agar tidak terjadi situasi yg “menggantung”)
Symbolic linking: menyisipkan file bertipe LINK, yg berisi path ke file yg di-share, ke direktori “tamu”
Kelemahan symlink: overhead pemrosesan, krn harus membaca dan memproses path ke file yg sebenarnya
owner = Ccount = 1
owner = Ccount = 2
owner = Ccount = 1
C's directory B's directory C's directory B's directory
![Page 12: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/12.jpg)
Sistem File
Konsistensi sistem file Problem inkonsistensi antara data dan info ttg file (i-node) Pemeriksaan konsistensi: blok & file Pemeriksaan konsistensi blok
List untuk blok yg dipakai dlm file List untuk blok bebas Kedua counter dibandingkan sebuah nomor blok hrs berada di salah satu list
Kemungkinan inkonsistensi blok Nomor blok hilang Duplikasi nomor blok di list blok bebas Duplikasi nomor blok di list blok terpakai
Pemeriksaan konsistensi file Dilakukan pd direktori Caranya mirip pemeriksaan konsistensi blok Menghasilkan sebuah list berisi info ttg. banyaknya refcount ke sebuah i-node Info ini dibandingkan dng isi field refcount dari i-node ybs
Kemungkinan inkonsistensi file Counter link terlalu tinggi file tetap ada meskipun telah dihapus Counter link terlalu rendah problem integritas file
![Page 13: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/13.jpg)
Pengaksesan File
Abstraksi server file sbg interfaceAtomic update
Perubahan thdp file harus berhasil atau tidak sama sekali Diimplementasikan dng konsep tempat penyimpanan stabil (stable
storage) Sebuah drive logikal diimplementasikan dng dua disk fisis Penulisan ke blok logikal n, dituliskan ke blok n di disk #1, diverifikasi, lalu
dituliskan ke blok n di disk #2 dan diverifikasi Error fisis (blok rusak, dsb) bisa diperbaiki dng cara menyalin data dari
salah satu disk Crash pd saat menulis disk #1 kembali ke kondisi asal Crash pd saat menuli disk #2 kembali ke kondisi setelah update
Concurrency control Serializability: update secara bersama-an menghasilkan situasi yg
sama jika updatenya dilakukan scr sekuensial Locking concurrency control dari sisi data (file)
![Page 14: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/14.jpg)
Pengaksesan FileTransaksi
Atomic update + locking Concurrency ditangani oleh file server BEGIN TRANSACTION
Transaction record utk merekam status transaksi END TRANSACTION
Proses commit utk membuat update mjd permanenClient File ServerMulai transaksi Buat transaction record di stable storageBaca file A Lock file ABaca file B Lock file BUpdate file A Buat salinan A dan update salinan iniUpdate file B Buat salinan B dan update salinan iniSelesai transaksi Simpan intention list ke stable storage
Tandai transaksi sebagai ‘commited’Ganti file A dengan salinannyaGanti file B dengan salinannyaLepaskan lock A dan BAcknowledge
Replikasi Mewujudkan konsep fault tolerance Menyimpan lebih dari 1 copy file Biasanya diterapkan di lingkungan sistem
terdistribusi
![Page 15: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/15.jpg)
Keamanan Sistem File
Berkaitan dng kehilangan data dan usaha-usaha penyusupan Mekanisme proteksi Usaha/biaya sebanding dengan nilai informasi yg akan dilindungi
Prinsip-prinsip pengamanan Desain sistem hrs bersifat public
“Security through obscurity” tidak cocok Prinsip paranoid
Kondisi default: tidak ada akses Berikan privilege seminimal mungkin Autorisasi hrs dilakukan sesaat sbl. aktivitas yg memerlukan autorisasi tsb
dilakukan Sistem proteksi hrs sederhana, seragam, dan mendasar Sistem proteksi hrs dpt diterima scr psikologis
Beberapa mekanisme pengamanan Autorisasi identifikasi pemakai Domain proteksi lingkup akses sebuah object Access Control List
![Page 16: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/16.jpg)
Manajemen MemoriMengapa perlu manajemen memori
Resource yg sangat berharga Parkinson’s law: program cenderung memenuhi
seluruh kapasitas memori dan menguasainya Kemampuan multiprogramming beberapa proses
berada di memori pd saat yg samaManajemen memori dengan partisi tetap
n buah partisi, ukuran bisa bervariasi, diset pd saat sistem diaktifkan
Bgmn jika proses berkembang ?
Partisi 4
Partisi 3
Partisi 2
Partisi 1
Operatingsystem
Partisi 4
Partisi 3
Partisi 2
Partisi 1
Operatingsystem
![Page 17: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/17.jpg)
Manajemen MemoriAlokasi memori dengan partisi variabel
Bgmn mengalokasikan memori untuk proses yg berkembang ?
Sta
ck B
Data
B
Pro
gra
m B
Sta
ck A
Data
A
Pro
gra
m A
Sis
tem
opera
si
1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0
P 0 5 H 5 3
P 8 6 H 14 2
Bgmn mengalokasikan memori untuk proses yg berkembang ?
Bitmap Linked-list Buddy system
![Page 18: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/18.jpg)
Manajemen Memori
Pelacakan memori bebas dengan metode bit map Faktor pemilihan satuan alokasi mjd penting
Satuan kecil bit map besar Satuan besar ada kemungkinan sisa memori
Pelacakan memori bebas dengan metode linked-list Diurutkan berdasar alamat memori Implementasi dng double linked-list
Algoritma alokasi memori First fit: mencari daerah memori bebas (DMB) yg pertama kali
ditemukan yg bisa menampung proses Next fit: mirip dng first fit, tapi dng merekam posisi DMB. Proses
pencarian selanjutnya dimulai dr posisi ini. Best fit: mencari di seluruh list DMB yg paling sesuai dng
kebutuhan proses Worst fit: mencari di seluruh list DMB yg paling besar yg tersedia
![Page 19: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/19.jpg)
Manajemen Memori
Pelacakan memori bebas dengan metode buddy system Berdasar kenyataan bhw komputer bekerja dng bilangan biner
diguna-kan utk mempercepat penggabungan DMB-DMB yg bersebelahan pd saat sebuah proses selesai dieksekusi (atau diswap ke disk)
Diimplementasikan dng list memori bebas berukuran 1, 2, 4, 8, 16, … byte
Pengalokasian memori ke proses dila-kukan dng memecah satu blok memori bebas mjd 2 bg yg sama besar. Peme-cahan dilakukan scr rekursif shg dida-pat blok yg besarnya sesuai kebutuhan
Keuntungan Cepat utk proses pembebasan memori
Kerugian Utilisasi memori yg kurang efisien krn terikat pd aturan 2n
fragmentasi internal
![Page 20: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/20.jpg)
Manajemen MemoriIlustrasi model buddy system
A
A B
A B C
B C
D B C
D C
C
0 128 256 512 1024
Initial
Req. 70
Req. 35
Req. 80
Return A
Req. 60
Return B
Return D
Return C
![Page 21: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/21.jpg)
Virtual Memory
Muncul dr kenyataan bhw kebutuhan memori jauh lebih tinggi drpd memori yg tersedia
Usaha utk menyederhanakan solusi dng cara abstraksi manajemen memori
Paging Akses ke memori melalui
Mapping dari virtual address Mekanisme “page frame”
Memory management unit (MMU) sbg mapper Virtual addr space > real addr space mapping yg dinamis (bisa
berubah-ubah) Mekanisme akses
1. Instruksi program berisi perintah akses ke memori2. Alamat memori virtual address space, diteruskan ke MMU3. MMU melakukan mapping ke real address4. Real address diteruskan ke address bus
![Page 22: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/22.jpg)
Virtual Memory: Paging
Page yg tidak terpetakan akan menyebabkan page fault
Jika terjadi page fault1. SO memilih salah satu page frame yg tidak banyak
diakses & menyimpan isinya ke disk2. SO mengambil isi page yg tidak terpetakan dan
menyalinnya ke page frame yg baru saja di-flush3. SO mengubah mapping4. Melanjutkan eksekusi instruksi
0 -
4K
2 1 6 0 4 3 x x x 5 x 7 x x x x
4K
- 8
K
8K
- 1
2K
12
K -
16
K
16
K -
20
K
20
K -
24
K
24
K -
28
K
28
K -
32
K
32
K -
36
K
36
K -
40
K
40
K -
44
K
44
K -
48
K
48
K -
52
K
52
K -
56
K
56
K -
60
K
60
K -
64
K
Virtualpage
Pageframe
Virtualaddressspace
0 -
4K
4K
- 8
K
8K
- 1
2K
12
K -
16
K
16
K -
20
K
20
K -
24
K
24
K -
28
K
28
K -
32
K
Physicalmemoryaddress
![Page 23: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/23.jpg)
Algoritma Pergantian Page
Tujuan: minimisasi overhead, shg hrs dipilih page frame yg tidak banyak digunakan
Algoritma Not-Recently-Used Bit R (referenced) dan M (modified)
R diset bila sebuah page direferensikan M diset bila ada modifikasi thdp isi page
Pertama kali sebuah proses dimulai, R dan M direset. Scr periodis (mis: tiap clock interrupt), bit R direset Ada 4 kemungkinan kelas:
K1: tidak direferensi, tidak dimodifikasi K2: tidak direferensi, dimodifikasi K3: direferensi, tidak dimodifikasi K4: direferensi, dimodifikasi
Jika ada page fault, SO akan memilih sebuah page dr kelas terendah yg tidak kosong Contoh: lebih baik memilih (utk dibuang) page yg dimodifikasi tp tidak direferensi
dlm waktu yg cukup lama (K2), drpd page yg tdk dimodifikasi tp sering digunakan (K3)
![Page 24: Materi 6](https://reader036.vdokumen.com/reader036/viewer/2022070317/55642438d8b42a69298b4ff3/html5/thumbnails/24.jpg)
Algoritma Pergantian Page
Algoritma FIFO Page yang paling awal akan dibuang pd saat terjadi page fault Perlu list utk merekam info ttg “umur” page Algoritma FIFO sering dikombinasikan dng bit R dan M utk
meminimisasi overhead akibat dibuangnya page yg sering direferensi
Algoritma Least-Recently-Used Asumsi: sebuah page yg banyak digunakan pd bbrp instruksi
terakhir akan tetap banyak digunakan dlm bbrp instruksi berikut, dmk pula sebaliknya
Pilih page yg tidak direferensikan dlm jangka waktu yg paling lama
LRU mahal krn harus memonitor status tiap page perlu bantuan hardware khusus atau simulasi software utk mencatat status referensinya (bit R)