12 October 2012

Download Report

Transcript 12 October 2012

Pertemuan ke 3
Konsep Proses
 proses
 Multitasking:
 konkurensi
 siklus hidup proses
Proses
Proses merupakan abstraksi atau permodulan
terhadap eksekusi program. Elemen yang
terlibat bukan hanya kode instruksi program,
tetapi melibatkan data yang akan diolah.
Proses
• Pada awal perkembangan komputer, kode instruksi program dibaca dari
suatu kartu plong, kemudian disalin ke memori utama dan akhirnya
langsung di eksekusi oleh prosesor.
• Sekarang program disimpan sebagai berkas pada mendian penyimpanan
sekunder, ketika suatu program di eksekusi maka kode instruksinya akan
dibaca dan disalin ke memori utama secara umum fungsi memori :
a. Menyimpan kode-kode program
b. Mencatat informasi yang terkait dengan informasi program diataranya :
1.
2.
3.
Status eksekuisinya
Alamat kode instruksi yang sedang di eksekusi
Sumber daya komputer yang sedang digunakan seperti data,berkas, piranti
I/O dll
Secara sederhana proses dapat di defenisikan sebagai program yang sedang
berjalan atau di eksekusi.
Multitasking
Awalnya proses berjalan secara sekuensial atau
berurut. tetapi memiliki kelemahan yaitu
“ Tingkat penggunaan atau utilitas prosesor rendah
karena suatu proses menunggu sampai operasi I/O
selesai, prosesor harus menunggu sampai operasi
I/O tersebut selesai dan prosesor tidak dapat
dialokasikan ke proses berikutnya karena proses
yang sedang berjalan belum selesai “.
Berdasarkan permasalahan diatas maka munculah
konsep multitasking atau multiprogramming pada
sistem operasi.
Multitasking
sebuah metode dimana banyak pekerjaan atau
proses diolah dengan menggunakan
sumberdaya CPU yang sama. Dalam kasus
sebuah komputer dengan prosesor tunggal,
hanya satu instruksi yang dapat bekerja dalam
satu waktu, berarti bahwa CPU tersebut secara
aktif mengolah instruksi untuk satu pekerjaan
tersebut.
konkurensi
Perkembangan sistem komputer mendatang
adalah menuju multiprocessing dan
multiprogramming, terdistribusi dan paralel
yang mengharuskan prose berjalan bersama
dalam waktu bersamaan
Kondisi diwaktu bersamaan disebut konkurensi.
Konkurensi
• Sinstem konkuren dapat didefeniskan sebagai
sistem yang memiliki sejumlah aktivitas yang
sedang berjalan bersamaan.
• Multiprocessing : sistem paralel
• Multicore : sistem komputer yang memiliki
dua atau lebih prosesor.
• Sistem paralel dikelompokkan sebagai bagian
dari multitasking
Hubungan konkurensi, sistem
sekuensial dan multitasking
Implementasi konkurensi dan
multitasking
Pengaruh yang mungkin terjadi antara
proses yang berjalan bersamaan
1. Proses tidak saling mempengaruhi
Terjadi pada proses yang tidak saling berhubungan kecuali dalam hal
berbagia pakai prosesor. Contoh aplikasi microsoft word dan microsoft
media player berjalan bersamaan.
2. Proses saling mempengaruhi secara tidak langsung
Terjadi pada proses yang tidak saling bekerja sama tetapi mengakses
sumber daya yang sehingga proses-proses tersebut saling
mempengaruhi satu sama lain. Sebagai contoh : aplikasi microsoft
word dan Notepad yang sedang membuka suatu berkas yang sama.
3. Proses saling mempengaruhi secara langsung
Terjadi pada proses yang saling bekerja sama untuk mencapai tujuan
khusus. Contoh : aplikasi akuntansi mengkases aplikasi server basis
data lokal seperti MS SQL Server. Dalam hal ini kedua proses aplikasi
harus saling bekerja sama agar aliran data antar aplikasi dapat
berjalan dengan baik.
Terjadinya perebutan sumbar daya karena
proses saling mempengaruhi menyebabkan
1. Race condition: status sumber daya tersebut
menjadi tidak valid dan tidak konsisten pada akhir
seluruh kondisi:
critical resource: sumber daya dalam race condition
Critcal section: kode instruksi program yang me
lakkan operasi.
Penangannya : Mekanisme sinkrinisasi diantaranya :
mutual exclusive yang memastikan pada suatu
waktu hanya satu proses yang di ijinkan menjalkan
critical section
Terjadinya perebutan sumbar daya karena
proses saling mempengaruhi menyebabkan
2. Deadlock : kondisi kebuntuan dalam alokasi
sumber daya yang dibutuhkan oleh proses
akibatnya proses-proses yang terlibat tidak dapat
melanjutkan eksekusinya sama sekali.
Deadlock terjadi ketika proses-proses yang terlibat
saling membutuhkan sumber daya yang sedang
digunakan oleh proses lainya. Karena tidak ada
satupun proses yang bersedia mengalah.yaitu
melepas sumber daya yang sedang digunakannya,
terjadilah kebuntuan.
Terjadinya perebutan sumbar daya karena
proses saling mempengaruhi menyebabkan
3. Starvasion : Merupakan kondisi dimana satu
proses atau lebih selalu kalah dalam kompetisi
untuk mendapatkan sumber daya yang
diperlukan, sehingga eksekusinya tertunda terus
menerus.
Penyebab utamanya adalah kebijakan sumber
daya tidak adil dalam sistem operasi
Dari ketiga diatas maka dapat
dinyatakan:
1.
2.
3.
4.
5.
6.
Sistem operasi harus dapat mengawasi berbagai proses yang aktif
melalui PCB(Process Control Block).
Sistem operasi harus melakukan penjadwalan yang adil dan
berusaha menjaga optimalisasi kinerja proses secara keseluruhan.
Sistem opersi harus melakukan alokasi dan dealokasi berbagai
sumber daya.
Sistem operasi harus melindungi sumber daya yang sedang
digunakan oleh suatu proses terhadap pengaksesan proses lain
Sistem operasi harus menjaga jumlah data yang dialirkan dari/ke
piranti I/O selalu konstan.
Sistem operasi harus memfasilitasi proses-proses konkuren
memerlukan komunikasi yang sama.
Siklus hidup proses
• Secara umum siklus hidup proses terdiri dari
beberapa komponem:
1. New
2. Ready
3. Waiting
4. Running
5. Terminated
Siklus Hidup Proses
New
• Proses yang berstatud New, masih dalam tahap inisiasi oleh
prosedur atau rutin sistem operasi, pengisian tabel proses,
pebuatan struktur data kendali untuk menyimpan informasi
dan status proses.
• Kondisi yang menciptakan proses:
1. Pengguna melakukan logon ke sistem sehingga SO akan
menciptakan proses antar muka pengguna (shell).
2. Permintaan eksekusi program oleh pengguna lewat
aplikasi antar muka (shell).
3. Suatu aplikasi menciptakan proses anak.
4. Penciptaan proses baru sebagai bagian dari eksekusi batch
Ready
• Proses yang di inisiasi ditempatkan dalam
antrian penjadwalan.
• Rutin yang melakukan pemilihan disebut
dengan scheduler.
Running
Jika sebuah proses readi terpilih oleh scheduler untuk
dijalankan maka proses yang terpilih mulai dieksekusi.
Proses yang berstatus running akan menguasai prosesor
sepenuhnya.
Proses yang berstatus running mempunyai 3
kemungkinan peralihan ke status lain:
1. Proses sudah selesai berstatus terminated
2. Jatah waktu di alokasikan ke proses status ready
lainya.
3. Running dapat beralih ke status blocked (waiting)
Blocked(waiting)
Proses berstatus running beralih ke status waiting
karena membutuhkan pembacaan data dari piranti
I/O.
Contoh : proses membutuhkan data berkas dari disk
untuk melanjutkan pengolahan datanya. Untuk
memaksimalkan penggunaan prosesor maka proses
yang sedang menunggu ini akan dialihkan statusnya
menjadi blocked dan sistem operasi akan
menjalankan scheduler untuk memilih proses lain
untuk di eksekusi.
Exit atau Terminated
• Proses berubah statusnya menjadi exit atau
terminated berarti proses tersebut telah di
hentikan eksekusinya, baik secara normal
(proses telah selesai) maupun tidak (misalnya
terjadi kesalahan sistem tidak ditangani) Jika
telah selesai maka ruang memori telah
dibersihkan ( dealokasi) oleh rutin sistem
operasi.
Sejumlah hal yang menyebabkan
proses selesai eksekusinya
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Proses telah selesai secara normal
Batas waktu total telah terlewati
Kekurangan ruang memori
Pelanggaran batas memori
Pelanggaran proteksi berkas atau sumber daya lainnya
Kesalahan aritmatika
Waktu tunggu (operasi I/O) melebihi batas yang ditetapkan
Terjadi kegagalan I/O
Instruksi yang tidak benar ataupun tidak valid
Terjadi usaha pemakaian instruksi yang tidak di ijinkan.
Salah memakai data atau tipe data
Campur tangan sistem operasi atau operator
Penghentian proses induk
Atas permintaan proses induk ataupun proses lainya.
Pengembangan model siklus proses
• Model siklus proses dianggap sebagai model
proses 3 status, karena status new dan exit
diabaikan selama proses.
• Dari model proses 3 status dikembangkan
menjadi model proses 5 status dengan
penambahan status SuspendedBlocked dan
status SuspendedReady.
• Proses yang running dapat menunda
(Suspend) eksekusi prosesnya sendiri
Pengembangan model siklus proses
• Penundaan eksekusi proses berstatus blocked
yang dilakukan oleh sistem ataupun proses
lain akan menyebabkan status proses beralih
menjadi suspendedBlocked.
• Proses yang berada dalam status
suspendedblocked akan bertransisi menjadi
suspendReady ketika event yang ditunggu
terjadi atau operasi yang ditunggu telah
selesai.
Pengembangan model siklus proses