Konsep Manajemen Proses


  Semua sistem operasi tidak mempunyai struktur yang sama. Menurut Avi Silberschatz, Peter Galvin, dan Gre Gagne, pada umumnya sebuah operasi modern mempunyai beberapa komponen, salah satunya manajemen proses. Dikatakan proses ketika sebuah program sedang dieksekusi. Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat I/O. Sistem operasi bertanggung jawab atas aktivitas yang berkaitan dengan managemen proses, seperti :
 1. Pembuatan atau penghapusan proses yang dibuat oleh user atau sistem.
 2. Suspensi atau asumsi proses.
 3. Kelengkapan mekanisme untuk sinkronisasi proses, komunikasi proses, dan pengendalian deadlock.

Umumnya manajemen proses mempunyai konsep-konsep proses sebagai berikut :

KONSEP PROSES

  1. Konsep proses ini merupakan proses semua aktifitas CPU, seperti :

  a. Job yang dieksekusi pada sistem batch
  b. User Program atau task pada sistem time shared
  c. Beberapa program yang dijalankan pada satu waktu : satu program interactive dan   beberapa program batch pada system single user seperti MS-DOS.

  Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Proses bukan hanya “kode program”, tapi juga termasuk didalamnya :

  a. Aktifitas saat ini yang merupakan nilai dari program counter
  b. Isi dari register processor
  c. Program stack
  d. Data section yang berisi variabel global
  e. Menyimpan status proses, seperti : aktif, wait I/O request dll
  Suatu proses membutuhkan resource untuk menyelesaikan pekerjaannya, dimana resource   tersebut dialokasikan oleh proses pada saat dibuat atau dieksekusi.

  2. Status Proses
  

Walaupun masing-masing proses terdiri dari satu kesatuan yang terpisah, namun adakalanya proses-proses tersebut perlu saling berinteraksi, sebab ada kemungkinan satu proses bisa dibangkitkan dari output proses lainnya sebagai input. Pada saat proses dieksekusi maka akan terjadi perubahan status. Status-status ini didefinisikan sebagai keadaan atau aktivitas proses yang sedang berlangsung saat ini. Status proses terdiri dari :

 a. NEW
Status yang dimiliki pada saat proses baru saja dibuat oleh penjadwalan tingkat tinggi, tetapi belum siap melakukan eksekusi.
 b. READY
Status yang dimiliki pada saat proses siap dieksekusi oleh processor.
 c. RUNNING
Status yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi. Proses bisa dieksekusi karena CPU tidak sedang mengerjakan tugas yang lain.
 d. WAITING
Status yang dimiliki pada saat proses menunggu suatu event, seperti penyelesaian I/O atau menerima signal.
 e. TERMINATED
Status yang dimiliki pada saat proses telah selesai dieksekusi.

    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

  3. 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 :

a. Status Proses
Status yang mungkin dimiliki oleh setiap proses : new, ready, running, waiting, terminated
b. Program Counter
Menunjukkan alamat berikutnya yang akan dieksekusi oleh proses tersebut.
c. 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

d. Informasi Penjadwalan CPU
Berisi prioritas dari proses, pointer ke antrian penjadwalan, parameter penjadwalan lainnya
e. Informasi Manajemen Memori
Berisi nilai dari dasar(basis) dan limit (batas) register, tabel page, atau tabel segmen
f. Informasi Accounting
Berisi jumlah CPU dan real time yang digunakan,batas wakti, jumlah job atau proses dll
g. Informasi Status I/O
Informasi daftar dari perangkat I/O yang digunakan untuk proses ini. Informasi daftar file-file yang sedang diakses.

KONSEP PENJADWALAN
• 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

  1. QUEUE SCHEDULING
Queue Scheduling dapat diklasifikasikan dalam 3 kategori :
a. Job Queue
    Antrian berisi semua proses yang masuk dalam sistem
b. Ready Queue
    Proses yang berada pada memori utama, siap dan menunggu untuk dieksekusi
c. Device Queue
    Deretan proses yang sedang menunggu peralatan I/O
    Tiap peralatan I/O memiliki device queue
d. Setiap antrian disimpan sebagai linked list dan berisi pointer awal dan akhir PCB.
e. Tiap PCB memiliki suatu pointer menunjuk ke proses selanjutnya pada antrian
f. Proses baru mula-mula diletakkan di ready queue dan menunggu sampai dipilih untuk   dieksekusi (dispatched) CPU
g. 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 :

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

  3. 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)

About Sintata
Seek and Share Knowledge

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: