Download ppt - Implementasi Proses

Transcript
Page 1: Implementasi Proses

Implementasi Proses

Page 2: Implementasi Proses

Implementasi Proses

• Tiap proses -> state proses -> dicatat SO -> beragam tabel/senarai– Tabel memori– Tabel I/O– Tabel berkas– Tabel proses

Page 3: Implementasi Proses

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

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

Tabel Berkas

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

Page 6: Implementasi Proses

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

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

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

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

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

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

Process Control Block (PCB)

Page 13: Implementasi Proses

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

CPU Berpidah-Pindah dari Satu Proses ke Proses yang Lain

Page 15: Implementasi Proses

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

Running

Ready

Blocked

PCB

Page 17: Implementasi Proses

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

• 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

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

Kejadian-Kejadian Penyebab Pengalihan Proses

• Interupsi Sistem• Trap• Supervisor Call

Page 21: Implementasi Proses

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

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

Supervisor Call

• Panggilan meminta/mengaktifkan bagian2 SO

• Contoh: proses pemakai running meminta layanan I/O seperti membuka berkas

Page 24: Implementasi Proses

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

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

Kernel Sebagai Non-Proses

Kernel

P0 P1 Pn

Page 27: Implementasi Proses

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

Sistem Operasi Sebagai Kumpulan Proses

Fungsi-Fungsi Pengalihan Proses(Process Switching Functions)

U0 U1 Un OS0 OS1 Uk


Recommended