halo aku coba tes ya

Wednesday, January 16, 2013

Konsep Dasar Menejemen Proses

KONSEP PROSES
•Proses merupakan semua aktifitas CPU, seperti :
–Job yang dieksekusi pada sistem batch
–User Program atau task pada sistem time shared
–Beberapa program yang dijalankan pada satu waktu : satu program interactive dan beberapa program batch pada system single user seperti MS-DOS
•Windows Task Manager
Windows Task Manager
•Perintah PS pada UNIX
Perintah PS pada UNIX
.
•Proses adalah program yang sedang dieksekusi.
•Eksekusi proses dilakukan secara berurutan
•Proses bukan hanya “kode program”, tapi juga termasuk didalamnya :
–Aktifitas saat ini yang merupakan nilai dari “program counter”
–Isi dari register processor
–Program stack
–“Data section” yang berisi variabel global
–Menyimpan status proses, seperti : aktif, wait I/O request dll
STATUS PROSES
•Apabila proses dieksekusi maka kemungkinan akan terjadi perubahan “state”
•Status dari sebuah proses mencerminkan suatu keadaan/ aktivitas yang sedang dilakukan oleh proses itu sendiri.
•Hanya satu proses yang dapat berjalan pada prosesor manapun pada satu waktu, tetapi banyak proses yang dapat berstatus ready atau waiting
•Status proses terdiri dari :
–NEW
•Status yang dimiliki pada saat proses baru saja   dibuat
–RUNNING
•Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi
•Proses bisa dieksekusi karena CPU tidak sedang mengerjakan tugas yang lain
–WAITING
•Status yang dimiliki pada saat proses menunggu suatu event, seperti penyelesaian I/O atau menerima signal
–READY
•Status yang dimiliki pada saat proses siap dieksekusi oleh processor
•Proses menunggu jatah waktu dari processor
–TERMINATED
•Status yang dimiliki pada saat proses telah selesai dieksekusi
DIAGRAM STATUS PROSES
DIAGRAM STATUS PROSES
.
•Ada 3 kemungkinan bila sebuah proses memiliki status running :
1.   Jika program telah selesai dieksekusi à   status   proses berubah menjadi TERMINATED
2.   Jika waktu yang disediakan oleh OS untuk   proses tersebut habis à akan terjadi interrupt   dan proses berstatus READY
3.   Jika suatu event terjadi pada saat proses   dieksekusi (seperti ada request I/O) à proses   tersebut akan menunggu event tersebut dan   proses berstatus WAITING

Process Control Block (PCB) 
•Setiap proses direpresentasikan pada OS sebagai “Process Control Block”
•PCB hanya berfungsi sebagai tempat penyimpanan informasi yang dapat bervariasi dari proses satu dengan proses yang lainnya
•PCB berisi informasi dari proses tertentu :
–Status Proses
•Status yang mungkin dimiliki oleh setiap proses : new, ready, running, waiting, terminated
–Program Counter
•Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut
–CPU Register
•Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan komputer, meliputi :
–Accumulator, register index, stack pointer, dan register serbaguna
•Bila terjadi interrupt, status informasi disimpan dan proses dilanjutkan
–Informasi Penjadwalan CPU
•Berisi prioritas dari proses, pointer ke antrian penjadwalan, parameter penjadwalan lainnya
–Informasi Manajemen Memori
•Berisi nilai dari dasar(basis) dan limit (batas) register, tabel page, atau tabel segmen
–Informasi Accounting
•Berisi jumlah CPU dan real time yang digunakan,batas wakti, jumlah job atau proses dll
–Informasi Status I/O
•Informasi daftar dari perangkat I/O yang digunakan untuk proses ini
•Informasi daftar file-file yang sedang diakses
KONSEP PENJADWALAN
<p>Your browser does not support iframes.</p>

•Konsep dari Multiprogramming :
–Suatu proses akan menggunakan CPU sampai proses tersebut dalam status “wait” (misal : meminta I/O) selesai
–Pada saat “wait” à CPU akan menganggur, untuk mengatasi hal ini à CPU dialihkan ke proses lain yang berstatus “ready”
•Tujuan dari Multiprogramming adalah :
–Untuk memaksimalkan penggunaan CPU dengan cara mengatur alokasi waktu yang digunakan oleh CPU untuk memperkecil waktu idle
•Untuk Sistem yang bersifat Uniprogramming:
–Hanya ada 1 proses yang dapat berjalan setiap waktunya
–Jika ada proses yang lebih dari satu, maka proses yang lain harus menunggu sampai CPU bebas dan siap untuk dijadwalkan kembali

  QUEUE SCHEDULING
