Jumat, 08 Mei 2015

Process Description and Control

Kita dapat mengartikan processes sebagai  sebuah entitas yang terdiri dari sejumlah element. Dua elemen yang terpenting dari sebuah proses adalah  program code (yang mungkin dibagikan dengan proses lainnya yang melakukan task yang sama) dan set of data (yang diasosiasikan dengan kode tersebut). Pada point saat tertentu ketika program dieksekusi, proses dapat dikategorikan secara unik dengan menggunakan beberapa elemen, yaitu:

  • Identifier
    Sebuah identikator yang unik yang diasosiasikan dengan prose untuk membedakan hal tersebut dari semua proses lainnya.
  • State
    Jika proses sedang dieksekusi sekarang maka program tersebut sedang berada dalam state running.
  • Priority
    Level prioritas bergantung pada proses lainnya.
  • Program Counter
    Alamat dari instruksi selanjutnya di dalam program untuk dijalankan.
  • Memory pointer
    Termasuk pointer pada kode program dan data yang diasosiasikan pada proses ditambah blok memory yang dibagikan pada proses lainnya. 
  • Context data
    Merupakan data yang ditampilkan pada register di dalam prosesor sementara proses dijalankan.
  • I/O status information
    Termasuk juga outstanding I/O request, I/O device  yang diasign pada proses, list dari file yang digunakan dalam proses dan sebagainya.
  • Accounting information
    Termasuk total waktu prosesor dan clock yang digunakan, batas waktu, jumlah akun dan sebagainya.
Informasi yang terdapat pada list sebelumnya disimpan pada sebuah struktur data, yang sering disebut process control block. Berikut merupakan figur dari PCB yang telah disederhakan.

PROSES CREATION 

Ketika sebuah proses dibuat hal tersebut sedang dimanage, OS membangun struktur data yang digunakan untuk memanage dan mengalokasikan alamat space di dalam memory utama pada proses.Hal tersebut berkaitan dengan kreasi dalam pembuatan proses. 
Empat hal yang paling sering menuntun dalam proses kreasi akan ditampilkan pada tabel di bawah.

Secara tradisional, OS membuat proses di dalam jalur yang transparan bagi user atau program aplikasi, dan hal ini masih sering ditemukan pada OS sementara. Ketika OS membuat sebuah proses pada request yang bersifat eksplisit dari proses lainnya, aksi tersebut dapat diartikan sebagai process spawning. 

PROSES TERMINASI

Tabel di bawah ini akan menjelaskan alasan mengapa terjadi proses terminasi.


Tambahan, sejumlah error dan kegagalan juga dapat menyebabkan proses terminasi. Akhirnya, pada beberapa OS, sebuah proses mungkin saja diterminate oleh proses yang membuatnya atau ketika parent proses menterminate dirinya sendiri.

FIVE STATE MODEL

Lima state yang terdapat dalam diagram model adalah:
  • Running
    Proses sedang berjalan saat ini.
  • Ready
    Proses yang akan dieksekusi ketika diberi kesempatan.
  • Blocked/Waiting
    Proses yang tidak dapat dieksekusi sampai beberapa proses selesai dijalankan.
  • New
    Sebuah proses yang baru saja dibuat tapi belum diizinkan untuk dieksekusi.
  • Exit
    Sebuah proses yang baru saja dihapus dari pool proses.
Dari gambar di atas juga dapat diindikasikan beberapa statement transisi yang mungkin terjadi:
  • Null >> New
    Sebuah program baru dibuat untuk dieksekusi.
  • New >> Ready
    OS akan memindahkan sebuah proses dari New State menjadi Ready ketika itu disiapkan untuk proses tambahan.
  • Ready >> Running
    Ketika waktunya memilih proses yang akan dijalankan, OS akan memilih salah satu proses yang memiliki state ready.
  • Running >> Exit 
    Proses yang sedang berjalan diterminate oleh OS.
  • Running >> Ready
    Ketika proses yang berjalan melebihi waktu yang diizinkan untuk menginterupsi eksekusi merupakan alasan paling sering mengapa transisi ini terjadi.
  • Running >> Blocked
    Terjadi jika itu merequest beberapa hal tapi harus menunggu.
  • Blocked >> Ready
    Terjadi ketika proses tersebut sedang ditunggu untuk dijalankan.
  • Ready >> Exit
    Transisi ini tidak ditunjukkan dalam state diagram.
  • Blocked >> Exit
    Komentar dibawah item preceding diterapkan.
MODEL EKSEKUSI

Tipikal fungsi dari sebuah OS pada kernel:


EKSEKUSI DI DALAM USER PROSES

Sebuah alternatif yang sering terdapat pada OS adalah untuk mengeksekusi secara virtual semua OS software di dalam konteks user proses.
Gambar di bawah menyarankan proses image struktur untuk masalah ini.

Tidak ada komentar:

Posting Komentar