Proses dan Implementasinya

Preview:

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

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