Anda di halaman 1dari 16

BAB I

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.

Sistem operasi mengelola semua proses di sistem dan mengalokasikan sumber


daya ke proses-proses sesuai kebijaksanaan untuk memenuhi sasaran sistem.
Salah satunya adalah program yang sedang dieksekusi yang merupakan unit kerja
terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan
sistem operasi. Sistem operasi mengelola semua proses di sistem dan
mengalokasikan sumber daya ke proses-proses sesuai kebijaksanaan untuk
memenuhi sasaran sistem.

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

Sebuah proses memiliki 3 status utama yaitu:

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

 FCFS (First Come First Served)


Algoritma ini merupakan algoritma penjadwalan yang paling
sederhana yang digunakan CPU. Dengan menggunakan
algoritma ini setiap proses yang berada pada status ready
dimasukkan kedalam FIFO queue atau antrian dengan prinsip
first in first out, sesuai dengan waktu kedatangannya. Proses
yang tiba terlebih dahulu yang akan dieksekusi.

 SJF (Shortest Job First)


Pada algoritma ini setiap proses yang ada di ready queue akan
dieksekusi berdasarkan burst time terkecil. Hal ini
mengakibatkan waiting time yang pendek untuk setiap proses
dan karena hal tersebut maka waiting time rata-ratanya juga
menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini
adalah algoritma yang optimal.
Dalam gambar diatas Process yang akan mulai pertama kali
yaitu P2, karna P2 memiliki Burst Time terkecil

 Priority Scheduling
merupakan algoritma penjadwalan yang mendahulukan proses
yang memiliki prioritas tertinggi. Setiap proses memiliki
prioritasnya masing-masing.

Prioritas suatu proses dapat ditentukan melalui beberapa


karakteristik antara lain:

o Time limit.
o Memory requirement.
o Akses file.
o Perbandingan antara burst M/K dengan CPU burst.
o Tingkat kepentingan proses.

Priority scheduling juga dapat dijalankan secara Preemptive


maupun non-Preemptive. Pada preemptive, jika ada suatu
proses yang baru datang memiliki prioritas yang lebih tinggi
daripada proses yang sedang dijalankan, maka proses yang
sedang berjalan tersebut dihentikan, lalu CPU dialihkan untuk
proses yang baru datang tersebut. Sementara itu, pada non-
preemptive, proses yang baru datang tidak dapat menganggu
proses yang sedang berjalan, tetapi hanya diletakkan di depan
queue.

 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.

Algoritma ini sepenuhnya bergantung besarnya time quantum.


Jika terlalu besar, algoritma ini akan sama saja dengan
algoritma first come first served. Jika terlalu kecil, akan
semakin banyak peralihan proses sehingga banyak waktu
terbuang

 Multilevel Queue
Ide dasar dari algoritma ini berdasarkan pada sistem prioritas
proses. Prinsipnya, jika setiap proses dapat dikelompokkan
berdasarkan prioritasnya

 Multilevel Feedback Queue


Algoritma ini mirip sekali dengan algoritma multilevel queue.
Perbedaannya ialah algoritma ini mengizinkan proses untuk
pindah antrian. Jika suatu proses menyita CPU terlalu lama,
maka proses itu akan dipindahkan ke antrian yang lebih rendah.
Hal ini menguntungkan proses interaksi karena proses ini
hanya memakai waktu CPU yang sedikit. Demikian pula
dengan proses yang menunggu terlalu lama. Proses ini akan
dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan
kepada proses dengan CPU burst terkecil, dengan begitu CPU
akan terutilisasi penuh dan M/K dapat terus sibuk. Semakin
rendah tingkatannya, panjang CPU burst proses juga semakin
besar.

Maksudnya ketika di Q0 menerima job 8milisecond, jika bisa


selesai dalam waktu yang ditentukan maka langsung keluar,
tetapi jika tidak mampu selesai dalam waktu yang sudah
ditentukan maka Q0 pindah ke Q1. Di Q1 mendapatkan waktu
16 milisecond, jika job tidak selesai dalam waktu yang
ditentukan maka pindah ke Q3. Begitu seterusnya, Multilevel
Feedback Queue menggunakan FCFS.

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.

• Short-term Scheduler (CPU scheduler), memilih proses-proses yang siap


untuk dieksekusi, dan mengakolakasikan CPU ke salah satu dari proses-proses
tersebut. Bertugas menjadwalkan alokasi pemroses di antara proses-proses
ready di memori utama. Penjadwalan dijalankan setiap terjadi pengalihan
proses untuk memilih proses berikutnya yang harus dijalankan.

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.

