Halo readers, pada kesempatan kali ini kita akan sedikit berbagi mengenai Semaphore dan Monitor sebagai bagian dari sistem operasi. selamat mempelajari semua. 🙂

1

Gambar 1

 

Semaphore adalah pendekatan yang diajukan oleh Djikstra, dengan prinsip bahwa dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Semaphore adalah teknik untuk mengkoordinasikan atau sinkronisasi  kegiatan di mana beberapa proses bersaing untuk mendapatkan resource yang sama dalam sistem operasi . Suatu semaphore adalah nilai yang tempatnya yang telah ditentukan dalam penyimpanan sistem operasi (atau kernel)  yang setiap proses dapat memeriksa dan kemudian bisa mengubahnya. Tergantung pada nilai yang ditemukan, proses tersebut dapat menggunakan resource atau  sudah menggunakan resource dan harus menunggu untuk beberapa waktu sebelum mencoba lagi. Semaphore dapat biner (0 atau 1) atau dapat memiliki nilai tambah. Biasanya, proses menggunakan Semaphore memeriksa nilai apabila menggunakan resource , jika resource sudah penuh maka  pengguna semaphore selanjutnya akan tahu untuk menunggu. Contoh  di bawah akan menjelaskan semaphore secara sederhana.

2

Gambar 2

 kami menggambarkan Semaphore menjadi  sebuah klub malam. Klub malam ini memiliki penjaga keamanan yang berdiri didepan pintu,jika klub malam belum mencapai batas kapasitas maka penjaga keamanan mempersilakan orang untuk memasiki klub malam tersebut dan jika sudah mecapai kapasitas daya tampung maka petugas keamanan akan melarang atau menghentikan orang untuk masuk kedalam klub malam tersebut,orang yang ingin memasuki klub malam tersebut harus menunggu salah satu orang klub malam keluar dari klub tersebut dan baru bisa satu orang yang telah menunggu bisa masuk kedalam klub malam tersebut. Jika orang yang sudah meninggalkan klub malam tersebut ingin masuk kembali maka orang tersebut harus mengantri kembali sampai salah satu orang dari klub malam tersebut keluar.

 

Semaphor memiliki dua jenis, yaitu:

  1. Binary semaphore . Semafor ini hanya memiliki nilai 1 atau 0. Sering juga disebut sebagai semafor primitif
  2. Counting semaphore . Semafor ini memiliki nilai 0, 1, serta integer lainnya. Banyak sistem operasi yang tidak secara langsung mengimplementasikan semafor ini, tetapi dengan memanfaatkan binary semaphore 

Semaphore mempunyai dua sifat

  1. Semaphore dapat diinisialisasi dengan nilai non-negatif.
  2. Terdapat dua operasi terhadap semaphore, yaitu Down dan Up. Usulan asli yang disampaikan Djikstra adalah operasi P (wait) dan V (signal). 

operasi-operasi yang diwakili dengan P (wait) dan V(signal) dapat dilihat pada persamaan , sebagai berikut :

 

3

 

 

  • SemWait

 

proses akan memeriksa harga dari semaphore, apabila harganya 0 atau kurang maka proses akan menunggu, sebaliknya jika lebih dari 0, maka proses akan mengurangi nilai dari semaphore tersebut dan menjalankan operasi yang lain. Bila diperhatikan lebih kritis lagi, pernyataan “menunggu” sebenarnya ma

sih abstrak. Bagaimanakah cara proses tersebut menunggu. Cara proses menunggu dapat dibagi menjadi dua :

1.spinlock waiting

2. non-spinlock waiting

Spinlock waiting berarti proses tersebut menunggu dengan cara menjalankan perintah-perintah yang tidak ada artinya. Dengan kata lain proses masih running state di dalam spinlock waiting. Berbeda dengan spinlock waiting,

non-spinlock waiting, memanfaatkan fasilitas system operasi. Proses yang melakukan non-spinlock waiting akan memblock dirinya sendiri dan secara otomatis akan membawa proses tersebut ke dalamwaiting queue. Di dalamwaiting queue ini proses tidak aktif dan menunggu sampai ada proses lain yang membangunkan dia sehingga membawanya ke ready queue.

4

  • SemSignal

SemSignal  terdiri dari 2 versi sesuai dengan yang ada di SemWait. Yang

membedakan antara signal spinlock dengan Non-Spinlock adalah fungsi Notify()yang digunakan oleh SemSignal Non-Spinlock yang lebih efektif

digunakan dalam membangunkan atau member signal suatu proses.

5Semaphore Primitif

Ketentuan

Inisialisasi variable semaphore tidak boleh negative

Prosedure semWaitP

  • Akan mengurangi niali variable semaphore
  • Jika nilai variable negative

