• Tidak ada hasil yang ditemukan

M4 - Pengaturan Proses.docx (571Kb)

N/A
N/A
Protected

Academic year: 2018

Membagikan "M4 - Pengaturan Proses.docx (571Kb)"

Copied!
7
0
0

Teks penuh

(1)

Universitas Gunadarma

PTA

2014/2015

Pengantar Komputer

& TI 1B

M4 – Pengaturan Proses

(2)

Pengaturan Proses

Konsep Proses dalam Sistem Operasi

Proses adalah program yang sedang dieksekusi atau software yang sedang dijalankan. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui sistem call create process yang membentuk proses turunan (child process) yang dilakukan oleh proses induk (parent process). Proses turunan tersebut juga mampu membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.

Ketika sebuah proses dibuat maka proses tersebut dapat memperoleh sumber-daya seperti waktu CPU, memori, berkas, atau perangkat I/O. Sumber sumber-daya ini dapat diperoleh langsung dari sistem operasi, dari proses induk yang membagi-bagikan sumber daya kepada setiap proses turunannnya, atau proses turunan dan proses induk berbagi sumber-daya yang diberikan sistem operasi.

Meskipun tiap-tiap proses terdiri dari suatu kesatuan yang terpisah namun adakalanya proses-proses tersebut butuh untuk saling berinteraksi. Satu proses bisa dibangkitkan dari output proses lainnya sebagai input. Pada saat proses dieksekusi, akan terjadi perubahan status. Status proses didefniskan sebagai bagian dari aktivitas proses yang sedang berlangsung saat itu.

Gambar 4-1 menunjukkan diagram status proses. Status proses terdiri dari : a. New: proses sedang dibuat.

b. Running: proses sedang dieksekusi.

c. Waiting: proses sedang menunggu beberapa event yang akan terjadi (seperti

menunggu untuk menyelesaikan I/O atau menerima sinyal). d. Ready: proses menunggu jatah waktu dari CPU untuk diproses. e. Terminated: proses telah selesai dieksekusi.

Gambar 4.1 Perubahan Status Proses

(3)

Jenis proses pada sistem operasi ada 3, yaitu :

a. Sequential Process . Dimana proses dijalankan secara berurutan. Proses akan menjalankan proses berikutnya, jika proses awal sudah selesai dilaksanakan.

b. Multiprogramming . Dimana dua atau lebih proses dijalankan secara bersamaan. c. CPU switching . Mengganti CPU ke proses lain yang memerlukan penyimpanan

kondisi dari proses yang lama.

Gambar 4.2 Jenis Proses (a) Sequential Process (b) Multiprogramming (c) CPU Switching

Penjadwalan Proses

Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Tugas penjadwalan adalah memutuskan proses mana yang harus berjalan serta memutuskan kapan dan selama berapa lama proses itu berjalan.

Kriteria untuk mengukur dan optimasi kinerja penjadwalan :

1. Adil (fairness) adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemrosesan, sehingga mengalami kekurangan waktu.

2. Efsiensi (efciency), utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.

3. Waktu tanggap (response time), waktu tanggap berbeda untuk :

(4)

adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi dan waktu menunggu, yaitu turn around time = waktu eksekusi + waktu menunggu.

5. Throughput adalah jumlah kerja yang dapat diselesaikan dalam waktu satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu.

Deadlock

Deadlock merupakan keadaan dimana dua atau lebih proses saling menunggu meminta resources (sumber daya) untuk waktu yang tidak terbatas lamanya. Analoginya seperti pada kondisi jalan raya, dimana terjadi kemacetan parah. Deadlock adalah efek samping dari sinkronisasi dimana satu variabel digunakan oleh dua proses.

Gambar 4.3 Ilustrasi Deadlock

Penyebab deadlock (syarat terjadinya deadlock) :

Mutual Exclusion . Proses memiliki hak milik pribadi terhadap sumber daya yang sedang digunakannya. Jadi hanya ada satu proses yang menggunakan suatu sumber daya. Proses lain yang juga ingin menggunakannya harus menunggu hingga sumber daya tersebut dilepaskan oleh proses yang telah selesai menggunakannya.

(5)

dimintanya dilepaskan. Sambil menunggu, sumber daya yang telah dimilikinya pun tidak akan dilepas. Semua proses itu pada akhirnya saling menunggu dan menahan sumber daya miliknya.

