Anda di halaman 1dari 13

Tugas Personal ke-1

Week 2
Nama : Wahyu Affandi
NIM : 2502157950

1. Bagaimana cara menangani interrupt pada multicore system?


Ada dua pendekatan untuk menangani interupsi ganda:
1. Pengolahan interupsi berurutan (sekuensial).interupsi ini diantaran:
a. menolak atau tidak mengizinkan interupsi lain saat suatu interupsi ditangani prosesor.
b. setelah prosesor selesai menangani suatu interupsi, maka iterupsi lain baru ditangani.
Skema multiple interrupt- sequential

2.pengolahan interupsi bersarang (Nested) yaitu menginzinkan interupsi berprioritas lebih tinggi
ditangani terlebih dahulu.
Skema multiple-Nested

Operating System
Sumber:
www.widianto.org
www.eepis.ac.id/~setia/Modul/Orkom/P06.pdf
2. Apa yang dimaksud dengan DMA? Jelaskan cara kerjanya.

Bagaimana Proses Kerja DMA? Direct Memory Access memungkinkan proses


pembacaan blok data secara langsung tanpa melalui CPU. Ada tiga cara transfer data
melalui DMA, yaitu melalui mode Burst, mode Stealing Cycle, dan mode Transparan.
Dalam mode Burst, bus sistem dilepaskan hanya setelah transfer data selesai.

3. Jelaskan yang dimasksud jika proses masuk dalam state “zombie”.


Serangan DoS

Dalam komputasi, sebuah serangan denial-of-service (serangan DoS) adalah serangan dunia


maya di mana pelaku berupaya membuat mesin atau sumber daya jaringan tidak tersedia
bagi pengguna yang dituju dengan mengganggu layanan host yang terhubung ke Internet untuk
sementara atau tanpa batas. Denial of service biasanya dicapai dengan membanjiri mesin atau
sumber daya yang ditargetkan dengan permintaan yang berlebihan dalam upaya untuk
membebani sistem dan mencegah beberapa atau semua permintaan yang sah agar tidak terpenuhi.
Dalam sebuah serangan penolakan layanan secara terdistribusi (serangan DDoS), Lalu lintas
masuk yang membanjiri korban berasal dari berbagai sumber. Ini secara efektif membuat tidak
mungkin menghentikan serangan hanya dengan memblokir satu sumber.
Serangan DoS atau DDoS dapat dianalogikan dengan sekelompok orang yang memenuhi pintu
masuk toko, sehingga menyulitkan pelanggan yang sah untuk masuk, sehingga mengganggu
perdagangan.
Pelaku kriminal serangan DoS sering menargetkan situs atau layanan yang dihosting di server
web profil tinggi seperti bank atau gateway pembayaran kartu kredit. Balas dendam, pemerasan
dan aktivisme dapat memotivasi serangan ini.

Operating System
Alat serangan
Dalam kasus seperti MyDoom dan Slowloris, alat tersebut tertanam dalam malware dan
meluncurkan serangannya tanpa sepengetahuan pemilik sistem. Stacheldraht adalah contoh klasik
alat DDoS. Ini menggunakan struktur berlapis di mana penyerang menggunakan program
klien untuk terhubung ke penangan yang merupakan sistem yang dikompromikan yang
mengeluarkan perintah ke agen zombie yang pada gilirannya memfasilitasi serangan DDoS. Agen
disusupi melalui penangan oleh penyerang menggunakan rutinitas otomatis untuk
mengeksploitasi kerentanan dalam program yang menerima koneksi jarak jauh yang berjalan
pada host jarak jauh yang ditargetkan. Setiap penangan dapat mengontrol hingga seribu agen.
Dalam kasus lain, mesin dapat menjadi bagian dari serangan DDoS dengan persetujuan
pemiliknya, misalnya, dalam Operation Payback diorganisir oleh grup Anonymous. Low Orbit
Ion Cannon biasanya digunakan dengan cara ini. Bersama High Orbit Ion Cannon sebuah
berbagai macam alat DDoS tersedia saat ini, termasuk versi berbayar dan gratis, dengan fitur
berbeda yang tersedia. Ada pasar bawah tanah untuk ini di forum terkait peretas dan saluran IRC.

4. Dalam menjalankan proses pada system operasi terdapat 2 mode, yaitu kernel (supervisor) mode
dan user mode. Jelaskan mengapa harus dibedakan.

Prosesor beralih di antara dua mode tergantung pada jenis kode apa yang berjalan pada prosesor.
Aplikasi berjalan dalam mode pengguna, dan komponen sistem operasi inti berjalan dalam mode
kernel. Meskipun banyak driver berjalan dalam mode kernel, beberapa driver dapat berjalan
dalam mode pengguna.

Mode pengguna

Saat Anda memulai aplikasi mode pengguna, Windows membuat proses untuk aplikasi. Proses
ini menyediakan aplikasi dengan ruang alamat virtual privat dan tabel handel privat. Karena
ruang alamat virtual aplikasi bersifat privat, satu aplikasi tidak dapat mengubah data milik
aplikasi lain. Setiap aplikasi berjalan dalam isolasi, dan jika aplikasi mengalami crash, crash
terbatas pada satu aplikasi tersebut. Aplikasi lain dan sistem operasi tidak terpengaruh oleh crash.

Selain bersifat privat, ruang alamat virtual aplikasi mode pengguna terbatas. Proses yang berjalan
dalam mode pengguna tidak dapat mengakses alamat virtual yang dicadangkan untuk sistem
operasi. Membatasi ruang alamat virtual aplikasi mode pengguna mencegah aplikasi mengubah,
dan mungkin merusak data sistem operasi penting.

Mode kernel

Semua kode yang berjalan dalam mode kernel berbagi satu ruang alamat virtual. Oleh karena itu,
driver mode kernel tidak terisolasi dari driver lain dan sistem operasi itu sendiri. Jika driver mode
kernel secara tidak sengaja menulis ke alamat virtual yang salah, data milik sistem operasi atau

Operating System
driver lain dapat disusupi. Jika driver mode kernel mengalami crash, seluruh sistem operasi
mengalami crash.

Diagram ini menggambarkan komunikasi antara komponen mode pengguna dan mode kernel.

5. Jelaskan apa yang dilakukan sistim operasi saat terjadinya “context switch”.
Mengganti CPU ke proses lain memerlukan penyimpanan keadaan dari proses lama dan
mengambil keadaan dari proses yang baru. Hal ini dikenal dengan sebutan context switch.
Context switch sebuah proses direpresentasikan dalam PCB dari suatu proses; termasuk nilai dari
CPU register, status proses (dapat dilihat pada Gambar 4) dan informasi managemen memori.
Ketika context switch terjadi, kernel menyimpan data dari proses lama ke dalam PCB nya dan
mengambil data dari proses baru yang telah terjadual untuk berjalan.
Waktu context switch adalah murni overhead, karena sistem melakukan pekerjaan yang tidak
begitu berarti selama melakukan pengalihan. Kecepatannya bervariasi dari mesin ke mesin,
bergantung pada kecepatan memori, jumlah register yang harus di-copy, dan ada tidaknya

Operating System
instruksi khusus (seperti instruksi tunggal untuk mengisi atau menyimpan seluruh register).
Tingkat kecepatan umumnya berkisar antara 1 sampai 1000 mikro detik.

Penjelasan Gambar 4; Waktu context switch sangat bergantung pada dukungan perangkat keras.
Sebagai contoh, prosesor seperti UltraSPARC menyediakan beberapa set register. Sebuah proses
context switch hanya memasukkan perubahan pointer ke set register yang ada saat itu. Tentu saja,
jika proses aktif yang ada lebih banyak daripada proses yang ada pada set register, sistem
menggunakan bantuan untuk meng-copy data register dari dan ke memori, sebagaimana
sebelumnya. Semakin kompleks suatu sistem operasi, semakin banyak pekerjaan yang harus
dilakukan selama context switch. Sebagai contoh, ruang alamat dari proses yang ada saat itu
harus dijaga sebagai ruang alamat untuk proses yang akan dikerjakan berikutnya. Bagaimana
ruang alamat dijaga, berapa banyak pekerjaan dibutuhkan untuk menjaganya, tergantung pada
metode managemen memori dari sistem operasi.
6. Buatlah sebuah program menggunakan Bahasa C atau C++ untuk membuat sejumlah child
process dimana jumlah child process yang diinginkan diinput melalui line command. Tampilkan
process ID pada setiap child process.

