Rabu, 08 April 2015

SO



1.      Apa yang anda ketahui tentang :
a)  Proses : Proses adalah keadaan ketika sebuah program sedang di eksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan.
b)      Pembuatan Proses : yaitu tindakan yang dilakukan sistem operasi pada saat sebuah proses akan ditambahkan ke proses yang sedang dikelola, sistem operasi membuat struktur data yang digunakan untuk mengelola proses dan mengalokasikan ruang alamat ke proses itu.
c)      Process Control Block : PCB memuat informasi tentang proses, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah.
2.      5 aktifitas system operasi yang merupakan contoh dari suatu manajemen proses
1.      Pembuatan dan penghapusan proses pengguna dan sistem proses.
  1. Menunda autau melanjutkan proses.
  2. Menyediakan mekanisme untuk proses sinkronisasi.
  3. Menyediakan mekanisme untuk proses komunikasi.
  4. Menyediakan mekanisme untuk proses penanganan deadlock.

3.      Sebuah proses dapat dihentikan pada saat :
Suatu proses diterminasi ketika proses tersebut telah selesai mengeksekusi perintah terakhir serta meminta sistem operasi untuk menghapus perintah tersebut dengan menggunakan system call exit. Pada saat itu, proses dapat mengembalikan data keluaran kepada proses induk-nya melalui system call wait.
Semua sumber-daya yang digunakan oleh proses akan dialokasikan kembali oleh system operasi agar dapat dimanfaatkan oleh proses lain. Suatu proses juga dapat diterminasi dengan sengaja oleh proses lain melalui system call abort. Biasanya proses induk melakukan hal ini pada turunannya. Alasan terminasi tersebut seperti:
1.      Turunan melampaui penggunaan sumber-daya yang telah dialokasikan. Dalam keadaan ini, proses induk perlu mempunyai mekanisme untuk memeriksa status turunannya-nya.
2.      Task yang ditugaskan kepada turunan tidak lagi diperlukan.
3.       Proses induk selesai, dan sistem operasi tidak mengizinkan proses turunan untuk tetap berjalan.
Jadi, semua proses turunan akan berakhir pula. Hal ini yang disebut cascading termination.


4.      Perbedaan dan persamaan dari :
·         One to one VS Many to many
Model satu-ke-satu memetakan setiap thread pengguna ke thread kernel. Ini menyediakan concurrency lebih dari model banyak-ke-satu dengan membiarkan thread lain untuk berjalan ketika suatu thread membuat system callblocking, tetapi juga memungkinkan beberapa thread untuk berjalan secara paralel pada Multiprocessors. Satu-satunya kekurangan model ini adalah bahwa menciptakan thread pengguna memerlukan menciptakan kernel thread yang sesuai. Karena overhead dari menciptakan thread kernel dapat membebani kinerja aplikasi,sebagian besar implementasi model ini membatasi jumlah thread yang didukung oleh sistem. Linux, bersama dengan keluarga sistem operasi Windows-termasuk Windows 95, 98, NT, 2000, dan xp-implement model satu-ke-satu.
*     Persamaan multithread model One-to-One vs Many-to-Many :
1. Kedua model thread ini sama-sama memetakan dari thread pengguna  menuju  kernel thread.
2.Sama-sama  bias menjadwalkan thread lain untuk tetap berjalan ketika terjadi system call blocking.
*     Perbedaan multithread model One-to-One vs Many-to-Many :
 One-to-One    Many-to-Many  menciptakan thread pengguna memerlukan menciptakan kernel thread yang sesuai. Jumlah thread pengguna lebih kecil atau sama dengan jumlah kernel thread. System operasi pendukung windows 95, 98, NT, 2000, dan xp serta Linux sistem operasi pendukung seperti IRIX, HP-UX, dan Tru64 UNIX.System operasi Solaris yang didukung dalam versi lebih tua dari Solaris 9.

·         Short term VS Long term
Dalam hal frekuensi pelaksanaan, Long-term scheduling mengeksekusi relatif jarang dan membuat keputusan kasar dari apakah atau tidak untuk mengambil proses baru dan mana yang harus diambil. Pada Short-term scheduling, juga dikenal sebagai operator, mengeksekusi paling sering dan membuat keputusan halus yang proses untuk mengeksekusi berikutnya. Short-term scheduling dipanggil kapan suatu peristiwa terjadi yang dapat menyebabkan pemblokiran proses saat ini atau yang mungkin memberikan kesempatan untuk mendahului proses yang sedang berjalan mendukung yang lain. Contoh peristiwa tersebut termasuk ; Jam interupsi , I / O interrupt, Sistem operasi panggilan  dan Sinyal (misalnya, Semaphore).
 Long-term scheduling : Keputusan untuk menambah  proses yang akan dieksekusi
 Long-term scheduling menentukan program mana yang diterima di sistem untuk diproses.Dengan demikian, mengontrol derajat multiprogramming. Setelah menngenali, pekerjaan atau program pengguna menjadi sebuah proses dan ditambahkan ke antrian untuk penjadwal jangka pendek. Dalam beberapa sistem, sebuah proses baru dibuat dimulai dalam kondisi swap-out, dalam hal ini ditambahkan ke antrian untuk jangka menengah penjadwal. Dalam sistem batch,atau untuk bagian batch sistem operasi tujuan umum, pekerjaan baru diserahkan diarahkan ke disk dan diadakan di batch queue. Long-term scheduling menciptakan proses dari antrian kalau itu bisa. Ada  dua keputusan yang terlibat di sini. Pertama, scheduler harus memutuskan ketika sistem operasi dapat mengambil satu atau lebih proses tambahan. Kedua, scheduler harus memutuskanpekerjaan atau pekerjaan untuk menerima dan berubah menjadi proses. Mari kita pertimbangkan secara singkat dua keputusan. Keputusan untuk kapan harus membuat proses baru umumnya didorong oleh tingkat yang diinginkan dari proses multiprogramming. proses  yang banyak  dibuat, semakin kecil adalah persentase waktu bahwa setiap proses dapat dieksekusi (yaitu, proses yang lebih bersaing untuk jumlah waktu yang sama prosesor). Dengan demikian,penjadwal jangka panjang mungkin membatasi derajat multiprogramming untuk memberikan pelayanan yang memuaskan untuk set saat proses. Setiap kali pekerjaan berakhir, scheduler dapat memutuskan untuk menambahkan satu atau lebih pekerjaan baru. Selain itu, jika sebagian kecil dari waktu bahwa prosesor idle melebihi batas tertentu, jangka panjang scheduler dapat dipanggil.
 Perbedaan utama antara ketiga penjadwal terletak pada frekuensi eksekusi.  Persamaan kedua scheduling ini sama-sama memprioritaskan proses yang saling mendukung untuk bias diproses lebih dahulu(lebih awal).




