Minggu, 21 Oktober 2018

Tugas Sistem Operasi 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.
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.
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
fisik masing-masing proses dari gangguan proses-proses  lain.
d)    Hasil-hasil proses harus independen terhadap kecepatan
            relatif proses-proses lain dimana eksekusi dilakukan.
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.
- Startvation.
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.      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
-          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.
-          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 :
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. 
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)
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)

Tugas Sistem Operasi pertemuan 4











Tugas Sistem Operasi pertemuan 3

Contoh Algoritma PTPD/FCFS/FIFO
Contoh Algoritma PTPD/FCFS/FIFO sebaga berikut:



Penyelesaian Algoritma PTPD/FCFS/FIFO


Barisan proses :

Cara ngitung nya gimana?
pertama ya berdo'a Allahumma Inniy As-aluka ‘ilman naafi’an, wa rizqon thoyyiban, wa ‘amalan mutaqobbalan
liat tabel kedua gua nama nya tabel nya Penyelesaian algo , nah disitu dimulai dari Nama Proses (A) nah si A ini Saat Tiba nya (0) jadi di skip langsung ke Lama Proses di dalam Lama Proses terdapat angka (4) angka (4) ini kita masukan ke Barisan Proses yang berada di Tabel ketiga gua dengan Nama Proses (A) sampe 4kali, kenapa sampe 4x? because Lama Proses si A, 4 kali sampe sini paham ora?kalo ga paham ya kasihan dah lo :)

terus lanjut ke Lama Proses (B) yang ada di tabel kedua gua nah kan disitu ada angka (7) lo masukin dah angka (7) itu ke Barisan Proses yang berada di tabel ke 3 gua sampe 7kali

pegel ngejelasin 1 per 1 langsung skip ke selanjut nya bagaimana cara menghitung Saat Rampung yang berada di tabel ke 2 gua

rumus nye si gini liat tabel kedua gua dah, disitu kan ada disitukan ada Lama Proses dan Saat Mulai
ketika angka yang berada dibawah Lama Proses dan Saat Mulai di tambahkan maka jadilah Saat Rampung contoh :
Baris A kan Lama Proses nya 4 dan Saat Mulai nya 0 ketika 4 + 0= 4  angka 4 ini adalah Saat Rampung
Baris B kan Lama Proses nya 7 dan Saat Mulai nya 4 ketika 7 + 4= 11 angka 11 ini adalah Saat Rampung
Baris C kan Lama Proses nya 3 dan Saat Mulai nya 11 ketika 3 + 11= 14 angka 14 ini adalah Saat Rampung
Baris D kan Lama Proses nya 8 dan Saat Mulai nya 14 ketika 8 + 14= 22  angka 22 ini adalah Saat Rampung

nah sekarang kita mencari Lama Tanggap, Lama Tanggap ini adalah Hasil dari dari pengurangan dari Saat Rampung dengan Saat Tiba Contoh :

Baris A kan Saat Tiba nya 0 tuh terus Saat Rampung nya 4 ketika 4 - 0 = 4 angka 4 ini adalah Lama Tanggap
Baris B kan Saat Tiba nya 1 tuh terus Saat Rampung nya 11 ketika 1 - 11 = 10 angka 10 ini adalah Lama Tanggap
Baris C kan Saat Tiba nya 3 tuh terus Saat Rampung nya 14 ketika 3 - 14 = 11 angka 11 ini adalah Lama Tanggap
Baris D kan Saat Tiba nya 7 tuh terus Saat Rampung nya 22 ketika 7 - 22 = 15 angka 15 ini adalah Lama Tanggap

sekarang cara mencari Jumlah, Jumlah itu adalah hasil penjumlahan dari Lama Tanggap
A.4
B.10
C.11
D.15
maka hasil nya adalah 40 itu lah Jumlah nya

Last ni Rerata itu ada lah hasil dari Jumlah dibagi dengan si Nama Proses, disini kan Nama proses
nya ada 4, dan Jumlah nya 40 maka hasil dari pembagian 40 : 4  = 10


Part 2 -_- bete njir ngetik nya

Contoh :  Tabel proses PTD
PenyelesaianAlgoritmaPenjadwalan Proses Terpendek Dipertamakan (PTD/ SJF/ SJN)
Tabel PTD
Barisan proses :
cara menghitung nya gimana? sama kayak diatas cuma Mulai nya dari Nama Proses A terus ke PROSES TERPENDEK, nah lo cari dah Proses terpendek abis si A, yaitu si C abis si C ke D abis D ke B
mager gua jelasin nya lagi :) soal nya itu sama aja kayak yang pertama cuma beda dicari dari yang tependek

Tugas Sistem Operasi pertemuan 2


SOAL :

Diketahui antrian akses track dengan saat awal 60 (panjang lintasan dari 0-90)
12, 44, 70, 28, 80, 7, 15, 63, 66, 15, 1, 85, 3, 15, 89

HITUNG PANJANG LINTASAN BERDASARKAN ALGORITMA :
1. Algoritma Pertama Tiba Pertama Dilayani (PTPD)
2. Algoritma Pick Up
3. Algoritma Waktu Cari Terpendek Dipertamakan (WCTD)
4. Algoritma Look
5. Algoritma Circular Look
6. Algoritma Scan
7. Algoritma Circular Scan

