PENDAHULUAN
1. LATAR BELAKANG
Keberadaan system operasi dalam system komputer adalah sebagai perangkat lunak
yang mempunyai tugas mengendalikan dan mengkoordinasikan seluruh hardware dan
software sebagai sumber daya komputer sekaligus memberikan pelayanan kepada
program aplikasi dan pemrogram untuk memudahkan pemanfaatan sumber dayanya.
Proses sebagai suatu entitas yang dinamis mengandung sejumlah instruksi, data,
program counter, kumpulan register serta stack yang berisi alamat memori. Proses
juga dapat dikatakan sebagai program yang sedang dieksekusi (program aplikasi /
system operasi). Proses dapat dikatakan sebagai unit kerja terkecil yang secara
individu memiliki sumber daya – sumber daya dan dijadwalkan oleh system operasi.
Dengan demikian system operasi mempunyai kegiatan yang sangat kompleks dalam
mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses – proses
sesuai kebutuhan. Kegiatan tersebut menjadikan system operasi membutuhkan suatu
manajemen proses
2. TUJUAN PENULISAN
Adapun tujuan penulisan makalah ini adalah untuk mengetahui tentang proses yang
berjalan pada computer ketika menjalankan program ataupun ketika program
interrupt.
BAB II
PEMBAHASAN
1) PENGERTIAN PROSES
Proses adalah sebuah program yang sedang dieksekusi atau program yang sedang
di jalankan atau software yang sedang dilaksanakan termasuk sistem operasi yang
disusun menjadi sejumlah proses sequential.
Sedangkan program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang
dimengerti sistem operasi. Proses berisi instruksi dan data. program counter dan
semua register pemroses, dan stack berisi data sementara seperti parameter rutin,
alamat pengiriman dan variable local.
MANAJEMEN PROSES
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process
Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah
tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status
proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori.
Ini adalah urutan proses PCB.
Pointer
Perubahan dinamis dimana suatu perubahan yang akan dialokasikan hanya
pada saat diperlukan yaitu saat program sudah di eksekusi
Status proses
1. Running : status yang dimiliki pada saat instruksi dari sebuah proses yang
akan dieksekusi
2. Waiting : status yang dimiliki pada saat proses mennunggu saat sebuah event
seperti proses IO.
3. Ready : status yang dimiliki pada saat proses siap untuk dieksekusi.
Terdapat 2 tambahan untuk status proses yaitu Pembentuan dan Terminasi.
1. New : status pada saat proses baru dibuat.
2. Terminated : status pada saat proses telah selesai dieksekusi(exit).
Hanya 1 proses yang akan berjalan pada processor manapun dalan 1 waktu.
Namun, banyak proses yang dapat bertatus Ready dan Waiting. Ada 3
kemungkinan bila proses Running:
1. Jika program telah selesai dieksekusi maka status dari proses akan berubah
menjadi Terminated.
2. Jika waktu yang disediakan oleh OS untuk proses tersebut sudah habis maka
akan terjadi interrupt dan proses tersebut berstatus Ready
3. Jika suatu event terjadi pada saat prposes dieksekusi maka proses tersebut
akan menunggu event tersebut selesai dan proses berstatus Waiting
Program counter:
Counter mengindikasikan address dari perintah selanjutnya untuk
dijalankan untuk ditambah code information pada kondisi apapun.
Besertaan dengan program counter, keadaan/ status informasi harus
disimpan ketika gangguan terjadi, untuk memungkinkan proses tersebut
berjalan/bekerja dengan benar setelahnya.
Informasi manajemen memori:
Informasi ini dapat termasuk suatu informasi sebagai nilai dari dasardan
batas register. tabel page/ halaman, atau tabel segmen tergantung pada
sistem memori yangdigunakan oleh sistem operasi (ch 9).
Informasi pencatatan:
Informasi ini termasuk jumlah dari CPU dan waktu riil yang digunakan
bataswaktu, jumlah akun, jumlah job atau proses, dan banyak lagi.
Informasi status I/O:
Informasi termasuk daftar dari perangkat I/O yang di gunakan pada proses
ini,suatu daftar open file dan banyak lagi.
CPU register:
Register bervariasi dalam jumlah dan jenis, tergantung pada rancangan
komputer.Register tersebut termasuk accumulator, index register, stack
pointer, general-puposes register.
KONSEP PENJADWALAN
PENJADWALAN PROSES
Tujuan dari multiprogramming adalah untuk memiliki sejumlah proses yang
berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan CPU.
Tujuan dari pembagian waktu adalah untuk mengganti CPU diantara proses yang
begitu sering sehingga pengguna dapat berinteraksi dengan setiap program sambil
CPU bekerja. Untuk sistem uniprosesor, tidak akan ada lebih dari satu proses
berjalan. Jika ada proses yang lebih dari itu, yang lainnya akan harus menunggu
sampai CPU bebas dan dapat dijadualkan kembali
Scheduling Queue
Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang
akan dilaksanakan dalam suatu sistem. Proses yang belum mendapat jatah
alokasi dari CPU akan mengantri di ready queue. Algoritma penjadwalan
berfungsi untuk menentukan proses manakah yang ada di ready queue yang
akan dieksekusi oleh CPU
Priority Scheduling
merupakan algoritma penjadwalan yang mendahulukan proses
yang memiliki prioritas tertinggi. Setiap proses memiliki
prioritasnya masing-masing.
o Time limit.
o Memory requirement.
o Akses file.
o Perbandingan antara burst M/K dengan CPU burst.
o Tingkat kepentingan proses.
Round Robin
Algoritma ini menggilir proses yang ada di antrian. Proses akan
mendapat jatah sebesar time quantum. Jika time quantum-nya
habis atau proses sudah selesai, CPU akan dialokasikan ke
proses berikutnya. Tentu proses ini cukup adil karena tak ada
proses yang diprioritaskan, semua proses mendapat jatah waktu
yang sama dari CPU yaitu (1/n), dan tak akan menunggu lebih
lama dari (n-1)q dengan q adalah lama 1 quantum.
Multilevel Queue
Ide dasar dari algoritma ini berdasarkan pada sistem prioritas
proses. Prinsipnya, jika setiap proses dapat dikelompokkan
berdasarkan prioritasnya
SCHEDULERS
Terdapat dua bentuk penjadwalan :
• Longterm-Scheduler (job scheduler), menyeleksi proses-proses mana yang
harus dibawa ke ready queue. Penjadwal ini bekerja terhadap antrian batch
dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah
proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu
pemroses, memori, perangkat masukan/keluaran), program-program ini
berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama
periode aktivitas job-job interaktif rendah.
Context Switch
Ketika CPU berpindah dari proses satu ke proses lainnya, sistem harus
menyimpan status dari proses yang lama dan membuka state proses baru yang
sudah disimpan. Contex switch adalah proses penyimpanan status proses dan
mengambil status proses yang baru pada saat terjadi switching. Pada saat terjadi
perpindahan proses, sistem tidak bekerja. Waktu context switch tergantung pada
perangkat keras yang digunakan.
Proses Dalam Operasi
Proses dalam sistem dapat dieksekusi secara bersama-sama, proses tersebut harus
dibuat dan dihapus secara dinamis. Maka, sistem operasi harus menyediakan
suatu mekanisme untuk pembuatan proses dan terminasi proses.
Pembuatan Proses
Melibatkan banyak aktivitas, yaitu :
a. Memberi identitas proses
b. Menyisipkan proses pada senarai atau tabel proses
c. Menentukan prioritas awal proses
d. Menciptakan PCB
e. Mengalokasikan sumber daya awal bagi proses
Kejadian yang dapat menyebabkan penciptaan proses :
a. Pada lingkungan batch, sebagai tanggapan atas pemberian satu kerja (job).
Sistem operasi dengan kendali batch job, setelah menciptakan proses baru,
kemudian melanjutkan membaca job berikutnya.
b. Pada lingkungan interaktif, ketika pemakai baru berusaha logon.
c. Sebagai tanggapan suatu aplikasi, seperti permintaan pencetakan file, sistem
operasi dapat menciptakan proses yang akan mengelola pencetakan itu. Sistem
operasi menciptakan proses untuk memenuhi satu fungsi pada program pemakai,
tanpa mengharuskan pemakai menunggu.
d. Proses penciptaan proses lain (proses anak). Untuk mencapai modularitas atau
mengeksploitasi kongkurensi, program pemakai memerintahkan pembuatan
sejumlah proses.
Buffering
Baik komunikasi itu langsung atau tak langsung, penukaran pesan oleh proses
memerlukan antrian sementara. Pada dasarnya, terdapat tiga jalan dimana antrian
tersebut diimplementasikan:
Kapasitas nol (zero capacity): antrian mempunyai panjang maksimum 0, maka
link tidak dapat mempunyai penungguan pesan (message waiting). Dalam kasus
ini, pengirim harus memblok sampai penerima menerima pesan.
Kapasitas terbatas (Bounded capacity): antrian mempunyai panjang yang telah
ditentukan, paling banyak n pesan dapat dimasukkan. Jika antrian tidak penuh
ketika pesan dikirimkan, pesan yang baru akan menimpa, dan pengirim pengirim
dapat melanjutkan eksekusi tanpa menunggu.Link mempunyai kapasitas terbatas.
Jika link penuh, pengirim harus memblok sampai terdapat ruang pada antrian.
Kapasitas tak terbatas(Unbounded capacity): antrian mempunyai panjang yang tak
terhingga, maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah
di blok
THREAD
Model proses yang didiskusikan sejauh ini telah menunjukkan bahwa suatu
proses adalah sebuah program yang menjalankan eksekusi thread tunggal. Sebagai
contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada
sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.
Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu
tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang
dikembangkan agar memungkinkan
sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus
menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam
proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk
menjalankan lebih dari satu tugas pada satu waktu.
Thread, atau kadang-kadang disebut proses ringan (lightweight), adalah unit dasar
dari utilisasi CPU. Di dalamnya terdapat ID thread, program counter, register, dan
stack. Dan saling berbagi dengan thread lain dalam proses yang sama
DAFTAR PUSTAKA
http://blog.stikom.edu/slamet/files/2011/09/Manajemen-Proses.pdf
Downloads/MANAJEMEN%20PROSESS.pdf
https://www.slideshare.net/Chankey007/scheduling-algorithms-6013407
https://www.slideshare.net/Shreya_lovi/process-scheduling-in-light-weight-
weight-and-heavy-weight-processes
https://books.google.co.id/books?
id=GrssU8x6h8oC&pg=PA80&lpg=PA80&dq=kondisi-
kondisi+perkecualian&source=bl&ots=GMNBX1R_6q&sig=WvOBIe20Oascglw
E4OSoeBFVTDU&hl=id&sa=X&ved=0ahUKEwjRrZXJ0PnSAhVIKY8KHcJkC
eIQ6AEIIDAB#v=onepage&q=kondisi-kondisi%20perkecualian&f=false