BAB 2
Proses
One program counter Four program counters
| Proses
+-|---+ | :
: | A : +-------+---+---+-------+ :
+-|---+ | | | | D : __ __
: | B : | | | | :
+-|---+ | | | | C : __ __
: | : | | | | :
: | C : +-----+ +-----+ +-----+ +-----+ B : __ __
+-|---+ : | : : | : : | : : | : :
: | D : : A V : : B V : : C V : : D V : A : __ __
+-|---+ +-----+ +-----+ : : +-----+ +-----------------
V +-----+ time ------->
(a) (b) (c)
+----+----------------+----------------------------------------------------+
: NO : STATUS (STATE) : DESKRIPSI :
+----+----------------+----------------------------------------------------+
: 1 : Running : Pemroses sedang mengeksekusi instruksi proses itu :
: 2 : Ready : Proses siap dieksekusi, tetapi pemroses tidak :
: : : tersedia untuk eksekusi proses ini :
: 3 : Blocked : Proses menunggu kejadian untuk melengkapi tugasnya :
: : : Contoh : :
: : : a. Selesainya operasi perangkat masukan/keluaran :
: : : b. Tersedianya memori :
: : : c. Tibanya pesan jawaban :
: : : d. Dan sebagainya :
+----+----------------+----------------------------------------------------+
Tabel 3.1 : Tiga state dasar proses
Timeout
++---------------------------++
:: ::
\/ ::
Submit +----------+ Dispatch +-----------+ Completion
-------->: Ready :--------------->: Running :------------>
+----------+ +-----------+
/\ /\
:: ::
:: ::
:: +------------+ ::
::-------: Blocked :------::
Event +------------+ Event
occurs wait
Gambar 3.1 Diagram tiga state dasar proses
Timeout
++---------------------------++
:: ::
\/ ::
Submit +----------+ Dispatch +-----------+ Completion
-------->: Ready :--------------->: Running :------------>
+----------+ +-----------+
/\ :: /\ /\
:: :: :: ::
:: :: :: Event :: Event
:: :: :: occur :: wait
:: :: :: +------------+
:: :: ::-----------------: Blocked :
:: :: +------------+
:: :: /\ ::
:: :: :: ::
:: \/ I/O compeletion :: \/
+-----------+ atau +------------+
: Suspended :<------------->: Suspended :
: ready : event : blocked :
+-----------+ completion +------------+
Gambar 3.2 : Diagram lima state proses
+---------------------------+ /\
: Identifikasi proses : ||
----------------------------- ||
: Informasi status prose : || PCB (Process Control Block)
----------------------------- ||
: Informaasi kendali proses : ||
----------------------------- \/
: :
: Stack pemakai :
: :
-----------------------------
: Ruang alamat yang khusus :
: diperuntukkan pemakai :
: (program, data) :
-----------------------------
: Ruang alamat bersama :
-----------------------------
Gambar 3.3 : Proses pemakai
+--+--------------------+--------------------------------------------------+
:NO: PENYEBAB TERMINASI : KETERANGAN :
+--+--------------------+--------------------------------------------------+
:1 : Selesainya proses : Proses mengeksekusi panggilan layanan sistem :
: : secara manual : operasi untuk menandakan bawah proses telah :
: : : berjalan secara lengkap. :
+--+--------------------+--------------------------------------------------+
:2 :Batas waktu telah : Proses telah berjalan melebihi batas waktu total :
: :terlewati : yang dispesifikasikan.Terdapat banyak kemungkinan:
: : : untuk tipe waktu yang diukur,termasuk waktu total:
: : : yang dijalani (wait clock time),jumlah waktu yang:
: : : dipakai untuk eksekusi, dan jumlah waktu sejak :
: : : pemakai terakhir kali memberi masukan (pada :
: : : proses interaktif). :
+--+--------------------+--------------------------------------------------+
:3 : Memori tidak : Proses memerlukan memori lebih banyak daripada :
: : tersedia : yang dapat disediakan sistem. :
+--+--------------------+--------------------------------------------------+
:4 : Pelanggaran : Proses mencoba mengakses lokasi memori yang tidak:
: : terhadap batas : diijinkan diakses. :
: : memori : :
+--+--------------------+--------------------------------------------------+
:5 : Terjadi kesalahan : Proses berusaha menggunakan sumber data atau file:
: : karena pelanggaran : yang tidak diijinkan dipakainya, atau proses :
: : proteksi : mencoba menggunakannya tidak untuk peruntukannya,:
: : : seperti menulis file read only. :
+--+--------------------+--------------------------------------------------+
:6 : Terjadi kesalahan : Proses memcoba perhitungan terlarang, seperti :
: : aritmatika : pembagian dengan nol,atau mencoba menyimpan angka:
: : : yang lebih besar daripada yang dapat diakomodasi :
: : : oleh perangkat keras. :
+--+--------------------+--------------------------------------------------+
:7 : Waktu telah : Proses telah menunggu lebih lama dari pada :
: : kadaluwarsa : maksimum yang ditentukan untuk terjadinya suatu :
: : : kejadian spesifik. :
+--+--------------------+--------------------------------------------------+
:8 : Terjadi kegagalan : Kesalahan muncul pada masukan/keluaran, seperti :
: : masukan/keluaran : ketidakmampuan menemukan file, kegagalan membaca :
: : : atau menulis setelah sejumlah maksimum percobaan :
: : : yang ditentukan (area rusak didapatkan pada tape :
: : : atau operasi tak valid seperti membaca dari line :
: : : printer). :
+--+--------------------+--------------------------------------------------+
:9 : Instruksi yang : Proses berusaha mengeksekusi intruksi yang tak :
: : tak benar : ada (akibat percabangan ke daerah data dan :
: : : dan berusaha mengeksekusi data itu). :
+--+--------------------+--------------------------------------------------+
:10: Terjadi usaha : Proses berusaha menggunakan instruksi yang :
: : memakai instruksi : disimpan untuk sistem operasi. :
: : yg tidak diijinkan : :
+--+--------------------+--------------------------------------------------+
:11: Kesalahan : Bagian data adalah tipe yang salah atau tidak :
: : penggunaan data : diinisialisasi. :
+--+--------------------+--------------------------------------------------+
:12: Diintervensi oleh : Untuk suatu alasan, operator atau sistem operasi :
: : sistem operasi atau: mengakhiri proses (terjadi deadlock). :
: : operator : :
+--+--------------------+--------------------------------------------------+
:13: Berakhirnya proses : Ketika parent berakhir, sistem operasi mungkin :
: : induk : dirancang secra otomatis mengakhiri semua anak :
: : : proses dari parent itu. :
+--+--------------------+--------------------------------------------------+
:14: Atas permintaan : Parent process biasanya mempunyai otoritas :
: : dari proses induk : mengakhiri suatu anak proses. :
+--+--------------------+--------------------------------------------------+
Tabel 3.2 : Alasan-alasan penghancuran proses
+--+--------------------+--------------------------------------------------+
:NO: ELEMEN CITRA PROSES: KETERANGAN :
+--+--------------------+--------------------------------------------------+
:1 : Data pemakai : Bagian yang dapat dimodifikasi berupa data :
: : : program, daerah stack pemakai. :
+--+--------------------+--------------------------------------------------+
:2 : Program pemakai : Program biner yang akan dieksekusi. :
+--+--------------------+--------------------------------------------------+
:3 : Stack sistem : Digunakan untuk menyimpan parameter dan alamat :
: : : pemanggilan untuk prosedur dan system calls. :
+--+--------------------+--------------------------------------------------+
:4 : PCB (Program : Berisi informasi yang diperlukan oleh sistem :
: : Control Block) : operasi dalam mengendalikan proses. :
+--+--------------------+--------------------------------------------------+
Tabel 3.3 : Elemen-elemen citra proses
+---------------+
+----->: Tabel-tabel :
: : memori :
: +---------------+
:
: +---------------+
: +--->: Tabel-tabel :
: : : peralatan :
: : +---------------+
: :
+-------------------+ : : +---------------+
: Memori : ---+ : +->: Tabel-tabel :
--------------------- : : : berkas :
:Peralatan-peralatan: -----+ : +---------------+ Citra proses
--------------------- : +----------+
: Berkas-berkas : -------+ +--------------------+ +-->: Proses 0 :
+-------------------- : Tabel-tabel proses : : : :
: Proses-proses : --------->---------------------- : : :
+-------------------+ : Proses o : --+ : :
---------------------- +----------+
: Proses 1 :
----------------------
: Proses 2 :
---------------------- +----------+
- +-->: Proses n :
- : : :
+--------------------+ : : :
: Proses n : --+ : :
+--------------------+ +----------+
Gambar 3.4 : Struktur tabel-tabel kendali pada sistem operasi
PCB
+--------+ +--------+
+---->: :--->: :
: : : : :
: : : : :
: : : : :
: : : : :
: +--------+ +--------+
:
: +--------+ +--------+
+-----------+ : +-->: :--->: :
: Running : ----+ : : : : :
------------- : : : : :
: Ready : ------+ : : : :
------------- : : : :
: Blocked : ----+ +--------+ +--------+
+-----------+ :
: +--------+ +--------+ +--------+
+---->: :--->: :--->: :
: : : : : :
: : : : : :
: : : : : :
: : : : : :
+--------+ +--------+ +--------+
Gambar 3.5: Senarai PCB
+----+ +----+ +----+ +----+ +-----+
: P0 : : P1 : : - : : - : : Pn :
: : : : : : : : : :
: : : : : : : : : :
+-------------------------------------+
: Kernel :
: :
+-------------------------------------+
Gambar 3.6 : Eksekusi kernel sebagai non-proses
+---------+ +---------+ +---------+ +---------+
: P0 : : P1 : : - : : Pn :
:---------: :---------: :---------: :---------:
: Fungsi- : : Fungsi- : : Fungsi- : : Fungsi- :
: fungsi : : fungsi : : fungsi : : fungsi :
: sistem : : sistem : : sistem : : sistem :
: operasi : : operasi : : operasi : : operasi :
+------------------------------------------------+
: Fungsi-fungsi pengalihan proses :
: (Process switching functions) :
+------------------------------------------------+
Gambar 3.7 : Eksekusi dalam proses pemakai
+----+ +----+ +----+ +----+ +-----+ +-----+ +-----+ +-----+
: U0 : : U1 : : - : : Un : : OS0 : : OS1 : : - : : OSn :
: : : : : : : : : : : : : - : : :
: : : : : : : : : : : : : - : : :
+----------------------------------------------------------+
: Fungsi-fungsi pengalihan proses :
: (Process switching functions) :
+----------------------------------------------------------+
Gambar 3.8: Eksekusi sistem operasi sebagai proses
Ke Menu
Last updated : 2 April 2000