à        Proses yang mengeksekusi semwait akan diblok

  • Jika tidak

à        Proses tersebut akan dilayani

 

Prosedur semSignalP

 

  • Akan menambah nilai variable semaphore
  • Jika niali variable menjadi <=0

à        Sebuah proses yang diblok oleh semWait akan dibebaskan

Pengaruh varible s.

s>=0

à        Merupakan jumlah proses yang dapat mengeksekusi semWait tanpa penundaan

  • s<0

à        Repakan jumlah proses yang diblok dan berada di dalam antrian

Semaphore Biner

·Ketentuan

Inisialisasi variable semaphore hanya bernilai 0 dan 1

Prosedure semWaitB

  • Akan memeriksa nilai variable semaphore
  • Jika nilai variable = 1 maka idubah menjadi 0
  • Jika 0 maka proses tersebut di block dan dimasukkan ke dalam antrian

Prosedure semSignalB

  • Akan memeriksa jumlah proses dalam antrian dengan fungsi is_emty()
  • Jika tidak ada proses dalam antrian maka nilai variable akan menjadi 1
  • Jika ada proses maka m Sebuah proses dipindah dari antrian ke status ready m Nilai variable tetap 0 

Strong dan weak semaphore

  • Strong semaphore

Adalah semaphore yang menentukan urutan proses yang akan dikeluarkan dari antrian dan dapat mencegah terjadinya stravation

  •  Weak semaphore

Semaphore yang tidak menentukan urutan proses dan dapat terjadi starvation

Kelebihan semaphore

ü  Dapat digunakan untuk membentuk mutex

ü  Merupakan tool yang serba guna

ü  Dari segi programming, penanganan masalah sinkronisasi dengan semaphore umumnya rapi dan teratur, sehingga mudah untuk dibuktikan kebenarannya

ü  Semaphore diimplementasikan dalam hard code sehingga penggunaannya bersifat portabel

Kekurangan semaphore

–    Tidak mudah membuat program dengan semaphore

–    Penangan mutes dan sinkronisasi sepenuhnya menjadi tanggung jawa programer

Definisi, karakteristik, kelebihan, dan kekurangan monitor

Monitor merupakanbagianbahasapemrograman yang mempunyaifungsionalitasseperti semaphore tetapilebihmudahpengontrolannya. Konsep monitor pertama kali diperkenalkanoleh C. Hoare. Monitor terdiridarisatuprosedurataulebih, inisialisasiawal, variabelkondisi, dan data local. Konsep monitor telahdiimplementasikanpada Concurrent Pascal, Pascal-Plus, Module-2, Modul-3, Java, dan library program.

Adapunbeberapakarakteristikdari monitordengan signal, diantaranya :

  • Variabellokalhanyadapatdiaksesolehprosedur yang ada di dalammodul monitor.
  • Sebuah proses dapatmasukkedalam monitor dengancaramintasalahsatuprosedur yang ada di monitor.
  • Dalamsatusaathanyaadasatu proses yang dapatdieksekusi di dalam monitor, proses yang lain harusmenunggugiliran (di-blok) àtidakperlu semaphore.
  • Data variabel global dapatdilindungibiladitaruh di dalam monitor.

Kelebihanmonitor dengan signal, antaralain :

  • Dapatmenanganisinkronisasi (tidakperlumelibatkan programmer).
  • Pengecekkanmasalah yang berhubungandenganmutexdapatterpusathanyapadamodul monitor, tidaktersebar di berbagailokasi program.
  • Sekali program monitor telahbenaràaksesterhadap critical resource olehberbagai proses akanselalubenar.

Kelemahanmonitor dengan signal, antaralain :

  • Bilasetiap signal csignalselaluhilangà proses yang berada di dalamantriansuatukondisiselamanyaakan di-blok (tidakdapatkeluar).
  • Proses yang mengeluarkancsignalharussegerakeluardari monitor, bilatidakakanter-blokàtidakbolehterlambat.
  • Jika proses tersebutter-blokàdiperlukan 2 tahapan switching tambahan : (bebanbertambah).
    • Tahappemblokiransuatu proses.
    • Tahappenormalankembali proses yang ter-blok.
    • Memerlukanmekanismepenjadualan proses yang harusbenar-benarhandal :
      • Proses dalamantrianharussegeradiaktifkansetelahadacsginal.

Misal program padamodul monitor signal :

Begituadacsignal (notempty) àsebuah proses padaantriannotemptyharusdapatsegeradieksekusisebelum proses barumasukke monitor.

  • Proses tidakbolehmemasuki monitor sebelumadaaktivasi. 

Namundarikelemahan yang dimilikiolehkonsep monitor dengan signal, adabeberapasolusiuntukmengatasikelemahan yang ada di monitor dengankonsep monitor dengan notify. Selainitukonsep monitor dengan notify dikembangkanlebihdalamlagidengankonsep monitor dengan broadcast.

