tugas sistem operasi - 17102013

9
Nama : Andhica Pratama NIM : 125150205111004 Kelas : TIF-D TUGAS SISTEM OPERASI 1. Jelaskan perbedaan mendasar dari proses dan thread! Jawab : - Secara informal, proses adalah program yang sedang dieksekusi. Proses berbeda dengan program. Proses disini maksudnya adalah saat kita menjalankan suatu program, maka akan terjadi proses sehingga program yg dijalankan akan terbuka. Ada dua jenis proses, proses berat (heavyweight) atau biasa dikenal dengan proses tradisional, dan proses ringan atau kadang disebut thread. Thread, atau kadang-kadang disebut proses ringan (lightweight), adalah unit dasar dari utilisasi CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama. atau sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal atau sebuah alur kontrol dari sebuah proses. - Thread memiliki address space yang sama yang artinya mereka berbagi variable global, karenanya masing-masing thread dapat saling mengakses virtual address, membaca, menulis bahkan menghentikan thread lain, sedangkan proses bisa dimiliki oleh user dan kemungkinan proses tersebut menunggu atau ditahan proses yang lain, proses selalu

Upload: sevtyan-ep

Post on 13-Nov-2015

3 views

Category:

Documents


1 download

DESCRIPTION

Tugas SISOP

TRANSCRIPT

Nama : Andhica PratamaNIM : 125150205111004Kelas : TIF-D

TUGAS SISTEM OPERASI1. Jelaskan perbedaan mendasar dari proses dan thread!Jawab : Secara informal, proses adalah program yang sedang dieksekusi. Proses berbeda dengan program. Proses disini maksudnya adalah saat kita menjalankan suatu program, maka akan terjadi proses sehingga program yg dijalankan akan terbuka. Ada dua jenis proses, proses berat (heavyweight) atau biasa dikenal dengan proses tradisional, dan proses ringan atau kadang disebut thread. Thread, atau kadang-kadang disebut proses ringan (lightweight), adalah unit dasar dari utilisasi CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama. atau sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal atau sebuah alur kontrol dari sebuah proses. Thread memiliki address space yang sama yang artinya mereka berbagi variable global, karenanya masing-masing thread dapat saling mengakses virtual address, membaca, menulis bahkan menghentikan thread lain, sedangkan proses bisa dimiliki oleh user dan kemungkinan proses tersebut menunggu atau ditahan proses yang lain, proses selalu dimiliki oleh satu user sehingga mereka dapat saling bekerja sama tidak saling berbenturan. Proses Memiliki ruang alamat atau IP address masing-masing sedangkan threads ruang alamat atau IP address digunakan secara bersama-sama dari proses yang menciptakannya. Proses : Dari satu proses dengan proses lainnya harus menggunakan komunikasi sedangkan threads : Memiliki akses langsung ke segmen data dari prosesnya. Proses : memiliki overhead sedangkan Threads : hamper tidak memiliki overheads. Proses : Pembentukan proses membutuhkan waktu yang lebih lama sedangkan threads : Pembentukan thread membutuhkan waktu yang lebih sedikit. Proses : Waktu yang dibutuhkan untuk mengakhiri proses lebih lama sedangkan threads : Waktu yang dibutuhkan untuk mengakhiri thread lebih sedikit.

2. Pada sistem yang menggunakan threads manakah yang digunakan satu stack untuk setiap thread atau satu stack untuk setiap proses. Jelaskan!Jawab :Satu stack untuk setiap thread, karena dalam satu proses terdiri dari banyak thread maka thread thread itulah yang perlu di maksukan ke dalam stack untuk disimpan sebelum dijalankan bukan prosesnya.

3. Kesimpulan apakah yang bisa anda tarik pada Hukum Ahmdals?Hukum Amdahls (Amdahls Law) adalah Mengidentifikasi keuntungan kinerja dari menambahkan core tambahan ke aplikasi yang memiliki komponen baik serial dan paralel. Hukum Amdahl adalah prinsip dasar dalam peningkatan kecepatan proses suatu computer jika hanya sebagian dari peralatan hardwareataupun software yang diperbaharui/ditingkatkan kinerjanya. Jadi, jika suatu processor memiliki jumlah core yang besar, itu tidak akan menjamin bahwa kecepatan computer akan cepat. Karena nantinya akan dibagi sama jumlah processornya sehingga akan mendekati dengan 0 jika dibagi dan menjadi .

Dimana : S : Serial ProsesN : Jumlah Core

4. Dalam Unix dikelan fork ( ) dan exec ( ). Jelaskan. Berikan penjelasan pula berkaitan dengan fork ( ) dan exec ( ) dalam hubungannya dengan thread?Jawab :fork() berfungsi untuk membuat proses baru sedangkan exec () yang berguna untuk membuat proses turunan yang terbentuk memiliki instruksi yang berbeda dengan proses induknya. Terdapat dua kemungkinan dalam sistem UNIX jika fork dipanggil oleh salah satu thread dalam proses: Semua thread diduplikasi. Hanya thread yang memanggil fork. Jika suatu thread memanggil System Call exec maka program yang dispesifikasi dalam parameter exec, akan mengganti keseluruhan proses termasuk thread. Penggunaan dua versi dari fork di atas tergantung dari aplikasi. Kalau exec dipanggil seketika sesudah fork, maka duplikasi seluruh thread tidak dibutuhkan, karena program yang dispesifikasi dalam parameter exec akan mengganti seluruh proses. Pada kasus ini cukup hanya mengganti thread yang memanggil fork. Tetapi jika proses yang terpisah tidak memanggil exec sesudah fork maka proses yang terpisah tersebut hendaknya menduplikasi seluruh thread.

5. Apakah yang dimaksud dengan race condition. Jelaskan !Jawab :Race conditionadalah suatu kondisi dimana dua atau lebih proses mengaksesshared memory/sumber daya pada saat yang bersamaan dan hasil akhir dari data tersebut tergantung dari proses mana yang terakhir selesai dieksekusi sehingga hasil akhirnya terkadang tidak sesuai dengan yang dikehendaki.

6. Apakah yang dimaksud dengan deadlock dan starvation, jelaskan !Jawab :DeadlockDeadlockadalah suatu kondisi dimana dua proses atau lebih saling menunggu proses yang lain untuk melepaskanresourceyang sedang dipakai. Karena beberapa proses itu saling menunggu, maka tidak terjadi kemajuan dalam kerja proses-proses tersebut.Deadlockadalah masalah yang biasa terjadi ketika banyak proses yang membagi sebuahresourceyang hanya boleh dirubah oleh satu proses saja dalam satu waktu. Di kehidupan nyata,deadlockdapat digambarkan dalam gambar diatas,deadlockdianalogikan sebagai dua antrian mobil yang akan menyeberangi jembatan. Dalam kasus diatas, antrian di sebelah kiri menunggu antrian kanan untuk mengosongkan jembatan (resource), begitu juga dengan antrian kanan. Akhirnya tidak terjadi kemajuan dalam kerja dua antrian tersebut. Misal ada proses A mempunyairesourceX, proses B mempunyairesourceY. Kemudian kedua proses ini dijalankan bersama, proses A memerlukanresourceY dan proses B memerlukanresourceX, tetapi kedua proses tidak akan memberikanresourceyang dimiliki sebelum proses dirinya sendiri selesai dilakukan. Sehingga akan terjadi tunggu-menunggu.StarvationSedangkan Starvation adalah kondisi yang biasanya terjadi setelahdeadlock. Proses yang kekuranganresource(karena terjadideadlock) tidak akan pernah mendapatresourceyang dibutuhkan sehingga mengalamistarvation(kelaparan). Namun,starvationjuga bisa terjadi tanpadeadlock. Hal ini ketika terdapat kesalahan dalam sistem sehingga terjadi ketimpangan dalam pembagianresouce. Satu proses selalu mendapatresource, sedangkan proses yang lain tidak pernah mendapatkannya. Ilustrasistarvationtanpadeadlockdi dunia nyata dapat dilihat Pada gambar diatas, pada antrian kanan terjadistarvationkarenaresource(jembatan) selalu dipakai oleh antrian kiri, dan antrian kanan tidak mendapatkan giliran.

