TUGAS MANAJEMEN PROSES SISTEM OPERASI
SISTEM
OPERASI
MANAJEMEN
PROSES
Disusun
oleh:
Anindah
Martianingrum (10116893)
Bayu
Andreansyah (11116350)
Hendrawan
L (13116266)
Izzat
Zulia R (13116657)
Nurasyah
(15116570)
Reiza
Fauzi R (16116162)
JURUSAN
SISTEM INFORMASI
UNIVERSITAS
GUNADARMA
2018
DAFTAR ISI
MANAJEMEN
PROSES
1. KONSEP
DASAR............................................................................. 1
2. KONSEP
PENJADUALAN.............................................................. 3
3. OPERASI
PADA PROSES................................................................ 7
4. PROSES
YANG SALING BEKERJASAMA................................... 10
5. THREADS...................................................................................... 11
6. KOMUNIKASI
ANTAR PROSES.................................................. 12
7. BUFFERING.................................................................................. 14
8. KONDISI-KONDISI
PERKECUALIAN......................................... 14
MANAJEMEN
PROSES
1. KONSEP DASAR
1.1 Definisi Proses
Terdapat
beberapa definisi mengenai proses, antara lain :
a.
Merupakan konsep pokok dalam sistem operasi, sehingga masalah manajemen proses
adalah masalahutama dalam perancangan sistem operasi.
b.
Proses adalah program yang sedang dieksekusi.
c.
Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan
dijadwalkan olehsistem operasi.
1.2 Status Proses
Sebagaimana
proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal).
Status dari
sebuah
proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut.
Tiap proses mungkinadalah satu dari keadaan berikut ini:
·
New: Proses sedang dikerjakan/ dibuat.
·
Running: Instruksi sedang dikerjakan.
·
Waiting: Proses sedang menunggu sejumlah
kejadian untuk terjadi (seperti sebuah penyelesaian I/Oatau penerimaan sebuah
tanda/ signal).
·
Ready: Proses sedang menunggu untuk
ditugaskan pada sebuah prosesor.
·
Terminated: Proses telah selsesai
melaksanakan tugasnya/ mengeksekusi.
Nama-nama
tersebut adalah arbitrer/ berdasar opini, istilah tersebut bervariasi
disepanjang sistemoperasi. Keadaan yang mereka gambarkan ditemukan pada seluruh
sistem. Namun, sistem operasi tertentujuga lebih baik menggambarkan keadaan/
status proses. Adalah penting untuk menyadari bahwa hanya satuproses dapat
berjalan pada prosesor mana pun pada waktu kapan pun. Namun, banyak proses yang
dapatready atau waiting.
1.3 Proses Control Block (PCB)
Tiap
proses digambarkan dalam sistem operasi oleh sebuah process control block (PCB)
- juga
disebut
sebuah control block. Sebuah PCB ditunjukkan dalam Gambar 2. PCB berisikan
banyak bagian dariinformasi yang berhubungan dengan sebuah proses yang
spesifik, termasuk ini:
·
Keadaan proses: Keadaan mungkin, new,
ready, running, waiting, halted, dan juga banyaklagi.
·
Program counter: Counter mengindikasikan
address dari perintah selanjutnya untuk dijalankanuntuk proses ini.
·
CPU register: Register bervariasi dalam
jumlah dan jenis, tergantung pada rancangan
komputer.
·
Register tersebut termasuk accumulator,
index register, stack pointer, general-purposes
register, ditambah code
information pada kondisi apa pun. Besertaan dengan program counter,keadaan/
status informasi harus disimpan ketika gangguan terjadi, untuk
memungkinkanproses tersebut berjalan/bekerja dengan benar setelahnya (lihat
Gambar 3).
·
Informasi managemen memori: Informasi ini
dapat termasuk suatu informasi sebagai nilai daridasar dan batas register,
tabel page/ halaman, atau tabel segmen tergantung pada sistemmemori yang
digunakan oleh sistem operasi.
·
Informasi pencatatan: Informasi ini
termasuk jumlah dari CPU dan waktu riil yang digunakan,batas waktu, jumlah
akun, jumlah job atau proses, dan banyak lagi.
·
Informasi status I/O: Informasi termasuk
daftar dari perangkat I/O yang digunakan padaproses ini, suatu daftar open
berkas dan banyak lagi.
·
PCB hanya berfungsi sebagai tempat
menyimpan/ gudang untuk informasi apapun yang dapatbervariasi dari prose ke
proses.
2. KONSEP PENJADUALAN
2.1
Scheduling Queue
Ketika proses
memasuki sistem, mereka diletakkan dalam antrian job. Antrian ini terdiri dari
seluruhproses dalam sistem. Proses yang hidup pada memori utama dan siap dan
menunggu/ wait untukmengeksekusi disimpan pada sebuah daftar bernama ready
queue. Antrian ini biasanya disimpan sebagaidaftar penghubung. Sebuah header
ready queue berisikan penunjuk kepada PCB-PCB awal dan akhir. SetiapPCB
memiliki pointer field yang menunjukkan proses selanjutnya dalam ready
queue.Juga ada antrian lain dalam sistem. Ketika sebuah proses mengalokasikan
CPU, proses tersebutberjalan/bekerja sebentar lalu berhenti, di interupsi, atau
menunggu suatu kejadian tertentu, sepertipenyelesaian suatu permintaan I/O.
Pada kasus ini sebuah permintaan I/O, permintaan seperti itu mungkinuntuk
sebuah tape drive yang telah diperuntukkan, atau alat yang berbagi, seperti
disket. Karena ada banyakproses dalam sistem, disket bisa jadi sibuk dengan
permintaan I/O untuk proses lainnya. Maka prosestersebut mungkin harus menunggu
untuk disket tersebut. Daftar dari proses yang menunggu untuk peralatanI/O
tertentu disebut sebuah device queue. Tiap peralatan memiliki device queuenya
sendiri.
Reprensentasi umum
untuk suatu diskusi mengenai penjadualan proses adalah diagram antrian,seperti
pada gambar. Setiap kotak segi empat menunjukkan sebuah antrian. Dua tipe
antrianmenunjukan antrian yang siap dan suatu perangkat device queues.
Lingkaran menunjukkansumber-sumber yang melayani sistem. Sebuah proses baru
pertama-tama ditaruh dalam ready queue. Lalu menunggu dalamready queue sampai
proses tersebut dipilih untukdikerjakan/lakukan atau di dispatched. Begitu
prosestersebut mengalokasikan CPU dan menjalankan/ mengeksekusi, satu dari
beberapa kejadian dapatterjadi.
·
Proses tersebut dapat mengeluarkan sebuah
permintaan I/O, lalu di tempatkan dalam sebuahantrian I/O.
·
Proses tersebut dapat membuat subproses
yang baru dan menunggu terminasinya sendiri.
·
Proses tersebut dapat digantikan secara
paksa dari CPU, sebagai hasil dari suatu interupsi, dandiletakkan kembali dalam
ready queue.
2.2 Penjadual / Scheduler
Sebuah proses
berpindah antara berbagai penjadualan antrian selama umur hidupnya.
Sistemoperasi harus memilih, untuk keperluan penjadualan, memproses
antrian-antrian ini dalam cara tertentu.Pemilihan proses dilaksanakan oleh
penjadual yang tepat/ cocok. Dalam sistem batch, sering ada lebihbanyak proses
yang diserahkan daripada yang dapat dilaksanakan segera. Proses ini dipitakan/
disimpan padasuatu alat penyimpan masal (biasanya disket), dimana
prosestersebut disimpan untuk eksekusi dilain waktu.Penjadualan long term, atau
penjadual job, memilih proses dari pool ini dan mengisinya kedalam
memorieksekusi.Sebuah proses dapatmengeksekusi untuk hanya beberapa milidetik
sebelum menunggupermintaan I/O. Seringkali, penjadualan shorterm mengeksekusi
paling sedikit sekali setiap 100 milidetik.Karena durasi waktu yang pendek
antara eksekusi, penjadualan shorterm haruslah cepat. Jikamemerlukan 10 mili
detik untuk menentukan suatu proses eksekusi selama 100 mili detik, maka
10/(100 +10) = 9 persen CPU sedang digunakan (terbuang) hanya untuk pekerjaan
penjadualan.Penjadualan longterm pada sisi lain, mengeksekusi jauh lebih
sedikit. Mungkin ada beberapa menitantara pembuatan proses baru dalam sistem.
Penjadualan longterm mengkontrol derajat multiprogramming(jumlah proses dalam
memori). Jika derajat multiprogramming stabil, lalu tingkat rata-rata dari
penciptaanproses harus sama dengan tingkat kepergian rata rata dari proses yang
meninggalkan sistem. Makapenjadualan longterm mungkin diperlukan untuk
dipanggil hanya ketika suatu proses meninggalkan sistem.Karena interval yang
lebih panjang antara eksekusi, penjadualan longterm dapat memakai waktu yang
lebihlama untuk menentukan proses mana yang harus dipilih untuk dieksekusi.
2.3 Alih Konteks / Switch Context
Mengganti CPU ke
proses lain memerlukan penyimpanan suatu keadaan proses lama (state of
oldprocess) dan kemudian beralih ke proses yang baru. Tugas tersebut diketahui
sebagai alih konteks (contextswitch). Alih konteks sebuah proses digambarkan
dalam PCB suatu proses: termasuk nilai dari CPU register,status prosesdan
informasi managemen memori. Ketika alih konteks terjadi, kernelmenyimpan
konteks dari proses lama kedalam PCB nya dan mengisi konteks yang telah
disimpan dariprocess baru yang telah terjadual untuk berjalan. Pergantian waktu
konteks adalah murni overhead, karenasistem melakukan pekerjaan yang tidak
perlu. Kecepatannya bervariasi dari mesin ke mesin, bergantung padakecepatan
memori, jumlah register yang harus di copy, dan keberadaan instruksi khusus
(seperti instruksitunggal untuk mengisi atau menyimpan seluruh register).
Tingkat kecepatan umumnya berkisar antara 1
sampai
1000 mikro detik.
Waktu alih konteks
sangat begantung pada dukungan perangkat keras. Sebagai contoh, prosesor
seperti
UltraSPARC menyediakan dua rangkap register.
Sistem operasi
dalam mengelola proses dapat melakukan operasi-operasi terhadap proses.Operasi
tersebutadalah :
a. Penciptaan
proses
b.
Penghancuran/terminasi proses
c. Penundaan
proses
d. Pelanjutan
kembali proses
e. Pengubahan
prioritas proses
f. Memblok proses
g. Membangunkan
proses
h. Menjadwalkan
proses
i.
Memungkinkan proses berkomunikasi dengan proses lain
3. OPERASI PADA PROSES
3.1 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 :
·
Pada lingkungan batch, sebagai tanggapan atas
pemberian satu kerja (job). Sistem operasidengan kendali batch job, setelah
menciptakan proses baru, kemudian melanjutkan membaca job berikutnya.
·
Pada lingkungan interaktif, ketika pemakai
baru berusaha logon.
·
Sebagai tanggapan suatu aplikasi, seperti
permintaan pencetakan file, sistem operasi dapat menciptakanproses yang akan
mengelola pencetakan itu. Sistem operasi menciptakan proses untuk memenuhi satu
fungsipada program pemakai, tanpa mengharuskan pemakai menunggu.
·
Proses penciptaan proses lain (proses
anak). Untuk mencapai modularitas ataumengeksploitasikongkurensi, program
pemakai memerintahkan pembuatan sejumlah proses.
3.2
Penghentian Proses
Yaitu tindakan yang dilakukan sistem
operasi pada saat sebuah proses telah selesai dilakukan atau dihentikan, sistem
operasi menghapus struktur data yang digunakan untuk mengelola proses dan
mengalokasikan ruang alamat ke proses itu.Suatu proses diterminasi ketika
proses tersebut telah selesai mengeksekusi perintah terakhir atau diterminasi
dengan sengaja oleh proses lain, biasanya proses induk yang melakukan hal ini.
Pada saat terminasi. Semua sumber-daya yang digunakan oleh proses akan
dialokasikan kembali oleh sistem operasi agar dapat dimanfaatkan oleh proses
lain. Suatu proses yang diterminasi karena selesai melakukan tugasnya, sistem
operasi akan memanggil system call exit() sedangkan proses yang
diterminasi dengan sengaja oleh proses lain melalui system call abort.
Biasanya proses induk melakukan terminasi sengaja pada turunannya. Alasan
terminasi yang dilakukan proses induk tersebut seperti:
- Turunan melampaui penggunaan sumber-daya yang telah dialokasikan. Dalam keadaan ini, proses induk perlu mempunyai mekanisme untuk memeriksa status turunannya-nya.
- Task yang ditugaskan kepada turunan tidak lagi diperlukan.
- · Proses induk selesai, dan sistem operasi tidak mengizinkan proses turunan untuk tetap berjalan. Jadi, semua proses turunan akan berakhir pula. Hal ini yang disebut cascading termination.
Alur
Penghentian Proses adalah sebagai berikut:
- Suatu proses berhenti jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit.
- Proses mengembalikan semua data (output) ke parent proses melalui system call wait.
- Kemudian proses dihapus dari list atau tabel sistem, dilanjutkan dengan menghapus PCB.
Secara umum,
Destroyed Process dilakukan karena alasan-alasan sebagai berikut.
- Selesai secara normal. Proses mengeksekusi suatu panggilan layanan OS untuk mengindikasikan bahwa proses tersebut telah selesai beroperasi
- Batas waktu telah dilampaui. Proses telah berjalan lebih lama dari jumlah batas waktu yang telah ditentukan. Terdapat beberapa kemungkinan jenis waktu yang diukur. Jenis-jenis tersebut meliputi jumlah waktu yang berjalan (waktu jam dinding), jumlah waktu yang dibutuhkan untuk melakukan eksekusi, dan pada proses yang interaktif, jumlah waktu sejak pengguna terakhir diberi input
- Memori tidak tersedia. Proses memerlukan memori lebih banyak dari yang dapat disediakan oleh sistem
- Pelanggaran batas. Proses mencoba menakses lokasi memori yang tidak diijinkan untuk diases
- Error proteksi. Proses mencoba menggunakan sumber daya atau file yang tidak diizinkan untuk digunakan, atau mencoba menggunakannya dengan cara yang salah, seperti melakukan penulisan ke file yang hanya dapat dibaca (read-only file)
- Error aritmetik. Proses mencoba untuk melakukan komputasi yang tidak diizinkan, seperti pembagian dengan nol, atau mencoba menyimpan bilangan yang besarnya diluar kemampuan perangkat keras. Kelebihan waktu proses telah menunggu event tertentu lebih lama dari waktu maksimum
- Kegagalan I/O. Error yang terjadi pada saat input atau output, seperti ketidakmampuan untuk menemukan file, kegagalan membaca atau menulis setelah beberapa kali mencoba (pada saat misalnya menemukan daerah yang telah rusak pada pita magnetik) atau operasi yang invalid (misalnya melakukan pembacaan dari printer)
- Intruksi yang invalid. Proses mencoba mengeksekusi intruksi yang tidak ada (seringkali akan mengakibatkan pencabangan ke suatu daerah data dan berusaha mengeksekusi data)
- Intruksi ber-privilage. Proses berusaha untuk menggunakan suatu intruksi yang dicadangkan bagi sistem operasi
- Pemakaian data yang salah. Potongan datanya memiliki jenis yang salah, atau tidak diinisilaisasi terlebih dahulu
- Intervensi Operator atau OS. Dengan sesuatu alasan, operator atau sistem operasi telah menghentikan proses (misalnya, telah terjadi deadlock)
- Penghentian Induk. Apabila induk berhenti, sistem operasi secara otomatis dapat menghentikan seluruh turunan proses induk itu
- Permintaan induk. Proses induk umumnya memiliki otoritas untuk menghentikan semua turunannya
4. PROSES
YANG SALING BEKERJASAMA
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
dikatakankooperatif 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.
4. Kenyamanan: bahkan seorang pengguna individu mungkin memiliki banyak tugas untuk dikerjakan secara bersamaan pada satu waktu. Sebagai contoh, seorang pengguna dapat mengedit, memcetak, dan meng-compile secara paralel.
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.
4. Kenyamanan: bahkan seorang pengguna individu mungkin memiliki banyak tugas untuk dikerjakan secara bersamaan pada satu waktu. Sebagai contoh, seorang pengguna dapat mengedit, memcetak, dan meng-compile secara paralel.
5. THREADS
Thread merupakan suatu proses didefinisikan oleh
resource yang digunakan dan lokasi yangakan dieksekusi. Namun adakalanya
proses-proses akan menggunakan resource secara bersama-sama. Suatu unit dasar
dari CPU utilization yang berisi program counter, kumpulan register, dan ruang
stack disebut dengan thread atau lighweight process (LWP). Thread akan
bekerjasama dengan thread yang lainnya dalam hal penggunaan bagian kode, bagian
data, dan resource sistem operasi, seperti open file dan sinyal secara kolektif
yang sering disebut dengan task.Pada multi proses, setiap proses secara
terpisah melakukan operasi tidak bekerja sama dengan proses lain, setiap proses
mempunyai program counter, stack register dan ruang alamat sendiri. Organisasi
jenis ini berguna jika job dibentuk oleh proses-proses yang tidak saling
berhubungan. Multi proses membentuk task yang sama. Sebagai contoh, multi
proses dapat menyediakan data untuk mesin secara remote pada implementasi
system file jaringan. Hal ini lebih efisien apabila satu proses terdiri dari
multi thread melayani tugas yang sama. Pada implementasi multi proses, setiap
proses mengeksekusi kode yang sama tetapi mempunyai memori dan resource file
sendiri. Satu proses multi thread menggunakan resource lebih sedikit daripada
multi proses, termasuk memory, open file dan penjadwalan CPU.
Ada 3 model process pada server :
1. thread di ciptakan untuk dapat melakukan paralelisme yang dikombinasikan dengan eksekusi sekuensial dan blocking system calls.
2. single treads server, menggunakan blocking system calls, tetapi kinerja sistem tidak baik.
3. finite-state machine, kinerja baik dengan melakukan parallelisme, tetapi menggunakan nonblocking calls, sehingga sulit dalam memprogram.
1. thread di ciptakan untuk dapat melakukan paralelisme yang dikombinasikan dengan eksekusi sekuensial dan blocking system calls.
2. single treads server, menggunakan blocking system calls, tetapi kinerja sistem tidak baik.
3. finite-state machine, kinerja baik dengan melakukan parallelisme, tetapi menggunakan nonblocking calls, sehingga sulit dalam memprogram.
6. KOMUNIKASI ANTAR PROSES
·
Sistem Berbagi Memori
Sistem Berbagi Memori atau yang disebut juga sebagai Shared Memory System merupakan salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu sehingga pekerjaan dapat dilakukan secara efektif.
Sistem Berbagi Memori atau yang disebut juga sebagai Shared Memory System merupakan salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu sehingga pekerjaan dapat dilakukan secara efektif.
·
Sistem Berkirim Pesan
Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. Ketika dua bagian sistem ingin berkomunikasi satu sama lain, yang harus dilakukan pertama kali adalah membuat sebuah link komunikasi antara keduanya. Setelah itu, kedua bagian itu dapat saling bertukar pesan melalui link komunikasi tersebut.Sistem berkirim pesan sangat penting dalam sistem operasi. Karena dapat diimplementasikan dalam banyak hal seperti pembagian memori, pembagian bus, dan melaksanakan proses yang membutuhkan pengerjaan bersama antara beberapa bagian sistem operasi.
Sistem berkirim pesan adalah proses komunikasi antar bagian sistem untuk membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu mengirim pesan dan menerima pesan. Ketika dua bagian sistem ingin berkomunikasi satu sama lain, yang harus dilakukan pertama kali adalah membuat sebuah link komunikasi antara keduanya. Setelah itu, kedua bagian itu dapat saling bertukar pesan melalui link komunikasi tersebut.Sistem berkirim pesan sangat penting dalam sistem operasi. Karena dapat diimplementasikan dalam banyak hal seperti pembagian memori, pembagian bus, dan melaksanakan proses yang membutuhkan pengerjaan bersama antara beberapa bagian sistem operasi.
Terdapat dua macam cara berkomunikasi, yaitu:
1. Komunikasi Langsung, dalam komunikasi langsung, setiap proses yang ingin berkirim pesan harus mengetahui secara jelas dengan siapa mereka berkirim pesan. Hal ini dapat mencegah pesan salah terkirim ke proses yang lain. Karakteristiknya antara lain:
a. Link dapat otomatis dibuat
b. Sebuah link berhubungan dengan tepat satu proses komunikasi berpasangan
c. Diantara pasangan itu terdapat tepat satu link
d. Link tersebut biasanya merupakan link komunikasi dua arah
1. Komunikasi Langsung, dalam komunikasi langsung, setiap proses yang ingin berkirim pesan harus mengetahui secara jelas dengan siapa mereka berkirim pesan. Hal ini dapat mencegah pesan salah terkirim ke proses yang lain. Karakteristiknya antara lain:
a. Link dapat otomatis dibuat
b. Sebuah link berhubungan dengan tepat satu proses komunikasi berpasangan
c. Diantara pasangan itu terdapat tepat satu link
d. Link tersebut biasanya merupakan link komunikasi dua arah
2. Komunikasi tidak langsung, berbeda dengan komunikasi langsung, jenis komunikasi ini menggunakan sejenis kotak surat atau port yang mempunyai ID unik untuk menerima pesan. Proses dapat berhubungan satu sama lain jika mereka membagi port mereka. Karakteristik komunikasi ini antara lain:
a. Link hanya terbentuk jika beberapa proses membagi kotak surat mereka
b. Sebuah link dapat terhubung dengan banyak proses
c. Setiap pasang proses dapat membagi beberapa link komunikasi
d. Link yang ada dapat merupakan link terarah ataupun link yang tidak terarah
7. BUFFERING
Baik komunikasi itu langsung atau tak langsung,
penukaran pesan oleh proses memerlukan antrian sementara. Pada dasarnya,
terdapat tiga jalan dimana antrian tersebut diimplementasikan:
oKapasitas nol: antrian mempunyai panjang maksimum 0, maka link tidak dapat mempunyai penungguan pesan (message waiting). Dalam kasus ini, pengirim harus memblok sampai penerima menerima pesan.
o Kapasitas terbatas: 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.
o Kapasitas tak terbatas: antrian mempunyai panjang yang tak terhingga, maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah di blok.
oKapasitas nol: antrian mempunyai panjang maksimum 0, maka link tidak dapat mempunyai penungguan pesan (message waiting). Dalam kasus ini, pengirim harus memblok sampai penerima menerima pesan.
o Kapasitas terbatas: 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.
o Kapasitas tak terbatas: antrian mempunyai panjang yang tak terhingga, maka, semua pesan dapat menunggu disini. Pengirim tidak akan pernah di blok.
8. KONDISI-KONDISI PERKECUALIAN
8.1 Proses Dihentikan
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:
§Penerima proses P menunggu suatu pesan dari proses Q yang dihentikan, jika ada aksi, maka P di block. Pada kasus ini system juga akan mengehntikan P atau memberitahu pada P bahwa Q dihentikan.
§ Proses P mengirim pesan ke proses Q yang dihentikan. Pada system buffer otomatis, tidak akan terjadi apa-apa. P melanjutkan eskkusi. Jika P ingin mengetahui apakah pesannya telah di proses oleh Q, maka P harus memprogram secara eksplisit suatu pengetahuan. Jika tidak ada buffer, Pakan diblock seperti halnya kasus 1. Sistem juga akan menghentikan P atau memberitahukan pada P bahwa Q dihentikan.
§Penerima proses P menunggu suatu pesan dari proses Q yang dihentikan, jika ada aksi, maka P di block. Pada kasus ini system juga akan mengehntikan P atau memberitahu pada P bahwa Q dihentikan.
§ Proses P mengirim pesan ke proses Q yang dihentikan. Pada system buffer otomatis, tidak akan terjadi apa-apa. P melanjutkan eskkusi. Jika P ingin mengetahui apakah pesannya telah di proses oleh Q, maka P harus memprogram secara eksplisit suatu pengetahuan. Jika tidak ada buffer, Pakan diblock seperti halnya kasus 1. Sistem juga akan menghentikan P atau memberitahukan pada P bahwa Q dihentikan.
8.2
Kehilangan Pesan
Pesan pada
proses P ke proses Q bisa jadi hilang entah kemana dalam suatu jaringan
komunikasi. Hal in mengakibatkan kegagalan pada hardware, Untuk mengatasi hal
itu ada 3 metode, yaitu:
§ Sistem operasi 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
§ Sistem operasi 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
Untuk
mendeteksi adanya pesan yang hilang makan digunakan Timeout. Pada saat satu
pesan dikirim maka akan diberikan pesan jawaban bahwa oesab tekah dikirim.
Sistem oprasi / suatu proses akan menghitung interval waktu antara jawaban dengan
pesan yang diterima jika melebihi batas waktu yang telah ditentukan, maka pesan
tersebut dianggap hilang dan akan dikirim kembali.
Kelemahan dari system ini adalah terkadang pesan dating sedikit terlambat dari yang diperkirakan sehingga system oprasi mungkin menggangapnya hilang dan mengakibatkan copiannya dikirim dan penerima akan mendapatkan 2 pesan yang sama.
Kelemahan dari system ini adalah terkadang pesan dating sedikit terlambat dari yang diperkirakan sehingga system oprasi mungkin menggangapnya hilang dan mengakibatkan copiannya dikirim dan penerima akan mendapatkan 2 pesan yang sama.
8.3 Proses
Terganggu
Pesan yang
dikirim sebelum sampai ditujuan kadang bisa mengalami gangguan di tengah jalan,
sama seperti pesan yang hilang. Jika hal in terjadi maka pesan akan dikirim
kembali.
Daftar Pustaka:
makasih
BalasHapussolder uap
orang mana banh?
BalasHapus