Laman

Rabu, 23 Maret 2011

Konsep Manajemen Proses Sistem Operasi

Sistem Operasi pada saat ini telah berkembang menjadi kebutuhan sehari-hari yang tak lepas sebagai motor penggeerak dimana, disaat manusia sangat membutuhkannya untuk beberapa aktifitas yang tak lazim untuk penunjang kebutuhan.

Dalam kenyataannya semua sistem operasi mempunyai struktur yang berbeda, namun pada umumnya sebuah sistem operasi modern mempunyai komponen sebagai berikut :
  • Manajemen Proses
  • Manajemen Memori Utama
  • Manajemen File
  • Manajemen Sistem I/O
  • Manajemen Sekunder (secondary)
  • Jaringan
  • Sistem Proteksi
  • Command-Interpreter System
Pada Kesempatan kali ini saya akan memposting hal tentang Konsep Manajemen Proses dalam Sistem Operasi

1. Manajemem Proses

Proses merupakan keadaan sebuah program yang sedang berlangsung (dieksekusi). Sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses, seperti:
  • pembuatan atau penghapusan proses yang dibuat oleh user atau sistem.
  • suspensi atau asumsi proses
  • kelengkapan mekanisme untuk sinkronisasi proses, komunikasi proses, dan pengendalian deadlock.
2. Konsep Proses

Pada sistem multiprogramming, CPU juga dapat switch (penggantian) dari suatu program ke program lain, menjalankan puluhan bahkan ribuan instruksi per milisecond. hal ini biasa disebut suatu proses (eksekusi) dimana dalam mengeksekusi sebuah program milik user, sebuah komputer dapat juga membaca dari disk dan mencetak pada sebuah printer.

3. Definisi Proses

Proses Merupakan suatu program atau job yang sedang dieksekusi oleh CPU yang memuat program counter, register, dan variabel. Suatu proses membutuhkan resource seperti, CPU time, memori, file, dan I/O device untuk menyelesaikan proses tersebut. Dalam aktivitasnya resource-resource ini dialokasikan oleh proses pada saat dieksekusi.

4. Status Proses

Pada saaat proses dieksekusi maka akan terjadi perubahan status. Status-status ini didefinisikan sebagai keadaan atau akvitas proses yang sedang berlangsung saat itu. Setiap proses akan memiliki salah satu dari status berikut :
  1. New, yaitu proses yang sedang dibuat oleh penjadwalan tingkat tinggi, tetapi belum siap melakukan eksekusi. Sistem akan menginisialisasikan proses yang akan mengubahnya menjadi berada dalam keadaan siap untuk dieksekusi.
  2. Ready, yaitu proses yang sedang menunggu dan siap memasuki CPU untuk dieksekusi.
  3. Running, yaitu proses yang sedang dieksekusi.
  4. Waiting, yaitu proses yang sedang menunggu beberapa event (kejadian) yang akan terrjadi.
  5. Terminated, yaitu proses yang sudah dieksekusi
Sebuah proses akan mengalami serangkaian state diskrit. Beragam kejadian dapat menyebabkan perubahan state proses. Ada Tiga state yang terjadi pada Keadaan Proses (process state) :
Running : proses sedang mengeksekusi proses.
Ready, proses siap dieksekusi, tetapi proses tidak tersedia untuk eksekusi proses ini.
Block, proses menunggu kejadian untuk melengkapi tugasnya.
  1. Proses Blocks for input : terjadi pada saat sebuah proses menemukan bahwa dirinya tidak bisa dilanjutkan. Pada beberapa sistem, proses ini harus melaksanakan system call (pemanggilan sistem), blocked. Pada sistem yang lain, pada saat proses tidak mendapatkan apa yang diinginkan, secara otomatis akan masuk pada state blocked
  2. Scheduler picks another process: Scheduler memutuskan bahwa sebuah proses sudah berjalan terlalu lama dan sudah waktunya untuk memanggil proses yang lain.
  3. Scheduler pick this process : Proses-proses yang lain sudah mendapatkan jatahnya, dan tiba giliran proses yang tertunda untuk dijalankan.
  4. Input becomes available: kejadian di luar yang sedang ditunggu sebuah proses sudah terlaksana. Misal, sebuah proses yang menunggu input dari sebuah output proses yang lain. Bila tidak ada proses yang sedang berjalan, maka transisi 3 segera dilaksanakan dan proses segera berjalan, atau menunggu di ready state sampai CPU tersedia. 
Diagram State Lanjut

Penundaan  (suspend) adalah operasi penting dan telah diterapkan dengan beragam cara. Penundaan biasanya berlangsung singkat. Penundaan sering dilakukan sistem untuk memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban puncak. Proses yang ditunda (suspended blocked) tidak berlanjut sampai proses lain meresume. Resuming (pengaktifan kembali) proses, yaitu menjalankan proses dari titik (instruksi) dimana proses ditunda.

Dalam proses operasi, sistem suspend dan resume terbilang sangat penting, hal ini disebabkan oleh :
  • Jika sistem berfungsi secara buruk dan mungkin gagal maka proses-proses
    dapat disuspend agar diresume setelah masalah diselesaikan.
  • Pemakai yang ragu/khawatir mengenai hasil prose dapat mensuspend proses (bukan membuang (abort) proses). Saat pemakai yakin proses akan berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi saat disuspend) proses yang disuspend.
  • Sebagai tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapat disuspend dan diresume saat beban kembali ke tingkat normal.
4. Implementasi Proses
a. O/S me-maintain sebuah label yang disebut Process Table untuk mengimplementasikan proses, dimana satu proses memiliki satu entry pada tabel.
b. Suatu entry pada tabel berisi informasi yang memuat proses state, program counter, stack pointer, memory allocation, status open files,
schedulling information, dan informasi-informasi lain yang harus disimpan pada saat proses switch dari running ke ready state sehingga sebuah proses dapat dijalankan kembali dan sebaliknya.


Pada saat sebuah proses sedang berjalan mengupdate shared memory pada critical section, tidak diperkenankan ada proses lain masuk ke critical section sehingga tidak terjadi race conditions. Hal ini bisa diatasi dengan:
  1. Disabling Interrupts
  2. Lock Variables
  3. Strict Alternation

Tidak ada komentar:

Posting Komentar