7. Apakah yang dimaksud dining philosoper problem, jelaskan!Jawab :

Dining Philosophers Problem merupakan salah satu masalah klasik dalam sinkronisasi. Dining Philosohers Problem dapat diilustrasikan sebagai berikut, terdapat lima orang filsuf yang sedang duduk mengelilingi sebuah meja. Terdapat lima mangkuk mie di depan masing-masing filsuf dan satu sumpit di antara masing- masing filsuf. Para filsuf menghabiskan waktu dengan berpikir (ketika kenyang) dan makan (ketika lapar). Ketika lapar, filsuf akan mengambil dua buah sumpit (di tangan kiri dan tangan kanan) dan makan. Namun adakalanya, hanya diambil satu sumpit saja. Jika ada filsuf yang mengambil dua buah sumpit, maka dua filsuf di samping filsuf yang sedang makan harus menunggu sampai sumpit ditaruh kembali. Hal ini dapat diimplementasikan dengan wait dan signal.

8. Pada kondisi apa sajakah reader writers problem dapat terjadi, Jelaskan!Jawab :Reader writers problem dapat terjadi ketika proses yang mengakses database. Sebagai contoh sebuah sistem pemesanan sebuah perusahaan penerbangan, dimana banyak proses berkompetisi berharap untuk membaca (read) dan menulis (write). Hal ini dapat diterima bahwa banyak proses membaca database pada saat yang sama, tetapi jika suatu proses sedang menulis database, tidak boleh ada proses lain yang mengakses database tersebut, termasuk membaca database tersebut.

9. Bagaimanakah teknik untuk mendeteksi terjadinya deadlock ? berikan penjelasan!Jawab :Deteksi Deadlock dilakukan oleh Lock Monitor Thread, secara periodic menginisiasi pencarian ke semua tasks di dalam instance database engine. Proses pencarian dideskripsikan sebagai berikut : Default interval 5 detik. Jika Lock Monitor Thread menemukan deadlock, pendeteksi deadlock memberikan interval dari 5 detik hingga paling kecil 100ms tergantung pada frekuensi dadlock. Jika Lock Monitor Thread berhenti mencari deadlock, Database Engine akan meningkatkan interval antar ppencarian menjadi 5 detik. Jika deadlock baru saja ditemukan, diasumsikan bahwa thread yang selanjutnya harus menunggu untuk Lock yang memasuki sikllus Deadlock. Pasangan Lock pertama menunggu setelah sebuah deadlock telah terdeteksi akan segera memicu sebuah pencarian deadlock daripada menunggu interval deteksi deadlock selanjutnya.

10. Bagaimakah teknik untuk melakukan recovery pada saat terjadinya deadlock ? berikan penjelasan!Jawab : Terminasi Proses Metode ini akan menghapus proses-proses yang terlibat pada kondisi deadlock dengan mengacu pada beberapa syarat. Beberapa syarat yang termasuk dalam metode ini adalah sebagai berikut: Menghapus semua proses yang terlibat dalam kondisi deadlock (solusi ini terlalu mahal). Menghapus satu persatu proses yang terlibat, sampai kondisi deadlock dapat diatasi (memakan banyak waktu). Menghapus proses berdasarkan prioritas, waktu eksekusi, waktu untuk selesai, dan kedalaman dari rollback. Resources Preemption Metode ini lebih menekankan kepada bagaimana menghambat suatu proses dan sumber daya, agar tidak terjebak pada unsafe condition. Beberapa langkahnya, yaitu: Pilih salah satu proses dan sumber daya yang akan di-preempt. Rollback ke safe state yang sebelumnya telah terjadi. Mencegah suatu proses agar tidak terjebak pada starvation karena metode ini.