Circular Waiting . Kondisi yang membentuk siklus yang berisi proses-proses yang saling membutuhkan. Proses pertama membutuhkan sumber daya yang dimiliki proses kedua, proses kedua membutuhkan sumber daya milik proses ketiga, dan seterusnya sampai proses ke n-1 yang membutuhkan sumber daya milik proses ke n dan proses ke n membutuhkan sumber daya milik proses yang pertama. Yang terjadi adalah proses-proses tersebut akan selamanya menunggu.

No Preemption . Sebuah sumber daya hanya dapat dilepaskan oleh proses yang memilikinya secara sukarela setelah ia selesai menggunakannya. Proses yang menginginkan sumber daya tersebut harus menunggu sampai sumber daya tersedia, tanpa bisa merebut dari proses yang memilikinya.

Penanganan Deadlock :

 Pengabaian. Maksud dari pengabaian di sini adalah sistem mengabaikan terjadinya deadlock dan pura-pura tidak tahu kalau deadlock terjadi. Dalam penanganan dengan cara ini dikenal istilah ostrich algorithm. Pelaksanaan algoritma ini adalah sistem tidak mendeteksi adanya deadlock dan secara otomatis mematikan proses atau program yang mengalami deadlock. Kebanyakan sistem operasi yang ada mengadaptasi cara ini untuk menangani keadaan deadlock. Cara penanganan dengan mengabaikan deadlock banyak dipilih karena kasus deadlock tersebut jarang terjadi dan relatif rumit dan kompleks untuk diselesaikan. Sehingga biasanya hanya diabaikan oleh sistem untuk kemudian diselesaikan masalahnya oleh user dengan cara melakukan terminasi dengan Ctrl+Alt+Del atau melakukan restart terhadap komputer.

 Pencegahan. Penanganan ini dengan cara mencegah terjadinya salah satu karakteristik deadlock. Penanganan ini dilaksanakan pada saat deadlock belum terjadi pada sistem. Intinya memastikan agar sistem tidak akan pernah berada pada kondisi deadlock.

Penghindaran. Menghindari keadaan deadlock. Bagian yang perlu diperhatikan oleh pembaca adalah bahwa antara pencegahan dan penghindaran adalah dua hal yang berbeda. Pencegahan lebih kepada mencegah salah satu dari empat karakteristik deadlock terjadi, sehingga deadlock pun tidak terjadi. Sedangkan penghindaran adalah memprediksi apakah tindakan yang diambil sistem, dalam

(6)

kaitannya dengan permintaan. proses akan sumber daya, dapat mengakibatkan terjadi deadlock.

 Pendeteksian dan Pemulihan. Pada sistem yang sedang berada pada kondisi deadlock, tindakan yang harus diambil adalah tindakan yang bersifat represif. Tindakan tersebut adalah dengan mendeteksi adanya deadlock, kemudian memulihkan kembali sistem. Proses pendeteksian akan menghasilkan informasi apakah sistem sedang deadlock atau tidak serta proses mana yang mengalami deadlock.

Pencegahan Deadlock dapat dilakukan dengan cara mencegah salah satu dari empat karakteristik terjadinya deadlock. Berikut ini akan dibahas satu per satu cara pencegahan terhadap empat karakteristik tersebut.

 Mutual Exclusion. Kondisi mutual exclusion pada sumber daya adalah sesuatu yang wajar terjadi, yaitu pada sumber daya yang tidak dapat dibagi (non-sharable). Sedangkan pada sumber daya yang bisa dibagi tidak ada istilah mutual exclusive. Jadi, pencegahan kondisi yang pertama ini sulit karena memang sifat dasar dari sumber daya yang tidak dapat dibagi.

 Hold and Wait. Untuk kondisi yang kedua, sistem perlu memastikan bahwa setiap kali proses meminta sumber daya, ia tidak sedang memiliki sumber daya lain. Atau bisa dengan proses meminta dan mendapatkan sumber daya yang dimilikinya sebelum melakukan eksekusi, sehingga tidak perlu menunggu.

 No Preemption. Pencegahan kondisi ini dengan cara membolehkan terjadinya preemption. Maksudnya bila ada proses yang sedang memiliki sumber daya dan ingin mendapatkan sumber daya tambahan, namun tidak bisa langsung dialokasikan, maka akan preempted. Sumber daya yang dimiliki proses tadi akan diberikan pada proses lain yang membutuhkan dan sedang menunggu. Proses akan mengulang kembali eksekusinya setelah mendapatkan semua sumber daya yang dibutuhkannya, termasuk sumber daya yang dimintanya terakhir

