Selasa, 10 Maret 2015

alasan penghancuran proses &pengertian algoritma

Alasan - alasan penghancuran proses (penyebab terminasi) :
  • Selesainya proses secara normal;
    Proses mengeksekusi panggilan layanan sistem operasi untuk menandakan bahwa proses telah berjalan secara lengkap
  • Batas waktu terlewati;
    Proses telah berjalan melebihi batas waktu total yang dispesifikasikan.
  • Memori tidak tersedia;
    Proses memerlukan memori lebih banyak daripada yang dapat disediakan sistem.
  • Pelanggaran terhadap batas memori;
    Proses mencoba mengakses lokasi memori yang tidak diijinkan diakses.
  • Terjadi kesalahan karena pelanggaran proteksi;
    Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukkannya, seperti menulis file read-only.
  • Terjadi kesalahan aritmatika;
    Proses mencoba perhitungan terlarang, seperti pembagian dengan nol atau mencoba menyimpan angka yang lebih besar daripada yang dapat diakomodasi oleh perangkat keras.
  • Waktu telah kadaluwarsa;
    Proses telah menunggu lebih lama daripada maksimum yang ditentukan untuk terjadinya suatu kejadian spesifik.
  • Terjadi kegagalan masukan/keluaran;
    Kesalahan muncul pada masukan atau keluaran, seperti ketidakmampuan menemukan file, kegagalan membaca atau menulis setelah sejumlah maksimum percobaan yang ditentukan (misal : area rusak didapatkan pada disk, atau operasi tak valis seperti membaca dari line printer)
  • Instruksi yang tak benar;
    Proses berusaha mengeksekusi instruksi yang tak ada.
  • Terjadi usaha memakai instruksi yang tak diijinkan;
    Proses berusaha menggunakan instruksi yang disimpan untuk sistem operasi.
  • Kesalahan penggunaan data;
    Tipe data yang digunakan salah atau tidak diinisialisasi.
  • Diintervensi oleh sistem operasi atau operator;
    Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misal terdapat deadlock).
  • Berakhirnya proses induk;
    Ketika parent berakhir, sistem operasi mungkin dirancang secara otomatis mengakhiri semua anak proses dari parent itu.
  • Atas permintaan dari proses induk;
    Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses
sumber : http://dedecandrawebsite.blogspot.com/2010/11/manajemen-proses-pada-sistem-operasi.html




Algoritma Preemptive

  1. Round Robin (RR)
       Merupakan :
Ø Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanyadan mudah diimplementasikan.
Ø Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwalberdasarkan lama waktu berjalannya proses (preempt by time).
Ø Penjadwalan tanpa prioritas.
Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehinggatidak ada prioritas tertentu.

Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemrosesyang disebut kwanta (quantum) atau time slice dimana proses itu berjalan. Jikaproses masih running sampai akhir quantum, maka CPU akan mempreempt prosesitu dan memberikannya ke proses lain.
Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable.Ketika quantum habis untuk satu proses tertentu, maka proses tersebut akandiletakkan diakhir daftar (list), seperti nampak dalam gambar berikut ini :

  




Algoritma yang digunakan :
1.       Jika kwanta habis dan proses belum selesai, maka proses menjadi runnabledan pemroses dialihkan ke proses lain.
2.       Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainyaoperasi I/O), maka proses menjadi  blocked dan pemroses dialihkan ke proses lain.
Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri danpemroses dialihkan ke proses lain.



2. Priority Schedulling (PS)

                Adalah tiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running). Berasumsi bahwa masing-masing proses memilikiprioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya.Ilustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer,dimana proses dari jendral berprioritas 100, proses dari kolonel 90, mayorberprioritas 80, kapten berprioritas 70, letnan berprioritas 60 dan seterusnya. DalamUNIX perintah untuk mengubah prioritas menggunakan perintah nice.Pemberian prioritas diberikan secara :
a. Statis (static priorities)Berarti prioritas tidak berubah.
Keunggulan : 
1. Mudah diimplementasikan.
2. Mempunyai overhead relatif kecil.

