

Pertemuan 4 SO
Presentation
•
Other
•
KG
•
Practice Problem
•
Easy
rakhmadi rahman
Used 2+ times
FREE Resource
70 Slides • 1 Question
1
Matakuliah Sistem Operasi
PROSES
PADA SISTEM OPERASI
Rakhmadi Rahman M.Kom
PERTEMUAN KE-4
Parepare, 09 Maret 2023
2
3.2
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
3
Open Ended
Apa kabarnya hari ini....
4
3.3
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
▪Identifikasi komponen terpisah dari suatu proses dan ilustrasikan
bagaimana mereka direpresentasikan dan dijadwalkan dalam sistem
operasi.
▪Jelaskan bagaimana proses dibuat dan diakhiri dalam sistem operasi,
termasuk mengembangkan program menggunakan panggilan sistem
yang sesuai yang melakukan operasi ini.
▪Jelaskan dan bedakan komunikasi antarproses menggunakan memori
bersama dan pengiriman pesan.
▪Rancang program yang menggunakan pipa dan memori bersama
POSIX untuk melakukan komunikasi antarproses.
▪Jelaskan komunikasi client-server menggunakan soket dan panggilan
prosedur jarak jauh.
▪Merancang modul kernel yang berinteraksi dengan sistem operasi
Linux.
5
3.4
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Konsep Proses
▪Sistem operasi mengeksekusi berbagai program yang dijalankan
sebagai suatu proses.
▪Proses – sebuah program dalam eksekusi; eksekusi proses harus
maju secara berurutan. Tidak ada eksekusi paralel instruksi dari satu
proses
▪Beberapa bagian
•Kode program, disebut juga teks bagian
•Aktivitas saat ini termasuk program counter , register prosesor
•Tumpukan berisi data sementara
Parameter fungsi, alamat pengirim, variabel lokal
•Data bagian mengandung variabel global
•Tumpukan berisi memori yang dialokasikan secara dinamis
selama waktu berjalan
6
3.5
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Konsep Proses (Lanjutan)
▪Program adalah entitas pasif yang disimpan di disk ( dapat
dieksekusi berkas ); proses sedang aktif
•Program menjadi proses ketika file yang dapat dieksekusi
dimuat ke dalam memori
▪Eksekusi program dimulai melalui klik mouse GUI, entri baris
perintah dari namanya, dll.
▪Satu program bisa beberapa proses
•Pertimbangkan banyak pengguna yang menjalankan
program yang sama
7
3.6
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Proses dalam Memori
8
3.7
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Tata Letak Memori Program C
9
3.8
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Status Proses
▪Saat proses dieksekusi, ia mengubah status
•Baru : Proses sedang dibuat
•Running : Instruksi sedang dieksekusi
•Waiting : Proses sedang menunggu beberapa event terjadi
•Ready : Proses sedang menunggu untuk ditugaskan ke
prosesor
•Terminated : Proses telah selesai dieksekusi
10
3.9
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Diagram Status Proses
11
3.10
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Blok Kontrol Proses (PCB)
▪Status proses - berjalan, menunggu, dll.
▪Penghitung program – lokasi instruksi untuk
dieksekusi selanjutnya
▪Register CPU – isi dari semua register yang
berpusat pada proses
▪Informasi penjadwalan CPU- prioritas, penunjuk
antrian penjadwalan
▪Informasi manajemen memori – memori yang
dialokasikan untuk proses
▪Informasi akuntansi – CPU digunakan, waktu jam
berlalu sejak mulai, batas waktu
▪Informasi status I/O – Perangkat I/O dialokasikan
untuk proses, daftar file terbuka
Informasi yang terkait dengan setiap proses (juga disebut
tugas kontrol blok )
12
3.11
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Utas
▪Sejauh ini, proses memiliki satu utas eksekusi
▪Pertimbangkan untuk memiliki beberapa penghitung program per
proses
•Beberapa lokasi dapat dijalankan sekaligus
Beberapa utas kontrol -> utas
▪Kemudian harus memiliki penyimpanan untuk detail utas,
beberapa penghitung program di PCB
▪Jelajahi secara detail di Bab 4
13
3.12
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Representasi Proses di Linux
Diwakili oleh struktur C task_struct
pid t_pid;
/* pengenal proses */
keadaan panjang;
/* status proses */
unsigned int time_slice
/* informasi penjadwalan */
struct task_struct *induk;/* induk proses ini */
struct list_head anak; /* anak proses ini */
struct files_struct *files;/* daftar file yang terbuka */
struct mm_struct *mm;
/* ruang alamat dari proses ini */
14
3.13
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Penjadwalan Proses
▪Proses scheduler memilih di antara proses yang tersedia
untuk eksekusi berikutnya pada inti CPU
▪Sasaran -- Maksimalkan penggunaan CPU, alihkan
proses dengan cepat ke inti CPU
▪Mempertahankan penjadwalan antrian proses
•Siap antre – mengatur semua proses yang berada di
memori utama, siap dan menunggu untuk dieksekusi
•Tunggu antrian – sekumpulan proses yang
menunggu suatu kejadian (yaitu, I/O)
•Proses bermigrasi di antara berbagai antrian
15
3.14
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Antrean Siap dan Tunggu
16
3.15
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Representasi Penjadwalan Proses
17
3.16
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
CPU Beralih Dari Proses ke Proses
Peralihan konteks terjadi ketika CPU beralih dari satu
proses ke proses lainnya.
18
3.17
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Saklar Konteks
▪Saat CPU beralih ke proses lain, sistem harus menyimpan
itu negara dari proses lama dan memuat yang disimpan
negara untuk proses baru melalui konteks mengalihkan
▪Konteks proses yang direpresentasikan dalam PCB
▪Waktu peralihan konteks adalah murni overhead; sistem
tidak melakukan pekerjaan yang berguna saat beralih
•Semakin kompleks OS dan PCB
semakin lama
konteks beralih
▪Waktu tergantung pada dukungan perangkat keras
•Beberapa perangkat keras menyediakan beberapa set
register per CPU
beberapa konteks dimuat sekaligus
19
3.18
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Multitasking dalam Sistem Seluler
▪Beberapa sistem seluler (misalnya, versi awal iOS) hanya
mengizinkan satu proses untuk dijalankan, yang lainnya
ditangguhkan
▪Karena ruang layar, antarmuka pengguna membatasi yang
disediakan iOS untuk a
•Proses latar depan tunggal dikendalikan melalui antarmuka
pengguna
•Berbagai proses latar belakang– di memori, berjalan, tetapi
tidak di layar, dan dengan batasan
•Batasan mencakup tugas tunggal dan singkat, menerima
pemberitahuan acara, tugas khusus yang berjalan lama seperti
pemutaran audio
▪Android menjalankan latar depan dan latar belakang, dengan
batasan yang lebih sedikit
•Proses latar belakang menggunakan layanan untuk melakukan
tugas
•Layanan dapat tetap berjalan meskipun proses latar belakang
ditangguhkan
•Layanan tidak memiliki antarmuka pengguna, penggunaan
20
3.19
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Operasi pada Proses
▪Sistem harus menyediakan mekanisme untuk:
•Pembuatan proses
•Pemutusan proses
21
3.20
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Penciptaan Proses
▪Induk proses membuat anak-anak proses, yang, pada
gilirannya, menciptakan proses lain, membentuk pohon
proses
▪Secara umum, proses diidentifikasi dan dikelola melalui a
proses pengidentifikasi ( pid )
▪Opsi berbagi sumber daya
•Orang tua dan anak-anak berbagi semua sumber daya
•Anak-anak berbagi bagian dari sumber daya orang tua
•Orang tua dan anak tidak berbagi sumber daya
▪Opsi eksekusi
•Orang tua dan anak-anak mengeksekusi secara
bersamaan
•Orang tua menunggu sampai anak berhenti
22
3.21
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Penciptaan Proses (Lanjutan)
▪Ruang alamat
•Anak duplikat dari orang tua
•Anak memiliki program yang dimuat ke dalamnya
▪Contoh UNIX
• garpu() panggilan sistem membuat proses baru
• eksekusi() system call digunakan setelah fork() untuk
mengganti ruang memori proses dengan program baru
•Panggilan proses induk menunggu () menunggu anak berhenti
23
3.22
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Sebuah Pohon Proses di Linux
24
3.23
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Proses Terpisah Program Forking C
25
3.24
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Membuat Proses Terpisah melalui Windows
API
26
3.25
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Penghentian Proses
▪Proses mengeksekusi pernyataan terakhir dan kemudian meminta
sistem operasi untuk menghapusnya menggunakan exit()
panggilan sistem.
•Mengembalikan data status dari anak ke orang tua (melalui
wait() )
•Sumber daya proses tidak dialokasikan oleh sistem operasi
▪Induk dapat menghentikan eksekusi proses anak-anak
menggunakan perintah abort() panggilan sistem. Beberapa
alasan untuk melakukannya:
•Anak telah melampaui sumber daya yang dialokasikan
•Tugas yang diberikan kepada anak tidak lagi diperlukan
•Induk keluar, dan sistem operasi tidak mengizinkan anak untuk
melanjutkan jika induknya berhenti
27
3.26
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Penghentian Proses
▪Beberapa sistem operasi tidak mengizinkan anak untuk ada jika
induknya telah dihentikan. Jika suatu proses berakhir, maka
semua anaknya juga harus diakhiri.
•penghentian kaskade. Semua anak, cucu, dll,
diberhentikan.
•Pengakhiran dimulai oleh sistem operasi.
▪Proses induk mungkin menunggu penghentian proses anak
dengan menggunakan wait() system call . Panggilan
mengembalikan informasi status dan pid dari proses yang
dihentikan
pid = tunggu(&status);
▪Jika tidak ada orang tua yang menunggu (tidak memanggil
wait() ) prosesnya adalah zombie
▪Jika orang tua diakhiri tanpa memohon wait() , proses
adalah yatim piatu
28
3.27
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Hirarki Kepentingan Proses Android
▪Sistem operasi seluler seringkali harus menghentikan proses untuk
mendapatkan kembali sumber daya sistem seperti memori. Dari yang
paling penting hingga yang paling tidak penting:
•Proses latar depan
•Proses yang terlihat
•Proses layanan
•Proses latar belakang
•Proses kosong
▪Android akan mulai menghentikan proses yang paling tidak penting.
29
3.28
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Arsitektur Multiproses – Browser Chrome
▪Banyak browser web berjalan sebagai proses tunggal (beberapa masih
melakukannya)
•Jika satu situs web menyebabkan masalah, seluruh browser dapat
macet atau macet
▪Browser Google Chrome multiproses dengan 3 jenis proses berbeda:
•Proses browser mengelola antarmuka pengguna, disk, dan I/O
jaringan
•Proses perender merender halaman web, berurusan dengan
HTML, Javascript. Perender baru dibuat untuk setiap situs web
yang dibuka
Berjalan di kotak pasir yang membatasi disk dan I/O jaringan,
meminimalkan efek eksploitasi keamanan
•Pengaya proses untuk setiap jenis plug-in
30
3.29
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Komunikasi Antarproses
▪Proses dalam sistem mungkin independen atau bekerja sama
▪Proses kerja sama dapat memengaruhi atau dipengaruhi oleh proses
lain, termasuk berbagi data
▪Alasan untuk proses kerja sama:
•Berbagi informasi
•Percepatan komputasi
•Modularitas
•Kenyamanan
▪Proses yang bekerja sama membutuhkan antarproses komunikasi (
IPK )
▪Dua model IPC
•Bersama Penyimpanan
•Pesan lewat
31
3.30
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Model Komunikasi
(a) Memori bersama.
(b) Pengiriman pesan.
32
3.31
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Masalah Produsen-Konsumen
▪Paradigma untuk proses kerja sama:
•proses produsen menghasilkan informasi yang
dikonsumsi oleh proses konsumen
▪Dua variasi:
•buffer tak terbatas tidak menempatkan batasan praktis
pada ukuran buffer:
Produser tidak pernah menunggu
Konsumen menunggu jika tidak ada buffer untuk
dikonsumsi
•buffer terbatas mengasumsikan bahwa ada ukuran
buffer tetap
Produser harus menunggu jika semua buffer sudah
penuh
Konsumen menunggu jika tidak ada buffer untuk
dikonsumsi
33
3.32
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
IPC – Memori Bersama
▪Area memori yang digunakan bersama di antara proses yang
ingin berkomunikasi
▪Komunikasi berada di bawah kendali proses pengguna bukan
sistem operasi.
▪Masalah utama adalah menyediakan mekanisme yang
memungkinkan proses pengguna menyinkronkan tindakan
mereka saat mereka mengakses memori bersama.
▪Sinkronisasi dibahas dengan sangat rinci di Bab 6 & 7.
34
3.33
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Bounded-Buffer – Solusi Memori Bersama
▪Data bersama
#menentukan BUFFER_SIZE 10
typedef struct {
. . .
} barang;
buffer item[BUFFER_SIZE];
int di = 0;
int keluar = 0;
▪Solusi benar, tetapi hanya dapat menggunakan elemen
BUFFER_SIZE-1
35
3.34
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Proses Produser – Memori Bersama
item selanjutnya_diproduksi;
sementara (benar) {
/* menghasilkan item dalam produksi berikutnya */
sementara (((dalam + 1) % BUFFER_SIZE) == keluar)
; /* tidak melakukan apapun */
buffer[in] = next_produced;
dalam = (dalam + 1) % BUFFER_SIZE;
}
36
3.35
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Proses Konsumen – Memori Bersama
item selanjutnya_dikonsumsi;
sementara (benar) {
sementara (masuk == keluar)
; /* tidak melakukan apapun */
next_consumed = penyangga[keluar];
keluar = (keluar + 1) % BUFFER_SIZE;
/* konsumsi item pada konsumsi berikutnya */
}
37
3.36
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Bagaimana dengan Mengisi semua
Buffer?
▪Misalkan kita ingin memberikan solusi untuk masalah
konsumen-produsen yang mengisi semua buffer.
▪Kita dapat melakukannya dengan memiliki penghitung
bilangan bulat yang melacak jumlah buffer penuh.
▪Awalnya, konter diatur ke 0.
▪Penghitung bilangan bulat bertambah oleh produser setelah
menghasilkan buffer baru.
▪Penghitung bilangan bulat adalah dan dikurangi oleh
konsumen setelah mengkonsumsi buffer.
38
3.37
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Produsen
sementara (benar) {
/* menghasilkan item dalam produksi
berikutnya */
while (penghitung == BUFFER_SIZE)
; /* tidak melakukan apapun */
buffer[in] = next_produced;
dalam = (dalam + 1) % BUFFER_SIZE;
penghitung++;
}
39
3.38
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Konsumen
sementara (benar) {
while (penghitung == 0)
; /* tidak melakukan apapun */
next_consumed = penyangga[keluar];
keluar = (keluar + 1) % BUFFER_SIZE;
menangkal--;
/* konsumsi item pada konsumsi berikutnya */
}
40
3.39
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Kondisi balapan
▪counter++ dapat diimplementasikan sebagai
register1 = penghitung
register1 = register1 + 1
penghitung = register1
▪counter-- dapat diimplementasikan sebagai
register2 = penghitung
register2 = register2 - 1
penghitung = register2
▪Pertimbangkan eksekusi ini menyisipkan dengan "menghitung = 5" pada
awalnya:
S0: produser mengeksekusi register1 = penghitung
{daftar1 = 5}
S1: produser mengeksekusi register1 = register1 + 1 {register1
= 6}
S2: konsumen mengeksekusi register2 = penghitung
{daftar2 = 5}
S3: register2 eksekusi konsumen = register2 – 1 {register2
= 4}
S4: penghitung eksekusi produser = register1 {penghitung =
6 }
S5: penghitung eksekusi konsumen = register2 {penghitung =
4}
41
3.40
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Kondisi Balapan (Lanjutan)
▪Pertanyaan – mengapa tidak ada race
condition pada solusi pertama (di mana
paling banyak N – 1) buffer dapat diisi?
▪Selengkapnya di Bab 6.
42
3.41
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
IPC – Penyampaian Pesan
▪Proses berkomunikasi satu sama lain tanpa beralih ke
variabel bersama
▪Fasilitas IPC menyediakan dua operasi:
•kirim ( pesan )
•menerima ( pesan )
▪Ukuran pesan tetap atau variabel
43
3.42
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Penyampaian Pesan (Lanjutan)
▪Jika proses P dan Q ingin berkomunikasi, mereka harus:
•Membangun komunikasi tautan diantara mereka
•Bertukar pesan melalui kirim/terima
▪Masalah implementasi:
•Bagaimana tautan dibuat?
•Bisakah tautan dikaitkan dengan lebih dari dua proses?
•Berapa banyak hubungan yang dapat terjadi di antara
setiap pasang proses komunikasi?
•Berapa kapasitas sebuah link?
•Apakah ukuran pesan yang dapat diakomodasi oleh tautan
tetap atau variabel?
•Apakah tautan searah atau dua arah?
44
3.43
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Implementasi Tautan Komunikasi
▪Fisik:
•Berbagi memori
•Bus perangkat keras
•Jaringan
▪Logis:
•Langsung atau tidak langsung
•Sinkron atau asinkron
•Penyangga otomatis atau eksplisit
45
3.44
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Komunikasi Langsung
▪Proses harus saling memberi nama secara eksplisit:
•kirim ( P, pesan ) – mengirim pesan ke proses P
•terima ( Q, pesan ) – menerima pesan dari proses Q
▪Properti tautan komunikasi
•Tautan dibuat secara otomatis
•Tautan dikaitkan dengan tepat satu pasang proses komunikasi
•Di antara setiap pasangan terdapat tepat satu mata rantai
•Tautan mungkin searah, tetapi biasanya dua arah
46
3.45
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Komunikasi Tidak Langsung
▪Pesan diarahkan dan diterima dari kotak surat (juga disebut
sebagai port)
•Setiap kotak surat memiliki id unik
•Proses dapat berkomunikasi hanya jika mereka berbagi kotak
surat
▪Properti tautan komunikasi
•Tautan dibuat hanya jika proses berbagi kotak surat yang sama
•Tautan dapat dikaitkan dengan banyak proses
•Setiap pasangan proses dapat berbagi beberapa tautan
komunikasi
•Tautan mungkin searah atau dua arah
47
3.46
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
▪Operasi
•Buat kotak surat baru (port)
•Kirim dan terima pesan melalui kotak surat
•Hapus kotak surat
▪Primitif didefinisikan sebagai:
•kirim ( A, pesan ) – mengirim pesan ke kotak surat A
•terima ( A, pesan ) – menerima pesan dari kotak surat A
Komunikasi Tidak Langsung (Lanjutan)
48
3.47
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
▪Berbagi kotak surat
•P 1 , P 2 , dan P 3 berbagi kotak surat A
•P 1 , kirim; P 2 dan P 3 terima
•Siapa yang mendapat pesan?
▪Solusi
•Izinkan tautan dikaitkan dengan paling banyak dua
proses
•Izinkan hanya satu proses pada satu waktu untuk
mengeksekusi operasi terima
•Izinkan sistem untuk memilih penerima secara
sewenang-wenang. Pengirim diberitahu siapa penerima
itu.
Komunikasi Tidak Langsung (Lanjutan)
49
3.48
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Sinkronisasi
▪Pemblokiran dianggap sinkron
•Memblokir pengiriman -- pengirim diblokir sampai pesan
diterima
•Memblokir penerimaan -- penerima diblokir sampai pesan
tersedia
▪Non-pemblokiran dianggap asinkron
•Pengiriman tanpa pemblokiran -- pengirim mengirim pesan dan
melanjutkan
•Penerimaan tanpa pemblokiran -- penerima menerima:
Pesan yang valid, atau
Pesan nol
▪Kombinasi yang berbeda mungkin
•Jika keduanya mengirim dan menerima memblokir, kami memiliki
pertemuan
Pengiriman pesan dapat berupa pemblokiran atau non-
pemblokiran
50
3.49
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
▪Produsen
pesan selanjutnya_diproduksi;
sementara (benar) {
/* menghasilkan item di next_produced */
kirim(berikutnya_diproduksi);
}
▪Konsumen
pesan next_consumed;
sementara (benar) {
terima(next_consumed)
/* konsumsi item di next_consumed */
}
Produser-Konsumen: Penyampaian Pesan
51
3.50
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Penyangga
▪Antrean pesan yang dilampirkan ke tautan.
▪Diimplementasikan dalam salah satu dari tiga cara
1. Kapasitas nol – tidak ada pesan yang diantrekan di tautan.
Pengirim harus menunggu penerima (rendezvous)
2. Bounded capacity – panjang terbatas dari n pesan
Pengirim harus menunggu jika tautan penuh
3. Kapasitas tak terbatas – panjang tak terbatas
Pengirim tidak pernah menunggu
52
3.51
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Contoh Sistem IPC - POSIX
▪Memori Bersama POSIX
•Proses pertama membuat segmen memori bersama
shm_fd = shm_open(nama, O CREAT | O RDWR,
0666);
•Juga digunakan untuk membuka segmen yang ada
•Atur ukuran objek
fruncate(shm_fd, 4096);
•Gunakan mmap() untuk memetakan memori penunjuk file ke
objek memori bersama
•Membaca dan menulis ke memori bersama dilakukan dengan
menggunakan penunjuk yang dikembalikan oleh mmap() .
53
3.52
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
IPC POSIX Produser
54
3.53
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
IPC POSIX Konsumen
55
3.54
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Contoh Sistem IPC - Mach
▪Mach komunikasi berbasis pesan
•Bahkan panggilan sistem adalah pesan
•Setiap tugas mendapat dua port saat dibuat - Kernel dan Notify
•Pesan dikirim dan diterima menggunakan fungsi mach_msg()
•Port yang diperlukan untuk komunikasi, dibuat melalui
mach_port_allocate()
•Kirim dan terima bersifat fleksibel; misalnya empat opsi jika kotak
surat penuh:
Tunggu tanpa batas waktu
Tunggu maksimal n milidetik
Segera kembali
Meng-cache pesan untuk sementara
56
3.55
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Pesan Mach
#termasuk<mach/mach.h>
struct pesan {
tajuk mach_msg_header_t;
int data;
} ;
mach port t klien;
port mach t server;
57
3.56
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Mach Message Passing - Klien
58
3.57
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Mach Message Passing - Server
59
3.58
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Contoh Sistem IPC – Windows
▪Pusat pengiriman pesan via lanjutan lokal prosedur
panggilan fasilitas ( LPC ).
•Hanya bekerja antar proses pada sistem yang sama
•Menggunakan port (seperti kotak surat) untuk membangun
dan memelihara saluran komunikasi
•Komunikasi berfungsi sebagai berikut:
Klien membuka pegangan ke koneksi subsistem objek
pelabuhan .
Klien mengirimkan permintaan koneksi.
Server menciptakan dua komunikasi pribadi port dan
mengembalikan pegangan ke salah satunya ke klien.
Klien dan server menggunakan pegangan port yang
sesuai untuk mengirim pesan atau panggilan balik dan
mendengarkan balasan.
60
3.59
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Panggilan Prosedur Lokal di Windows
61
3.60
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Pipa
▪Bertindak sebagai saluran yang memungkinkan dua proses untuk
berkomunikasi
▪Masalah:
•Apakah komunikasi searah atau dua arah?
•Dalam hal komunikasi dua arah, apakah setengah atau dupleks
penuh?
•Harus ada hubungan (yaitu, orangtua-anak ) antara proses
komunikasi?
•Bisakah pipa digunakan melalui jaringan?
▪Pipa biasa – tidak dapat diakses dari luar proses yang membuatnya.
Biasanya, proses induk membuat pipa dan menggunakannya untuk
berkomunikasi dengan proses anak yang dibuatnya.
▪Pipa bernama – dapat diakses tanpa hubungan orangtua-anak.
62
3.61
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Pipa Biasa
▪Pipa Biasa memungkinkan komunikasi dalam gaya produsen-
konsumen standar
▪Produser menulis ke satu ujung ( write-end dari pipa)
▪Konsumen membaca dari ujung yang lain ( ujung baca dari pipa)
▪Oleh karena itu pipa biasa searah
▪Membutuhkan hubungan orang tua-anak antara proses komunikasi
▪Windows menyebut ini anonim pipa
63
3.62
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Pipa bernama
▪Pipa Bernama lebih kuat dari pipa biasa
▪Komunikasi bersifat dua arah
▪Tidak ada hubungan orangtua-anak yang diperlukan antara proses
komunikasi
▪Beberapa proses dapat menggunakan pipa bernama untuk
komunikasi
▪Disediakan pada sistem UNIX dan Windows
64
3.63
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Komunikasi dalam Sistem Client-Server
▪Soket
▪Panggilan Prosedur Jarak Jauh
65
3.64
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Soket
▪Soket didefinisikan sebagai titik akhir untuk komunikasi
▪Penggabungan alamat IP dan port – nomor yang disertakan pada
awal paket pesan untuk membedakan layanan jaringan pada host
▪Soket 161.25.19.8:1625 merujuk ke port 1625 pada host 161.25.19.8
▪Komunikasi terdiri antara sepasang soket
▪Semua port di bawah 1024 terkenal , digunakan untuk layanan
standar
▪Alamat IP khusus 127.0.0.1 ( loopback ) untuk merujuk ke sistem
tempat proses sedang berjalan
66
3.65
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Komunikasi Soket
67
3.66
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Soket di Jawa
▪Tiga jenis soket
•Berorientasi koneksi (
TCP )
•Tanpa koneksi ( UDP )
•Kelas
MulticastSocket–
data dapat dikirim ke
beberapa penerima
▪Pertimbangkan server
"Tanggal" ini di Jawa:
68
3.67
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Soket di Jawa
Klien Tanggal yang setara
69
3.68
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Panggilan Prosedur Jarak Jauh
▪Panggilan prosedur jarak jauh (RPC) abstrak panggilan prosedur
antara proses pada sistem jaringan
•Sekali lagi menggunakan port untuk diferensiasi layanan
▪Rintisan – proxy sisi klien untuk prosedur sebenarnya di server
▪Rintisan sisi klien menempatkan server dan menyusun parameter
▪Rintisan sisi server menerima pesan ini, membongkar parameter yang
disusun, dan menjalankan prosedur di server
▪Di Windows, kompilasi kode rintisan dari spesifikasi yang ditulis dalam
Microsoft Antarmuka Definisi Bahasa ( MDL )
70
3.69
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Panggilan Prosedur Jarak Jauh
(Lanjutan)
▪Representasi data ditangani melalui Representasi Data Eksternal (
XDL ) untuk memperhitungkan arsitektur yang berbeda
•Big-endian dan little-endian
▪Komunikasi jarak jauh memiliki lebih banyak skenario kegagalan
daripada lokal
•Pesan dapat disampaikan tepat satu kali daripada paling
banyak satu kali
▪OS biasanya menyediakan layanan pertemuan (atau mak comblang )
untuk menghubungkan klien dan server
71
3.70
Silberschatz, Galvin and Gagne ©2018
Operating System Concepts – 10thEdition
Pelaksanaan RPC
Matakuliah Sistem Operasi
PROSES
PADA SISTEM OPERASI
Rakhmadi Rahman M.Kom
PERTEMUAN KE-4
Parepare, 09 Maret 2023
Show answer
Auto Play
Slide 1 / 71
SLIDE
Similar Resources on Wayground
64 questions
ALIRAN DALAM ILMU KALAM
Presentation
•
Professional Development
68 questions
IMS Awareness CL 8- CL10
Presentation
•
Professional Development
66 questions
Best Operation Practices (BOP) Training
Presentation
•
Professional Development
65 questions
Tenaga Endogen
Presentation
•
10th Grade - University
67 questions
Kerajaan Maritim Hindu, Buddha dan Islam
Presentation
•
11th Grade
66 questions
KURIKULUM MERDEKA SDS DON BOSCO 2
Presentation
•
Professional Development
67 questions
EVOLUSI
Presentation
•
12th Grade
62 questions
4-5-23 MLA Citation
Presentation
•
9th - 12th Grade
Popular Resources on Wayground
20 questions
STAAR Review Quiz #3
Quiz
•
8th Grade
20 questions
Equivalent Fractions
Quiz
•
3rd Grade
6 questions
Marshmallow Farm Quiz
Quiz
•
2nd - 5th Grade
20 questions
Main Idea and Details
Quiz
•
5th Grade
20 questions
Context Clues
Quiz
•
6th Grade
20 questions
Inferences
Quiz
•
4th Grade
19 questions
Classifying Quadrilaterals
Quiz
•
3rd Grade
12 questions
What makes Nebraska's government unique?
Quiz
•
4th - 5th Grade
Discover more resources for Other
31 questions
Easter Trivia
Quiz
•
KG - 12th Grade
20 questions
Capitalization in sentences
Quiz
•
KG - 4th Grade
10 questions
GMAS ELA Review
Quiz
•
KG - University
10 questions
How to Catch a Dinosaur
Quiz
•
KG - 5th Grade
10 questions
2D and 3D Shapes Review
Presentation
•
KG - 3rd Grade
20 questions
Place Value
Quiz
•
KG - 3rd Grade
26 questions
Customary Measurement
Quiz
•
KG - University
10 questions
Kindergarten Count to 100
Quiz
•
KG