Download - Proses dan Implementasinya
Proses danImplementasinya
Tiap proses -> state proses -> dicatat SO -> beragam tabel/senarai◦ Tabel memori◦ Tabel I/O◦ Tabel berkas◦ Tabel proses
Implementasi Proses
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
Tabel Memori
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
Tabel I/O
Berisi informasi mengenai ekstensi berkas, lokasi pada memori sekunder, status saat itu & atribut berkas lainnya
Tabel Berkas
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)
Tabel Proses
Memori
Peralatan
Berkas
ProsesProses 0
Proses 1
Proses 2
Proses 3
Struktur Umum Tabel Kendali
Tabel-Tabel Memori
Tabel-Tabel Peralatan
Tabel-Tabel Berkas
Tabel Proses
Proses n
Proses 0
Proses n
Citra Proses
Citra Proses
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
Process Control Block (PCB)
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
Informasi Kendali Proses
Terdiri dari register-register pemroses Ketika running -> berada di register-
register Ketika proses diinterupsi -> semua
informasi disimpan -> dikembalikan ketika proses dieksekusi kembali
Informasi Status Pemroses
PCB Stack pemakai (user stack) Ruang alamat proses eksklusif Ruang alamat -> dipakai bersama
proses lain Lihat gambar.
Isi Struktur Citra Proses
Process Control Block (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
PCB
CPU Berpidah-Pindah dari Satu Proses ke Proses yang Lain
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
PCB & Senarai Proses
Running
Ready
Blocked
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.
Pengaksesan Informasi di PCB
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
Beberapa Masalah Pengalihan Proses:◦ Kejadian2 apa saja pemicu pengalihan proses?◦ Terdapatnya perbedaan antara pengalihan
proses (process-switching) dan pengalihan konteks (context-switching).
Pengendalian Proses
Interupsi Sistem Trap Supervisor Call
Kejadian-Kejadian Penyebab Pengalihan Proses
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
Interupsi Sistem
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.
Trap
Panggilan meminta/mengaktifkan bagian2 SO
Contoh: proses pemakai running meminta layanan I/O seperti membuka berkas
Supervisor Call
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.
Tahap-Tahap Pengalihan Proses
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)
Pelaksanaan Eksekusi Sistem Operasi
Kernel Sebagai Non-Proses
Kernel
P0 P1 Pn
Dieksekusi dalam Proses Pemakai
Fungsi-fungsi pengalihan proses(process switching functions)
Fungsi-fungsi SistemOperasi
Fungsi-fungsi SistemOperasi
Fungsi-fungsi SistemOperasi
P0 P1 Pn
Sistem Operasi Sebagai Kumpulan Proses
Fungsi-Fungsi Pengalihan Proses(Process Switching Functions)
U0 U1 Un OS0 OS1 Uk
Terima kasih