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 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.
Fungsi dari sebuah sistem pesan adalah untuk memperbolehkan komunikasi satu dengan yang
lain tanpa perlu menggunakan pembagian data. Sebuah fasilitas IPC menyediakan paling
sedikit dua operasi yaitu kirim (pesan) dan terima (pesan). Pesan dikirim dengan sebuah
proses yang dapat dilakukan pada ukuran pasti atau variabel. Jika hanya pesan dengan ukuran
pasti dapat dikirimkan, level sistem implementasi adalah sistem yang sederhana. Pesan
berukuran variabel menyediakan sistem implementasi level yang lebih kompleks.
Berikut ini ada beberapa metode untuk mengimplementasikan sebuah jaringan dan operasi
pengiriman/penerimaan secara logika:
Komunikasi langsung atau tidak langsung.
Komunikasi secara simetris/ asimetris.
Buffer otomatis atau eksplisit.
Pengiriman berdasarkan salinan atau referensi.
Pesan berukuran pasti dan variabel.
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:
Sebuah jaringan komunikasi pada bahasan ini memiliki beberapa sifat, yaitu:
Sebuah jaringan yang didirikan secara otomatis diantara setiap pasang dari proses
yang ingindikomunikasikan. Proses tersebut harus mengetahui identitas dari semua
yang ingin dikomunikasikan.
Sebuah jaringan adalah terdiri dari penggabungan dua 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.
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
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 setiap
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.
Misalkan terdapat proses P1, P2dan 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:
Mengizinkan sebuah link berasosiasi dengan paling banyak 2 proses.
Mengizinkan paling banyak satu proses pada suatu waktu untuk mengeksekusi hasil
kirimanc(receive operation).
Mengizinkan sistem untuk memilih secara mutlak proses mana yang akan menerima
pesan (apakah itu P2atau P3 tetapi tidak keduanya, tidak akan menerima pesan).
Sistem mungkin mengidentifikasi penerimakepada 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 melalui mailbox) dan pengguna dari mailbox (yang hanya dapat mengirim pesan ke
mailbox). Selama setiap mailbox mempunyai kepemilikan yang unik, maka tidak akan ada
kebingungan tentang siapa yang harus menerimapesan dari mailbox. Ketika proses yang
memiliki mailbox tersebut diterminasi, mailbox akan hilang. Semua proses yang mengirim
pesan ke mailbox ini diberi pesan bahwa mailbox 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 mengizinkan proses untuk melakukan halhal
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.
Untukpertama kali, pemilik adalah satu-satunya proses yang dapat menerima pesan melalui
mailbox ini. Bagaimana pun, kepemilikan dan hak menerima pesan mungkin dapat dialihkan
ke proses lain melalui sistem pemanggilan.
Sinkronisasi
Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data
primitive. Terdapat rancangan 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 samapai pesan tersedia.
Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid atau null
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 dapatmempunyai penungguan pesan (message waiting). Dalam kasus ini,
pengirim harus memblok sampaipenerima 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 kapasitasterbatas.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.
PROSES KOMUNIKASI
Pengirim>Berita>Penerima
Jika salah satu elemen komunikasi tidak ada maka komunikasi tidak akan berjalan. Ada
komponen-komponen dalam komunikasi antara lain :
Pesan (Massage), pesan dapat dalam segala bentuk biasanya dapat dirasakan atau dimengerti
satu atau lebih dari indra penerima.
Saluran (Chanel) adalah cara mentrasmisikan pesan, misal kertas untuk surat, udara untuk
kata-kata yang diucapkan.
Penerima (Recaiver) adalah orang yang menafsirkan pesan penerima, jika pesan tidak
disampaikan kepada penerima maka komunikasi tidak akan terjadi.
Penafsiran kode (Decoding) adalah proses dimana penerima menafsirkan pesan dan
menterjemahkan menjadi informasi yang berarti baginya. Jika semakin tepat penafsiran
penerima terhadap pesan yang dimaksudkan oleh penerima, Maka semakin efektif
komunikasi yang terjadi.
Umpan balik (Feedback) adalah pembalikan dari proses komunikasi dimana reaksi
kominikasi pengirim dinyatakan.
Didalam organisasi sangat membutuhkan komunikasi. Adapun jenis- jenis komunikasi dalam
organisasai antara lain :
Komunikasi formal adalah komunikasi yang mengikuti rantai komando yang dicapai oleh
hirarki wewenang. Komunikasi informal adalah komunikasi yang terjadi diluar dan tidak
tergantung pada herarki wewenang. Komunikasi informal ini timbul karena adanya berbagai
maksud, yaitu
Jenis lain dari komunikasi informasi adalah adalah dasas-desusyang secara resmi tidak setuju.
Desas-desus ini juga mempunyai peranan fungsional sebagai alat komunikasi tambahan bagi
organisasi.
Komunikasi kebawah mengalir dari peringkat atas ke bawah dalam herarki. Komunikasi ke
atas adalah berita yang mengalir darin peringkat bawah ke atas atas suatu organisasi.
Komunikasi lateral adalah sejajar antara mereka yang berada tingkat satu wewenang.
Komunikasi satu arah, pengirim berita berkomunikasi tanpa meminta umpan balik,
sedangkan komunikasi dua arah adalah penerima dapat dan memberi umpan balik.
Dalam organisasi dimana perbedaan stasus dan kekuasaan akan mempengaruhi isi
komunikasi.
1. Spesialis jabatan
Anggota organisasi yang sama akan menggunakan istilah-istilah, tujuan, tugas, waktu,
dan gaya yang sama dalam berkomonikasi.
1. Pemilikan informasi
Berarti individu memunyai informasi dan pengetahuan yang khas mengenai tugasnya.
https://www.google.com/search?q=proses+yang+membutuhkan+komunikasi&oq=proses+ya
ng+membutuhkan+komunikasi&aqs=chrome..69i57.20745j0j8&sourceid=chrome&ie=UTF-
8
http://julia.staff.gunadarma.ac.id/Download/files/28697/MANAJEMEN+PROSESS.pdf
a. 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 dua 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.
c. Sinkronisasi
Komunikasi antara proses membutuhkan place by calls untuk mengirim dan menerima data
primitive. Terdapat rancangan 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 samapai pesan tersedia.
Penerimaan yang tidak diblok: Penerima mengembalikan pesan valid atau null.
d. 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: 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: 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: antrian mempunyai panjang yang tak terhingga, maka, semua
pesan dapat menunggu disini. Pengirim tidak akan pernah di blok.
Sistem operasi dapat dikatakan adalah perangkat lunak yang sangat kompleks. Hal-hal yang
ditangani oleh sistem operasi bukan hanya satu atau dua saja, melainkan banyak hal. Dari
menangani perangkat keras, perangkat lunak atau program yang berjalan, sampai menangani
pengguna. Hal tersebut menyebabkan sebuah sistem operasi memiliki banyak sekali
komponen-komponen tersendiri yang memiliki fungsinya masing-masing. Seluruh komponen
yang menyusun sistem operasi tersebut saling bekerjasama untuk satu tujuan, yaitu efisiensi
kerja seluruh perangkat komputer dan kenyamanan dalam penggunaan sistem operasi.
Oleh karena itu, penting bagi kita untuk mengetahui komponen-komponen apa saja yang ada
di dalam sebuah sistem operasi, agar kita bisa mempelajari sistem operasi secara menyeluruh.
Bab ini menceritakan secara umum apa saja komponen-komponen yang ada di sistem
operasi. Detail tentang setiap komponen tersebut ada di bab-bab selanjutnya dalam buku ini.
Tanpa satu saja dari komponen-komponen tersebut, bisa dipastikan sebuah sistem operasi
tidak akan berjalan dengan maksimal. Bayangkan jika kita memiliki sistem operasi yang
tidak memiliki kemampuan untuk menangani program-program yang berjalan sekaligus. Kita
tak akan bisa mengetik sambil mendengarkan lagu sambil berselancar di internet seperti yang
biasa kita lakukan saat ini.
Dalam kegiatannya sehari-hari, sistem operasi memiliki sebuah mekanisme proteksi untuk
memastikan dirinya, semua program yang berjalan, dan data-data penggunanya berjalan
dengan baik. Untuk melakukan hal tersebut, sistem operasi memiliki dua jenis ( mode)
operasi yang saling terpisah. Dua operasi tersebut, yaitu user mode, eksekusi program
dikendalikan oleh pengguna, dan kernel mode, eksekusi program dikendaikan oleh sistem
operasi, dinamakan dual-mode operation.
Dual-mode operation diimplementasikan pada arsitektur perangkat keras. Sebuah bit yang
disebut mode bit ditambahkan ke perangkat keras untuk menunjukkan mode operasi saat itu:
0 untuk kernel mode dan 1 untuk user mode.
Selain itu, sistem operasi memiliki sebuah mekanisme untuk melindungi prosesor dari
berbagai macam program yang berjalan. Bayangkan jika ada sebuah proses mengalami
infinite loop. Tentu saja prosesor akan terus menerus melayani program itu dan menghambat
proses lainnya yang akan dieksekusi prosesor, dan hal ini bisa dipastikanakan mengurangi
kinerja dari komputer.
Perlindungan prosesor tersebut dilakukan dengan timer. Timer diset untuk melakukan
interupsi prosesor setelah beberapa periode waktu. Dengan adanya timer, sebuah program
bisa dicegah dari berjalan terlalu lama. Misalkan sebuah program memiliki time limit 7 menit.
Setelah 7 menit tersebut terlewati, sistem operasi akan menginterupsi prosesor dan
menghentikan eksekusi program tersebut.
Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan program adalah kumpulan
instruksi yang ditulis ke dalam bahasa yang dimengerti sistem operasi. Sebuah proses
membutuhkan sejumlah sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut
dapat berupa CPU time, alamat memori, berkas-berkas, dan perangkat-perangkat M/K.
Sistem operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu diciptakan
atau sedang diproses/dijalankan. Ketika proses tersebut berhenti dijalankan, sistem operasi
akan mengambil kembali semua sumber daya agar bisa digunakan kembali oleh proses
lainnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen
proses seperti:
Sistem operasi memiliki peran penting dalam manajemen penyimpanan sekunder. Tujuan
penting dari manajemen ini adalah untuk keamanan, efisiensi, dan optimalisasi penggunaan
sarana penyimpanan sekunder.
Disabling interrupts : Sebuah proses berjalan sampai meminta ke pelayanan sistem operasi
atau sampai di interrupt/diganggu. Disabling Interrupt menjamin mutual exclusion.
Lock variables : variabel shared (lock), di set menjadi 0. Jika lock =0, lock di set menjadi =
1, kemudia masuk ke critical region. Jika lock = 1, tunggu sampai lock = 0