Friday, November 23, 2012

Penjadualan Algoritma Shortest Process Next


Shortest process next merupakan algoritma yang eksekusi proses diatur berdasarkan perkiraan ukuran proses terkecil
Kekurangan dari shortest process next
  •  scheduler harus mengetahui/memperkirakan ukuran setiap proses yang akan dieksekusi
  •  proses besar dapat mengalami starvation
  • overhead bisa tinggi

Kelebihan dari shortest process next
  •  dapat mencegah kerugian yang dialami proses kecil seperti pada FCFS
  •  throughput tinggi
  •  proses kecil mempunyai response time kecil

Penjadualan Algoritma Round Robin


Round Robin (RR)
round robin merupakan algoritma yang eksekusi proses diatur berdasarkan alokasi waktu tertentu (slot waktu ) yang di atur dengan clock interrupt, clock interrupt mengatur waktu secara periodik. Bila terjadi clock interrupt maka proses yang seddang running dimasukkan ke dalam antrian ready dan proses di antrian ready paling depan di eksekusi

kekurangan dari round robin
  • performansi lebih buruk dibanding FCFS jika ukuran slot lebih besar daripada ukuran proses terbesar
  • dapat terjadi overhead berlebihan jika ukuran setiap slot terlalu kecil
  • proses I/O bound mendapatkan waktu layanan lebih sedikit
Solusi dari kekurangan round robin
round robin dimodifikasi menjadi virtual round robin(VRR)  dengan menambahkan sebuah antrian yang disebut memory antrian auxiliary

Kelebihan dari round robin
  • dapat menghindari ketidak adilan layanan terhadap proses kecil seperti yang terjadi pada FCFS
  • respone time lebih cepat untuk proses berukuran kecil
  • dapat mencegah starvation
  • overhead kecil, jika ukuran proses rata rata lebih kecil dibanding ukuran quantum/slot

Thursday, November 22, 2012

Routing Algoritma


Routing Algoritma
Apa sih routing algoritma itu ? suatu router akan melakukan routing dan forwarding suatu data dengan tetangga router 1 , 2 , dan 3 . Kemudian router tersebut akan melakukan routing terhadap router 2, bagaimana caranya ? Routing algoritma akan membuat sebuah table local forwarding yang akan menentukan router manakah yang akan dijadikan output dari router tujuan, seperti gambar di bawah ini 


Routing algoritma memiliki 2 classification berdasarkan algoritma, algoritma tersebut adalah link state dengan distance vector algoritma, dan apakah perbedaan antara algoritma link state dengan distance vector ? untuk link state router harus memahami atau mengetahui semua informasi berkaitan topologi jaringan yang dilakukan secara broadcast antara router satu terhadap router lainnya

Pada link state memiliki dijkstra algoritma yang menentukan suatu jalur mana yang memiliki bobot terkecil dan setiap nodenya harus terpenuhi
Pada distance vector memiliki bellman-ford algoritma yang menentuhkan jalur manakah yang memiliki bobot terkecil dan setiap nodenya tidak harus terpenuhi,
Dan apa perbedaan antara dijkstra dengan bellman-ford ? ya , seperti apa yang saya sebutkan di atas bahwa dijkstra menentukan jalur mana yg memiliki bobot terkecil dengan semua node harus terpenuhi tetapi bellman-ford tidak harus terpenuhi

contoh :

menggunakan algoritma dijkstra akan didapat
dengan algoritma bellman-ford


Sumber : kurose chapter4_5th_2009 slide

Saturday, October 20, 2012

konsep concurrency dan sinkronisasi

latihan soal yoook sambil gw belajar..

1. mengapa konkurensi diperlukan di dalam komputer ?
diperlukan agar proses proses dapat terjadi pada saat bersamaan dan merupakan landasan umum dalam perancangan sistem operasi.
masalah yg dapat ditangani : mutual exclusion, sinkronisasi, deadlock dan starvation

2.apa yang dimaksud dengan critical section ?
resource yang dalam satu waktu hanya boleh diakses oleh satu proses saja

3. tuliskan 4 contoh critical section ?
printer,  baris baris program , file dan

4. apa yang dimaksud dengan race condition ?
keadaan dimana terdapat banyak thread atau proses mengakses data bersama (shared data) yang menyebabkan hasil akhir sulit dipastikan (bergantung pada lama waktu eksekusi setiap proses )