•Queue Scheduling dapat diklasifikasikan dalam 3 kategori :
–Job Queue
•Antrian berisi semua proses yang masuk dalam sistem
–Ready Queue
•Proses yang berada pada memori utama, siap dan menunggu untuk dieksekusi
–Device Queue
•Deretan proses yang sedang menunggu peralatan I/O
•Tiap peralatan I/O memiliki device queue
–Setiap antrian disimpan sebagai linked list dan berisi pointer awal dan akhir PCB.
–Tiap PCB memiliki suatu pointer menunjuk ke proses selanjutnya pada antrian
–Proses baru mula-mula diletakkan di ready queue dan menunggu sampai dipilih untuk dieksekusi (dispatched) CPU
–Ketika proses dialokasikan CPU dan dieksekusi, terjadi satu dari event berikut :
•Proses meminta I/O dan kemudian ditempatkan pada I/O queue
•Proses membuat sub proses baru dan menunggu diterminasi
•Proses dihapus dari CPU karena diinterrupt dan dikembalikan ke ready queue
–Penjadwalan proses dapat direpresentasikan secara umum dalam bentuk diagram :
bentuk diagram

SCHEDULER (PENJADWAL)
•Sistem operasi harus memilih dan memproses antrian-antrian berdasarkan kategorinya, dimana proses seleksinya dilakukan oleh scheduler yang tepat
•Ada 3 tipe Scheduler :
–Long Term Scheduler (Job Scheduler)
–Short Term Scheduler (CPU Scheduler)
–Medium Term Scheduler
•Long Term Scheduler (Job Scheduler)
–Menyeleksi proses-proses mana yang harus dimasukkan ke dalam ready queue dan membawanya ke memori untuk dieksekusi
–Long Term Scheduler mengeksekusi lebih jarang, dibutuhkan beberapa menit untuk pembuatan proses baru dalam sistem
–Long Term Scheduler à mengontrol jumlah proses dalam memori (degree of multiprogramming)
–Jika degree of multiprogramming stabil à tingkat rata-rata penciptaan proses harus sama dengan tingkat rata-rata proses meninggalkan sistem
•Short Term Scheduler (CPU Scheduler)
–Menentukan proses mana yang selanjutnya akan dieksekusi dan mengalokasikan CPU untuk proses tersebut, dimana pemilihan proses barunya dialokasikan sesering mungkin
–Sort Term Scheduler à lebih sering dipanggil (hanya dalam waktu milisecond)
–Karena durasi yang pendek antara eksekusi, short Term Scheduler harus sangat cepat
•Medium Term Scheduler
–Penjadwal ini akan menguntungkan untuk memindahkan proses dari memori à jumlah proses dalam memori akan berkurang
–Skema Medium Term Scheduler disebut swapping.
Swapping diperlukan untuk meningkatkan mutu penggabungan proses (karena perubahan dalam kebutuhan memori yang mengakibatkan memori harus dibebaskan)

CONTEXT SWITCH
•Pada saat CPU beralih ke proses lain, sistem harus menyimpan state dari proses lama dan mengambil state dari proses yang baru.Pekerjaan ini disebut : “Context Switch”
•Context Switch sebuah proses direpresentasikan dalam PCB dari suatu proses à nilai dari CPU register, status proses, informasi manajemen memori
•Waktu context switch mempunyai kecepatan bervariasi (biasanya berkisar 1 – 1000ms) tergantung:
–Kecepatan memori
–Jumlah register yang dicopy
–Ada atau tidaknya instruksi khusus (misal : instruksi tunggal untuk mengisi atau menyimpan seluruh register)
OPERASI PADA PROSES
•Sistem Operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses
•Pembuatan Proses
–Beberapa aktifitas yang berkenaan dengan pembuatan proses, a.l :
•Memberi identitas (nama) pada proses yang dibuat
•Menyisipkan proses pada list proses atau tabel proses
•Menentukan prioritas awal proses
•Membuat/ menciptakan PCB
•Mengalokasikan sumber daya (resource) awal bagi proses
–Contoh Pembuatan Proses
•Inisialisasi Sistem à Reboot
•Eksekusi System Call untuk Pembuatan proses
–Fork ()
•User meminta untuk membuat proses baru
–Mengetikkan perintah di command line
–Mengklik icon
•PENGHENTIAN PROSES
–Pada saat proses berhenti à proses akan mengembalikan semua data ke parent proses, dan proses dihapus dari sistem, dilanjutkan dengan menghapus PCB
–Alasan yang menyebabkan proses dihentikan :
•Selesainya proses secara normal
•Proses berjalan melewati batas waktu yang telah ditentukan
•Memori tidak tersedia
•Pelanggaran terhadap batas memori
•Terjadi kesalahan perhitungan (misal :pembagian dengan 0)
•Proses menunggu terlalu lama
•Terjadi kegagalan I/O (misal : tidak menemukan file)

0 comments:

Post a Comment