Pada awal sistem komputer hanya diperbolehkan satu program yang akan dieksekusi pada satu waktu. Program ini memiliki kontrol penuh terhadap sistem dan memiliki akses ke semua resource yang ada. Sebaliknya, sistem komputer saat ini memungkinkan beberapa program yang dimuat ke dalam memori dan dieksekusi secara bersamaan. Evolusi ini diperlukan kontrol lebih kuat dan lebih di kelompokan ke berbagai program.Oleh karena itu, kami akan menjelaskan tentang  :

  • Definisi proses
  • Status Proses
  • Deskripsi dan kontrol terhadap proses

Definisi Proses    

1

Proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global.

Kami tekankan bahwa program itu sendiri bukanlah sebuah proses, suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.

Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu program tersebut bekerja.

Sistem operasi mengeksekusi berbagai jenis program.Pada sistem batch program tersebut biasanya disebut dengan job, sedangkan pada sistem time sharing, program disebut dengan program user atau task. Beberapa buku teks menggunakan istilah job atau proses, Dalam suatu proses terdapat program counter,stack dan daerah data.

Jadi , proses merupakan konsep utama dari sebuah sistem operasi. Oleh karena itu,Ada beberapa definisi proses dari rangkuman di atas, yaitu :

  • Program yang dieksekusi
  • Program yang sedang berjalan di computer
  • Entitas       yang dapat diberikan kepada prosesor untuk dieksekusi
  • Sebuah aktifitas yang sangat di pengaruhi oleh eksekusi sebelumnya, status saat ini dan sejumlah resource system.

 

2

Gambar 1.1 Elemen proses pada saat running

 

penjelasannya :

  • Identifier :identitas unik untuk membedakan suatu proses dengan proses yang lain.
  • State  : status (kondisi) suatu proses
  • Priority : prioritas suatu proses terhadap proses yang lain
  • Program counter : Alamat instruksi berikutnya yang akan dieksekusi
  • Memory pointers : pointer yang menunjuk pada alamat memori kode program dan data yang berhubungan dengan proses dan blok memori yang di-shared dengan proses lain (jikaada)
  • Context data : data yang terdapat pada register prosesor ketika suatu proses sedang dieksekusi
  • I/O status information  : informasi tentang permintaan terhadap I/O device yang belum terpenuhi, daftar file yang sedang digunakanoleh proses, dll
  • Accounting information :informasi tentang jumlah waktu proses yang telah digunakan, jumlah waktu proses, batas waktu proses, nomor account, dsb.

 

Process Control Block (PCB)

Process Control Block (PCB) merupakan struktur data yang menyimpan elemen-elemen proses. PCB dibuat dan diatur oleh sistem operasi dan PCB sendiri mendukung adanya multi proses. PCB bersama-sama dengan kode program dan data yang diperlukan membentuk sebuah proses.

3 Gambar 1.2  Process Control Block (PCB)

Jadi,Proses Control Block adalah struktur data dalam kernel sistem operasi berisi informasi yang dibutuhkan untuk mengelola proses tertentu. PCB adalah manifestasi dari sebuah proses dalam sebuah sistem operasi. ia juga disebut Task Controling Block atau Task Struct bentuk pendek dari Proses Control Block (PCB).

Status Proses

4

Gambar 1.3 diagram dari Status proses

Status proses merupakan kondisi suatu proses (setiap saat setiap proses mempunyai sebuah kondisi). Dan  sebuah kondisi bisa dimiliki oleh banyak proses. Daftar urutan alamat memori suatu proses yang telah dieksekusi disebut Trace proses. Kemudian, bagian dari system operasi yang mengatur giliran pemanfaatan prosesor kepada suatu proses ke proses yang lain disebut Program dispatcher.

Sebuah proses dapat memiliki tiga status utama yaitu:

  • RunningStatus yang dimiliki pada saat instruksi-instruksi dari sebuah proses dieksekusi
  • WaitingStatus yang dimiliki pada saat proses menunggu suatu sebuah event seperti proses M/K.
  • ReadyStatus yang dimiliki pada saat proses siap untuk dieksekusi oleh prosesor

Terdapat dua, yaitu saat pembentukan dan terminasi:

  • NewStatus yang dimiliki pada saat proses baru saja dibuat
  • TerminatedStatus yang dimiliki pada saat proses telah selesai dieksekusi.

Deskripsinya :

  • Hanya satu proses yang dapat berjalan pada prosesor mana pun pada satu waktu. Namun, banyak proses yang dapat berstatus Ready atau Waiting. Ada tiga kemungkinan bila sebuah proses memiliki status Running:
  • Jika program telah selesai dieksekusi maka status dari proses tersebut akan berubah menjadi Terminated.
  • Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka akan terjadi interrupt dan proses tersebut kini berstatus Ready.
  • Jika suatu event terjadi pada saat proses dieksekusi (seperti ada permintaan M/K) maka proses tersebut akan menunggu event tersebut selesai dan proses berstatus Waiting.

