she said to me : gapailah cita-citamu setinggi langit minimal setinggi bulan..... ( *_*)

Senin, 12 Desember 2011

DEADLOCK


Untuk menangani deadlock ada yang dinamakan :
– Algoritma Banker
– Algoritma Safty
– Algoritma Ostrich
Mari kita simak sekilas tentang algoritma tersebut.....

1.      Algoritma Banker
 
Didasarkan pada kondisi bank, dimana konsumen meminjam sejumlah uang, lalu meminta pinjaman uang lagi. Proses dan resource dimodelkan dalam satu tabel.
 Struktur data yang digunakan untuk mengimplementasikan algoritma Banker
akan menentukan state dari sumber daya yang dialokasikan oleh sistem. Misalnya n =
jumlah proses dan m = jumlah tipe resource. Struktur data yang diperlukan :
Available : Vektor panjang m. Jika Available[j] = k, terdapat k anggota tipe sumber
daya Rj yang tersedia.
Max : matrik n x m. Jika Max[i, j] = k, maka proses Pi meminta paling banyak k
anggota tipe resource Rj.
Allocation : matrik n x m. Jika Allocation[i, j] = k maka Pi sedang dialokasikan k
anggota tipe resource Rj.
Need : matrik n x m. Jika Need[i, j] = k, maka Pi membutuhkan k anggota tipe
resource Rj untuk menyelesaikan task. Need[i, j] = Max[i, j] – Allocation[i, j].
Beberapa notasi yang perlu diketahui adalah misalnya X dan Y adalah vektor
dengan panjang n. X Y jika dan hanya jika X[i] Y[i] untuksemua i = 1, 2, .., n.
Sebagai contoh jika X = (1, 7, 3, 2) dan Y = (0, 3, 2, 1) maka Y X.

1.      Algoritma Safety

Algoritma ini untuk menentukan apakah sistem berada dalam state selamat atau
tidak.
1. Work dan Finish adalah vector dengan panjang m dan n. Inisialisasi : Work =
Available dan Finish[i] = false untuk i = 1,3, …, n.
2. Cari i yang memenuhi kondisi berikut :
(a) Finish [i] = false
(b) Needi Work
Jika tidak terdapat i ke langkah 4.
3. Work = Work + Allocationi
Finish[i] = true
Kembali ke langkah 2.
4. Jika Finish [i] == true untuk semua i, maka sistem dalam state selamat.


1.      Algoritma ostrich

Algoritma ini dipakai bankir untuk menentukan apakah peminjam sumber daya disetujui atau tida. Algoritma ini dieksekusi oleh sistem setiap terjadinya permintaan peminjaman atas sumber daya oleh proses. Penggunaan algoritma ini dengan berpura-pura memberikan pinjaman kepada proses dan menganalisis keadaan setelah pinjaman (sumber daya dan proses yang tersisa) dengan safety algorithm. Apabila menghasilkan keaadaan safe,maka pinjaman disetujui. Bila tidak,maka pinjaman diblokir atau ditunda.

Senin, 07 November 2011

JAWABAN SOAL SISTEM OPERASI

1. Jelaskan tentang arsitektur komputer yang menggunakan teknologi Hyperthreading dengan algotima dispatching algorithm ?

Jawab : Hyper-Threading Technology merupakan sebuah teknologi mikroprosesor yang diciptakan oleh Intel Corporation pada beberapa prosesor dengan arsitektur Intel NetBurst dan Core, semacam Intel Pentium 4, Pentium D, Xeon, dan Core 2. Teknologi ini diperkenalkan pada bulan Maret 2002 dan mulanya hanya diperkenalkan pada prosesor Xeon (Prestonia).


2. Jelaskan tentang dispatching algorithm ?

Jawab :
Prosesor dengan teknologi ini akan dilihat oleh sistem operasi yang mendukung banyak prosesor seperti Windows NT, Windows 2000, Windows XP Professional, Windows Vista, dan GNU/Linux sebagai dua buah prosesor, meski secara fisik hanya tersedia satu prosesor. Dengan dua buah prosesor dikenali oleh sistem operasi, maka kerja sistem dalam melakukan eksekusi setiap thread pun akan lebih efisien, karena meskipun sistem-sistem operasi tersebut bersifat multitasking, sistem-sistem operasi tersebut melakukan eksekusi terhadap proses secara sekuensial (berurutan), dengan sebuah algoritma antrean yang disebut dengan dispatching algorithm.


