pertemuan5 Proses dan Implementasinya

Download Report

Transcript pertemuan5 Proses dan Implementasinya

 ◦ ◦ ◦ ◦ Tiap proses -> state proses -> dicatat SO -> beragam tabel/senarai Tabel memori Tabel I/O Tabel berkas Tabel 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

  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

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

   Mengelola informasi proses pada SO ◦ ◦ ◦ Proses -> memori utama -> lokasi ruang alamat tertentu/tersendiri -> Ruang alamat =

proses)

◦ Data pemakai

process image

(citra

Program pemakai Stack sistem PCB (Program Control Block)

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

   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

      ◦ ◦ Informasi penjadwalan dan status ◦ Status proses ◦ Prioritas Informasi berkaitan dengan penjadwalan Kejadian Penstrukturan data Komunikasi antarproses Kewenangan proses Manajemen memori ◦ ◦ Kepemilikan dan utilisasi ◦ Berkas yang dibuka resource Pemakaian pemroses Pemakaian sumber daya lainnya

   Terdiri dari register-register pemroses Ketika

running

-> berada di register-register Ketika proses diinterupsi -> semua informasi disimpan -> dikembalikan ketika proses dieksekusi kembali

     PCB Stack pemakai (

user stack

) Ruang alamat proses eksklusif Ruang alamat -> dipakai bersama proses lain Lihat gambar.

      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

   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 Proses

blocked timeout

-> PCB dipindah ke senarai blocked -> PCB dipindah ke senarai ready

Running Ready Blocked PCB

    Tiap proses dilengkapi ID unik Dua masalah utama proteksi PCB: ◦ Bug itu.

pada interrupt handler -> merusak PCB -> menghancurkan kemampuan sistem mengelola proses2 yang diasosiasikan dg PCB ◦ 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 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 context-switching

) dan pengalihan konteks ).

   Interupsi Sistem Trap Supervisor Call

   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 karena terjadinya kesalahan/kondisi2 pengecualian (

exception conditions

dihasilkan proses yg

running

ilegal dalam mengakses berkas ) yg , seperti usaha2 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.

  Panggilan meminta/mengaktifkan bagian2 SO Contoh: proses pemakai

running

meminta layanan I/O seperti membuka berkas

  Terjadi jika proses yg ( ready, blocked ) running beralih menjadi status lain ◦ ◦ ◦ ◦ 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.

   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 ( system ) process-based operating

P0 P1 Kernel P n

P0 Fungsi fungsi Sistem Operasi P1 Fungsi fungsi Sistem Operasi Pn Fungsi fungsi Sistem Operasi Fungsi-fungsi pengalihan proses (process switching functions)

U 0 U 1 U n OS 0 OS 1 Fungsi-Fungsi Pengalihan Proses (Process Switching Functions) U k