Proses dibentukolehSistemOperasidansetiap proses selalu dilengkapi dengan Process Control Block (PCB). Dan ada beberapa hal yang bisa menyebabkan terbentuknya proses baru, diantaranya :

  • Masuknya job baru (program aplikasi)
  • Log on dari user
  • Sebagai bentuk layanan OS kepada program aplikasi
  • Di bentuk oleh proses lain (process spawning)

Adapun beberapa jenis model proses berdasarkan jumlah statusnya, yaitu :

1.      Proses dengan 2 status :

Merupakan model proses yang paling sederhana. Setiap proses akan selalu berada pada salah satu dari 2 status berikut :

  • Running
  • Not Running

a

2.      Proses dengan 5 status :

b

Proses yang sedangantridikelompokkanmenjadi 2, yaitu :

  • Proses yang siap running / ready (misalterhentikarena time out)
  • Proses yang ter-blok (misalbutuhmemorilebihbesar, menunggu I/O device)

Nama status pada proses dengan 5-status, diantaranya :

  • New
  • Ready
  • Running
  • Exit
  • Blocked

3.      Proses dengan 6 status :

c

 

Untuk nama status pada proses dengan 6-status hamper sama dengan 5-status, hanya ada satu status yang ditambahkan yaitu suspend state.Adapun beberapa alasankenap diperlukan suspend state, yaitu :

  • Memori telah dipenuhi oleh proses atau bagian proses yang berada pada status blocked akibat sedang menunggu suatu event (I/O, memori, dll), sehingga tidak ada proses yang siap dieksekusi yang menyebabkan semua proses menunggu dan proseso rmenganggur.
  • Semakin lama ukuran program semaki nbesar, maka memori yang dibutuhkan semakin besar dan jumlah program yang dapat dieksekusi semakinsedikit.
  • Tambah memori itu mahal, maka dilakukan swapping (pindahkan proses yang beradapada status blocked dari memori ke harddisk).

4.      Proses dengan 7 status

d

 

Untuknama status pada proses dengan 7-status hamper sama dengan 5-status, hanya adasatu status yang ditambahkan yaitu Ready / suspend dan Blocked / suspend.Adapun beberapa alas an mengapa proses perlu di-Suspend, diantaranya :

  • Agar tersedia memori tambahan bagi proses yang beradapada Ready / Suspended atau Ready queue
  • Proses tersebut merupakan proses background atau proses utility
  • Proses tersebut menyebabkan masalah
  • Untuk keperluan debug
  • Untuk mengetahui penggunaan resource
  • Sedang menunggu event berikutnya yang datangnya secara periodic
  • Proses anak dihentikan oleh proses induk untuk keperluan pemeriksaan, modifikasi, atau koordinasi

 

Deskripsi Proses

– Proses adalah program yang sedang dieksekusi, termasuk juga nilai-nilai atau isi yang terdapat pada program counter, register, dan juga variable-variabel yang ada saat program tersebut berjalan.

– Sistem operasi mengontrol dan mengelola kejadian apa saja yang terjadi pada sistem computer

– Sistem operasi mengirim dan menjadwalkan proses yang akan dieksekusi oleh prosesor, mengalokasikan resource untuk proses dan meraspon permintaan program.

– Istilah-istilah yang berkaitan dengan proses:

1. Multitasking (multiprogramming) adalah suatu manajemen dimana computer dapat melakukan banyak proses dalam satu merosesan.

2. Multiprocessing adalah computer dengan banyak perosesan dalan satu sistem computer denagn masing-masing proses melakukan pemrosesan secara sendiri-sendiri.

3. Distributed Processing merupakan pemrosesan yang memanajemen banyak proses yang dieksekusi dalam beberapa sistem computer yang tersebar.

 

Referensi

Operating System Concepts With Java 8th edition – Abraham Silberschatz & Peter B.pdf

http://ready2beat.com/educational/process-control-block-pcb

http://lecturer.eepis-its.edu/~ferryas/SO/Bab%203%20Proses%20Proses.pdf

http://dimasrachmanto.blogspot.com/2012/06/proses-pada-sistem-operasi.html

http://www.tutorialspoint.com/operating_system/os_processes.htm

https://abdulkadirsyam.files.wordpress.com/2010/03/makalah-junsisop.doc

ftp://ftp.dinus.ac.id/uploads/any/Sistem Operasi/manajemen memory/presentasi-manajemen-proses.ppt