Operating System
7. Jelaskan 7-state process state. Jelaskan juga transisi antar state.

Model Proses 5 Keadaan (5 state).  Model proses yang memiliki operasi suspend dan resume. 
3 hal yang menyebabkan operasi suspend dan resume penting dilakukan sebagai bentuk: 1.
tindakan preventive (pencegahan), 2. menghilangkan kekhawatiran user akan gagalnya proses
pengolahan, dan 3. tanggapan terhadap ketidakteraturan (fluktuasi) beban sistem dalam jangka
pendek.

8. Dalam sistim operasi Windows terdapat ”fiber”. Jelaskan yang dimaksud dengan fiber.
Fiber Optik adalah saluran transmisi atau sejenis kabel yang terbuat dari kaca atau plastik yang
sangat halus dan lebih kecil dari sehelai rambut, dan dapat digunakan untuk mentransmisikan
sinyal cahaya dari suatu tempat ke tempat lain.

9. Jelaskan yang dimaksud dengan 1 thread: many proses.


Thread adalah sebuah alur kontrol dari sebuah proses. Kontrol thread tunggal ini hanya
memungkinkan proses untuk menjalankan satu tugas pada satu waktu.
MODEL MULTITHREADING
1. Model Many-to-One.
2. Model One-to-One.
3. Model Many-to-Many.
1. Many-to-One Model
• Memetakan banyak user-level thread ke satu kernel thread
• Pengaturan thread dilakukan di user space

Operating System
• Efisien tetapi ia mempunyai kelemahan yang sama dengan user thread
• Tidak dapat berjalan secara pararel pada multiprocessor

2. One-to-One Model
■ Memetakan setiap user thread ke kernel thread
■ Menyediakan lebih banyak concurrency dibandingkan Manyto-One model
■ Keuntungannya sama dengan keuntungan kernel thread
■ Kelemahannya setiap pembuatan user thread membutuhkan pembuatan kernel thread yang
dapat menurunkan performa dari sebuah aplikasi
■ Sistem operasi yang mendukung One-to-One model adalah Windows NT dan OS/2

3. Many-to-Many Model
■ multiplexes banyak user-level thread ke kernel thread yang jumlahnya lebih kecil atau sama
banyaknya dengan user-level thread
■ Jumlah kernel thread dapat spesifik untuk sebagian aplikasi atau sebagian mesin
■ Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang
bersangkutan dapat bejalan secara pararel pada multiprocessor.
■ Ketika suatu thread menjalankan blocking system call maka kernel dapat menjadualkan thread
lain untuk melakukan eksekusi.
■ Sistem operasi yang mendukung model ini adalah Solaris, IRIX, dan Digital UNIX.

10. Jelaskan bagaimana resource allocation graph dapat mendeteksi deadlock.


Deadlock dapat digambarkan lebih presisi dengan menggunakan graph berarah yang disebut
resource allocation graph. Graph terdiri dari himpunan titik V dan garis E. Himpunan titik
(vertex) V dibagi menjadi dua tipe yaitu himpunan proses yang aktif pada sistem P = {P1, P2, ...,
Pn} dan tipe sumber daya pada sistem R = {R1, R2, ..., Rm} Garis berarah dari proses Pi ke tipe
sumber daya Rj dinotasikan dengan Pi → Rj artinya proses Pi meminta satu anggota dari tipe
sumber daya Rj dan sedang menunggu sumber daya tersebut. Garis berarah dari tipe sumber daya
Rj ke proses Pi dinotasikan dengan Rj → Pi artinya satu anggota tipe sumber daya Rj
dialokasikan ke proses Pi. Garis berarah Pi → Rj disebut request edge dan garis berarah Rj → Pi
disebut assignment edge. Notasi-notasi yang digunakan pada resource allocation graph adalah :

• Proses