5. Jelaskan dengan singkat pengertian starvation dengan contohnya ?
keadaan dimana suatu proses yang siap dieksekusi terus menerus tidak diberi kesempatan untuk melakukan aksinya

6. apa yang dimaksud dengan mutual exclusion ?
syarat atau kondisi yang harus dipenuhi untuk mencegah terjadinya pengaksesan critical section oleh lebih dari satu proses pada saat itu

7. tuliskan syarat syarat untuk membentuk mutex !
- tidak boleh terjadi deadlock atau starvation
- dalam pengaksesan critical section tidak boleh ada tunda waktu (delay) bila sedang tidak ada yang mengakses critical section tersebut
- kecepatan relatif proses dan julah proses tidak boleh mempengaruhi mutual exclusin (race condition)
- sebuah proses berada pada critical section dalam waktu terbatas

8. tuliskan kekurangan penggunaan intruksi atomik !
- dapat terjadi busy-waiting -> masih tetap menggunakan waktu prosesor
- dapat terjadi starvation bila terdapat banyak proses yang mengantri critical section
- dapat terjadi deadlock

Monday, October 1, 2012

Overview Sistem Operasi

Apa yg dimaksud dengan proses dalam sistem operasi?
sebuah aktifitas yang sangat dipengaruhi oleh eksekusi sebelumnya, status ini, dan sejumlah resource sistem

Model sistem operasi yang mana saja yang mempersyaratkan adanya timing dan sinkronisasi?
  • Siste multiprogramming
  • Sistem time sharing
  • Sistem transaksi real time
Apa perbedaan antara sistem time sharing dengan sistem transaksi real time ?
sistem time sharing dapat melayani berbagai macam program aplikasi sesuai dengan kebutuhan user, sedangkan sistem transaksi real time hanya dapat melayani beberapa jenis aplikasi saja.

Permasalahan apa saja yang dapat terjadi pada proses ?
  • Sinkronisasi tidak tepat
  • Kegagalan mutual exclusion
  • Eksekusi program tidak terkendali
  • Deadlock
Apa saja komponen proses ?
  • Executable program (.exe)
  • Hal hal yang berhubungan dengan data yang dibutuhkan proses
  • Execution context atau process state
 Contoh pengaturan proses
  • proses list
  • entry process
  • proses
  • proses index
Apa penjelasan Memori Virtual ?
 Memori virtual adalah fasilitas yang disediakan oleh OS aga suatu program dapat memanfaatkan sebagian area memori sekunder (harddisk) sebagai memori utama secara lojik
bertujuan agar beberapa program dapat tersimpan di dalam memori secara bersamaan, sehingga tidak terjadi kekosongan aktifitas pada saat terjadi pergantian eksekusi proses
Pengisolasian data antar proses dilakukan dengan cara memberi kode unik untuk setiap proses
Memory sharing dilakukan dengan cara meng overlap kan bagian virtual memori yang akan di sharing.

Apa yang dimaksud dengan Paging ?
Paging adalah salah astu teknik mapping memori dengan cara membagi proses menjadi blok blok kecil berukuran tetap yang disebut page
program mengakses data menggunakan alamat virtual yang terdiri dari nomor page dan offset
setiap page dapaat ditempatkan di memori secara bebas di sebut mapping dinamis.

Apa kelebihan paging ?
  • Mapping antara alamat virtual pada program dengan alamat fisik pada memori dapat dilakukan secara dinamis
  • Menghilangkan keharusan untuk menempatkan semua page suatu proses ditaruh di memori secara bersamaan
Jenis sistem operasi modern
  •  Monolitic kernel adalah sistem operasi diimplementasikan sebagai sebuah proses besar dimana seluruh koponen penyusunnya (penjadualan, sistem file, jaringan , device driver, manajemen memori, dll) mengakses ruang alamat yang sama.
  • Arsitektur Microkernel adalah sistem operasi model microkernel teriri dari 2 bagian yaitu kernel dan server.
  • Multithreading adalah proses yang sedang dieksekusi dipecah pecah menjadi bagian bagian kecil yang berjalan secara concurrent
  • Symmetric Multiprocessing adalah sistem operasi yang dijalankan ada komputer yang menggunakan lebih dari satu prosesor yang simetris.
  • Sistem operasi terdistribusi adalah sejumlah komputer terhubung melalui jaringan membetuk sebuah cluster
  • Sistem operasi model object oriented adalah modul yang ditambahkan ke kernel dirancang dengan metode object oriented.