PERTEMUAN KE 5
KONKURENSI DAN KEAMANAN SISTEM
A. Pengertian Konkurensi
Konkurensi adalah merupakan landasan umum perancangan sistem operasi. Proses-proses dapat disebut konkuren jika :
1. Proses-proses (lebih dari satu proses) berada pada saat yang sama.
2. Proses-proses konkuren dapat sepenuhnya tidak bergantung dengan lainya tapi dapat juga saling berinteraksi.
3. Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik.
B. Prinsip-prinsip Konkurensi Meliputi
1. Alokasi waktu pemroses untuk semua proses
Bertugas menjadwalkan alokasi pemroses di antara proses–proses ready dalam memori . Saat proses diberi jatah waktu oleh pemroses.
2. Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
Bertugas menjadwalkan alokasi pemroses di antara proses–proses ready dalam memori . Saat proses diberi jatah waktu oleh pemroses.
2. Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
Persaingan antar proses terjadi ketika beberapa proses akan menggunakan sumber daya yang sama.
Jika ada 2 proses yang akan mengakses ke suatu sumber daya tunggal,
kemudian satu proses dialokasikan kesumber daya tersebut oleh SO proses
yang lainnya akan menunggu.
3. Komunikasi antar proses
Adalah cara atau mekanisme pertukaran data antara satu proses
dengan proses lainnya, baik itu proses yang berada di dalam komputer
yang sama, atau komputer jarak jauh yang terhubung melalui jaringan.
4. Sinkronisasi aktivitas banyak proses
Sinkronisasi aktivitas banyak proses yaitu kerja sama diantara proses.
Konkurensi dapat muncul pada konteks berbeda, antara lain:
a. Banyak aplikasi atau Banyak pemakai (multiple application)
a. Banyak aplikasi atau Banyak pemakai (multiple application)
Multiprogramming memungkinkan banyak proses sekaligus dijalankan.
Proses-proses dapat berasal dari aplikasi-aplikasi berbeda. Pada system
multiprogramming bisa terdapat banyak aplikasi sekaligus yang dijalankan
di system komputer.
b. Aplikasi terstruktur (untuk strukturisasi dari aplikasi)
Perluasan prinsip perancangan modular dan pemrograman terstruktur
adalah suatu aplikasi dapat secara efektif diimplementasikan sebagai
sekumpulan proses. Dengan sekumpulan proses, maka tiap proses
menyediakan satu layanan spesifik tertentu.
c. Struktur sistem operasi (untuk strukturisas sistem operasi)
Keunggulan strukturisasi dapat juga diterapkan ke pemrograman sistem.
Beberapa sistem operasi aktual yang dipasarkan dan yang sedang dalam
riset telah diimplementasikan sebagai sekumpulan proses. Sistem operasi
bermodelkan client/server menggunakan pendekatan ini.
d. Untuk Strukturisasi Satu Proses (untuk strukturisasi dari satu proses)
Saat ini untuk peningkatan kinerja maka satu proses dapat memiliki
banyak thread yang independen. Thread-thread tersebut harus dapat
bekerjasama untuk mencapai tujuan proses.
C. Beberapa Kesulitan yang Ditimbulkan Konkurensi
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.
2. 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.
3. Pencarian kesalahan pemrograman (Debuging)
Pencarian kesalahan pada pemrograman kongkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen.
Proses-proses konkuren
Proses-proses konkuren mengharuskan hal-hal berikut ditangani sistem operasi, yaitu:
a. Mengetahui Proses-Proses Aktif
Sistem operasi harus mengetahui proses-proses yang aktif.b. Alokasi dan Dealokasi bragam sumber daya untuk tiap proses aktif
Sistem operasi harus mengalokasikan dan mendealokasikan beragam
sumber daya untuk tiap proses aktif. Sumber daya yang harus dikelola,
antara lain:
- Waktu pemroses
- Memori
- Berkas-berkas
- Perangkat I/O
Sistem operasi harus memproteksi data dan sumber daya fisik masing-masing proses dari gangguan proses-proses lain.
d. Hasil-hasil harus Independen
Hasil-hasil proses harus independen terhadap kecepatan relatif proses-proses lain dimana eksekusi dilakukan.
D. Masalah-masalah konkuren
1. Mutual Exclusion
Mutual Exclusion adalah jaminan hanya satu proses yang mengakses sumber
daya pada satu interval tertentu. Terdapat sumber daya yang tak dapat
dipakai bersama pada saat bersamaan (mis. printer). Sumber daya ini
disebut dengan sumber daya kritis. Bagian program yang menggunakan
sumber daya kritis disebut memasuki critical region/station. Hanya satu
program pada satu saat yang diijinkan masuk critical region. Programmer
tidak dapat bergantung pada system operasi untuk memahami dan memaksa
batasan ini karena maksud program tidak dapat diketahui.
Contoh Ilustrasi Eksekusi Daemon Printer
Daemon untuk printer adalah proses penjadwalan dan pengendalian untuk mencetak berkas-berkas di printer sehingga seolah-olah printer dapat digunakan secara simultan oleh proses-proses. Daemon untuk printer mempunyai ruang penyimpanan di harddisk (disebut direktori spooler) untuk menyimpan berkas-berkas yang akan di cetak. Terdapat variabel in yang menunjuk slot bebas diruang harddisk yang dipakai untuk menyimpan berkas yang hendak di cetak.
Kriteria penyelesaian mutual exclusion:
1. Mutual exclusion harus dijamin, hanya satu proses pada saat yang 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.
4. Ketika tidak ada proses pada critical section maka proses yang ingin masuk critical section harus diijinkan masuk tanpa tertunda.
5. Tidak ada asumsi mengenai kecepatan relative proses atau jumlah proses yang ada.
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.
4. Ketika tidak ada proses pada critical section maka proses yang ingin masuk critical section harus diijinkan masuk tanpa tertunda.
5. Tidak ada asumsi mengenai kecepatan relative proses atau jumlah proses yang ada.
2. DEADLOCK
Proses disebut deadlock jika proses menunggu suatu kejadian yang tak pernah terjadi. Sekumpulan proses berkondisi deadlock bila setiap proses yang ada menunggu suatu kejadian yang hanya dapat dilakukan proses lain yang juga berada di kumpulan tersebut.
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
· Non Preemption Condition
Sumberdaya- sumberdaya yang sebelumnya diberikan tidak dapat 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.
Metode Mengatasi deadlock :
· Pencegahan terjadinya deadlock
· Pengindaran terjadinya deadlock
· Deteksi dan pemulihan deadlock
3. STARVATION
Keadaan dimana pemberian akses bergantian terusmenerus, dan ada suatu proses yang tidak mendapatkan gilirannya.
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.
E. Pokok penyelesaian masalah konkurensi
Pada dasarnya penyelesaian masalah konkurensi terbagi menjadi dua, yaitu :
1. Mengasumsikan adanya memori yang digunakan bersama.
2. Tidak mengasumsikan adanya memori yang digunakan bersama
1. Mengasumsikan adanya memori yang digunakan bersama.
2. Tidak mengasumsikan adanya memori yang digunakan bersama
Adanya memori bersama lebih mempermudah dalam penyelesaian masalah konkurensi. Metode penyelesaian ini dapat dipakai untuk sistem singleprocessor ataupun multiprocessor yang mempunyai memori bersama.
F. Definisi Keamanan
Keamanan sistem komputer adalah untuk menjamin sumber daya agar tidak digunakan atau dimodifikasi orang yang tidak diotorisasikan.
Keamanan Sistem terbagi menjadi tiga, yaitu:
1. Keamanan Eksternal (external security)
Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana, seperti kebakaran dan
kebanjiran.
2. Keamanan Interface Pemakai (user interface security)
Berkaitan dengan identifikasi pemakai sebelum pemakai diizinkan mengakses program dan data yang
disimpan.
3. Keamanan Internal (internal security)
Berkaitan dengan pengaman beragam kendali yang bangun pada perangkat keras dan sistem operasi yang menjamin operasi yang andal dan tak terkorupsi untuk menjaga integritas program dan data.
Berkaitan dengan identifikasi pemakai sebelum pemakai diizinkan mengakses program dan data yang
disimpan.
3. Keamanan Internal (internal security)
Berkaitan dengan pengaman beragam kendali yang bangun pada perangkat keras dan sistem operasi yang menjamin operasi yang andal dan tak terkorupsi untuk menjaga integritas program dan data.
G. Ancaman-ancaman Keamanan
Kebutuhan keamanan sistem komputer meliputi tiga aspek, yaitu:
1. Kerahasiaan (secrecy)
Adalah keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh pihak-pihak yang
diotorisasi, sehingga jika dimodifikasi tetap terjaga konsistensi dan keutuhan datanya.
2. Integritas (Intergrity)
Adalah keterjaminan bahwa sumber daya sistem komputer hanya dapat diakses oleh pihak-pihak yang diotorisasi.
3. Ketersediaan (Availability)
Adalah keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang diotorisasi
saat diperlukan.
Adalah keterjaminan bahwa sumber daya sistem komputer hanya dapat diakses oleh pihak-pihak yang diotorisasi.
3. Ketersediaan (Availability)
Adalah keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang diotorisasi
saat diperlukan.
H. Tipe-tipe Ancaman Keamanan
1. Interupsi
Sumber daya sistem komputer dihancurkan atau menjadi tidak tersedia atau tidak berguna. Merupakan ancaman terhadap ketersediaan.
cth:
Sumber daya sistem komputer dihancurkan atau menjadi tidak tersedia atau tidak berguna. Merupakan ancaman terhadap ketersediaan.
cth:
pemotongan kabel komunikasi, penghancuran bagian perangkat keras, seperti harddisk
2. Intersepsi
Pihak tidak diotorisasi dapat mengakses sumber daya. Merupakan ancaman terhadap kerahasiaan. Pihak tidak diotorisasi dapat berupa orang atau program komputer.
cth:
2. Intersepsi
Pihak tidak diotorisasi dapat mengakses sumber daya. Merupakan ancaman terhadap kerahasiaan. Pihak tidak diotorisasi dapat berupa orang atau program komputer.
cth:
penyadapan untuk mengambil data rahasia, mengkopi file tanpa diotorisasi
3. Modifikasi
Pihak tidak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Merupakan ancaman terhadap integritas.
cth:
Pihak tidak diotorisasi tidak hanya mengakses tapi juga merusak sumber daya. Merupakan ancaman terhadap integritas.
cth:
mengubah nilai-nilai file data, mengubah program sehingga bertindak secara berbeda, memodifikasi
pesan-pesan yang ditransminikan pada jaringan.
4. Fabrikasi
Pihak tidak diotorisasi menyisipkan/memasukkan objek-objek palsu ke sistem. Merupakan ancaman terhadap integritas
cth:
pesan-pesan yang ditransminikan pada jaringan.
4. Fabrikasi
Pihak tidak diotorisasi menyisipkan/memasukkan objek-objek palsu ke sistem. Merupakan ancaman terhadap integritas
cth:
memasukkan pesan-pesan palsu ke jaringan, penambahan record ke file
I. Mekanisme Proteksi
Pada sistem komputer banyak objek yang perlu diproteksi, yaitu:
1. Objek perangkat keras, antara lain: pemroses, segmen memori, terminal, disk drive, printer, dll.
2. Objek perangkat lunak, antara lain: proses, file, basis data, dll.
Mekanisme proteksi dikembangkan berdasarkan konsep domain. Domain adalah himpunan pasangan (objek,hak).
J. Program-program Jahat
Bowles [BOW-92] memberikan taksonomi ancaman perangkat lunak atau klasifikasi program jahat (malicious program). Ancaman-ancaman itu dapat menjadi dua kategori, yaitu:
1. Program-program yang memerlukan host program
- Trapdoor
- Logic Bomb
- Trojan horse
- Virus
Logic Bomb
Adalah logic yang ditempelkan pada program komputer agar memeriksa kumpulan kondisi di sistem.
Trapdoor
Adalah titik masuk rahasia yang tidak terdokumentasi disatu program untuk memberikan akses tanpa metode otentifikasi normal.
Trojan Horse
Adalah rutin tak terdokumentasi rahasia yang ditempelkan dalam satu program pengguna. Program-program tersebut jika terinfeksi, pasti terdapat kode tersembunyi dan ketika dijalankan, akan melakukan suatu fungsi yang tidak diinginkan.
Virus
Adalah kode yang ditempelkan dalam satu program yang menyebabkan pengopian dirinya ke satu program lain atau lebih. Virus biasanya melakukan fungsi yang tidak diinginkan.
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)
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
Parasitic virus
Merupakan virus tradisional dan bentuk virus yang paling sering. Tipe ini menggantungkan diri ke file exe. Ketika program yang terinfeksi di eksekusi Virus mereplikasi dengan mencari file-file exe lain untuk diinfeksi.
Memory-resident virus
Virus memuatkan diri ke memori utama sebagai bagian program yang menetap. Virus menginfeksi
setiap program yang dieksekusi.
setiap program yang dieksekusi.
Boot sector virus
Virus menginfeksi master boot record atau boot record dan menyebar saat sistem di-boot dari disk
yang berisi virus.
Stealth virus
Virus yang bentuknya telah dirancang agar dapat menyembunyikan diri dari deteksi perangkat lunak
anti-virus.
Polymorphic virus
Virus bermutasi setiap kali melakukan infeksi. Deteksi dengan “penandaan” virus tersebut tidak
dimungkinkan.
2. Program-program yang tidak memerlukan host program (independen)
- Bacteria
- Worm
Bacteria
Adalah program yang mengkonsumsi sumber daya sistem dengan replikasi dirinya sendiri.
Worm
Adalah program yang dapat mereplikasi dirinya dan mengirim kopian-kopian dari komputer ke komputer lewat hubungan jaringan.
K. 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)
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)
Slide UBSI
https://manajemenmemori.wordpress.com/2010/10/26/konkurensi-dan-keamanan-2/
http://syahrie.files.wordpress.com/2009/01/kongkurensi1.pdf
http://komputasi.files.wordpress.com/2009/03/so2009-05.pdf
http://syahrie.files.wordpress.com/2009/01/kongkurensi1.pdf
http://komputasi.files.wordpress.com/2009/03/so2009-05.pdf