Operating System
Contoh resource allocation graph dapat dilihat pada Gambar 6-1 dimana keadaan sistem adalah
sebagai berikut : • Himpunan P, R dan E : o P = {P1, P2, P3} o R = {R1, R2, R3, R4} o E = {P1
→ R1, P2 → R3, R1 → P2, R2 → P2, R2 → P1, R3 → P3} • Anggota sumber daya : o Satu
anggota dari tipe sumber daya R1. o Dua anggota dari tipe sumber daya R2. o Satu anggota dari
tipe sumber daya R3. o Tiga anggota dari tipe sumber daya R4. • Status proses : o Proses P1
membawa satu anggota tipe sumber daya R2 dan menunggu satu anggota tipe sumber daya R1. o
Proses P2 membawa satu anggota R1 dan R2 dan menunggu satu anggota tipe sumber daya R3. o
Proses P3 membawa satu anggota R3. Fakta dasar dari resource allocation graph menunjukkan
bahwa : • Apabila pada graph tidak terdapat siklus maka tidak ada proses dalam sistem yang
deadlock
• Apabila pada graph terdapat siklus sistem kemungkinan deadlock dengan ketentuan: o Jika pada
setiap tipe sumber daya hanya terdapat satu anggota maka terjadi deadlock o Jika pada setiap tipe
sumber daya terdapat beberapa anggota maka kemungkinan terjadi deadlock

Operating System
Untuk ilustrasi konsep diatas kita lihat kembali resource allocation graph pada Gambar 6-1. Pada
Gambar 6-1 tidak terdapat siklus, jadi tidak terjadi deadlock pada sistem. Misalnya proses P3
meminta satu anggota dari tipe sumber daya R2. Karena tidak tersedia anggota tipe sumber daya
tersebut, request edge P3 → R2 ditambahkan ke graph seperti pada Gambar 6-2. Pada kasus ini,
terdapat dua siklus pada sistem, yaitu : P1 → R1 → P2 → R3 → P3 → R2 → P1 P2 → R3 → P3
→ R2 → P2 Proses P1, P2 dan P3 terjadi deadlock. Proses P2 menunggu sumber daya R3 yang
dibawa proses P3. Proses P3 sebaliknya menunggu proses P1 atau P2 melepas sumber daya R2.
Proses P1 menunggu proses P2 melepas sumber daya R1.

Operating System
11. Buatkan algoritma untuk penanganan Dining Philosoper’s problem dengan menggunakan
semaphore
Permasalahan dining-philosophers digambarkan pada Gambar 5-2 dimana terdapat 5 filosof yang
akan makan. Di sana disediakan 5 supit. Jika filosof lapar, ia akan mengambil 2 supit yaitu di
tangan kanan dan kiri. Namun adakalanya hanya diambil supit satu saja. Jika ada filosof yang
mengambil 2 supit, maka ada filosof yang harus menunggu sampai supit tersebut diletakkan. Hal
ini dapat diimplementasikan dengan wait dan signal.

Operating System
Struktur data yang digunakan untuk penyelesaian permasalahan ini dengan semaphore adalah
semaphore chopstick[5];
Dimana semua nilai array dinisialisasi 1. Struktur program untuk filosof ke i adalah
do {
wait(chopstick[i])
wait(chopstick[(i+1) % 5])

makan

Signal
(chopstick[i]);
Signal
(chopstick[(i+1) % 5]);

berfikir

}
while (1);

Operating System
Meskipun solusi ini menjamin bahwa tidak ada 2 tetangga yang makan bersamasama,
namun masih mungkin terjadi deadlock, yaitu jika tiap-tiap filosof lapar dan mengambil supit
kiri, maka semua nilai supit = 0, dan juka kemudian tiap-tiap filosof akan mengambil supit kanan,
maka akan terjadi deadlock. Ada beberapa cara untuk menghindari deadlock, antara lain : a.
mengijinkan paling banyak 4 orang filosof yang duduk bersama-sama pada satu meja. b.
Mengijinkan seorang filosof mangambil supit hanya jika kedua supit itu ada (dengan catatan,
bahwa ia harus mengambil pada critical section) c. Menggunakan suatu solusi asimetrik, yaitu
filosof pada nomor ganjil mengambil supit kanan dulu baru supit kiri. Sedangkan filosof yang
duduk di kursi genap mengambil supit kanan dulu baru supit kiri.

