Langsung ke konten utama

Sistem operasi pertemuan 5


Pertemuan 5

KONKURENSI
DAN
KEAMANAN SISTEM

 A. Pengertian Konkurensi
     Konkurensi merupakan landasan umum perancangansistem operasi. Proses-proses disebut konkuren jika proses-proses (lebih dari satu proses) ada pada saat yang sama.
Proses-proses konkuren dapat sepenuhnya tidak bergantung dengan lainnya tapi dapat juga saling
berinteraksi.
Proses-proses yang berinteraksi memerlukan sinkronisasi agar terkendali dengan baik.

B. Prinsip-prinsip Konkurensi

Prinsip-prinsip konkurensi meliputi :
Alokasi layanan pemroses untuk proses-proses
Pemakaian bersama dan persaingan untuk mendapatkan sumberdaya
Komunikasi antar proses
Sinkronisasi aktivitas banyak proses
 Konkurensi dapat muncul pada konteks berbeda, yaitu :
untuk banyak pemakai
untuk strukturisasi dari aplikasi
untuk strukturisasi dari satu proses
untuk strukturisasi sistem operasi 

Konteks Konkurensi

Konteks Konkurensi untuk Strukturisasi Satu Proses
     Untuk peningkatan kinerja, maka satu proses dapat memiliki banyak thread yang independen. Thread-thread tersebut harus dapat bekerja sama untuk mencapai tujuan proses.

Konteks Konkurensi untuk Banyak Aplikasi 
     Sistem multiprogramming memungkinkan banyak aplikasi/proses yang sekaligus dijalankan di satu pemroses.

Konteks Konkurensi untuk Strukturisasi Aplikasi
     Perluasan prinsip perancangan modular dan pemrograman terstruktur adalah suatu aplikasi dapat
secara efektif diimplementasikan sebagai sekumpulan proses, maka masing-masing proses menyediakan satu layanan spesifikasi tertentu.

Konteks Konkurensi u/ Strukturisasi Sistem Operasi
     Keunggulan strukturisasi dapat diterapkan ke pemrograman sistem. Beberapa sistem operasi yang
dipasarkan dan yang sedang dalam reset telah diimplementasikan sebagai sekumpulan proses.

C. Beberapa kesulitan yang ditimbulkan konkurensi  
Pemakaian bersama sumber daya global
Pengelolaan alokasi sumber daya agar optimal
Pencarian kesalahan program (Debuging)
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 bersama menjadi kritis.

Pengelolaan Alokasi Sumber Daya agar Optimal
     Jika proses A meminta suatu kanal masukan/ keluaran tertentu dan dipenuhi, permintaan tersebut dapat ditunda (suspend) sebelum menggunakan kanal tersebut. Jika sistem operasi mempunyai kebijaksanaan mengunci kanal dan mencegah proses-proses lain menggunakan kanal itu, maka tindakan ini jelas hanya menghasilkan inefisiensi sistem komputer.
 
Pencarian Kesalahan Pemrograman
     Pencarian kesalahan pada pemrograman konkuren lebih sulit dibanding pencarian kesalahan pada program-program sekuen

Proses-proses konkuren
     Proses-proses konkuren mengharuskan hal-hal berikut ditangani sistem operasi, yaitu:
Mengetahui proses-proses yang aktif
Alokasi dan dealokasi beragam sumber daya untuk tiap proses aktif
Proteksi data dan sumber daya fisik proses
Hasil-hasil proses harus independen

D. Masalah-masalah konkuren
     Masalah-masalah konkuren diantaranya :
Mutual exclusion
Deadlock
Starvation
1. Mutual Exclusion
     Merupakan persoalan untuk menjamin hanya satu proses yang mengakses sumber daya pada suatu
interval waktu tertentu. Pentingnya mutual exclusiondapat dilihat pada ilustrasi eksekusi daemon printer.

2. Deadlock
     Deadlock terjadi ketika proses-proses mengakses sumber daya secara eksklusif. Semua deadlock yang terjadi melibatkan persaingan untuk memperoleh sumber data eksklusif oleh dua proses atau lebih.

3. Startvation
     Keadaan dimana pemberian akses bergantian terusmenerus, dan ada suatu proses yang tidak mendapatkan gilirannya.

E. Pokok penyelesaian masalah konkurensi
     Pada dasarnya penyelesaian masalah konkurensi terbagi menjadi dua, yaitu :