Denganmengatasikelemahan monitor dengankonsep monitor dengan notify, maka monitor memlikikelebihan, antara lain :

  • Tidakperluada proses switching tambahanuntukmenanganiperubahandari block ßà resume.
  • Lebihhandal, karena :
    • Eksekusi proses dalamantriandapatdilakukankapansaja, tidakharussegerasesudahada signal.
    • Digunakan while àpengecekanterhadapkeberadaan signal dilakukanberulang-ulang.
    • Digunakan watchdog timer
      • Proses yang berada di antriandansudahterlalu lama menunggusuatukondisilangsungdipindahkanke status ready meskipunkondisi yang ditunggubelumterpenuhi.
      • Dapatmenghindariterjadinya starvation bilasuatu proses gagalmengirimcnotify.

Contoh-contoh monitor dan implementasi mutual exclusion dengan semaphore

Contoh monitor dengannotify : (if diganti while)

void append (char x)

{

while (count == N)

cwait(notfull);                                     /* buffer is full ; avoid overflow */

buffer[nextin] = x;

nextin = (nextin + 1) % N;

count++;                                              /* one more item in buffer */

cnotify(notempty);                              /* notify any waiting consumer */

}

 

void take (char x)

{

while (count == 0)

cwait (notempty);                                /* buffer is empty ; avoid underflow */

x = buffer[nextout];

nextout = (nextout + 1) % N;

count–;                                                            /* one fewer item in buffer */

cnotify (notfull);                                 /* notify any waiting producer */

}

 

Implementasi mutual exclusion dengan semaphore padakonsep monitor terlihatpadapenjaminanhanyaadasatu proses yang dieksekusi di dalam monitor, jaditidakperlu semaphore. Kemudianketikafungsicwaitmengirimkan signal variabel, signal iniakanhilangdengansendirinyajikatidakada proses yang membutuhkannya, haliniberbedadengan semaphore.Dan yang terakhir, mutual exclusion ditanganiolehmonitor, sedangkanpada semaphore ditentukanoleh programmer.

Monitor merupakanbagianbahasapemrograman yang mempunyaifungsionalitasseperti semaphore tetapilebihmudahpengontrolannya. Konsep monitor pertama kali diperkenalkanoleh C. Hoare. Monitor terdiridarisatuprosedurataulebih, inisialisasiawal, variabelkondisi, dan data local. Konsep monitor telahdiimplementasikanpada Concurrent Pascal, Pascal-Plus, Module-2, Modul-3, Java, dan library program.

Adapunbeberapakarakteristikdari monitordengan signal, diantaranya :

  • Variabellokalhanyadapatdiaksesolehprosedur yang ada di dalammodul monitor.
  • Sebuah proses dapatmasukkedalam monitor dengancaramintasalahsatuprosedur yang ada di monitor.
  • Dalamsatusaathanyaadasatu proses yang dapatdieksekusi di dalam monitor, proses yang lain harusmenunggugiliran (di-blok) àtidakperlu semaphore.
  • Data variabel global dapatdilindungibiladitaruh di dalam monitor.

Kelebihanmonitor dengan signal, antaralain :

  • Dapatmenanganisinkronisasi (tidakperlumelibatkan programmer).
  • Pengecekkanmasalah yang berhubungandenganmutexdapatterpusathanyapadamodul monitor, tidaktersebar di berbagailokasi program.
  • Sekali program monitor telahbenaràaksesterhadap critical resource olehberbagai proses akanselalubenar.

Kelemahanmonitor dengan signal, antaralain :

  • Bilasetiap signal csignalselaluhilangà proses yang berada di dalamantriansuatukondisiselamanyaakan di-blok (tidakdapatkeluar).
  • Proses yang mengeluarkancsignalharussegerakeluardari monitor, bilatidakakanter-blokàtidakbolehterlambat.
  • Jika proses tersebutter-blokàdiperlukan 2 tahapan switching tambahan : (bebanbertambah).
    • Tahappemblokiransuatu proses.
    • Tahappenormalankembali proses yang ter-blok.
    • Memerlukanmekanismepenjadualan proses yang harusbenar-benarhandal :
      • Proses dalamantrianharussegeradiaktifkansetelahadacsginal.

Misal program padamodul monitor signal :

Begituadacsignal (notempty) àsebuah proses padaantriannotemptyharusdapatsegeradieksekusisebelum proses barumasukke monitor.

  • Proses tidakbolehmemasuki monitor sebelumadaaktivasi.

 

 

Namundarikelemahan yang dimilikiolehkonsep monitor dengan signal, adabeberapasolusiuntukmengatasikelemahan yang ada di monitor dengankonsep monitor dengan notify. Selainitukonsep monitor dengan notify dikembangkanlebihdalamlagidengankonsep monitor dengan broadcast.

