Otline
1.Pengertian
Proses
2.Pembentukan dan Terminasi Proses
3.Status Proses
4.Process Control Block (PCB)
5.Process Switching
2.Pembentukan dan Terminasi Proses
3.Status Proses
4.Process Control Block (PCB)
5.Process Switching
Penertian Proses
Fungsi
utama
sebuah
prosesor
adalah
mengeksekusi
instruksi
mesin
yang terdapat
dalam
memori
utama.
Eksekusi
suatu
program dikenal
dengan
nama
proses atau
task. Proses berisi
instruksi
dan
data, program counter dan
semua
register pemroses,
dan
stack berisi
data sementara.
Proses merupakan
unit kerja
terkecil
yang secara
individu
memiliki
sumber
daya
dan
dijadwalkan
sistem
operasi.
Tanggung
jawab
utama
dari
system operasi
adalah
mengontrol
eksekusi
proses. Tanggung
jawab
ini
mencakup
pola
penggiliran
eksekusi
dan
pengalokasian
sumber
daya.
Progam meruparam
bukanlah
proses,
progrkan
serangkaian
instruksi
yang belum
dieksekusi
oleh
processor dan
merupakan
komponen
pasif.
Berikut
adalah
beberapa
defenisi
dari
proses.
•Sebuah
program
yang dieksekusi
•Sebuah
program
yang berjalan
pada
sebuah
computer
•Sebuah
entitas
yang diberikan
ke
dan
dieksekusi
pada
processor
•Sebuah
aktifitas
unit yang ditandai
dengan
eksekusi
serangkaian
instruksi,
state saat
ini
(current state) dan
terhubung
dengan
serangkaian
sumber
daya
sistem.
Ada 2 elemen penting dari sebuah proses yaitu:
•Kode program (bisa di share dengan proses lain yang mengeksekusi program yang sama)•Serangkaian data yang dihubungkan dengan kode program tersebut
Pada
saat
processor mulai
mengeksekusi
kode
program, maka
program berubah
menjadi
proses, dimana proses akan dikenali dengan sejumlah
proses, dimana proses akan dikenali dengan sejumlah
elemen- elemen berikut:
•Identifier
à
identitas
unik
dari
proses, untuk
membedakan
antara
1 proses dengan proses lain.
•State
à
Selama
proses
dieksekusi,
maka
akan
terjadi
perubahan
state pada proses tersebut.
State merupakan
aktifitas
yang sedang
dilakukan
oleh
sebuah
proses. Contoh,
jika
proses sedang
dieksekusi,
maka
proses berada
pada
running state.
•Priority
à
Tingkat
prioritas
suatu
proses terhadap
proses lainnya.
•Program
counter à
alamat
dari
instruksi
berikutnya
dalam
program yang akan
dieksekus
•Memory
pointers
à
melibatkan
pointers
ke
kode
program dan
data yang terkait dengan
sebuah
proses, dan
juga
pointer ke beberapa
blok
memori
yang di share ke
proses lain.
•Context
data
à
data
yang
ada
dalam
register processor, pada
saat
proses dieksekus
•I/O
status
information à
melibatkan
I/O requests, I/O devices (misalnya
disk drives) yang diberikan
ke
sebuah
proses, sebuah
list dari
file-file yang digunakan
oleh proses, dan
lain-lain
•Accounting
information
à
melibatkan
jumlah
waktu
processor yang digunakan,
batas waktu,
jumlah
account, dll
Pembentukan dan Terminasi Proses
Diagrams state prose
Diagram
state dasar
terdiri
dari
2 keadaan
: proses akan
berada
padasalah
satu
dari
dua
state yaitu
running atau
tidak
running.
J jika
system operasi
membuat
proses baru
maka
system operasi
akan
memasukkan
proses tersebut
dalam
kondisi
tidak
running. Proses yang keluar
akan
diketahui
oleh
system operasi
dan
menunggu
kesempatan
untuk
dieksekusi.
Tetapi
ada
juga
suatu
proses yang sedang
running akan
diinterrupt
jika
ada
proses lain yang mempunyai
prioritas
lebih
bagus.
Proses yang diinterrup
tersebut
akan
kembali
ke
posisi
not running.
- - Proses
yang baru
diciptakan
akan
segera
mempunyai
state ready
- Proses
ready menjadi
running karena
penjadwal
memutuskan penggunaan
pemroses
untuk
proses itu.-Proses
running menjadi
ready karena
penjadwalan
memutuskan eksekusi
proses lain karena
jatah
waktu
telah
habis
(time out)-Proses
running menjadi
blocked karena
sumber
daya
yang diminta belum
tersedia,
proses menunggu
alokasi
sumber
daya
(event wait)-Proses
blocked menjadi
ready saat
sumber
daya
yang diminta tersediaStatus Proses
Penundaan proses (suspended
process) yaitu
suatu
kondisi
dimana
proses mengalami
penundaan
pada
saat
running, kondisi
ini
disebabkan
oleh
beberapa
hal
:
Swapping = system operasi
perlu
membebaskan
memori
utama
untuk
dapat
membawa
proses lain yang siap
untuk
diekasekusi
kedalamnya
R request OS = Sistem
operasi
dapat
menunda
proses yang dianggap
bermasalah
User request = User dapat
menunda
eksekusi
program untuk
tujuan
debugging atau
yang berhubungan
dengan
sumber
daya
Timer = Proses dapat
ditunda
untuk
interval waktu
tertentu
Request by Process = penundaan
proses dapat
terjadi
karena
adanya
sinkronisasi
dari induk
proses itu
sendiri
S
Process Control Block (PCB)
Sistem operasi
memerlukan
banyak
informasi
men Sistem genai
proses
dalam
pengelolaanproses, informasi
ini
berada
di PCB. Process
Control Block adalah
informasi-informasi
lain yang diperlukan
SO untuk
mengendalikan
dan
koordinasi
beragam
proses aktifDalam
PCB
informasi
dibagi
atas
3 kelompok
:
A.Informasi
identifikasi
proses : identifikasi
berkaitan
dengan
proses yang unik.
Identifier
numerik
yang meliputi
: prose situ sendiri,
siapa
proses yang menciptakan
dan
yang
pemakaiB.Informasi
status pemroses
: berisi
register – register pemroses.
Jumlah
dan jenis
register tergantung
arsitek
komputer.
Register tersebut
terdiri
:
•register
yang
terlihat
pemakai
: dapat
ditunjuk
instruksi
bahasa
assembly untuk
diproses
pemroses
•register
kendali
dan
status : untuk
mengendalikan
operasi
pemroses
seperti:
program
counter, PSW dsb.
•Pointer
stack
: untuk
parameter atau
alamat
prosedur
pemanggil
dan
system call, pointer stack menujuk
posisi
paling atas
dari
stack.
C.Informasi
Kendali
proses yang terdiri
atas
:
•informasi
penjadwalan
dan
status : untuk
menjalankan
fungsi
penjadwalan
: status
proses (running, ready, blocked dsb),
prioritas
(lama menunggu,
lama proses dsb)
dan
kejadian
(identitas
kejadian
yang ditunggu
proses)
•penstruktur
data
: satu
proses dapat
dikaitkan
dengan
proses lain dalam
satu
antrian
atau
ring atau
struktur
lainnya.
•Komunikasi
antar
proses : beragam
flag, sinyal
dan
pesan
dapat
diasosiasikan
dengan
komunikasi
antara
dua
proses yang terpisah.
•Kewenangan
proses
: kewenangan
berkaitan
dengan
memori
dan
tipe
instruksi
yang
dapat
dijalankan.
•Manajemen
memori
: berisi
pointer ke
tabel
segmen
atau
page yang menyatakan
memori
maya
proses.
•Kepemilikan
dan
utilisasi
sumber
daya
: sumber
daya
yang dikendalikan
proses harus
diberi
tanda
: berkas
dibuka,
pemakaian
pemroses
dan
pemakaian
sumber
daya
lainnya.
Informasi – informasi dalam PCB
adalah
:
•Keadaan proses:
Keadaan
new
,ready ,running, waiting, halted, dll.
•Program counter:
Counter mengindikasikan
address dari
perintah
selanjutnya
untuk
dijalankan
untuk
ditambah
code information pada
kondisi
apapun.
Bersamaan
dengan
program counter, status harus
disimpan
ketika
ganggua terjadi,
untuk
memungkinkan
proses tersebut
berjalan/bekerja
dengan
benar
setelahnya.
•Informasi manajemen memori:
Informasi
ini
dapat
termasuk
suatu
informasi
sebagai nilai
dari
dasar
dan
batas
register. tabel
page/ halaman,
atau
tabel
segmen
tergantung
pada
sistem
memori
yangdigunakan
oleh
sistem
operasi.
•Informasi pencatatan:
Informasi
ini
termasuk
jumlah
dari
CPU dan
waktu
riil
yang digunakan
batas
waktu,
jumlah
akun,
jumlah
job atau proses, dll.
•Informasi status I/O:
Informasi
termasuk
daftar
dari
perangkat
I/O yang di gunakan proses ini,suatu
daftar
open file, dll.
•CPU register:
isi
dari
register bervariasi
dalam
jumlah
dan
jenis,
tergantung
pada rancangan
komputer.
Register tersebut
termasuk
accumulator,
index register, stack pointer, general-purposes
register
Process Switching
Penciptaan
proses melibatkan
banyak
aktivitas
seperti
: menamai, menyisipkan,menentukan
prioritas,
menciptakan
PCB dan
mangalokasikan
sumber
daya
proses.Kejadian
yang dapat
menciptakan
proses :
•pada
lingkungan
batch sebagai
tanggapan
atas
job •pada
lingkungan
interaktif,
terjadi
saat
pemakai
berusaha
log on •sebagai
tanggapan
suatu
aplikasi •adanya
penciptaan
proses lain (anak
proses)
Pada
UNIX : proses diciptakan
dengan
system call fork : menciptakan
kopian
proses pemanggil
(induk)
yang identik.
Pada
MS-DOS : system call adalah
memuatkan
file biner
ke
memori
dan
mengeksekusi
sebagai
anak
proses. Pada
sistem
ini
proses induk
dan
proses anak
tidak
berjalan
paralel.
Pada
saat
OS menciptakan
sebuah
proses baru,
maka
yang terjadi
adalah
sebagai
berikut
1.Memberikan
sebuah
proses identifier unik
untuk
setiap
proses baru. Sebuah
entry baru akan
ditambahkan
ke
tabel
proses, yang berisi
satu
entry
perproses.
2.Alokasi
ruang
untuk
proses. Melibatkan
semua
elemen
dari
proses image. OS harus
mengetahui
seberapa
banyak
ruang
yang diperlukan
untuk
ruang
alamat
private user (program dan
data) dan
user stack. Nilai
ini
akan
diberikan
berdasarkan
jenis
dari
proses, atau
dapat
diset
berdasarkan
permintaan
user pada
saat
job diciptakan.
Jika
sebuah
proses dilahirkan
oleh
proses lain, parent proses dapat
memberikan
nilai
yang diperlukan
ke
OS sebagai
bagian
dari
permintaan
penciptaan
proses. Jika
ruang
alamat
tersedia,
akan
di-share ke
proses baru,
sebuah
link di-set up. Ruang
untuk
sebuah
PCB juga
dialokasikan.
3.Inisialisasi
PCB
Bagian
identifikasi
proses berisi
ID dari
proses + IDs terkait
(parent process). Bagian
processor state information akan
meng-inisialisasi
sebagian
besar
dengan
nol
(0), kecuali
program counter (set ke
program entry point) dan
systam
stack pointer (set ke
nilai
batas
process stack). Processor state
information, di-inisialisasi
berdasarkankan
pada
standar
nilai
default + attribut
yang diminta
untuk
sebuah
proses. Sebagai
contoh.
Processe
state akan
diinisialisasi
ke
Ready atau
Ready/suspend. Prioritas
akan
diset
secara
default ke
prioritas
terendah,
kecuali
untuk
sebuah
request tertentu
yang dibuat
untuk
prioritas
yang lebih
tinggi. Pada
awalnya
proses tidak
memiliki
sumber
daya
(I/O device, file), kecuali
ada
permintaan
khusus
atau
warisan
dari
parent proses.
4.Set linkages yang sesuai. Jika OS mengelola setiap penjadwalan antrian sebagailinked list, maka sebuah proses baru harus ditempatkan pada ready list.
5.Create atau expand struktur data lain. OS akan mengelola sebuah file penghitungpada setiap proses yang digunakan sebagai billing dan/atau tujuan pengujian kinerja.
Penghancuran proses : pada penghancuran proses maka akan melibatkan kegiatan
pembebasan proses dari system, antara lain
•sumber daya yang dipakai dikembalikan
•proses dihancurkan dari tabel sistem
•PCB dihapus
Penghancuran akan lebih rumit bila telah menciptakan proses. Untuk kondisi tersebut
maka akan dilakukan pendekatan, antara lain :
•pada beberapa sistem proses-proses turunan dihancurkan saat proses induk
dihancurkan secara otomatis
•menganggap proses anak independen terhadap proses induk
•Identifier
à
identitas
unik
dari
proses, untuk
membedakan
antara
1 proses dengan proses lain.
•State
à
Selama
proses
dieksekusi,
maka
akan
terjadi
perubahan
state pada proses tersebut.
State merupakan
aktifitas
yang sedang
dilakukan
oleh
sebuah
proses. Contoh,
jika
proses sedang
dieksekusi,
maka
proses berada
pada
running state. •Priority à Tingkat prioritas suatu proses terhadap proses lainnya.
•Program counter à alamat dari instruksi berikutnya dalam program yang akan dieksekus
•Memory pointers à melibatkan pointers ke kode program dan data yang terkait dengan
sebuah proses, dan juga pointer ke beberapa blok memori yang di share ke proses lain.
•Context data à data yang ada dalam register processor, pada saat proses dieksekus
•I/O status information à melibatkan I/O requests, I/O devices (misalnya disk drives) yang diberikan ke sebuah proses, sebuah list dari file-file yang digunakan oleh proses, dan lain-lain
•Accounting information à melibatkan jumlah waktu processor yang digunakan,
batas waktu, jumlah account, dll
Pembentukan dan Terminasi Proses
Diagrams state prose
Diagram state dasar terdiri dari 2 keadaan : proses akan berada padasalah satu dari dua state yaitu running atau tidak running.
J jika
system operasi
membuat
proses baru
maka
system operasi
akan
memasukkan
proses tersebut
dalam
kondisi
tidak
running. Proses yang keluar
akan
diketahui
oleh
system operasi
dan
menunggu
kesempatan
untuk
dieksekusi.
Tetapi
ada
juga
suatu
proses yang sedang
running akan
diinterrupt
jika
ada
proses lain yang mempunyai
prioritas
lebih
bagus.
Proses yang diinterrup
tersebut
akan
kembali
ke
posisi
not running.
- - Proses
yang baru
diciptakan
akan
segera
mempunyai
state ready
- Proses
ready menjadi
running karena
penjadwal
memutuskan penggunaan
pemroses
untuk proses itu.-Proses running menjadi ready karena penjadwalan memutuskan eksekusi proses lain karena jatah waktu telah habis (time out)-Proses
running menjadi blocked karena sumber daya yang diminta belum tersedia, proses menunggu alokasi sumber daya (event wait)-Proses blocked menjadi ready saat sumber daya yang diminta tersediaStatus Proses
Process Control Block (PCB)
untuk proses itu.-Proses running menjadi ready karena penjadwalan memutuskan eksekusi proses lain karena jatah waktu telah habis (time out)-Proses
running menjadi blocked karena sumber daya yang diminta belum tersedia, proses menunggu alokasi sumber daya (event wait)-Proses blocked menjadi ready saat sumber daya yang diminta tersediaStatus Proses
Penundaan proses (suspended
process) yaitu
suatu
kondisi
dimana
proses mengalami
penundaan
pada
saat
running, kondisi
ini
disebabkan
oleh
beberapa
hal
:
Swapping = system operasi
perlu
membebaskan
memori
utama
untuk
dapat
membawa
proses lain yang siap untuk diekasekusi kedalamnya
S proses lain yang siap untuk diekasekusi kedalamnya
R request OS = Sistem
operasi
dapat
menunda
proses yang dianggap
bermasalah
User request = User dapat
menunda
eksekusi
program untuk
tujuan
debugging atau
yang berhubungan
dengan
sumber
daya
Timer = Proses dapat
ditunda
untuk
interval waktu
tertentu
Request by Process = penundaan
proses dapat
terjadi
karena
adanya
sinkronisasi
dari induk
proses itu
sendiri
Process Control Block (PCB)
Sistem operasi
memerlukan
banyak
informasi
men Sistem genai
proses
dalam
pengelolaanproses, informasi
ini
berada
di PCB. Process
Control Block adalah
informasi-informasi
lain yang diperlukan
SO untuk
mengendalikan
dan
koordinasi
beragam
proses aktifDalam
PCB
informasi
dibagi
atas
3 kelompok
:
A.Informasi
identifikasi
proses : identifikasi
berkaitan
dengan
proses yang unik.
Identifier
numerik yang meliputi : prose situ sendiri, siapa proses yang menciptakan dan yang
numerik yang meliputi : prose situ sendiri, siapa proses yang menciptakan dan yang
pemakaiB.Informasi
status pemroses
: berisi
register – register pemroses.
Jumlah
dan jenis
register tergantung
arsitek
komputer.
Register tersebut
terdiri
:
•register yang terlihat pemakai : dapat ditunjuk instruksi bahasa assembly untuk diproses
pemroses
•register kendali dan status : untuk mengendalikan operasi pemroses seperti: program
counter, PSW dsb.
•Pointer stack : untuk parameter atau alamat prosedur pemanggil dan system call, pointer stack menujuk posisi paling atas dari stack.
•register yang terlihat pemakai : dapat ditunjuk instruksi bahasa assembly untuk diproses
pemroses
•register kendali dan status : untuk mengendalikan operasi pemroses seperti: program
counter, PSW dsb.
•Pointer stack : untuk parameter atau alamat prosedur pemanggil dan system call, pointer stack menujuk posisi paling atas dari stack.
C.Informasi
Kendali
proses yang terdiri
atas
:
yang dapat
menciptakan
proses :
Pada
UNIX : proses diciptakan
dengan
system call fork : menciptakan
kopian
proses pemanggil
(induk)
yang identik.
Pada
MS-DOS : system call adalah
memuatkan
1.Memberikan
sebuah
proses identifier unik
untuk
setiap
proses baru. Sebuah
entry baru akan
ditambahkan
ke
tabel
proses, yang berisi
satu
entry
•informasi
penjadwalan
dan
status : untuk
menjalankan
fungsi
penjadwalan
: status
proses (running, ready, blocked dsb),
prioritas
(lama menunggu,
lama proses dsb)
dan
kejadian
(identitas
kejadian
yang ditunggu
proses)
•penstruktur
data
: satu
proses dapat
dikaitkan
dengan
proses lain dalam
satu
antrian
atau
ring atau
struktur
lainnya.
•Komunikasi
antar
proses : beragam
flag, sinyal
dan
pesan
dapat
diasosiasikan
dengan
komunikasi
antara
dua
proses yang terpisah.
•Kewenangan
proses
: kewenangan
berkaitan
dengan
memori
dan
tipe
instruksi
yang
dapat
dijalankan.
•Manajemen
memori
: berisi
pointer ke
tabel
segmen
atau
page yang menyatakan
memori
maya
proses.
•Kepemilikan
dan
utilisasi
sumber
daya
: sumber
daya
yang dikendalikan
proses harus
diberi
tanda
: berkas
dibuka,
pemakaian
pemroses
dan
pemakaian
sumber
daya
lainnya.
Informasi – informasi dalam PCB
adalah
:
•Keadaan proses:
Keadaan
new
,ready ,running, waiting, halted, dll.
•Program counter:
Counter mengindikasikan
address dari
perintah
selanjutnya
untuk
dijalankan
untuk
ditambah
code information pada
kondisi
apapun.
Bersamaan
dengan
program counter, status harus
disimpan
ketika
ganggua terjadi,
untuk
memungkinkan
proses tersebut
berjalan/bekerja
dengan
benar
setelahnya.
•Informasi manajemen memori:
Informasi
ini
dapat
termasuk
suatu
informasi
sebagai nilai
dari
dasar
dan
batas
register. tabel
page/ halaman,
atau
tabel
segmen
tergantung
pada
sistem
memori
yangdigunakan
oleh
sistem
operasi.
•Informasi pencatatan:
Informasi
ini
termasuk
jumlah
dari
CPU dan
waktu
riil
yang digunakan
batas
waktu,
jumlah
akun,
jumlah
job atau proses, dll.
•Informasi status I/O:
Informasi
termasuk
daftar
dari
perangkat
I/O yang di gunakan proses ini,suatu
daftar
open file, dll.
•CPU register:
isi
dari
register bervariasi
dalam
jumlah
dan
jenis,
tergantung
pada rancangan
komputer.
Register tersebut
termasuk
accumulator,
index register, stack pointer, general-purposes
register
Tidak ada komentar:
Posting Komentar