Judul : Manajemen Proses
Dosen Pengampu : Keukeu Rohendi,
S.Kom, M.Kom.
Disusun
Oleh :
Nama : Reoza Gustiadi
NoBp : 141100123
Jurusan : Sistem Informasi
YAYASAN AMAL
BAKTI MUKMIN PADANG
SEKOLAH TINGGI MANAJEMEN INFORMATIKA
KOMPUTER
STMIK INDONESIA
PADANG
TAHUN AJARAN 2016/2017
KATA
PENGANTAR
Segala puji bagi Allah SWT. yang telah memberikan kami
kemudahan sehingga dapat menyelesaikan makalah ini. Tanpa pertolongan-Nya
mungkin penyusun tidak akan sanggup menyelesaikannya dengan baik. Shalawat dan
salam semoga terlimpah curahkan kepada baginda tercinta kita yakni Nabi
Muhammad SAW.
Makalah ini
disusun dan dibuat berdasarkan materi-materi yang ada dan kami sajikan
berdasarkan pengamatan dari berbagai sumber. Makalah yang berjudul “Kernel” ini
pun bertujuan agar dapat menambah pengetahuan dan wawasan Mahasiswa/i, serta
agar dapat memahami secara menyeluruh pentingnya memahami Kernel dan dapat
diaplikasikan dengan baik. Walaupun makalah ini tidak sempurna dan memerlukan
perbaikan tapi juga memiliki detail yang cukup jelas bagi pembaca.
Penyusun
juga mengucapkan terima kasih kepada Dosen Sistem Operasi yakni Bapak Keukeu
Rohendi, S.Kom, M.Kom.
yang telah membimbing penyusun agar
dapat mengerti tentang bagaimana cara menyusun makalah yang baik dan sesuai
kaidah.
Semoga
makalah ini dapat memberikan pengetahuan yang lebih luas kepada pembaca.
Walaupun makalah ini memiliki kelebihan dan kekurangan. Penyusun membutuhkan
kritik dan saran dari pembaca yang membangun. Atas perhatian dan partisipasi
dari Bapak dan Ibu dosen serta teman-teman sekalian, penyusun mengucapkan
terima kasih.
Padang, 8 Oktober 2016
Penyusun,
Kelompok
BAB I
PENDAHULUAN
A. Latar
Belakang
Keberadaan sistem operasi dalam sistem 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 / sistem operasi). Proses
dapat dikatakan sebagai unit kerja terkecil yang secara individu memiliki
sumber daya – sumber daya dan dijadwalkan oleh sistem operasi.
Dengan demikian sistem operasi mempunyai kegiatan yang sangat kompleks dalam mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses – proses sesuai kebutuhan. Kegiatan tersebut menjadikan sistem operasi membutuhkan suatu manajemen proses.
Dengan demikian sistem operasi mempunyai kegiatan yang sangat kompleks dalam mengelola seluruh sumber daya dan memberikan pelayanan terhadap proses – proses sesuai kebutuhan. Kegiatan tersebut menjadikan sistem operasi membutuhkan suatu manajemen proses.
B. Tujuan
Penulisan
Adapun tujuan penulisan makalah ini adalah untuk
mengetahui tentang manajemen proses pada Sistem Operasi.
BAB II
PEMBAHASAN
A. 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 variabel-variabel lokal.
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 variabel-variabel lokal.
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.Hal – hal yang berkaitan dengan proses yaitu :
1.
Multiprogramming (
multitasking )
Multiprogramming adalah manajemen banyak proses pada satu
pemroses. Istilah yang digunakan multiprogramming (multitasking)
bukan multiprocessing. Mulitprocessing telah digunakan
untuk konsep lain, yaitu komputer dengan banyak pemroses di satu sistem
komputer dengan masing-masing pemroses melakukan pemrosesan secara independen.
Saat ini, kebanyakan komputer pribadi, workstation adalah
sistem pemroses tunggal yang menjalankan sistem operasi multiprogramming (multitasking)
seperti MS-Windows 3.0, MS-Windows NT, OS/2 dan Macintosh
System 7.
Banyak
proses dijalankan bersamaan, masing-masing proses mendapat bagian memori dan
kendali tersendiri. Program yang dijalankan bersifat :
2. Tidak
bergantung (Independent)
Proses terpisah satu dari lainnya & tidak
berpengaruh
3. Satu
program pada satu saat (one program at any instant)
Pada
satu waktu hanya satu proses yang dilayani pemroses, menggunakan interleave bukanoverlap diantara
program-program
4. Multiprocessing
Multiprocessing adalah manajemen banyak proses di komputer multiprocessor (banyak
pemroses di dalamnya). Dengan kata lain komputer dengan banyak pemroses di satu
sistem komputer dengan masing-masing pemroses melakukan pemrosesan secara
independen. Dulunya sistem ini hanya terdapat di sistem besar, mainframe dan
minikomputer. Saat ini komputer workstation telah dapat
dilengkapi multiprocessor. Menggunakan komputer semaksimal
mungkin dengan beberapa CPU sehingga beberapa program bisa dijalankan secara
bersama-sama, masing-masing dengan menggunakan prosesornya
sendiri-sendiri. Sistem operasi yang mendukung multiprocessing yaitu :
Microsoft Windows NT, UNIX, Linux.
5.
Distributed processing /
computing
Distributed
Processing adalah
manajemen banyak proses yang dieksekusi di banyak sistem komputer yang tersebar
(terdistribusi). Trend masa datang adalah menuju komputasi tersebar (distributed
computing). Banyak riset dan pengembangan sistem operasi tersebar di
antaranyaAMOEBA, MACH, dan sebagainya.
B. Pemroses
Kebutuhan utama pengendalian proses oleh Sistem
Operasi dapat dinyatakan dengan mengacu ke proses yaitu :
1.
Saling melanjutkan (Interleave).
Dikatakan interleave (bersambung/
melanjutkan) maksudnya pemroses mengeksekusi satu proses setiap saat dan secara
cepat beralih ke proses lainnya secara bergiliran. Sistem Operasi harus interleave (saling
melanjutkan) eksekusi proses-proses agar memaksimumkan penggunaan pemroses
sambil masih memberi waktu tanggap yang memadai.
2.
Mengikuti kebijaksanaan tertentu.
Sistem
Operasi harus mengalokasikan sumber daya ke proses-proses mengikuti
kebijaksanaan yang ditentukan (misal suatu aplikasi memiliki prioritas lebih
tinggi) sambil menghindari deadlock .
3.
Mendukung komunikasi antar proses dan penciptaan
proses.
Sistem
Operasi harus mendukung komunikasi antar proses dan penciptaan proses oleh
pemakai sehingga membantu menstrukturkan aplikasi. Jadi pada sistem dengan
banyak proses aktif, proses-proses pada satu saat berada dalam beragam tahap
eksekusinya yaitu proses mengalami beragam state selama siklus
hidupnya sebelum berakhir dan keluar dari sistem.
Sistem
Operasi harus mengetahui state masing-masing proses dan
merekam semua perubahan yang terjadi secara dinamis. Informasi ini untuk
penjadwalan dan memutuskan alokasi sumber daya.
C. DIAGRAM
STATE DASAR
Status
proses atau bagian keadaan proses memiliki tiga elemen. yaitu:
a. Running
Running / kerja, benar-benar menggunakan CPU pada saat itu
(sedang mengeksekusi instruksi proses itu).
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.
1.
Blocked
Blocked / terhenti, tidak dapat berjalan sampai kegiatan
eksternal terlaksana (proses menunggu kejadian untuk melengkapi tugasnya) Bisa
berupa proses menunggu : Selesainya operasi perangkat I/O; Tersedianya memori;
Tibanya pesan jawaban
1.
Ready
Ready / siap, proses siap dikerjakan tetapi menunggu giliran
dengan proses lain yang sedang dikerjakan (bisa berjalan, sementara berhenti
untuk memungkinkan proses lain dikerjakan).
Dalam
status proses terdapat dua status tambahan, yaitu saat pembentukan
danterminasi:
·
New adalah
status yang dimiliki pada saat proses baru saja dibuat.
·
Terminated adalah
status yang dimiliki pada saat proses telah selesai dieksekusi.
1.
PCB (Program Control Block)
Sistem
Operasi memerlukan banyak informasi mengenai proses guna pengelolaan proses.
Informasi ini ada di PCB. PCB berisikan banyak bagian dari informasi yang
berhubungan dengan sebuah proses yang spesifik, yaitu:
Struktur
datanya menyimpan informasi lengkap mengenai proses sehingga dapat terjadi
siklus hidup proses. Informasi di PCB dikelompokkan menjadi 3, yaitu :
1.
Informasi Identifikasi Proses
2.
Informasi Status Pemroses
3.
Informasi Kendsali Proses
1.
PROSES PEMAKAI
Proses
Pemakai mempunyai struktur berisi PCB, stack pemakai (user stack), ruang
alamat proses ekslusif dan ruang alamat yang dipakai bersama proses lain.
Struktur ini ditunjukkan pada tabel sebelumnya. Pada tabel diatas, struktur
citra proses digambarkan kontinyuu (berturutan) di satu ruang alamat.
Implementasi penempatan citra proses yang sesungguhnya bergantung skema manajemen
memori yang digunakan dan organisasi struktur kendali sistem operasi.
1.
OPERASI – OPERASI PADA PROSES
1.
Operasi – operasi terhadap proses
Sistem
Operasi dalam mengelola proses dapat melakukan operasi-operasi terhadap proses.
Operasi-operasi terhadap proses antara lain :
·
Penciptaan
1.
proses (create process)
·
·
Penghancuran/terminasi proses (destroy a process)
·
Penundaan proses (suspend a process)
·
Pelanjutan kembali proses (resume process)
·
Pengubahan prioritas proses
·
Memblok proses
·
Membangunkan proses
·
Menjadwalkan proses
·
Memungkinkan proses berkomunikasi dengan proses lain
1.
Penciptaan Proses
Pada
penciptaan proses melibatkan banyak aktivitas, yaitu
1.
Menamai (memberi identitas) proses
2.
Menyisipkan proses pada senarai proses atau tabel
proses
3.
Menentukan prioritas awal proses
4.
Menciptakan PCB
5.
Mengalokasikan sumberdaya awal bagi proses
Ketika
proses baru ditambahkan, SO membangun struktur data untuk mengelola dan alokasi
ruang alamat proses itu. Aksi ini berkaitan dengan proses baru.
Penyebab
penciptaan proses antara lain :
·
Pada lingkungan batch, sebagai tanggapan
atas pemberian satu kerja (job).
·
Pada lingkungan interaktif, ketika pemakai baru
berusaha log on.
·
Sebagai tanggapan suatu aplikasi, seperti permintaan
pencetakan file, sistem operasi dapat menciptakan proses yang akan mengelola
pencetakan itu.
·
Proses menciptakan proses lain (proses anak). Proses
yang menciptakan proses disebut proses induk (parent process). Proses
anak-pun kembali dapat menciptakan proses-proses anak. Proses-proses dapat
membentuk pohon hirarki proses.
1.
Alasan – alasan penciptaan proses
Alasan
penciptaan proses memiliki penyebab dan deskripsi seperti yang tercantum pada
tabel di bawah ini:
Gambar
Tabel Alasan – Alasan Penciptaan Proses
1.
Penghancuran Proses (destroy a process)
Penghancuran
proses melibatkan pembebasan proses dari sistem, yaitu: Sumber daya-sumber daya
yang dipakai dikembalikan, Proses dihancurkan dari senarai atau tabel system,
PCB dihapus (ruang memori PCB dikembalikan ke pool memori
bebas )
Penghancuran
lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua
pendekatan. Pendekatan pertama ada beberapa sistem, proses-proses turunan
dihancurkan saat proses induk dihancurkan secara otomatis.Pendekatan kedua
beberapa sistem lain menganggap proses anak independen terhadap proses induk
Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
1.
Alasan Penghancuran proses
Dibawah
ini adalah tabel alasan – alasan pengahncuran proses.
Selesainya
proses secara normal
|
Proses
mengeksekusi panggilan layanan SO untuk menandakan bahwa proses telah
berjalan secara lengkap.
|
Batas
waktu telah terlewati
|
Proses
telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat
banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang
dijalani (“walk clock time“) jumlah waktu yang dipakai untuk eksekusi,
dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses
interaktif) .
|
Memori
tidak tersedia
|
Proses
memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
|
Pelanggaran
terhadap batas memori
|
Proses
memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses
|
Terjadi
kesalahan karena pelanggaran proteksi
|
Proses
berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya,
atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti
menulis file read only
|
Terjadi
kesalahan aritmatika
|
Proses
mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba
menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W
|
Waktu
telah kadaluwarsa
|
Proses
telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk
terjadinya suatu kejadian spesfiik
|
Terjadi
kegagalan masukan/keluaran
|
Kesalahan
muncul pada masukan atau keluaran, seperti ketidakmampuan menemukan file,
kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang
ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid
seperti membaca dari line printer)
|
Intruksi
yang tidak benar
|
Proses
berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat
pencabangan ke daerah data dan berusaha mengeksekusi data tersebut)
|
Terjadi
usaha memakai instruksi yang tidak diijinkan
|
Proses
berusaha mengeksekusi instruksi yang disimpan untuk SO
|
Kesalahan
penggunaan data
|
Bagian
data adalah tipe yang salah atau tidak diinisialisasi
|
Diintervensi
oleh SO atau operator
|
Untuk
suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya
terjadi deadlock)
|
Berakhirnya
proses induk
|
Ketika
parent berakhir. SO mungkin dirancannng secara otomatis mengakhiri semua anak
proses dariparent itu
|
Atas
permintaan proses induk
|
Parent
process biasanya mempunyai otoritas mengakhiri suatu anak proses
|
Gambar
Tabel Alasan – Alasan Penghancuran Proses
1.
Penundaan Proses (suspend a process)
Penundaan
(suspension) adalah operasi penting dan telah diterapkan dengan beragam
cara. Penundaan dapat diinisialisasi oleh proses itu sendiri atau proses lain.
Penundaan biasanya berlangsung singkat dan sering dilakukan sistem untuk
memindahkan proses-proses tertentu guna mereduksi beban sistem selama beban
puncak. Proses yang ditunda (suspended process) tidak berlanjut sampai
proses lain me-resume. Untuk jangka panjang, sumber daya-sumber daya proses
dibebaskan. Pada sistem monoprocessor, proses running dapat
men-suspend dirinya sendiri karena lak ada proses lain yang juga
running yang dapat memerintahkan suspend. Pada sistemmultiprocessor,
proses running dapat di-suspend proses running lain pada pemroses berbeda. Proses
ready hanya dapat di-suspend oleh proses lain.
1.
Proses Pelanjutan Kembali (resume a process)
Jika
sistem berfungsi secara buruk dan mungkin gagal maka proses-proses dapat
di- suspend agar di-resume setelah masalab diselesaikan.
Pemakai yang ragu / khawatir mengenai basil proses dapat men-suspend proses
[bukan membuang (abort) proses]. Saat pemakai yakin proses akan
berfungsi secara benar maka dapat me-resume (melanjutkan kembali di instruksi
saat di-suspend) proses yang di-suspend.
Sebagai
tanggapan terhadap fluktuasi jangka pendek beban sistem, beberapa proses dapal
di-suspend dan di- resume saat beban kembali ke
tingkat normal.
1.
Proses Blocked
Pada
proses blocked terdapat transisi menjadi suspendedblocked.
Pilihan ini dirasa aneh. Apakah tidak cukup menunggu selesainya operasi
masukan/keluaran atau kejadian yang membual proses ready atau suspendedready?
Bukankah state blocked, readyblocked, suspendedblocked sama-sama
tidak mendapatjatah waktu pemroses? Kenapa dibedakan ?. Jawabannya adalah
karena penyelesaian operasi masukan/keluaran bagi proses blocked mungkin tak
pernah terjadi atau dalam waktu tak terdefinisikan sehingga lebih baik
di-suspend agar sumber daya-sumber daya yang dialokasikan untuk proses tersebut
dapat digunakan proses-proses lain.
Proses blocked di-suspend
sistem atau secara manual menjadi suspendedblocked. Bila akhirnya
operasi masukan/keluaran berakhir maka segera proses suspendedblockedmengalami
transisi. Karena resume dan suspend mempunyai
prioritas tinggi maka transisi segera dilakukan. Suspend dan resume dapat
digunakan untuk menyeimbangkan beban sistem saat mengalami lonjakan di atas
normal.
1.
Penjadwalan Proses
Kriteria
untuk mengukur dan optimasi kinerja penjadwalan :
1.
Adil (fairness)
Adalah
proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses
yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga
mengalami kekurangan waktu.
1.
Efisiensi (eficiency)
Efisiensi
atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk
pemroses.
1.
Waktu tanggap (response time)
Waktu
tanggap berbeda untuk :
·
Sistem interaktif
Didefinisikan
sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah
dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap
ini disebut terminal response
time.
time.
·
Sistem waktu nyata
Didefinisikan
sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi
pertama rutin layanan yang dimaksud dieksekusi, disebut event response
time.
·
Turn around time
Adalah
waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai
proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di
dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan
job) dan waktu menunggu, yaitu : Turn arround time = waktu
eksekusi + waktu menunggu.
·
Throughput
Adalah
jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk
mengekspresikanthroughput adalah dengan jumlah job pemakai yang
dapat dieksekusi dalam satu unit/interval waktu
1.
SINKRONISASI
Komunikasi
antara proses membutuhkan place by calls untuk mengirim dan
menerima data primitive. Terdapat design yang berbeda-beda dalam implementasi
setiap primitive. Pengiriman pesan mungkin dapat diblok (blocking) atau
tidak dapat dibloking (nonblocking) – juga dikenal dengan nama sinkron
atau asinkron.
·
Pengiriman yang diblok : Proses pengiriman di blok
sampai pesan diterima oleh proses penerima (receiving process) atau
oleh mailbox.
·
Pengiriman yang tidak diblok : Proses pengiriman pesan
dan mengkalkulasi operasi.
·
Penerimaan yang diblok : Penerima mem blok sampai
pesan tersedia.
·
Penerimaan yang tidak diblok : Penerima mengembalikan
pesan valid atau null.
·
Blocking send, yaitu pemblokiran pengirim sampai pesan sebelumnya
diterima.
·
Blocking receive, yaitu pemblokiran penerima sampai
terdapat pesan yang akan dikirim.
Sedangkan
untuk keadaan asinkron, yang terjadi adalah:
·
Non-blocking send, yaitu pengirim dapat terus mengirim pesan tanpa memperdulikan
apakah pesan sebelumnya sampai atau tidak.
·
Non-blocking receive, yaitu penerima menerima semua pesan baik berupa
pesan yang valid atau pesan yang salah (null).
1.
KOMUNIKASI ANTAR P
(Inter
Process Communinication / IPC) :
Beberapa
proses biasanya berkomunikasi dengan proses lainnya. Contohnya pada shell
pipe line. Output dari proses pertama harus diberikan kepada proses ke dua
dan seterusnya. Pada beberapa sistem operasi, proses-proses yang bekerja
bersama sering sharing (berbagi) media penyimpanan, dimana
suatu proses dapat membaca dan menulis pada shared storage (main
memory atau files).
1.
Komunikasi Langsung
Setiap proses yang ingin berkomunikasi harus memiliki
nama yang bersifat eksplisit baik penerimaan atau pengirim dari komunikasi tersebut.
Dalam konteks ini, pengiriman dan penerimaan pesan secara primitive dapat
dijabarkan sebagai :
·
Send (P, message)
– mengirim sebuah pesan ke proses P.
·
Receive (Q, message)
– menerima sebuah pesan dari proses Q.
Sebuah
jaringan komunikasi pada bahasan ini memiliki beberapa sifat, yaitu :
·
Sebuah jaringan yang didirikan secara otomatis
diantara setiap pasang dari proses yang ingin dikomunikasikan.Proses tersebut
harus mengetahui identitas dari semua yang ingin dikomunikasikan.
·
Sebuah jaringan adalah terdiri dari penggabungan 2
proses.
·
Diantara setiap pesan dari proses terdapat tepat
sebuah jaringan.
Pembahasan
ini memperlihatkan sebuah cara simetris dalam pemberian alamat. Oleh karena
itu, baik keduanya yaitu pengirim dan penerima proses harus memberi nama bagi
yang lain untuk berkomunikasi, hanya pengirim yang memberikan nama bagi
penerima sedangkan penerima tidak menyediakan nama bagi pengirim. Dalam konteks
ini, pengirim dan penerima secara sederhana dapat dijabarkan sebagai :
·
Send (P, message)
– mengirim sebuah pesan kepada proses P.
·
Receive (id, message)
– menerima sebuah pesan dari semua proses. Variabel id diatur sebagai nama dari
proses dengan komunikasi.
Dengan
komunikasi tidak langsung, pesan akan dikirimkan pada dan diterima dari /
melalui mailbox(Kotak Surat) atau terminal-terminal, sebuah mailbox dapat
dilihat secara abstrak sebagai sebuah objek didalam setiap pesan yang dapat
ditempatkan dari proses dan dari setipap pesan yang bias dipindahkan. Setiap
kotak surat memiliki sebuah identifikasi (identitas) yang unik, sebuah proses
dapat berkomunikasi dengan beberapa proses lain melalui sebuah nomor dari mailbox yang
berbeda. Dua proses dapat saling berkomunikasi apabila kedua proses
tersebut sharing mailbox. Pengirim dan penerima dapat dijabarkan
sebagai :
·
Send (A, message)
– mengirim pesan ke mailbox A.
·
Receive (A, message)
– menerima pesan dari mailbox A.
Dalam
masalah ini, link komunikasi mempunyai sifat sebagai berikut :
·
Sebuah link dibangun diantara
sepasang proses dimana kedua proses tersebut membagi mailbox.
·
Sebuah link mungkin dapat berasosiasi
dengan lebih dari 2 proses.
·
Diantara setiap pasang proses komunikasi, mungkin
terdapat link yang berbeda-beda, dimana setiap link
berhubungan pada satu mailbox.
Misalkan
terdapat proses P1, P2 dan P3 yang semuanya share mailbox. Proses
P1 mengirim pesan ke A, ketika P2 dan P3 masing-masing mengeksekusi sebuah
kiriman dari A. Proses mana yang akan menerima pesan yang dikirim P1?.
Jawabannya tergantung dari jalur yang kita pilih :
·
Mengijinkan sebuah link berasosiasi
dengan paling banyak 2 proses.
·
Mengijinkan paling banyak 1 proses pada suatu waktu
untuk mengeksekusi hasil kiriman (receive operation).
·
Mengijinkan sistem untuk memilih secara mutlak proses
mana yang akan menerima pesan (apakah itu P2 atau P3 tetapi tidak keduanya,
tidak akan menerima pesan). Sistem mungkin mengidentifikasi penerima kepada
pengirim.
Mailbox mungkin dapat dimiliki oleh sebuah proses atau
sistem operasi. Jika mailbox dimiliki oleh proses, maka kita mendefinisikan
antara pemilik (yang hanya dapat menerima pesan melaluimailbox) dan
pengguna dari mailbox (yang hanya dapat mengirim pesan
ke mailbox). Selama setiapmailbox mempunyai kepemilikan
yang unik, maka tidak akan ada kebingungan tentang siapa yang harus menerima
pesan dari mailbox. Ketika proses yang memiliki mailbox tersebut
diterminasi,mailbox akan hilang. Semua proses yang mengirim pesan
ke mailbox ini diberi pesan bahwamailbox tersebut
tidak lagi ada.
Dengan
kata lain, mempunyai mailbox sendiri yang independent, dan
tidak melibatkan proses yang lain. Maka sistem operasi harus memiliki mekanisme
yang mengijinkan proses untuk melakukan hal-hal dibawah ini :
·
Membuat mailbox baru.
·
Mengirim dan menerima pesan melalui mailbox.
·
Menghapus mailbox.
Proses
yang membuat mailbox pertama kali secara default akan
memiliki mailbox tersebut. Untuk pertama kali, pemilik adalah
satu-satunya proses yang dapat menerima pesan melalui mailbox ini.
Bagaimanapun, kepemilikan dan hak menerima pesan mungkin dapat dialihkan ke
proses lain melalui sistem pemanggilan.
·
Pengiriman yang diblok : Proses pengiriman di blok
sampai pesan diterima oleh proses penerima (receiving process) atau
oleh mailbox.
·
Pengiriman yang tidak diblok : Proses pengiriman pesan
dan mengkalkulasi operasi.
·
Penerimaan yang diblok : Penerima mem blok samapai
pesan tersedia.
·
Penerimaan yang tidak diblok : Penerima mengembalikan
pesan valid atau null.
1.
PENGALIHAN PROSES
Kelihatannya
pengalihan proses (process switching) adalah sepele. Pada
suatu saat, prosesrunning diinterupsi dan sistem operasi memberi
proses lain state running dan menggilir kendali ke proses itu.
Dalam
hal ini muncul beberapa masalah, yaitu:
·
Kejadiankejadian apa yang memicu alih proses?
·
Masalah lain adalah terdapatnya perbedaan antara alih proses (process
switching) dan alih konteks (context switching).
Apa
yang harus dilakukan sistem operasi terhadap beragam struktur data yang dibawah
kendalinya dalam alih proses?
1.
Kejadiankejadian Penyebab Pengalihan Proses
Kejadiankejadian
yang menyebabkan terjadinya alih proses adalah:
1.
Interupsi sistem.
Interupsi
sistem disebabkan kejadian eksternal dan tak bergantung proses yang saat itu
sedangrunning.
Contoh
: Selesainya operasi masukan/keluaran.
Pada
kejadian interupsi, kendali lebih dulu ditransfer ke interrupt
handler yang melakukan penyimpanan datadata dan kemudian beralih ke
rutin sistem operasi yang berkaitan dengan tipe interupsi itu.
Tipetipe
interupsi antara lain:
·
Interupsi clock (clock interrupt).
Sistem
operasi (penjadwal) menentukan apakah proses yang sedang running telah
mengeksekusi selama jatah waktunya. Jika telah mencapai jatahnya maka proses
dialihkan ke state ready dan proses lain dijadwalkan running.
·
Interupsi masukanlkeluaran (110 interrupt).
Kejadian
dimana peralatan masukan/keluaran melakukan interupsi meminta layanan sistem
operasi. Sistem operasi segera menentukan aksiaksi masukan keluaran yang harus
dilakukan.
·
Page/memory fault.
Pernroses
menemui pengacuan alamat memori maya yang tidak terdapat di memori utarna
(fisik). Sistem operasi segera memerintahkan untuk mengambil page yang
terdapat alamat yang dimaksud untuk dipindah ke memori utama.
1.
Trap.
Trap
adalah interupsi karena terjadinya kesalahan atau kondisi kekecualian (exception
conditions)yang dihasilkan proses yang running, seperti
usaha illegal dalam mengakses file.
Dengan
adanya trap, sistem operasi menentukan apakah kesalahan yang dibuat merupakan
kesalahan fatal?
·
Jika fatal, proses yang saat itu running disingkirkan
dan terjadi alih proses.
·
Jika kesalahan tidak fatal maka bergantung sifat
kesalahan dan rancangan sistern operasi. Kemungkinan yang dilakukan adalah
menjalankan prosedur pemulihan atau memperingatkan ke pemakai.
Saat
terjadi trap, mungkin terjadi pengalihan proses mungkin pula resume
proses.
1.
Supervisor call.
Supervisor call yaitu
panggilan meminta atau mengaktifkan bagian sistem operasi.
Contoh
: Proses pemakai running meminta layanan masukan keluaran
seperti membuka file. Panggilan ini menghasilkan transfer ke rutin bagian
sistem operasi. Biasanya, penggunaan system call membuat
proses pemakai blocked karena diaktifkan proseskernel (sistem,
operasi).
1.
Pengalihan Proses dan Pengalihan Konteks
Banyak
buku teks sistem operasi menyamakan antara pengalihan proses (process switching) dan
pengalihan konteks (contextswitching). Tidak terdapat istilah
untuk aksi penanganan interupsi. Kita membedakan antara istilah pengalihan
proses dan pengalihan konteks.
·
Pengalihan Konteks
Pengalihan
konteks dapat terjadi tanpa pengalihan state proses yang
sedang running, sedang pengalihan proses pasti melibatkan juga
pengalihan konteks.
Siklus
penanganan interupsi adalah :
1.
Pemroses menyimpan konteks program saat itu yang sedang dieksekusi kestack.
2.
Pemroses menset register PC dengan alamat awal program untuk interrupt handler.
Setelah
kedua aktivitas itu, pemroses melanjutkan menjalankan instruksiinstruksi
berikutnya & interrupt handler yang melayani interupsi.
Pelaksanaan interupsi ini belum tentu mengakibatkan pengalihan ke proses lain
yaitu pengalihan PCB proses dari senarairunning ke senarai
lain (blocked, ready, dan sebagainya), dan sebaliknya. Kita
menyebut pengalihan konteks adalah untuk pengalihan sementara yang singkat,
misalnya untuk mengeksekusi program interrupt handler.
Setelah
selesai penanganan interupsi maka konteks yang terdapat pada stack dikembalikan
sehingga kembali ke konteks proses semula tanpa terjadi pengalihan ke proses
lain.
Pengalihan
proses terjadi jika proses yang running beralih menjadi state lain (ready,
blocked, dan sebagainya), kemudian sistem operasi harus membuat
perubahanperubahan berarti terhadap lingkungannya.
BAB III
KESIMPULAN
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 variabel-variabel lokal.Hal-hal yang berkaitan dengan proses antara lain :
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 variabel-variabel lokal.Hal-hal yang berkaitan dengan proses antara lain :
·
Multiprogramming
·
Multprocessing
·
Distributed Processing
Status
proses atau bagian keadaan proses memiliki tiga elemen. yaitu:
·
Running
·
Blocked
·
Ready
Operasi-operasi
terhadap proses antara lain :
·
Penciptaan proses (create process)
·
Penghancuran/terminasi proses (destroy a process)
·
Penundaan proses (suspend a process)
·
Pelanjutan kembali proses (resume process)
·
Pengubahan prioritas proses
·
Memblok proses
·
Membangunkan proses
·
Menjadwalkan proses
·
Memungkinkan proses berkomunikasi dengan proses lain
DAFTAR
PUSTAKA
1.
Gunadarma, Singgih. TOT – Sistem Operasi 4 – 6.pdf.
2.
Danang Lelono, S.Si., M.T – Manajemen Proses.ppt.
Tidak ada komentar:
Posting Komentar