4 implementasi proses - · pdf file• manajemen memori • kepemilikan dan utilisasi...

28
4 Implementasi Proses

Upload: lamtu

Post on 06-Feb-2018

226 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

4Implementasi Proses

Page 2: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Implementasi Proses

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

Page 3: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Tabel Berkas

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

Page 6: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke 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)

Page 7: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Struktur Umum Tabel Kendali

Memori

Peralatan

Berkas

Proses

Tabel-Tabel Memori

Tabel-Tabel Peralatan

Tabel-Tabel Berkas

Proses 0Proses 1Proses 2Proses 3

Tabel Proses

Proses n

Proses 0

Proses n

Citra Proses

Citra Proses

Page 8: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Informasi Status Pemroses• Terdiri dari register-register pemroses• Ketika running -> berada di register-register• Ketika proses diinterupsi -> semua informasi

disimpan -> dikembalikan ketika prosesdieksekusi kembali

Page 11: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Isi Struktur Citra Proses

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

Page 12: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Process Control Block (PCB)

Page 13: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

CPU Berpidah-Pindah dari Satu Proseske Proses yang Lain

Page 15: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

PCB & Senarai Proses

• Tiap PCB berisi semua informasi mengenaiproses

• 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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Running

Ready

Blocked

PCB

Page 17: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Pengaksesan Informasi di PCB

• Tiap proses dilengkapi ID unik• Dua masalah utama proteksi PCB:

– Bug pada interrupt handler -> merusak PCB -> menghancurkankemampuan sistem mengelola proses2 yang diasosiasikan dg PCB itu.

– Perubahan rancangan struktur PCB berdampak pada sejumlahmodul sistem operasi yg memakai PCB

• Solusi : semua rutin SO melewati satu rutin khusus yaiturutin penanganan PCB dlm mengakses PCB.

• Tugas rutin ini memproteksi PCB & menjadi perantarapembacaan & penulisan PCB.

Page 18: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

• Solusi I: Rutin penanganan PCB akan selalumenjaga agar interface tidak perlu harus diubah

• Solusi II: Interface terhadap rutin2 lain masihtetap dipertahankan walau rincian2 PCB telahdiubah

Page 19: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Kejadian-Kejadian PenyebabPengalihan Proses

• Interupsi Sistem• Trap• Supervisor Call

Page 21: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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 -> prosesdialihkan 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 segeramemerintahkan utk mengambil page yg terdapat alamat ygdimaksud untuk dipindah ke memori utama

Page 22: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Trap• Interupsi karena terjadinya kesalahan/kondisi2

pengecualian (exception conditions) ygdihasilkan proses yg running, seperti usaha2 ilegal dalam mengakses berkas

• SO menentukan apakah kesalahan yg dibuatfatal? Jika YA, proses disingkirkan dan terjadilahpengalihan proses. Jika TIDAK, maka tergantungsifat kesalahan dan rancangan SO. Kemungkinanyg dilakukan adalah menjalankan prosedurpemulihan/memperingatkan pemakai

• Saat terjadi trap, mungkin terjadi pengalihanproses, mungkin pula me-resume proses itu.

Page 23: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Supervisor Call

• Panggilan meminta/mengaktifkan bagian2 SO• Contoh: proses pemakai running meminta

layanan I/O seperti membuka berkas

Page 24: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Pelaksanaan EksekusiSistem Operasi

• SO juga perangkat lunak, yaitu program yg perludieksekusi pemroses.

• Jika SO hanya kumpulan program dan dieksekusipemroses spt program lainnya, apakah SO jugamerupakan 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: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Kernel Sebagai Non-Proses

Kernel

P0 P1 Pn

Page 27: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Dieksekusi dalamProses Pemakai

Fungsi-fungsi pengalihan proses(process switching functions)

Fungsi-fungsiSistemOperasi

Fungsi-fungsiSistemOperasi

Fungsi-fungsiSistemOperasi

P0 P1 Pn

Page 28: 4 Implementasi Proses - · PDF file• Manajemen memori • Kepemilikan dan utilisasi resource – Berkas yang dibuka – Pemakaian pemroses ... dimaksud untuk dipindah ke memori utama

Sistem Operasi SebagaiKumpulan Proses

Fungsi-Fungsi Pengalihan Proses(Process Switching Functions)

U0 U1 Un OS0 OS1 Uk