Denganmengatasikelemahan monitor dengankonsep monitor dengan notify, maka monitor memlikikelebihan, antara lain :

  • Tidakperluada proses switching tambahanuntukmenanganiperubahandari block ßà resume.
  • Lebihhandal, karena :
    • Eksekusi proses dalamantriandapatdilakukankapansaja, tidakharussegerasesudahada signal.
    • Digunakan while àpengecekanterhadapkeberadaan signal dilakukanberulang-ulang.
    • Digunakan watchdog timer
      • Proses yang berada di antriandansudahterlalu lama menunggusuatukondisilangsungdipindahkanke status ready meskipunkondisi yang ditunggubelumterpenuhi.
      • Dapatmenghindariterjadinya starvation bilasuatu proses gagalmengirimcnotify.

 

Contoh monitor dengannotify : (if diganti while)

void append (char x)

{

while (count == N)

cwait(notfull);                                     /* buffer is full ; avoid overflow */

buffer[nextin] = x;

nextin = (nextin + 1) % N;

count++;                                              /* one more item in buffer */

cnotify(notempty);                              /* notify any waiting consumer */

}

 

void take (char x)

{

while (count == 0)

cwait (notempty);                                /* buffer is empty ; avoid underflow */

x = buffer[nextout];

nextout = (nextout + 1) % N;

count–;                                                            /* one fewer item in buffer */

cnotify (notfull);                                 /* notify any waiting producer */

}

 

Implementasi mutual exclusion dengan semaphore padakonsep monitor terlihatpadapenjaminanhanyaadasatu proses yang dieksekusi di dalam monitor, jaditidakperlu semaphore. Kemudianketikafungsicwaitmengirimkan signal variabel, signal iniakanhilangdengansendirinyajikatidakada proses yang membutuhkannya, haliniberbedadengan semaphore.Dan yang terakhir, mutual exclusion ditanganiolehmonitor, sedangkanpada semaphore ditentukanoleh programmer.

 

Message Passing

Message Passing (MP) ialah fasislitas untuk mendukung sinkronisasi dan komunikasi antar proses. Message Passing digunakan pada sistem terdistribusi, shared memory pada uniprocessor dan multiprocessor. Sedangkan untuk primitive yang digunakan ialah send (Mengirim informasi ke proses tujuan) dan receive (Menerima informasi dari proses asal).

Message passing mengatur sinkronisasi yang diprlukan untuk mengatur komuniasi antar proses, hal ini terbagi menjadi 2 keadaan yaitu :

  • Ketika eksekusi send, maka pesan dapat terblok atau pesan dapat melanjutkan eksekusi lain.
  • Ketika eksekusi receive, maka terima pesan dan lanjutkan eksekusi atau jika pesan belum ada maka proses terblok sampai pesan ada

Untuk model sinkronisasi sendiri, terdapat tiga jenis, yaitu :

  • Blocking send, blocking receive, Pengirim dan penerima sama-sama ter-blok hingga pesan telah diterima. model ini disebut rendezvous(pertemuan)
  • Nonblockingsend, blockingreceive, Pengirim selalu dapat melanjutkan eksekusi. Penerima ter-blok hingga pesan yang diminta telah dapat diterima
  • Nonblocking send, nonblocking receive, Pengirim dan penerima sama-sama tidak pernah ter-blok

Sedangkan untuk jenis pengalamatan pada pesan terbagi ke dalam :

  • Pengalamatan langsung:
    • Pada primitive send, alamat berisi identitas proses tujuan
    • Pada primitive receive, alamat berisi identitas proses asal (eksplisit) atau Alamat asal diperoleh dari parameter yang terdapat di dalam pesan proses pengirim (implisit)
    • Pengalamatan tidak langsung :
      • Pesan tidak langsung dikirimkan ke penerima, tetapi dikirim ke struktur data bersama yang berisi antrian yang dapat menyimpan pesan sementara (mailbox).
      • Terbagi menjadi pengalamatan langsung statis yang diberikan ke suatu proses secara statis dan permanen (missal port to port), atau tidak langsung yang relasi antara proses danport/mailboxterjadi secara dinamis (missal selain one to one).

 

Untuk format pesan yang dikirimkan sendiri, terdapat beberaoa bagian pembentuknya. Terlihat dari gambar.

Picture1

  • Message Type:

–        Untuk membedakan dengan jenis message yang lain

  • Control Information:

–        Pointer field à supaya dapat dibuat linked list pesan

–        Nomor urut à untuk menjaga jumlah dan urutan pesan yang sudah dikirimkan dari source ke destination atau sebaliknya

–        Prioritas proses

 

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