Jawaban :

1. Algoritma Pertama Tiba Pertama Dilayani (PTPD)
Total Lintas atau track yang dilewati adalah 649 track

Langkah Proses :
Dari 60 menuju ke lintasan 12, kemudian ke 44, ke 70, dan seterusnya. Setiap lintas yang dilalui dihitung



2. Algoritma Pick Up
Total lintas atau track yang dilewati adalah 283 track

Langkah Proses :
Dari 60 menuju ke lintasan 12, lintasan yang dilewati yaitu 44, 28, dan 15 akan sekalian dipungut. Sehingga selanjutnya tidak ke 44, tetapi ke 70, sekaligus memungut 63 dan 66. Begitu seterusnya

3. Algoritma Waktu Cari Terpendek Dipertamakan (WCTD)
Total Lintas atau track yang dilewati adalah 117 track

Langkah Proses :
Hulu baca tulis mulai dari 60, antara 44 dan 63 yang paling dekat dengan 60 adalah 63, sehingga menuju ke 63. Selanjutnya dari 63, antara 44 dan 66 yang paling dekat adalah 66, dan seterusnya


4. Algoritma Look
Total Lintas atau track yang dilewati adalah 117 track

Langkah Proses :
Dari 60 menuju ke antrian track terbesar, yaitu 98. Selanjutnya menuju ke antrian terkecil, yaitu 1

5. Algoritma Circular Look
Total lintas atau track yang dilewati adalah 160 track

Langkah Proses :
Dari 60 menuju ke antrian track terbesar, yaitu 89. Kemudian menuju ke antrian terkecil, yaitu 1, tidak diakses tetapi dihitung. Selanjutnya menuju ke 44, sisa lintasan yang belum diakses

6. Algoritma Scan
Total lintas atau track yang di lewati adalah 119 track

Langkah Proses :
Dari 60 menuju ke lintasan track terbesar, yaitu 90. Selanjutnya menuju ke lintasan track terkecil, yaitu 1

7. Algoritma Circular Scan
Total lintas atau track yang dilewati adalah 164 track
Langkah Proses :
Dari 60 menuju ke lintasan track terbesar, yaitu 90. Selanjutnya menuju ke lintasan track terkecil, yaitu 0, tidak diakses. Selanjutnya menuju ke 44, sisa lintasan yang belum diakses

Tugas Sistem Operasi pertemuan 1

KONSEP DASAR DAN SEJARAH PERKEMBANGAN
 SISTEM OPERASI

1.     Definisi Sistem Operasi
-         Sistem operasi adalah sebuah program yang bertindak sebagai perantara antara pemakai komputer dengan komputer.
-         Sistem operasi adalah sebuah perangkat lunak sistem komputer yang membantu perangkat keras dalam menjalankan fungsi-fungsi manajemen proses.
2.     Fungsi Sistem Operasi
-         Sistem operasi sebagai pengelola sumber daya
-         Sistem operasi mengelola seluruh sumber daya yang terdapat pada sistem komputer
-         Sistem operasi sebagai penyedia layanan
-         Sistem operasi menyediakan sekumpulan layanan
3.     Tujuan Sistem Operasi
-         Dengan sistem operasi, komputer dapat digunakan seefisien mungkin
-         Dengan sistem operasi, komputer dapat bekerja dalam kode biner yang mudah dipahami dan digunakan oleh pemakai.
4.     Tugas Utama Sistem Operasi
-         Pengelola seluruh sumber daya yang terdapat pada sistem komputer
-         Sistem operasi sebagai penyedia layanan
5.     Penyedia Layanan
-         Pembuatan program
-         Eksekusi program
-         Pengaksesan perangkat masukan / pengeluaran
-         Pengaksesan terkendali terhadap berkas
-         Pengaksesan sistem
-         Deteksi dan memberi tanggapan terhapat kesalahan
-         Akunting
6.     Konsep Utama Sistem Operasi
-         Proses
-         File
-         System call
-         System program

7.     Sasaran Sistem Operasi
-         Kenyamanan
-         Efisiensi
-         Mampu berovolusi
8.     Sejarah Perkembangan Sistem Operasi
-         Generasi I (1945-1955) vacum tubes
Awal pengembangan sistem komputasi elektronik menggantikan ide-ide mesin komputasi mekanis
-         Generasi II (1955-1965) transistor dan sistem batch
Batch system adalah job dikumpulkan dalam satu rangkaian kemudian dieksekusi secara berurutan.
-         Generasi III (1965-1980) IC dan Multiprogramming
a.     Multiprogramming
Mempartisi memori menjadi beberapa bagian dengan satu bagian memori adalah satu job berbeda
b.     Spooling
Membuat peripheral dapat diakses secara simultan yaitu dengan cara menyediakan beberapa partisi memori
c.      Time sharing
Tiap pemakai mempunyai satu terminal online dengan pemroses hanya memberi layanan pada pemakai yang aktif
-         Generasi IV (1980-2001) personal computer
a.     Network operating system : pemakai menyadari keberadaan komputer – komputer yang terhubung
b.     Distributed operating system : pemakai tidak perlu menyadari keberadaan komputer yang terhubung, karena alokasi kerja sudah otomatis dikerjakan oleh Sistem Operasi