6.2. Penghancuran / Terminasi Proses


Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
a. Sumber daya-sumber daya yang dipakai dikembalikan.
b. Proses dihancurkan dari senarai atau tabel sistem.
c. PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain.
Terdapat dua pendekatan, yaitu :
a. Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk
dihancurkan secara otomatis.
b. Beberapa sistem lain menganggap proses anak independen terhadap proses
induk, sehingga proses anak tidak secara otomatis dihancurkan saat proses induk
dihancurkan.
Proses yang bersifat simultan (concurrent) dijalankan pada sistem operasi dapat
dibedakaan menjadi yaitu proses independent dan proses kooperatif. Suatu proses
dikatakan independen apabila proses tersebut tidak dapat terpengaruh atau
dipengaruhi oleh proses lain yang sedang dijalankan pada sistem.
Berarti, semua proses yang tidak membagi data apa pun (baik sementara/ tetap)
dengan proses lain adalah independent. Sedangkan proses kooperatif adalah
proses yang dapat dipengaruhi atau pun terpengaruhi oleh proses lain yang sedang
dijalankan dalam sistem. Dengan kata lain, proses dikatakan kooperatif bila
proses dapat membagi datanya dengan proses lain. Ada empat alasan untuk
penyediaan sebuah lingkungan yang memperbolehkan terjadinya proses
kooperatif:
1. Pembagian informasi: apabila beberapa pengguna dapat tertarik pada bagian
informasi yang sama (sebagai contoh, sebuah berkas bersama), kita harus
menyediakan sebuah lingkungan yang mengizinkan akses secara terus menerus ke
tipe dari sumber-sumber tersebut.
2. Kecepatan penghitungan/ komputasi: jika kita menginginkan sebuah tugas
khusus untuk menjalankan lebih cepat, kita harus membagi hal tersebut ke dalam
subtask, setiap bagian dari subtask akan dijalankan secara parallel dengan yang
lainnya. Peningkatan kecepatan dapat dilakukan hanya jika komputer tersebut
memiliki elemen-elemen pemrosesan ganda (seperti CPU atau jalur I/O).
3. Modularitas: kita mungkin ingin untuk membangun sebuah sistem pada sebuah
model modular-modular, membagi fungsi sistem menjadi beberapa proses atau
threads.

Komunikasi Antar Proses


Inter-Process Communication (IPC) atau Komunikasi antar proses mekanisme
pertukaran data antara satu proses dengan proses lainnya, baik itu proses yang
berada di dalam komputer yang sama, atau komputer jarak jauh yang terhubung
melalui jaringan. IPC terdiri atas protokol yang menjamin sebuah respons dari
sebuah permintaan. Contoh dari IPC adalah Socket dalam sistem operasi keluarga
UNIX, message dalam sistem operasi RISC OS, port dalam sistem operasi Mach,
Named Pipe dalam OS/2, Dynamic Data Exchange (DDE) dalam sistem operasi
Windows, SPX dalam sistem operasi Novell, IAC dalam sistem operasi Apple
Macintosh (khususnya AppleEvents) dan beberapa komponen perangkat lunak
seperti CORBA atau Component Object Model (COM).

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

Model Many to One


Model many-to-one ini memetakan beberapa tingkatan pengguna thread hanya ke
satu buah kernel thread. Managemen proses thread dilakukan oleh (di ruang)
pengguna, sehingga menjadi efisien, tetapi apabila sebuah thread melakukan
sebuah pemblokingan terhadap sistem pemanggilan, maka seluruh proses akan
berhenti (blocked). Kelemahan dari model ini adalah multihreads tidak dapat
berjalan atau bekerja secara paralel di dalam multiprosesor dikarenakan hanya
satu thread saja yang bisa mengakses kernel dalam suatu waktu.
Model One to One
Model one-to-one memetakan setiap thread pengguna ke dalam satu kernel
thread. Hal ini membuat model one-to-one lebih sinkron daripada model many-to-
one dengan mengizinkan thread lain untuk berjalan ketika suatu thread membuat
pemblokingan terhadap sistem pemanggilan; hal ini juga mengizinkan multiple
thread untuk berjalan secara parallel dalam multiprosesor. Kelemahan model ini
adalah dalam pembuatan thread pengguna dibutuhkan pembuatan korespondensi
thread pengguna. Karena dalam proses pembuatan kernel thread dapat
mempengaruhi kinerja dari aplikasi maka kebanyakan dari implementasi model
ini membatasi jumlah thread yang didukung oleh system diimplementasikan oleh
Windows NT dan OS/2.

Model Many to Many


Beberapa tingkatan thread pengguna dapat menggunakan jumlah kernel thread
yang lebih kecil atau sama dengan jumlah thread pengguna. Jumlah dari kernel
thread dapat dispesifikasikan untuk beberapa aplikasi dan beberapa mesin (suatu
aplikasi dapat dialokasikan lebih dari beberapa kernel thread dalam multiprosesor
daripada dalam uniprosesor) dimana model many-to-one mengizinkan
pengembang untuk membuat thread pengguna sebanyak mungkin, konkurensi
tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel
dalam satu waktu. Model one-to-one mempunyai konkurensi yang lebih tinggi,
tetapi pengembang harus hati-hati untuk tidak membuat terlalu banyak thread
tanpa aplikasi dan dalam kasus tertentu mungkin jumlah thread yang dapat dibuat
dibatasi.
A. Proses Diberhentikan
Pengirim atau penerima menghentikan komunikasi setelah pesan diproses. Hal in
mengakibatkan pesan tidak pernah diterima atau proses yang menunggu pesan
tersebut tidak pernah dikirim. Dalam hal ini ada 2 kasus
B. Kehilangan Pesan
Pesan pada proses P ke proses Q bisa jadi hilang entah kemana da;am suatu
jaringan komunikasi. Hal in mengakibatkan kegagalan pada hardware, Untuk
mengatasi hal itu ada 3 metode, yaitu:
 Sistem oprasi mendeteksi adanya kejadian tersebut, kemudia mengrim ulang
pesan yang hilang
 Proses yang mengirim pesan mendeteksi kejadian tersebut dan kemudian
mentransmisikan kembali pesan tersebut jika diminta
 Sistem oprasi mendeteksi adanya kejadian tersebut dan kemudian
memberitahukan kepada proses yang mengirim bahwa pesan yang disampaikan
hilang di tengah jalan. Proses pengiriman dapat melakukan sesuatu sesuai yang
dipilihnya
c. Proses Terganggu
Pesan yang dikirim sebelum sampai di tujuan kadang bisa mengalami gangguan
di tengah jalan, sama seperti pesan yang hilang. Jika hal in terjadi maka pesan
akan dikirim kembali

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

Anda mungkin juga menyukai