IMAGE PROSES (PROCESS IMAGE)

Keseluruhan alokasi memori utama untuk eksekusi suatu proses disebut process image. Lokasi process image tergantung dari mekanisme manajemen memori yang digunakan. Pada kasus yang sederhana, process image dialokasikan sebagai sebuah blok yang berurutan (contiguous block) pada memori utama. Pada sebagian besar sistem operasi modus, process image disimpan dalam kumpulan blok memori yang letaknya tidak harus berurutan. Blok-blok memori tersebut ukuran dapat bervariasi (disebut sistem segmentasi) ataupun berukuran sama (disebut sistem halaman) ataupun kombinasi keduanya (disebut sistem hybrid).

Setiap rekaman di process table mengandung paling sedikit sebuah pointer ke sebuah process image. Jika process image memiliki beberapa blok memori maka informasi ini disimpan di process table atau lewat referensi silang ke memory table. Sebuah process image memiliki elemen-elemen sebagai berikut :

  1. Data pengguna (User Data). Data pengguna merupakan bagian image proses yang dapat dimodifikasi, yang meliputi data-data program.
  2. Kode program (User Program). Kode program merupakan bagian image proses yang menyimpan kode-kode instruksi program yang akan dieksekusi.
  3. Sistem Stack. (User Stack). Setiap proses memiliki satu lebih sistem stack yang merupakan struktur data yang bekerja berdasarkan prinsip LIFO (Last In First Out). Area Stack digunakan untuk menyimpan parameter dan alamat terpanggil dari prosedur atau system call..
  4. Process Control Block (PCB). Process Control Block merupakan bagian image proses yang menyimpan informasi yang diperlukan sistem operasi untuk menyimpan informasi yang diperlukan untuk menyimpan konteks prosesor, yaitu register prosesor saat terakhir eksekusi proses sebelu dialihkan ke proses lain ataupun karena terjadi interupsi.

ATRIBUT PROSES

Dalam suatu sistem operasi multitasking, banyak informasi yang diperlukan dikumpulkan dari masing-masing proses agar pengaturan dapat dilakukan dengan baik. Informasi ini terletak dalam sebuah Process Control Block (PCB). Elemen data yang terdapat pada suatu PCB dapat dikelompokkan dalam 3 kategori :

  1. Process Indetification. Kategori ini dengan indetifikasi proses secara unik, seperti proses yang menciptakannya secara indetitas pengguna yang menciptakannya. Dengan idetifikasi ini proses akan dikaitkan ke tabel-tabel lain. Elemen data yang termasuk dalam kategori ini adalah ID proses. ID Proses parent yang menciptakannya, dan ID user.
  2. Processor State Information. Kategori ini terdiri dari isi register-register prosesor. Pada saat proses berstatus running, informasi ini berada di register-register. Ketika proses diinterupsi, semua informasi register harus disimpan agar dapat dikembalikan pada saat proses dieksekusi kembali. Elemen-elemen dari ketegori ini adalah user-visible register, control and status register, dan stack pointer.
  3. Process Control Information. Kategori ini berisi yang diperlukan sistem operasi untuk mengendalikan dan mengkoordinasikan beragam proses aktif. Elemen-elemen dari kategori ini adalah :
    • Schedulling and State Information. Berisi informasi yang digunakan dalam penjadwalan, antara lain status proses, prioritas, informasi yang berkaitan dengan penjadwalan (durasi eksekusi terakhir kali, durasi eksekusi dalam modus kernel, durasi eksekusi dalam modus user), serta identitas event.
    • Data Structing. Proses dapat dikaitkan (link) dengan proses lain dalam sebuah antrian atau ring. Informasi ini merupakan pointer yang membentuk rantai link-list ready.
    • Interprocess Communication. Flag, sinyal, dan pesan yang digunakan untuk komunikasi antar proses.
    • Process Privilages. Kewenangan proses atau memori dan tipe instruksi.
    • Memory Mangement. Pointer ke tabel segmen ataupun tabel halam dari memori maya.
    • Resource Ownership and Utilization. Berisi sejarah penggunaan sumber daya yang akan digunakan untuk penjadwalan.

Setiap proses yang tercipta memiliki nomor ID sebagai tanda pengenal yang unik. Saat suatu proses menciptakan proses lainnya, ID proses penciptaan akan digunakan untuk mengindikasikan parent process dan sebagai informasi untuk melacak user yang bertanggung jawab atas proses baru bersangkutan.

PCB dari proses-proses yang sedang menunggu dieksekusi akan terangkai sebagai suatu link-list yang merupakan implementasi dari antrian ready. PCB suatu proses akan dipindahkan ke link-list (antrian ready) ke antrian I/O jika proses bersangkutan beralih ke status blocked karena menunggu pembacaan dari peranti I/O.