12. Jika anda diminta untuk membuat, sebuah operating system untuk multi tasking dan multi user,
jelaskan strategi penanganan deadlock yang terbaik untuk system seperti ini.
Metode ini merupakan metode yang paling sering digunakan. Metode Pencegahan dianggap
sebagai solusi yang bersih dipandang dari sudut tercegahnya deadlock. Tetapi pencegahan akan
mengakibatkan kinerja utilisasi sumber daya yang buruk. Metode pencegahan menggunakan
pendekatan dengan cara meniadakan empat syarat yang dapat menyebabkan deadlock terjadi pada
saat eksekusi Coffman (1971). Syarat pertama yang akan dapat ditiadakan adalah Mutual
Exclusion, jika tidak ada sumber daya yang secara khusus diperuntukkan bagi suatu proses maka
tidak akan pernah terjadi deadlock. Namun jika membiarkan ada dua atau lebih proses mengakses
sebuah sumber daya yang sama akan menyebabkan chaos. Langkah yang digunakan adalah
dengan spooling sumber daya, yaitu dengan mengantrikan job-job pada antrian dan akan dilayani
satu-satu. Beberapa masalah yang mungkin terjadi adalah: 1. Tidak semua dapat di-spool, tabel
proses sendiri tidak mungkin untuk di-spool. 2. Kompetisi pada ruang disk untuk spooling sendiri
dapat mengarah pada deadlock. Hal inilah yang menyebabkan mengapa syarat pertama tidak
dapat ditiadakan, jadi mutual exclusion benarbenar tidak dapat dihilangkan. Cara kedua dengan
meniadakan kondisi hold and wait terlihat lebih menjanjikan. Jika suatu proses yang sedang
menggunakan sumber daya dapat dicegah agar tidak dapat menunggu sumber daya yang lain,
maka deadlock dapat dicegah. Langkah yang digunakan adalah dengan membuat proses agar
meminta sumber daya yang mereka butuhkan pada awal proses sehingga dapat dialokasikan
sumber daya yang dibutuhkan. Namun jika terdapat sumber daya yang sedang terpakai maka
proses tersebut tidak dapat memulai prosesnya. Masalah yang mungkin terjadi: 1. Sulitnya
mengetahui berapa sumber daya yang dibutuhkan pada awal proses. 2. Tidak optimalnya
pengunaan sumber daya jika ada sumber daya yang digunakan hanya beberapa waktu dan tidak
digunakan tapi tetap dimiliki oleh suatu proses yang telah memintanya dari awal.

Operating System
Meniadakan syarat ketiga non preemptive ternyata tidak lebih menjanjikan dari meniadakan
syarat kedua, karena dengan meniadakan syarat ketiga maka suatu proses dapat dihentikan
ditengah jalan. Hal ini tidak dimungkinkan karena hasil dari suatu proses yang dihentikan
menjadi tidak baik. Cara terakhir adalah dengan meniadakan syarat keempat circular wait.
Terdapat dua pendekatan, yaitu: 1. Mengatur agar setiap proses hanya dapat menggunakan sebuah
sumber daya pada suatu waktu, jika menginginkan sumber daya lain maka sumber daya yang
dimiliki harus dilepas. 2. Membuat penomoran pada proses-proses yang mengakses sumber daya.
Suatu proses dimungkinkan untuk dapat meminta sumber daya kapan pun, tetapi permintaannya
harus dibuat terurut. Masalah yang mungkin terjadi dengan mengatur bahwa setiap proses hanya
dapat memiliki satu proses adalah bahwa tidak semua proses hanya membutuhkan satu sumber
daya, untuk suatu proses yang kompleks dibutuhkan banyak sumber daya pada saat yang
bersamaan. Sedangkan dengan penomoran masalah yang dihadapi adalah tidak terdapatnya suatu
penomoran yang dapat memuaskan semua pihak. Secara ringkas pendekatan yang digunakan
pada metode pencegahan deadlock dan masalah-masalah yang mungkin menghambatnya,
terangkum dalam tabel di bawah ini.

Operating System

Anda mungkin juga menyukai