Kelemahan : 
1. Tidak tanggap terhadap perubahan lingkungan yang mungkin menghendaki
penyesuaian prioritas.
b. Dinamis (dynamic priorities) 
Merupakan mekanisme untuk menanggapi perubahan lingkungan sistemberoperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumurpendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan.
Kelemahan : 
· Implementasi mekanisme prioritas dinamis lebih kompleks dan mempunyaioverhead lebih besar. Overhead in diimbangi dengan peningkatan dayatanggap sistem.



Kebijaksanaan yang diterapkan adalah jaminan proses-proses mendapat layananadil dari pemroses dalam arti jumlahwaktu pemroses yang sama.Keunggulannya penjadwalan berpriorita adalah memenuhi kebijaksanaan yangingin mencapai maksimasi suatu kriteria diterapkan. Algoritma ini dapatdikombinasikan, yaitu dengan mengelompokkan proses-proses menjadi kelas-kelas prioritas.

Penjadwalan berprioritas diterapkan antar kelas-kelas proses itu.Algoritma penjadwal akan menjalankan : proses runnable untuk prioritas 4 lebihdulu secara round robin, apabila kelas 4 semua sudah diproses, selanjutnya akanmenjalankan proses runnable untuk prioritas 3 secara round robin, apabila kelas3 semua sudah diproses (habis), selanjutnya akan menjalankan proses runnableuntuk prioritas 2 secara round robin, dan seterusnya, seperti dalam gambarberikut :

 

  

3. Multiple Feedback Queues (MFQ)
     Merupakan :
Penjadwalan berprioritas dinamisPenjadwalan ini untuk mencegah (mengurangi) banyaknya swapping denganproses-proses yang sangat banyak menggunakan pemroses (karenamenyelesaikan tugasnya memakan waktu lama) diberi jatah waktu (jumlahkwanta) lebih banyak dalam satu waktu. Penjadwalan ini juga menghendakikelas-kelas prioritas bagi proses-proses yang ada. Kelas tertinggi berjalanselama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelasberikutnya berjalan empat kwanta, dan seterusnya.

Ketentuan yang berlaku adalah sebagai berikut
1. Jalankan proses pada kelas tertinggi.
2. Jika proses menggunakan seluruh kwanta yang dialokasikan, maka diturunkankelas prioritasnya.
3. Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.Mekanisme ini mencegah proses yang perlu berjalan lama swapping berkali-kalidan mencegah proses-proses interaktif yang singkat harus menunggu lama.

4. Shortest Remaining First (SRF)


Merupakan :
Penjadwalan berprioritas.dinamis.
Adalah preemptive untuk timesharing
Melengkapi SJFPada SRF, proses dengan sisa waktu jalan diestimasi terendah dijalankan,termasuk proses-proses yang baru tiba.
Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
Pada SRF, proses yang sedang berjalan (running) dapat diambil alih prosesbaru dengan sisa waktu jalan yang diestimasi lebih rendah.Kelemahan :
Mempunyai overhead lebih besar dibanding SJF. SRF perlu penyimpanan waktulayanan yang telah dihabiskan job dan kadang-kadang harus menanganiperalihan.
Tibanya proses-proses kecil akan segera dijalankan.
Job-job lebih lama berarti dengan lama dan variasi waktu tunggu lebih lamadibanding pada SJF.SRF perlu menyimpan waktu layanan yang telah dihabiskan , menambah overhead.Secara teoritis, SRF memberi waktu tunggu minimum tetapi karena overheadperalihan, maka pada situasi tertentu SFJ bisa memberi kinerja lebih baik dibanding SRF


5. Guaranteed Scheduloing (GS)
 Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yangsama) untuk membuat dan menyesuaikan performance adalah jika ada N pemakai,sehingga setiap proses (pemakai) akan mendapatkan 1/N dari daya pemroses CPU.Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlahwaktu CPU untuk semua proses sejak login dan juga berapa lama pemakai sedanglogin. Kemudian jumlah waktu CPU, yaitu waktu mulai login dibagi dengan n,sehingga lebih mudah menghitung rasio waktu CPU. Karena jumlah waktupemrosestiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemrosesyang sesungguhnya harus diperoleh, yaitu 1/N waktu pemroses seluruhnya danwaktu pemroses yang telah diperuntukkan proses itu

sumber : http://yadi865.blogspot.com/



Tidak ada komentar:

Posting Komentar