·         FCFS VS SJF
FCFS
                  Sejauh ini algoritma penjadwalan CPU-yang paling sederhana adalah pertama datang, pertama-dilayani (FCFS) algoritma penjadwalan.Dengan skema ini, proses yang meminta para CPU pertama dialokasikan CPU pertama.Pelaksanaan kebijakan FCFS adalah mudah dikelola dengan antrian FIFO. Ketika sebuah proses memasuki antrian siap, yang PCB terhubung ke ekor antrian. Ketika CPU bebas, itu dialokasikan untuk proses di kepala antrian. Proses berjalan kemudian dikeluarkan dari antrian. Kode untuk penjadwalan FCFS adalah sederhana untuk menulis dan memahami. Waktu tunggu rata-rata di bawah kebijakan FCFS, namun, seringkali cukup panjang.
                  Algoritma penjadwalan PCPS adalah nonpreemptive. Setelah CPU telah dialokasikan untuk sebuah proses, proses yang membuat CPU sampai ia melepaskan CPU, baik dengan mengakhiri atau dengan meminta 1/0. Algoritma PCFS demikian khususnya menyusahkan bagi sistem time-sharing, dimana sangat penting bahwa setiap pengguna mendapatkan bagian dari CPU pada interval teratur.

SJF (Shortest Job First)
                  Sebuah pendekatan yang berbeda untuk penjadwalan CPU adalah terpendek-kerja-pertama (SJF) Penjadwalan algoritma. Ini rekan algoritma dengan setiap proses panjang proses di sebelah CPU burst. Ketika CPU tersedia, ditugaskan untuk proses yang memiliki CPU burst terkecil berikutnya. Jika semburan CPU berikutnya dari dua proses adalah sama, FCFS penjadwalan digunakan untuk memecahkan dasi. Perhatikan bahwa lebih tepat Istilah untuk metode penjadwalan akan menjadi algoritma terpendek-next-CPU-burst, karena penjadwalan tergantung pada panjang CPU burst berikutnya dari suatu proses, daripada panjang totalnya
                  Algoritma penjadwalan SJF adalah provably optinzal, dalam hal ini memberikan rata waktu tunggu minimum untuk set proses. Memindahkan singkat proses sebelum satu panjang mengurangi waktu tunggu proses lebih singkat daripada meningkatkan waktu menunggu dari proses panjang. Akibatnya, rata-rata menunggu penurunan waktu.Kesulitan yang nyata dengan algoritma SJF adalah mengetahui panjang berikutnya CPU permintaan. Untuk jangka panjang (kerja) penjadwalan dalam sistem batch, kita bisa menggunakan sebagai panjang batas waktu proses yang user menentukan kapan ia menyerahkan pekerjaan.
 Persamaan FCFS (First Come First Serve) vs SJF (Shortest Job First) :
Ø Kedua model scheduling ini memproses I/O dari antrian yang telah siap untuk diproses.
Perbedaaan FCFS (First Come First Serve) vs SJF (Shortest Job First) :
Ø FCFS (First Come First Serve)                                              SJF (Shortest Job First)
Ø Memiliki waktu proses yang lama                                 Memiliki waktu proses yang                                                                                             singkat
Ø Waktu tunggu rata-rata lebih lama                                Waktu tunggu rata-  rata lebih singkat
Ø Algoritma yang digunakan : nonpreemptive                Algoritma yang digunakan :   provably optimal


5.      Dua contoh pemrograman dari multithreading yang dapat meningkatkan sebuahsolusi  thread tunggal :
                        Dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread.
                        Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread.
• Contoh  Program 1
class CobaThread2 implements Runnable
{
public void run()
{
for(int ii = 0; ii<4; ii++){
System.out.println("Ini CobaThread2");
Test.istirohat(7);
}
}
public class Test
{
public static void main (String[] args)
{
Thread t1 = new CobaThread1();
Thread t2 = new Thread (new CobaThread2());
t1.start();
t2.start();
for (int ii = 0; ii<8; ii++){
System.out.println("Thread UTAMA");
istirohat(5);
}
}
public static void istirohat(int tunda)
{
try{
Thread.sleep(tunda*100);
} catch(InterruptedException e) {}
}
}

•Contoh  Program 2
class CobaThread3 implements Runnable
{
public void run(){
while (true){
System.out.println("saya thread CobaThread3");
if (Thread.currentThread.isInterrupted()) //cek status
break;
}
}
}

Related Post:



0

0 komentar:

Posting Komentar

Gunakan Google Chrome Untuk Mendapatkan Tampilan Terbaik Blog Ini ( ^_^ )