(7)

Pemulihan Deadlock :

 Terminasi Proses. Pemulihan sistem dapat dilakukan dengan cara melalukan terminasi terhadap semua proses yang terlibat dalam deadlock. Dapat pula dilakukan terminasi terhadap proses yang terlibat dalam deadlock secara satu per satu sampai 'lingkaran setan' atau circular wait hilang. Seperti diketahui bahwa circular wait adalah salah satu karakteristik terjadinya deadlock dan merupakan kesatuan dengan tiga karakteristik yang lain. Untuk itu, dengan menghilangkan kondisi circular wait dapat memulihkan sistem dari deadlock.Dalam melakukan terminasi terhadap proses yang deadlock, terdapat beberapa faktor yang menentukan proses mana yang akan diterminasi. Faktor pertama adalah prioritas dari proses-proses yang terlibat deadlock. Faktor kedua adalah berapa lama waktu yang dibutuhkan untuk eksekusi dan waktu proses menunggu sumber daya. Faktor ketiga adalah berapa banyak sumber daya yang telah dihabiskan dan yang masih dibutuhkan. Terakhir, faktor utilitas dari proses pun menjadi pertimbangan sistem untuk melakukan terminasi pada suatu proses.

 Rollback and Restart. Dalam memulihkan keadaan sistem yang deadlock, dapat dilakukan dengan cara sistem melakukan preempt terhadap sebuah proses dan kembali ke state yang aman. Pada keadaan safe state tersebut, proses masih berjalan dengan normal, sehingga sistem dapat memulai proses dari posisi aman tersebut. Untuk menentukan pada saat apa proses akan rollback, tentunya ada faktor yang menentukan. Diusahakan untuk meminimalisasi kerugian yang timbul akibat memilih suatu proses menjadi korban. Harus pula dihindari keadaan dimana proses yang sama selalu menjadi korban, sehingga proses tersebut tidak akan pernah sukses menjalankan eksekusi.

 Concurrency. Dalam ilmu komputer, concurreny adalah properti dari sistem

dimana beberapa diantaranya melaksanakan perhitungan secara bersamaan, dan berpontensi berinteraksi satu sama lain. Perhitungan mungkin akan mengeksekusi pada beberapa inti dalam chip yang sama atau menjalankannya terpisah secara fsik pada prosesor.

Gambar

Gambar 4.1 Perubahan Status Proses
Gambar 4.3 Ilustrasi Deadlock

Referensi

Dokumen terkait

Setiap mahasiswa pada saat CSL tidak diperkenankan melakukan kegiatan yang tidak berhubungan dengan proses pembelajaran dan/atau mengganggu proses

Sedangkan dari hasil penelitian oleh Rivdhal et al.,2015 menunjukkan bahwa umur batuan Formasi Nanggulan berdasarkan penelitian biostratigrafi gampingan adalah berkisar Eosen

Selama mengikuti kegiatan magang ini penulis ditempatkan pada Sub Bagian Keuangan dan Program dimana bagian tersebut sesuai dengan judul laporan magang penulis yaitu Proses

panitia adalah sesuai dengan usulan yang telah diajukan. g. Mengundang pemeriksa keuangan independen untuk

terkendala kondisi yang ada, rencana yang di perlukan untuk pola pelaksanaan (fisik), kepercayaan pemerintah pada BKM, hambatan ada LPM kegiatan bersinergi dengan

Perempuan anggota Simpan Pinjam Kelompok Perempuan (SPP) yang tidak mengalami peningkatan pendapatan adalah mereka yang tidak menggunakan pinjaman untuk usaha, sehingga

16  Prosedur Operasi Standart yaitu dokumen yang berisi tata cara kerja yang terperinci dan harus diikuti demi mencapai keseragaman dalam menjalankan suatu aktivitas atau

Berdasarkan hasil dari tabel diatas, maka dapat ditarik analisis terhadap indikator pertama bahwa tingkat kesenjangan responden atas indikator sikap profesional petugas