Implementasi Proses Implementasi Proses Tiap proses state proses

  • Slides: 28
Download presentation
Implementasi Proses

Implementasi Proses

Implementasi Proses • Tiap proses -> state proses -> dicatat SO -> beragam tabel/senarai

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: –

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 – Informasi 2 lain yang digunakan utk pengelolaan memori

Tabel I/O • Pada waktu digunakan proses tertentu -> dijaga agar tidak digunakan proses

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

Tabel Berkas • Berisi informasi mengenai ekstensi berkas, lokasi pada memori sekunder, status saat

Tabel Berkas • Berisi informasi mengenai ekstensi berkas, lokasi pada memori sekunder, status saat itu & atribut berkas lainnya

Tabel Proses • Mengelola informasi proses pada SO • Proses -> memori utama ->

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)

Struktur Umum Tabel Kendali Memori Tabel-Tabel Memori Peralatan Tabel-Tabel Peralatan Berkas Tabel-Tabel Berkas Proses

Struktur Umum Tabel Kendali Memori Tabel-Tabel Memori Peralatan Tabel-Tabel Peralatan Berkas Tabel-Tabel Berkas Proses Tabel Proses Citra Proses 0 Proses 1 Citra Proses 2 Proses 3 Proses n

Process Control Block (PCB) • SO -> banyak informasi -> masing-masing proses -> berada

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 yang menciptakan – Identifier pemakai

Informasi Kendali Proses • Informasi penjadwalan dan status – Status proses – Prioritas –

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

Informasi Status Pemroses • Terdiri dari register-register pemroses • Ketika running -> berada di

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

Isi Struktur Citra Proses • • • PCB Stack pemakai (user stack) Ruang alamat

Isi Struktur Citra Proses • • • PCB Stack pemakai (user stack) Ruang alamat proses eksklusif Ruang alamat -> dipakai bersama proses lain Lihat gambar.

Process Control Block (PCB)

Process Control Block (PCB)

PCB • Status proses: new, ready, running, waiting, dll • Program Counter: stack yg

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

CPU Berpidah-Pindah dari Satu Proses ke Proses yang Lain

CPU Berpidah-Pindah dari Satu Proses ke Proses yang Lain

PCB & Senarai Proses • Tiap PCB berisi semua informasi mengenai proses • Lihat

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

PCB Running Ready Blocked

PCB Running Ready Blocked

Pengaksesan Informasi di PCB • Tiap proses dilengkapi ID unik • Dua masalah utama

Pengaksesan Informasi di PCB • Tiap proses dilengkapi ID unik • Dua masalah utama proteksi PCB: – Bug pada interrupt handler -> merusak PCB -> menghancurkan kemampuan sistem mengelola proses 2 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.

 • Solusi I: Rutin penanganan PCB akan selalu menjaga agar interface tidak perlu

• Solusi I: Rutin penanganan PCB akan selalu menjaga agar interface tidak perlu harus diubah • Solusi II: Interface terhadap rutin 2 lain masih tetap dipertahankan walau rincian 2 PCB telah diubah

Pengendalian Proses • Beberapa Masalah Pengalihan Proses: – Kejadian 2 apa saja pemicu pengalihan

Pengendalian Proses • Beberapa Masalah Pengalihan Proses: – Kejadian 2 apa saja pemicu pengalihan proses? – Terdapatnya perbedaan antara pengalihan proses (process-switching) dan pengalihan konteks (context-switching).

Kejadian-Kejadian Penyebab Pengalihan Proses • Interupsi Sistem • Trap • Supervisor Call

Kejadian-Kejadian Penyebab Pengalihan Proses • Interupsi Sistem • Trap • Supervisor Call

Interupsi Sistem • Disebabkan oleh kejadian eksternal dan tak bergantung proses yang saat itu

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

Trap • Interupsi karena terjadinya kesalahan/kondisi 2 pengecualian (exception conditions) yg dihasilkan proses yg

Trap • Interupsi karena terjadinya kesalahan/kondisi 2 pengecualian (exception conditions) yg dihasilkan proses yg running, seperti usaha 2 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.

Supervisor Call • Panggilan meminta/mengaktifkan bagian 2 SO • Contoh: proses pemakai running meminta

Supervisor Call • Panggilan meminta/mengaktifkan bagian 2 SO • Contoh: proses pemakai running meminta layanan I/O seperti membuka berkas

Tahap-Tahap Pengalihan Proses • Terjadi jika proses yg running beralih menjadi status lain (ready,

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 register 2 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 struktur 2 data manajemen memori – Kembalikan konteks pemroses dg konteks simpanan yg memberitahu konteks proses terakhir saat dialihkan tadi.

Pelaksanaan Eksekusi Sistem Operasi • SO juga perangkat lunak, yaitu program yg perlu dieksekusi

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 proses 2 lain (kernel sebagai non-proses) – Fungsi 2 SO dieksekusi dalam proses pemakai – SO juga sebagai kumpulan proses (process-based operating system)

Kernel Sebagai Non-Proses P 0 P 1 Pn Kernel

Kernel Sebagai Non-Proses P 0 P 1 Pn Kernel

Dieksekusi dalam Proses Pemakai P 0 Fungsifungsi Sistem Operasi P 1 Pn Fungsifungsi Sistem

Dieksekusi dalam Proses Pemakai P 0 Fungsifungsi Sistem Operasi P 1 Pn Fungsifungsi Sistem Operasi Fungsi-fungsi pengalihan proses (process switching functions)

Sistem Operasi Sebagai Kumpulan Proses U 0 U 1 Un OS 0 OS 1

Sistem Operasi Sebagai Kumpulan Proses U 0 U 1 Un OS 0 OS 1 Fungsi-Fungsi Pengalihan Proses (Process Switching Functions) Uk