3. Sebutkan minimal 10 sistem operasi yang mendukung teknologi Hyperthreading dan kelompokkan termasuk kedalam model Multithreading yang mana ?
Jawab :
– Windows NT/XP/2000, Linux, Solaris 9 and later  itu termasuk juga kedalam kelompok multithreading yang one-to-one model.
     – Windows NT/2000, IRIX, Digital UNIX & Solaris pun termasuk ke model multithreading many-to-many model.
     – Irix, HP-UX , Tru64 UNIX,  Solaris 8 and earlier  termasuk ke kelompok model multithreading two-level model.
     – GNU termasuk ke kelompok model multithreading many-to-one model.


Selasa, 01 November 2011

JAWABAN SOAL SISTEM OPERASI


1. Sebutkan lima aktivitas sistem operasi yang merupakan contoh dari suatu managemen proses.
  • Pembuatan dan penghapusan proses pengguna dan sistem proses.  
  • Menunda atau melanjutkan proses.  
  • Menyediakan mekanisme untuk proses sinkronisasi.  
  • Menyediakan mekanisme untuk proses komunikasi.  
  • Menyediakan mekanisme untuk penanganan deadlock. 
 
2. Definisikan perbedaan antara penjadualan short term, medium term dan long term.
      Short term scheduler 
  • Short term scheduler digunakan untuk memilih diantara proses-proses yang siap di eksekusi dan salah satunya dialokasikan ke CPU.
  • Short term scheduler  Sering digunakan untuk memilih proses baru untuk CPU. Proses dieksekusi hanya beberapa milidetik sebelum menunggu I/O. 
  • Karena durasi yang pendek antara eksekusi, Short term scheduler harus sangat cepat Contoh : jika Short term scheduler membutuhkan 10ms untuk memutuskan mengeksekusi proses 100ms, maka 10/110=9% CPU digunakan untuk menjadwalkan pekerjaan
  • Pada system time sharing, setiap proses baru ditempatkan di memori. Short term scheduler digunakan untuk memilih dari proses-proses tersebut di memori untuk diekseskusi
 
Medium term scheduler
  •  Beberapa OS seperi system sharing, membutuhkan penjadwalan level tambahan (intermediate), yang disebut “medium term scheduler”. 
  •  Memperkenalkan konsep swapping proses : proses di “swap out “ dan di “swap in” pada
      medium term scheduler.
  • Swapping diperlukan untuk meningkatkan “process mix” atau karena perubahan pada kebutuhan memori melebihi memori yang tersedia, memori perlu dibebaskan
Long term scheduler
  • Proses-proses pada system batch di spool ke mass storage device (disk), disimpan sebagai eksekusi selanjutnya.
  • Long term scheduler digunakan untuk memilih proses dari pool dan menyimpannya ke memori   
  • Long term scheduler tidak sering mengeksekusi, digunakan hanya jika proses meninggalkan system
3. Jelaskan tindakan yang diambil oleh sebuah kernel ketika alih konteks antar proses.?
             
            ketika alih konteks terjadi, kernel menyimpan konteks dari proses lama kedalam PCB nya
      dan mengisi  konteks yang telah disimpan dari process baru yang telah terjadual untuk
      berjalan.

 4 4.  Informasi apa saja yang disimpan pada tabel proses saat alih konteks dari satu proses ke proses lain?
  •  keadaan proses
  • Program counter
  • CPU registrasi
  • Informasi managemen memory
  • Informasi pencatatan waktu (timming)
5.  Di sistem UNIX terdapat banyak status proses yang dapat timbul (transisi) akibat event (eksternal) OS 
dan proses tersebut itu sendiri. Transisi state apa sajakah yang dapat ditimbulkan oleh proses itu sendiri?
  • Proses sedang dikerjakan/dibuat(New)
  • Intruksi sedang dikerjakan(Running)
  • Proses sedang menunggu sejumlah kejadian untuk terjadi(Waiting)
  • Proses sedang menunggu untuk ditugaskan pada sebuah prosesor(Ready)
  • Proses telah selesai melaksanakan tugasnya/mengeksekusi(terminated)
6. 6. Apa keuntungan dan kekurangan dari: 
  • Komunikasi Simetrik dan asimetrik 
  • Automatic dan explicit buffering 
  • Send by copy dan send by reference 
  • Fixed-size dan variable sized messages 
