Implementasi Proses

  • Published on
    01-Jan-2016

  • View
    43

  • Download
    4

Embed Size (px)

DESCRIPTION

Implementasi Proses. 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

Transcript

  • Implementasi Proses

  • Implementasi ProsesTiap proses -> state proses -> dicatat SO -> beragam tabel/senaraiTabel memoriTabel I/OTabel berkasTabel proses

  • Tabel MemoriMenjaga keutuhan antara memori utama & memori sekunderInformasi:Alokasi memori utama yang dipakai prosesAlokasi memori sekunder yang dipakai prosesAtribut segmen memori utama dan sekunderInformasi2 lain yang digunakan utk pengelolaan memori

  • Tabel I/OPada waktu digunakan proses tertentu -> dijaga agar tidak digunakan proses lainInformasi:Status operasi I/OLokasi memori utamaTransfer data dengan perangkat I/O

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

  • Tabel ProsesMengelola informasi proses pada SOProses -> memori utama -> lokasi ruang alamat tertentu/tersendiri ->Ruang alamat = process image (citra proses)Data pemakaiProgram pemakaiStack sistemPCB (Program Control Block)

  • Struktur Umum Tabel KendaliTabel-Tabel MemoriTabel-Tabel PeralatanTabel-Tabel BerkasTabel ProsesProses nProses 0Proses nCitra ProsesCitra Proses

  • Process Control Block (PCB)SO -> banyak informasi -> masing-masing proses -> berada di PCBTiga kelompok elemen informasi pada PCB:Identifikasi prosesInformasi status pemrosesInformasi kendali prosesIdentifier numerik meliputi:Identifier prosesIdentifier proses yang menciptakanIdentifier pemakai

  • Informasi Kendali ProsesInformasi penjadwalan dan statusStatus prosesPrioritasInformasi berkaitan dengan penjadwalanKejadianPenstrukturan dataKomunikasi antarprosesKewenangan prosesManajemen memoriKepemilikan dan utilisasi resourceBerkas yang dibukaPemakaian pemrosesPemakaian sumber daya lainnya

  • Informasi Status PemrosesTerdiri dari register-register pemrosesKetika running -> berada di register-registerKetika proses diinterupsi -> semua informasi disimpan -> dikembalikan ketika proses dieksekusi kembali

  • Isi Struktur Citra ProsesPCBStack pemakai (user stack)Ruang alamat proses eksklusifRuang alamat -> dipakai bersama proses lainLihat gambar.

  • Process Control Block (PCB)

  • PCBStatus proses: new, ready, running, waiting, dllProgram Counter: stack yg berisi alamat dari instruksi selanjutnya untuk dieksekusiCPU registerInformasi manajemen memoriInformasi pencatatanInformasi status I/O

  • CPU Berpidah-Pindah dari Satu Proses ke Proses yang Lain

  • PCB & Senarai ProsesTiap PCB berisi semua informasi mengenai prosesLihat gambarHanya ada satu PCB berada pada senarai running (sistem multiprogramming)Proses selesai -> dijalankan operasi terminasi sehingga PCB tak ada lagiProses blocked -> PCB dipindah ke senarai blockedProses timeout -> PCB dipindah ke senarai ready

  • PCB

  • Pengaksesan Informasi di PCBTiap proses dilengkapi ID unikDua 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 PCBSolusi : 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

  • Pengendalian ProsesBeberapa Masalah Pengalihan Proses:Kejadian2 apa saja pemicu pengalihan proses?Terdapatnya perbedaan antara pengalihan proses (process-switching) dan pengalihan konteks (context-switching).

  • Kejadian-Kejadian Penyebab Pengalihan ProsesInterupsi SistemTrapSupervisor Call

  • Interupsi SistemDisebabkan oleh kejadian eksternal dan tak bergantung proses yang saat itu sedang runningContoh: selesainya operasi I/O.Tipe-tipe interupsiInterupsi 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 runningInterupsi I/O (I/O interrupt)Peralatan I/O melakukan interupsi meminta layanan SOPage/Memory FaultPemroses 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

  • TrapInterupsi karena terjadinya kesalahan/kondisi2 pengecualian (exception conditions) yg dihasilkan proses yg running, seperti usaha2 ilegal dalam mengakses berkasSO 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 pemakaiSaat terjadi trap, mungkin terjadi pengalihan proses, mungkin pula me-resume proses itu.

  • Supervisor CallPanggilan meminta/mengaktifkan bagian2 SOContoh: proses pemakai running meminta layanan I/O seperti membuka berkas

  • Tahap-Tahap Pengalihan ProsesTerjadi 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 lainPerbarui PCB proses yg running.Pindahkan PCB proses ke senarai yg cocokPilih satu proses lain utk dieksekusi sesuai jadwalnyaPerbarui PCB proses yg dipilihPerbarui struktur2 data manajemen memoriKembalikan konteks pemroses dg konteks simpanan yg memberitahu konteks proses terakhir saat dialihkan tadi.

  • Pelaksanaan Eksekusi Sistem OperasiSO 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 pemakaiSO juga sebagai kumpulan proses (process-based operating system)

  • Kernel Sebagai Non-ProsesKernelP0P1Pn

  • Dieksekusi dalam Proses PemakaiFungsi-fungsi pengalihan proses(process switching functions)Fungsi-fungsi SistemOperasiFungsi-fungsi SistemOperasi

    Fungsi-fungsi SistemOperasi

    P0P1Pn

  • Sistem Operasi Sebagai Kumpulan ProsesFungsi-Fungsi Pengalihan Proses(Process Switching Functions)U0U1UnOS0OS1Uk

Recommended

View more >