29
Proses dan Implementasinya

Proses dan Implementasinya

  • Upload
    cedric

  • View
    61

  • Download
    1

Embed Size (px)

DESCRIPTION

Proses dan Implementasinya. 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 Presentation

Citation preview

Page 1: Proses dan Implementasinya

Proses danImplementasinya

Page 2: Proses dan Implementasinya

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

Implementasi Proses

Page 3: Proses dan Implementasinya

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

Page 4: Proses dan Implementasinya

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

Page 5: Proses dan Implementasinya

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

Tabel Berkas

Page 6: Proses dan Implementasinya

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

Page 7: Proses dan Implementasinya

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

Page 8: Proses dan Implementasinya

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)

Page 9: Proses dan Implementasinya

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

Page 10: Proses dan Implementasinya

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

Page 11: Proses dan Implementasinya

PCB Stack pemakai (user stack) Ruang alamat proses eksklusif Ruang alamat -> dipakai bersama

proses lain Lihat gambar.

Isi Struktur Citra Proses

Page 12: Proses dan Implementasinya

Process Control Block (PCB)

Page 13: Proses dan Implementasinya

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

Page 14: Proses dan Implementasinya

CPU Berpidah-Pindah dari Satu Proses ke Proses yang Lain

Page 15: Proses dan Implementasinya

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

Page 16: Proses dan Implementasinya

Running

Ready

Blocked

PCB

Page 17: Proses dan Implementasinya

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

Page 18: Proses dan Implementasinya

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: Proses dan Implementasinya

Beberapa Masalah Pengalihan Proses:◦ Kejadian2 apa saja pemicu pengalihan proses?◦ Terdapatnya perbedaan antara pengalihan

proses (process-switching) dan pengalihan konteks (context-switching).

Pengendalian Proses

Page 20: Proses dan Implementasinya

Interupsi Sistem Trap Supervisor Call

Kejadian-Kejadian Penyebab Pengalihan Proses

Page 21: Proses dan Implementasinya

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

Page 22: Proses dan Implementasinya

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

Page 23: Proses dan Implementasinya

Panggilan meminta/mengaktifkan bagian2 SO

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

Supervisor Call

Page 24: Proses dan Implementasinya

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

Page 25: Proses dan Implementasinya

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

Page 26: Proses dan Implementasinya

Kernel Sebagai Non-Proses

Kernel

P0 P1 Pn

Page 27: Proses dan Implementasinya

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: Proses dan Implementasinya

Sistem Operasi Sebagai Kumpulan Proses

Fungsi-Fungsi Pengalihan Proses(Process Switching Functions)

U0 U1 Un OS0 OS1 Uk

Page 29: Proses dan Implementasinya

Terima kasih