implementasi proses
DESCRIPTION
Implementasi Proses. Implementasi Proses. Tiap proses -> state proses -> dicatat SO -> beragam tabel/senarai Tabel memori Tabel I/O Tabel berkas Tabel proses. Tabel Memori. Menjaga keutuhan antara memori utama & memori sekunder Informasi: Alokasi memori utama yang dipakai proses - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/1.jpg)
Implementasi Proses
![Page 2: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/2.jpg)
Implementasi Proses
• Tiap proses -> state proses -> dicatat SO -> beragam tabel/senarai– Tabel memori– Tabel I/O– Tabel berkas– Tabel proses
![Page 3: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/3.jpg)
Tabel Memori
• Menjaga keutuhan antara memori utama & memori sekunder
• Informasi:– Alokasi memori utama yang dipakai
proses– Alokasi memori sekunder yang dipakai
proses– Atribut segmen memori utama dan
sekunder– Informasi2 lain yang digunakan utk
pengelolaan memori
![Page 4: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/4.jpg)
Tabel I/O
• Pada waktu digunakan proses tertentu -> dijaga agar tidak digunakan proses lain
• Informasi:– Status operasi I/O– Lokasi memori utama– Transfer data dengan perangkat I/O
![Page 5: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/5.jpg)
Tabel Berkas
• Berisi informasi mengenai ekstensi berkas, lokasi pada memori sekunder, status saat itu & atribut berkas lainnya
![Page 6: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/6.jpg)
Tabel Proses
• Mengelola informasi proses pada SO• Proses -> memori utama -> lokasi
ruang alamat tertentu/tersendiri ->• Ruang alamat = process image (citra
proses)– Data pemakai– Program pemakai– Stack sistem– PCB (Program Control Block)
![Page 7: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/7.jpg)
Struktur Umum Tabel Kendali
Memori
Peralatan
Berkas
Proses
Tabel-Tabel Memori
Tabel-Tabel Peralatan
Tabel-Tabel Berkas
Proses 0
Proses 1
Proses 2
Proses 3
Tabel Proses
Proses n
Proses 0
Proses n
Citra Proses
Citra Proses
![Page 8: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/8.jpg)
Process Control Block (PCB)
• SO -> banyak informasi -> masing-masing proses -> berada di PCB
• Tiga kelompok elemen informasi pada PCB:– Identifikasi proses– Informasi status pemroses– Informasi kendali proses
• Identifier numerik meliputi:– Identifier proses– Identifier proses yang menciptakan– Identifier pemakai
![Page 9: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/9.jpg)
Informasi Kendali Proses• Informasi penjadwalan dan status
– Status proses– Prioritas– Informasi berkaitan dengan penjadwalan– Kejadian
• Penstrukturan data• Komunikasi antarproses• Kewenangan proses• Manajemen memori• Kepemilikan dan utilisasi resource
– Berkas yang dibuka– Pemakaian pemroses– Pemakaian sumber daya lainnya
![Page 10: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/10.jpg)
Informasi Status Pemroses
• Terdiri dari register-register pemroses• Ketika running -> berada di register-
register• Ketika proses diinterupsi -> semua
informasi disimpan -> dikembalikan ketika proses dieksekusi kembali
![Page 11: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/11.jpg)
Isi Struktur Citra Proses
• PCB• Stack pemakai (user stack)• Ruang alamat proses eksklusif• Ruang alamat -> dipakai bersama
proses lain• Lihat gambar.
![Page 12: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/12.jpg)
Process Control Block (PCB)
![Page 13: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/13.jpg)
PCB• Status proses: new, ready, running,
waiting, dll• Program Counter: stack yg berisi alamat
dari instruksi selanjutnya untuk dieksekusi• CPU register• Informasi manajemen memori• Informasi pencatatan• Informasi status I/O
![Page 14: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/14.jpg)
CPU Berpidah-Pindah dari Satu Proses ke Proses yang Lain
![Page 15: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/15.jpg)
PCB & Senarai Proses
• Tiap PCB berisi semua informasi mengenai proses
• Lihat gambar• Hanya ada satu PCB berada pada senarai
running (sistem multiprogramming)– Proses selesai -> dijalankan operasi terminasi
sehingga PCB tak ada lagi– Proses blocked -> PCB dipindah ke senarai
blocked– Proses timeout -> PCB dipindah ke senarai
ready
![Page 16: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/16.jpg)
Running
Ready
Blocked
PCB
![Page 17: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/17.jpg)
Pengaksesan Informasi di PCB
• Tiap proses dilengkapi ID unik• Dua masalah utama proteksi PCB:
– Bug pada interrupt handler -> merusak PCB -> menghancurkan kemampuan sistem mengelola proses2 yang diasosiasikan dg PCB itu.
– Perubahan rancangan struktur PCB berdampak pada sejumlah modul sistem operasi yg memakai PCB
• Solusi : semua rutin SO melewati satu rutin khusus yaitu rutin penanganan PCB dlm mengakses PCB.
• Tugas rutin ini memproteksi PCB & menjadi perantara pembacaan & penulisan PCB.
![Page 18: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/18.jpg)
• Solusi I: Rutin penanganan PCB akan selalu menjaga agar interface tidak perlu harus diubah
• Solusi II: Interface terhadap rutin2 lain masih tetap dipertahankan walau rincian2 PCB telah diubah
![Page 19: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/19.jpg)
Pengendalian Proses
• Beberapa Masalah Pengalihan Proses:– Kejadian2 apa saja pemicu pengalihan proses?– Terdapatnya perbedaan antara pengalihan
proses (process-switching) dan pengalihan konteks (context-switching).
![Page 20: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/20.jpg)
Kejadian-Kejadian Penyebab Pengalihan Proses
• Interupsi Sistem• Trap• Supervisor Call
![Page 21: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/21.jpg)
Interupsi Sistem• Disebabkan oleh kejadian eksternal dan tak
bergantung proses yang saat itu sedang running• Contoh: selesainya operasi I/O.• Tipe-tipe interupsi
– Interupsi Clock (clock interrupt)• SO (penjadwal) menentukan apakah proses yg sedang running
telah mengeksekusi selama jatah waktunya. Jika YA -> proses dialihkan ke status ready -> proses lain dijadwalkan running
– Interupsi I/O (I/O interrupt)• Peralatan I/O melakukan interupsi meminta layanan SO
– Page/Memory Fault• Pemroses menemukan pengacuan alamat memori maya
yg tdk terdapat di memori utama (fisik). SO segera memerintahkan utk mengambil page yg terdapat alamat yg dimaksud untuk dipindah ke memori utama
![Page 22: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/22.jpg)
Trap• Interupsi karena terjadinya kesalahan/kondisi2
pengecualian (exception conditions) yg dihasilkan proses yg running, seperti usaha2 ilegal dalam mengakses berkas
• SO menentukan apakah kesalahan yg dibuat fatal? Jika YA, proses disingkirkan dan terjadilah pengalihan proses. Jika TIDAK, maka tergantung sifat kesalahan dan rancangan SO. Kemungkinan yg dilakukan adalah menjalankan prosedur pemulihan/memperingatkan pemakai
• Saat terjadi trap, mungkin terjadi pengalihan proses, mungkin pula me-resume proses itu.
![Page 23: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/23.jpg)
Supervisor Call
• Panggilan meminta/mengaktifkan bagian2 SO
• Contoh: proses pemakai running meminta layanan I/O seperti membuka berkas
![Page 24: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/24.jpg)
Tahap-Tahap Pengalihan Proses
• Terjadi jika proses yg running beralih menjadi status lain (ready, blocked)
• Langkah-langkah yg terlibat dlm pengalihan proses:– Simpan konteks pemroses, termasuk register PC, dan
register2 lain– Perbarui PCB proses yg running.– Pindahkan PCB proses ke senarai yg cocok– Pilih satu proses lain utk dieksekusi sesuai jadwalnya– Perbarui PCB proses yg dipilih– Perbarui struktur2 data manajemen memori– Kembalikan konteks pemroses dg konteks simpanan yg
memberitahu konteks proses terakhir saat dialihkan tadi.
![Page 25: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/25.jpg)
Pelaksanaan Eksekusi Sistem Operasi
• SO juga perangkat lunak, yaitu program yg perlu dieksekusi pemroses.
• Jika SO hanya kumpulan program dan dieksekusi pemroses spt program lainnya, apakah SO juga merupakan proses?
• Jawabannya bergantung pada struktur SO yang dipilih. Antara lain:– SO sbg kernel tersendiri berbeda dg proses2 lain (kernel
sebagai non-proses)– Fungsi2 SO dieksekusi dalam proses pemakai– SO juga sebagai kumpulan proses (process-based
operating system)
![Page 26: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/26.jpg)
Kernel Sebagai Non-Proses
Kernel
P0 P1 Pn
![Page 27: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/27.jpg)
Dieksekusi dalam Proses Pemakai
Fungsi-fungsi pengalihan proses(process switching functions)
Fungsi-fungsi SistemOperasi
Fungsi-fungsi SistemOperasi
Fungsi-fungsi SistemOperasi
P0 P1 Pn
![Page 28: Implementasi Proses](https://reader033.vdocuments.net/reader033/viewer/2022042608/5681320d550346895d98601a/html5/thumbnails/28.jpg)
Sistem Operasi Sebagai Kumpulan Proses
Fungsi-Fungsi Pengalihan Proses(Process Switching Functions)
U0 U1 Un OS0 OS1 Uk