Pertemuan 4
Senin, 17 Desember 2018
Tugas Sistem Informasi
Pertemuan 5
KONKURENSI DAN KEAMANAN SISTEM
A. Pengertian Konkurensi
Konkurensi merupakan
lansdasan umum perancangan sistem operasi. Proses –proses disebut konkuren jika
proses-proses ada pada saat yang sama
B. Prinsip – prinsip Konkurensi
Prinsip –
prinsip konkurensi meliputi :
1. Alokasi layanan pemoses untuk proses – proses
2. Pemakaian bersama dan persaingan untuk mendapatkan sumberdaya
3. Sinkronisasi aktivitas banyak proses
4. Komunikasi antar proses
Konkurensi dapat muncul pada konteks berbeda yaitu :
1. Untuk banyak pemakai
2. Untuk strukturisasi dari aplikasi
3. Untuk strukturisasi dari satu proses
4. Untuk strukturisasi sistem operasi
C. Beberapa kesulitan yang ditimbulkan konkurensi
Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem operasi.
2. Beberapa kesulitan yang dapat muncul, di antaranya
adalah:
a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
c) Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis.
b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
c) Pencarian kesalahan pemrograman.
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
3. Proses-proses konkuren mengharuskan beberapa hal yang
harus ditangani, antara lain:
a) Sistem operasi harus mengetahui proses-proses yang aktif
b) Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:
(1) Waktu pemroses.
(2) Memori
(3) Berkas-berkas
(4) Perangkat I/O
c) Sistem operasi harus memproteksi data dan sumber daya
a) Sistem operasi harus mengetahui proses-proses yang aktif
b) Sistem operasi harus mengalokasikan dan mendealokasikan beragam sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola, antara lain:
(1) Waktu pemroses.
(2) Memori
(3) Berkas-berkas
(4) Perangkat I/O
c) Sistem operasi harus memproteksi data dan sumber daya
fisik masing-masing proses dari gangguan proses-proses lain.
d) Hasil-hasil proses harus independen terhadap kecepatan
d) Hasil-hasil proses harus independen terhadap kecepatan
relatif proses-proses lain dimana eksekusi dilakukan.
D. Masalah – masalah konkuren
D. Masalah – masalah konkuren
1.
Mutual Exclusion
Adalah jaminan hanya satu proses yang mengakses sumber
daya pada suatu interval waktu tertentu. Proses-proses yang lain dilarang
mengerjakan hal yang sama. Bagian program yang sedang mengakses memori atau
sumber daya yang dipakai bersama disebut Critical Section/Region. Mutual
Exclusion merupakan jaminan untuk mengatasi kondisi pacu agar tidak boleh 2
proses atau lebih memasuki Critical Section secara bersamaan.
Kesuksesan proses- proses kongkuren memerlukan
pendefinisian Critical Section dan memaksakan Mutual Exclusion di antara
proses-proses kongkuren yang sedang berjalan. Pemaksaan Mutual Exclusion
merupakan landasan pemrosesan kongkuren.
Pemaksaan adanya mutual eclusion menimbulkan dua
maslah, yaitu:
- Deadlock.
- Deadlock.
- Startvation.
Kriteria penyelesaian mutual exclusion:
1.
Mutual exclusion harus dijamin, hanya satu proses pada saat yang
diijinkan masuk ke critical section.
diijinkan masuk ke critical section.
2.
Prosesyang berada di noncritical section, dilarang memblocked proses
lain yang ingin masuk critical section.
3.
Harus dijamin proses yang ingin masuk critical section tidak menunggu
selama waktu yang tak berhingga.
selama waktu yang tak berhingga.
4.
Ketika tidak ada proses pada critical section maka proses yang ingin
masuk critical section harus diijinkan masuk tanpa tertunda.
masuk critical section harus diijinkan masuk tanpa tertunda.
5.
Tidak ada asumsi mengenai kecepatan relative proses atau jumlah
proses yang ada.
proses yang ada.
2. Deadlock.
Deadlock adalah suatu kondisi dimana dua proses atau
lebih saling menunggu proses yang lain untuk melepaskan resource yang
sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi
kemajuan dalam kerja proses-proses tersebut. Deadlock adalah masalah
yang biasa terjadi ketika banyak proses yang membagi
sebuah resource yang hanya boleh dirubah oleh satu proses saja dalam
satu waktu.
Di kehidupan nyata, deadlock dapat
digambarkan dalam gambar berikut.Pada gambar
diatas, deadlock dianalogikan sebagai dua antrian mobil yang akan
menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu
antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan
antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian
tersebut.Misal ada proses A mempunyai resource X, proses B
mempunyai resource Y.
Kemudian kedua proses ini dijalankan bersama, proses A
memerlukan resource Y dan proses B memerlukan resource X,
tetapi kedua proses tidak akan memberikan resource yang dimiliki
sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi
tunggu-menunggu.
Ilustrasi:
-
Terdapat dua proses P1 dan P2
-
Dua sumber kritis R1 dan R2
-
Proses P1 dan P2 harus mengakses kedua sumber daya itu (R1 dan R2).
-
R1 diberikan pada P1 sedang R2 diberikan pada P2.
-
Karena untuk melanjutkan eksekusi memerlukan dua sumber daya sekaligus maka
proses akan saling menunggu sumber daya lain selamanya.
Syarat terjadinya deadlock:
-
Mutual exclusion
Tiap sumber daya saat diberikan pada satu proses.
-
Hold and wait Condition
Proses-proses yang sedang menggenggam sumber daya,
menunggu
sumberdaya-sumberdaya baru
sumberdaya-sumberdaya baru
-
Non Preemption Condition
Sumberdaya - sumberdaya yang sebelumnya duberikan
tidak dapat
diambil paksa dari proses itu. Sumberdaya – sumberdaya
harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
diambil paksa dari proses itu. Sumberdaya – sumberdaya
harus secara eksplisit dilepaskan dari proses yang menggenggamnya.
-
Circulair Wait Condition
Harus terdapat rantai sirkuler dari dua proses atau
lebih, masing-masing
menunggu sumber daya yang digenggam oleh berikutnya pada rantai itu.
menunggu sumber daya yang digenggam oleh berikutnya pada rantai itu.
Metode Mengatasi deadlock :
1.
Pencegahan terjadinya deadlock
2.
Pengindaran terjadinya deadlock
3.
Deteksi dan pemulihan deadlock
3. Starvation.
Starvation adalah kondisi yang biasanya terjadi
setelah deadlock. Proses yang kekurangan resource (karena
terjadi deadlock) tidak akan pernah mendapat resource yang
dibutuhkan sehingga mengalami starvation (kelaparan).
Namun, starvation juga bisa terjadi
tanpa deadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga
terjadi ketimpangan dalam pembagian resouce. Satu proses selalu
mendapat resource, sedangkan proses yang lain tidak pernah mendapatkannya.
Ilustrasi starvation tanpa deadlock di dunia nyata dapat dilihat
di bawah ini.Pada gambar diatas, pada antrian kanan terjadi starvation
karena resource (jembatan) selalu dipakai oleh antrian kiri, dan antrian
kanan tidak mendapatkan giliran
.
Ilustrasi:
Misal terdapat 3 (tiga) proses P1,P2 dan P3. P1,P2 dan P3.memerlukan akses sumber daya R secara periodik. Selanjutnya : P1 sedang diberi sumber daya R, P2 dan P3 blocked menunggu sumber sumber daya R. Ketika P1 keluar dari critical region, P2 dan P3 diijinkan mengakses R. Asumsi P3 diberi hak akses. Kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu membutuhkan sumber daya R. Jika pemberian hak akses bergantian terusmenerus antara P1 dan P3 , maka P2 tidak pernah memperoleh akses sumber daya R, meski tidak ada deadlock. Pada situasi ini P2 disebut mengalami startvation.
Misal terdapat 3 (tiga) proses P1,P2 dan P3. P1,P2 dan P3.memerlukan akses sumber daya R secara periodik. Selanjutnya : P1 sedang diberi sumber daya R, P2 dan P3 blocked menunggu sumber sumber daya R. Ketika P1 keluar dari critical region, P2 dan P3 diijinkan mengakses R. Asumsi P3 diberi hak akses. Kemudian setelah selesai, hak akses kembali diberikan ke P1 yang saat itu membutuhkan sumber daya R. Jika pemberian hak akses bergantian terusmenerus antara P1 dan P3 , maka P2 tidak pernah memperoleh akses sumber daya R, meski tidak ada deadlock. Pada situasi ini P2 disebut mengalami startvation.
4. Sinkronisasi.
Adalah proses pengaturan jalannya beberapa proses pada
saat yang bersamaan. Tujuan utama sinkronisasi adalah menghindari terjadinya
inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda (mutual
exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat
berjalan dengan lancar dan terhindar
dari deadlock atau starvation.
Latar Belakang :
1.
Akses-akses yang dilakukan secara bersama-sama ke data yang sama, dapat menyebabkan
data menjadi tidak konsisten.
2.
Untuk menjaga agar data tetap konsisten, dibutuhkan mekanisme-mekanisme
untuk memastikan pemintaan ekseskusi dari proses yang bekerja.
3.
Race Condition: Situasi dimana beberapa proses mengakses dan memanipulasi
data secara bersamaan. Nilai terakhir dari data bergantung dari proses mana
yang selesai terakhir.
4.
Untuk menghindari Race Condition, proses-proses secara bersamaan harus
disinkronisasikan.
E. Pokok Penyelesaian Masalah Kongkurensi
Pada dasarnya penyelesaian masalah kongkurensi terbagi
menjadi 2, yaitu:
1.
Mengasumsikan adanya memori yang digunakan bersama
2.
Tidak mengasumsikan adanya memori yang digunakan bersama.
Adanya memori bersama lebih memudahkan penyelesaian
masalah kongkurensi.
Metode memori bersama dapat dipakai untuk
singleprocessor ataupun multiprocessor yang mempunyai memori bersama.
Penyelesaian ini tidak dapat digunakan untuk
multiprocessor tanpa memori bersama atau untuk sistem tersebar.
Sumber : http://cahgantenggg./2013/06/masalah-masalah-konkuren-tugas-sistem.html
Ancaman – Ancaman Keamanan
Kebutuhan
keamanan sistem komputer meliputi tiga aspek, yaitu:
1. Kerahasiaan (secrecy)
2. Integritas (Intergrity)
3. Ketersediaan (availability)
F. / Definisi Keamanan
Adalah untuk menjamin sumberdaya agar tidak digunakan atau dimodifikasi
orang yang tidak diotorisasikan
Keamanan sistem terbagi menjadi tiga yaitu :
1. Keamanan eksternal ( external security)
2. Keamanan interface pemakai (user interface security)
3. Keamanan internal (internal security)
G. Masalah – Masalah Keamanan
Terdapat 2 masalah penting :
1. Kehilangan data (data lost) disebabka bencana, kesalahan perangkat
keras/lunak, kesalahan kelalaian manusia
2. Penyusup (intruder), berupa penyusupan pasif dan penyusupan aktif
H. Tipe – Tipe Ancaman Keamanan
1. Interupsi (interruption)
Sumber daya sistem komputer dihancurkan atau menjadi
tak tersedia atau tak berguna. Interupsi merupakan ancaman terhadap
ketersediaan.
Contoh : penghancuran bagian perangkat keras, seperti harddisk, pemotongan kabel
komunikasi.
2. Intersepsi (interception)
Pihak tak diotorisasi dapat mengakses sumber daya.
Interupsi merupakan ancaman terhadap kerahasiaan. Pihak tak diotorisasi dapat
berupa orang atau program komputer.
Contoh : penyadapan untuk mengambil data rahasia, mengetahui file tanpa
diotorisasi.
3. Modifikasi (modification)
3. Modifikasi (modification)
Pihak tak diotorisasi tidak hanya mengakses tapi juga
merusak sumber daya.
Modifikasi merupakan ancaman terhadap integritas.
Contoh : mengubah nilai-nilai file data, mengubah program sehingga bertindak
secara berbeda, memodifikasi pesan-pesan yang ditransmisikan pada jaringan.
4. Fabrikasi (fabrication)
Pihak tak diotorisasi menyisipkan/memasukkan
objek-objek palsu ke sistem.
Fabrikasi merupakan ancaman terhadap integritas.
Contoh : memasukkan pesan-pesan palsu ke jaringan, penambahan record ke file.
I.
Mekanisme
Proteksi
1. Objek perangkat keras
2. Objek perangkat lunak
J.
Program –
Program Jahat
1. Program yang memerlukan host program
Trapdoor
Logic bomb
Trojan horse
Virus
2. Program yang tidak memerlukan host
program (independen)
Bacteria
Worm
K. Virus dan Anti Virus
Virus
adalah kode yang ditempelkan dalam satu program yang menyebabkan pengopian
dirinya ke satu program lain atau lebih.
Virus mengalami siklus hidup
empat fase (tahap), yaitu:
1. Fase tidur (dormant phase)
2. Fase propagasi (propagation phase)
3. Fase pemicuan (triggering phase)
4. Fase
eksekusi (execution phase)
Klasifikasi
tipe virus adalah sebagai berikut:
_ Parasitic
virus
_ Memory-resident
virus
_ Boot
sector virus
_ Stealth
virus
_ Polymorphic virus
Anti Virus
Solusi ideal
terhadap ancaman virus adalah pencegahan. Pendekatan yang dilakukan
setelah pencegahan terhadap masuknya virus,yaitu: Deteksi, Identifikasi
dan Penghilangan.
Perkembangan
anti virus dapat diperiodekan menjadi 4
(empat)
generasi, yaitu:
1. Generasi
pertama : sekedar scanner sederhana
2. Generasi
kedua : scanner yang pintar (heuristic scanner)
3. Generasi
ketiga : jebakan-jebakan aktivitas activity trap)
4. Generasi keempat : proteksi penuh (full-feature
protection)
Langganan:
Postingan (Atom)