Mengasumsikan adanya memori yang digunakan bersama.
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:
Keamanan Eksternal (external security) Berkaitan dengan pengamanan fasilitas komputer dari penyusup dan bencana, seperti kebakaran dan kebanjiran.
Keamanan Interface Pemakai (user interface security) Berkaitan dengan identifikasi pemakai sebelum pemakai diizinkan mengakses program dan data yang disimpan.
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. Masalah-masalah keamanan
     Pada keamanan, terdapat dua masalah penting, yaitu:
Kehilangan data (data lost) disebabkan : bencana, kesalahan perangkat keras/lunak, kesalahan/ kelalaian manusia.
Penyusup (intruder), berupa penyusupan pasif dan penyusupan aktif
Penyusup pasif Penyusup yang hanya membaca data yang tidak diotorisasikan
Penyusup Aktif Penyusup yang mengubah data yang tidak diotorisasikan
H. Ancaman-ancaman keamanan
     Kebutuhan keamanan sistem komputer meliputi tiga aspek, yaitu:
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.
Integritas  (Intergrity)
     Adalah keterjaminan bahwa sumber daya sistem komputer hanya dapat diakses oleh pihak-pihak yang diotorisasi.
 Ketersediaan (Availability)
     Adalah keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak-pihak yang diotorisasi saat diperlukan.

I. Tipe-tipe Ancaman Keamanan
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
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
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 pesanpesan yang ditransminikan pada jaringan.
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

J. Mekanisme Proteksi
     Pada sistem komputer banyak objek yang perlu diproteksi, yaitu:
Objek perangkat keras, antara lain: pemroses, segmen memori, terminal, disk drive, printer, dll.
Objek perangkat lunak, antara lain: proses, file, basis data, dll.
Mekanisme proteksi dikembangkan berdasarkan konsep domain. Domain adalah himpunan pasangan (objek,hak).

K. 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
2. Program-program yang tidak memerlukan host program (independen).
Bacteria
Worm
Bacteria
     Adalah program yang mengkonsumsi sumber daya sistem dengan replikasi dirinya sendiri.
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.
Worm
     Adalah program yang dapat mereplikasi dirinya dan mengirim kopian-kopian dari komputer ke komputer lewat hubungan jaringan.

L. Virus dan Anti Virus
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:
Fase tidur (dormant phase)
Fase propagasi (propagation phase)
Fase pemicuan (triggering phase)
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.

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:
Generasi pertama : sekedar scanner sederhana
 Generasi kedua : scanner yang pintar (heuristic scanner)
 Generasi ketiga : jebakan-jebakan aktivitas activity trap)
Generasi keempat : proteksi penuh (full-feature protection)



Komentar

Postingan populer dari blog ini

Pertemuan 3 dan 4 Sistem Operasi

Pertemuan 3 PENJADWALAN PROSES      Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer.  Penjadwalan bertugas memutuskan hal-hal berikut:      1. Proses harus berjalan.      2. Kapan dan berapa lama proses itu berjalan. Kriteria Penjadwalan Adil (Fairness) adalah proses-proses diperlakukan sama yaitu mendapat jatah waktu layanan pemroses yang sama dan tidak ada proses yang tidak kebagian layanan pemroses. Efisiensi (Utilisasi) adalah pemroses yang dihitung dengan perbandingan (rasio) waktu sibuk pemroses dengan total waktu operasi sistem komputer. Waktu Tanggap (Response Time) Sistem Interaktif didefinisikan sebagai waktu yang dihabiskan dari saat katakter terakhir dari perintah dimasukkan oleh program sampai hasil pertama muncul di perangkat masukan keluaran seperti layar. Sistem waktu nyata didefinisika...

Pengertian Branch Prediction - Data Flow Analysis - Speculative Execution

    1. Branch Prediction         Dalam artsitektur komputer, sebuah prediktor cabang adalah sirkuitdigital yang mencoba untuk menebak arah mana cabang (misalnya astruktur if-then-else) akan pergi sebelum ini diketahui pasti. Tuujuan dari prediktor cabang penting dalam mikroprossesor pipeline hari ini untuk mencapai kinerja tinggi.        Dua arah percabangan biasanya diimplementasikan dengan instruksi lompat berrsyarat dapat menjadi "tidak diambil" dan melanjutkan eksekusi  dengan cabang pertama dari kode yang mengikuti segera setelah lompat bersyarat atau dapat "diambil" dan melompat ke tempat yang berbeda di memori program dimana cabang kedua kod adalah disimpan. hal ini tidak diketahui secara pasti apakah lompat bersyarat akan diambil smapai kondisi telah dihitung dan lompat bersyarat telah lulus eksekusi dlam pipa intruksi.         Tanpa prediksi cabang prosesor harus menunggu sampai intruksi lo...