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.
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
1. 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.
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
c. Proteksi Data dan Sumber Daya Fisik
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.
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.
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
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.
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.
H. Tipe-tipe Ancaman Keamanan
1. Interupsi
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:
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:
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:
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)
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.
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
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)
DAFTAR PUSTAKA