simetrik
keuntungan : Perangkat nya dapat mengirim data pada tingkat yang sama
Kerugian : kurangnya keamanan
asimetrik
keuntungan : bandwidth nya dapat diatur
kerugian : Apabila bandwidth donload besar maka upload yang menjadi lebih kecil
Otomatic Buffering
keuntungan : kapasitas tak terbatas dengan antrian panjang tak terhingga
kerugian : link empunyai kapasitas terbatas
Explicit Buffering
keuntungan : Antrian mempuyai panjang maksimum 0
kerugian : Pengirim harus memblok sampai penerima menerima pesan
Send by copy
keuntungan : memiliki generasi jaringan yang bagus
kerugian : hanya untuk menerima data yang sedikit
Send by reference
keuntungan : kpengiriman data yang efisien
kerugian : banyak menggunakan memory
Fixied Side
keuntungan : pengiriman mudah di bangun
kerugian : banyaknya penggunaan memori
Variable Size
keuntungan : membutuhkan memory yang kecil 
kerugian : pengiriman data menjadi lebih sulit


7. 7. Jelaskan perbedaan short-term, medium-term dan long-term?

·         short term : memilih di antara proses yang siap dieksekusi dan mengalokasikan ke CPU salah satu di antaranya.
·          medium term : suatu jenis scheduler yang kemampuannya terletak di antara long term dan short term, serta menggunakan konsep swapping.
·          long term : memilih proses dan me-load proses tersebut ke dalam memori untuk dieksekusi.
     8.Jelaskan apa yang akan dilakukan oleh kernel kepada alih konteks ketika proses sedang
berlangsung? 
      ketika terjadi peralihan konteks kernel akan menyimpan suatu keadaan konteks dari proses lama kedalam PCB lalu disimpan dari proses buru yang telah terjadual untuk berjaLan.kecepatannya bervariasi dari mesin ke mesin,semuanya bergantung pada speed memory yang dipakai.tingkat kecepatan 1 - 1000 mikro detik.  
     9. Beberapa single-user mikrokomputer sistem operasi seperti MS-DOS menyediakan sedikit atau tidak sama sekali arti dari pemrosesan yang konkuren. Diskusikan dampak yang paling mungkin ketika pemrosesan yang konkuren dimasukkan ke dalam suatu sistem operasi?
  • pembagian informasi
  • Modularitas
  • menciptakan suatu yang nyaman
  • mempercepat proses perhitungan
10. Perlihatkan semua kemungkinan keadaan dimana suatu proses dapat sedang berjalan, dan gambarkan diagram transisi keadaan yang menjelaskan bagaimana proses bergerak diantara state.


  • Inputan telah tersedia
  • Penjadwalan di ambil dari proses yang lain
  • Penjadwalan di ambil dari proses yang baru
  • Supaya dapat melayani inputan maka Proses harus diblok karena sumber daya yang diminta belum tersedia atau meminta layanan I/O sampai menunggu kejadian muncul.

 
11. Apakah suatu proses memberikan ’issue’ ke suatu disk I/O ketika, proses tersebut dalam ’ready’ state, jelaskan?

proses terjadi jika proses yang running beralih menjadi state
lain (ready, blocked) kemudian sistem operasi membuat perubahan-perubahan
berarti terhadap lingkungan.
Langkah-langkah yang terlibat dalam pengalihan proses sebagai berikut :
  •  Simpan konteks pemroses, termasuk register PC dan register-register lain.
  •  Perbarui PCB proses yang running. Pelaksanaan termasuk mengubah state proses menjadi salah satu state (ready, blocked, suspendedready).Field-field yang relevan juga diperbarui misalnya alasan meninggalkan state running dan informasi akunting.
  •  Pindahkan PCB proses ke senarai yang cocok (ready, blocked).
  •  Pilih satu proses lain untuk dieksekusi sesuai dengan teknik penjadwalan.
  •  Perbarui PCB proses yang dipilih termasuk perubahan state menjadi running.
  •  Perbarui struktur-struktur data manajemen memori. Pekerjaan ini sesuai dengan pengelolaan translasi alamat.
  •  Kembalikan konteks pemroses dengan konteks simpanan yang memberitahu konteks proses terakhir saat dialihkan dari state running. Pengembalian  konteks ini dilakukan dengan memuatkan nilai-nilai register PC dan register-register lain dengan nilai konteks yang tersimpan.
12. Kernel menjaga suatu rekaman untuk setiap proses, disebut Proses Control Blocks (PCB). Ketika suatu proses sedang tidak berjalan, PCB berisi informasi tentang perlunya melakukan restart suatu proses dalam CPU. Jelaskan dua informasi yang harus dipunyai PCB.

  •  Informasi manajemen memori. Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasar dan batas register, tabel halaman, atau tabel segmen tergantung pada sistem memori yang digunakan oleh sistem operasi (lihat Bagian V, Memori).
  •  Informasi pencatatan. Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job atau proses, dan banyak lagi.