KONSEP PROSES
Download
Report
Transcript KONSEP PROSES
Kode-kode
instruksi program di simpan
sebagai
berkas
pada
media
penyimpanan sekunder seperti magnetik
disk
Eksekusi suatu program bukan sekedar
eksekusi kode-kode instruksi tapi
melibatkan pengelolan informasinya
Proses adalah program yang sedang
berjalan atau dieksekusi
Konkurensi
adalah sistem yang memiliki
sejumlah aktifitas yang sedang berjalan
secara “bersamaan”.
Multiprosessing
adalah sistem yang
mengerjakan
semuanya
secara
bersamaan (pararel)
Konkurensi di implementasikan dengan :
• menjalankan proses secara bersamaan pada
prosesor yang berbeda (overlapping)
• Menjalankan proses secara bergantian pada
prosesor tertentu (interleaving)
Multitasking
sistem yang mengerjakan
secara bergantian
Konkurensi diimplementasikan dengan :
• Menjadwal
eksekusi
prose
secara
bergantian (interleaving)
• Pergantian proses berlangsung sangat
cepat sekali sehingga pemakai tidak akan
menyadari adanya pergantian proses.
Contoh kasusnya Tukang bangunan A & B
1.
Proses tidak saling mempengaruhi
Terjadi pada proses yang
tidak
dalam hal
berhubungan keculai
prosesor.
Ms word dengan window media player
2.
3.
saling
pakai
Proses saling mempengaruhi secara tidak langsung
terjadi pada proses yang tidak saling berkerja
sama tapi tapi mengakses sumber daya yang
sama.
contohnya word & notepad yang membuka berkas
yang sama
Proses saling memperngaruhi secara langsung
terjadi pada proses yang saling bekerjasama
Race Kondition
• Jika ada dua atau lebih proses yang berusaha
mengakses dan melakukan
sumber daya yang sama
operasi
pada
Deadlock
• Terjadi pada saat proses membutuhkan sumber
daya tetapi sedang digunakan oleh proses yang
lain, karena tidaka ada yang mau mengalah
maka berhenti semua
Starvasiion
• Terjadi pada saat suatu proses selalu kalah
dalam memperebutkan sumber daya sehingga
prosesnya tertunda terus-menerus
1.
2.
3.
4.
5.
6.
Mengawasi berbagai proses aktif (PSB)
Melakukan penjadwalan prose secara adil
Melakukan
alokasi
dan
dealokasi
berbagai sumber daya untuk masingmasing proses aktif
Melindungi sumberdaya yang sedang
digunakan oleh suatu proses terhadap
proses lain
Menjaga jumlah data yang dialirkan
ke/dari piranti I/O selau konstan
Mempasilitasi
komunikasi
proses
konkuren satu dengan yang lainnya
Model 3 status
New
admitted
terminated
interrup
Ready
I/O or event
completion
exit
running
schedule
waiting
I/O or event
wait
New
• Masih dalam tahap inisiasi oleh prosedur
• Meliputi alokasi memory utama untuk proses
• Pengisian tabel proses
• Pembuatan struktur data kendali untuk menyimpan
informasi dan status proses
• Belum siap untuk di eksekusi
• Kondisi yang memicu proses new
Login ke sistem operasi
Permintaaan eksekusi program
Aplikasi yang menciptakan proses anak
Penciptaan proses baru dari eksekusi batch
Ready
• Proses yang telah berhasil di inisiasi
• Antrian penjadwalan prosesor dengan
cara
menyisipkan proses baru ke dalam antrian
• Berisi referensi atau pointer ke struktur data
kendali proses
• Menandakan suatu proses siap berkompetisi
untuk mendapatkan alokasi prosesor
• Schduler adalah sistem operasi yang bertugas
untuk memilih proses yang berada dalam proses
ready
Running
• Proses menguasi prosesor sepenuhnya
• Memiliki tiga kemungkinan
Teminated, proses yang telah selesai
Ready, jika jatah waktu yang
dialokasikan sudah habis
blocked
Blocked/Waiting
• Proses membutuhkan pembacaan data
dari piranti I/O
• Proses ini akan disisipkan pada antrian
penjadwalan peranti I/O atau event
• Jika I/O yang di tunggu sudah selesai
makan proses akan kembali ke antrian
ready dan menunggu pemillihan oleh
schedule
EXIT/Terminated
• Proses tersebut sudah dihentikan eksekusinya
Proses telah selesai secara normal
Batas waktu total sudah terlewati
Kekurang ruang memory
Pelanggaran batas memory
Pelanggaran proteksi berkas
Kesalahan aritmatika
Waktu tunggu melebihi batas
Terjadi kegagalan I/O
Instruksi tidak benar
Terjadi pemakaian instruksi yang tidak di izinkan
Model
5
status
TimeOut
Submit
Dispatch
Ready
Running
Event
occur
Completion
Event wait
Blocked
Resume
Suspend
Dispatch
Suspended
Ready
I/O
completion
atau event
completion
Resume
Suspend
Suspended
blocked
Pada
diagram 3 keadaan proses blocked
dapat berlangsung lama dan ruang memory
utama tidak dapat digunakan oleh proses
yang lain
Untuk mengatasi hal itu maka dibuat status
suspended blocked
Penundaan eksekusi proses yang bersatutus
blocked yang dilakukan oleh sistem
ataupun proses lain akan menyebabkan
status
proses
beralih
menjadi
suspendedblocked
PENGERTIAN
• Struktur data yang dibentuk dan di pelihara oleh
SO yang menyimpan informasi mengenai setiap
sumber daya yang dikelolanya
Gambar
Proc
Proc
Proc
Process Image
Proc
Tabel Memory
•
•
•
•
Alokasi memory utama untuk proses-proses
Alokasi memotu maya untuk proses
Atribut proteksi terhadap memory
Informasi yang diperlukan untuk mengatur memory
Tabel I/O
• Mencatat status piranti I/O
• Mengetahui apakah saluran sistem komputer dalam
keadaan bebas atau sedang terpakai
• Penyalinan/pembacaan data I/O di memory utama
Tabel Berkas
• Mencatat informasi berkas yang diakses oleh proses:
lakasinya di memory, statusnya , hak akses, serta atribut
berkas lainnya
Tabel proses
• Mencatat informasi mengenai status dari setiap proses
Adalah
keseluruhan lokasi memory yang
digunakan untuk eksekusi suatu proses
Proses image dapat berupa :
•
•
•
•
Sebuah blog berurutan (contigous block)
Blog dengan ukuran berpariasi (segmentasi)
Blog denga ukuran sama (halaman)
Kombinasi antara segmentas & halaman
(hybrid)
Elemen
image proses
• Data Pengguna (user data)
Image proses yang dapat di modifikasi,
meliputi data program
• Kode program (user program)
Image proses yang menyimpan kode
instruksi program yang akan di eksekusi
• Sistem Stack (user stack)
Struktur data yang bekerja berdasarkan
proses LIFO
• Process Control Block (PCB)
Menyimpan informasi yang diperlukan SO
untuk mengontrol/mengelola proses
Identifikasi Proses
Informasi status proses
Informasi kendali proses
Stack pemakai
Ruang alamat yang khusus
diperuntukkan pemakai
(program, data)
Ruang alamat bersama
PCB
SO
memerlukan banyak informasi
mengenai proses, untuk ?
Informasi ini ada di ?
Struktur datanya menyimpan informasi
lengkap mengenai proses sehingga
dapat terjadi siklus hidup proses
Informasi di PCB dikelompokkan
• Informasi identifikasi proses
• Informasi status proses
• Informasi kendali proses
Berkaitan
dengan identitas proses yang
unik
Dengan identifier ini proses dikaitkan ke
tabel-tabel lain
Identifiernya
adalah numerik yang
meliputi
• Identifier proses
• Identifier proses yang menciptakan
• Identifier pemakai
Informasi
ini esensinya terdiri dari registerregister pemroses.
Saat proses berstatus running, informasiinformasi ini berada di (register-register ?).
Ketika proses diinterupsi semua informasi
register harus disimpan agar dapat
dikembalikan saat proses dieksekusi
kembali
• Jumlah
dan ragam register
arsitektur komputernya
bergantung
pada
Adalah
informasi-informasi lain yang
diperlukan SO untuk mengendalikan dan
koordinasi beragam proses aktif
Elemen process control information :
• Schedulling & state infromartion
Berisi infromasi untuk penjadwalan, status proses,
prioritas,identitas event
• Data structuring
Berisi link dengan proses lain dalam antion atau ring
• Interprocess communicario
Flag, signal dan pesan yang digunakan untuk komunikasi
antar proses.
• Process privilages
Kewenangan proses atas memori dan tipe instruksi
• Memory management
Pointer ke tabel segmen ataupun tabel halaman dari
memori maya
• Resource ownership & utilization
Berisi sejarah pengguanaan sumber daya yang akan
digunakan untuk penjadwalan
Setiap proses digambarkan dalam sistem operasi oleh sebuah
process control block (PCB) – juga disebut sebuah control block.
Gambar Process Control Block
PCB berisikan banyak bagian dari informasi yang
berhubungan dengan sebuah proses yang spesifik,
termasuk hal-hal di bawah ini:
Status Proses
Program counter
CPU Register
Informasi Manajemen Memori
Informasi pencatatan
Unit
of resource ownership
Memakai sebuah alamat virtual,
memakai memory utama selama
proses dan diberi kedali terhadap
sumber daya
Unit of dispathing/thread
Proses yang memakai satu jalur
eksekusi(trace)
Thread
merupakan unit dasar dari
penggunaan CPU, yang terdiri dari
Thread_ID, program counter,register set,
dan stack.
Sebuah thread berbagi code section, data
section, dan sumber daya sistem operasi
dengan Thread lain yang dimiliki oleh
proses yang sama
Thread juga sering disebut lightweight
process.
Gambar Thread
Thread kernel didukung langsung oleh sistem
operasi. Pembuatan, penjadwalan, dan manajemen
thread dilakukan oleh kernel pada kernel space.
Thread diatur oleh kernel, karena itu jika sebuah
thread menjalankan blocking system call maka
kernel dapat menjadwalkan thread lain di aplikasi
untuk melakukan eksekusi.
Pada lingkungan multiprocessor, kernel dapat
menjadwal thread-thread pada processor yang
berbeda. Contoh sistem operasi yang mendukung
kernel thread adalah Windows NT, Solaris, Digital
UNIX.
Many To
One
One
To One
Many To
Many
Pada
awal setiap siklus instruksi, CPU
membaca instruksi dari memori.
Sebuah register yang disebut Program
Counter
(PC)
digunakan
untuk
menunjukkan alamat instruksi yang akan
diambil dari memori.
Setiap kali sebuah instruksi dibaca, isi PC
akan ditambah sehingga CPU akan
membaca instruksi selanjutnya secara
berurutan.
Misalkan isi PC=300
Register
internal CPU:
• Program Counter (PC) = menyimpan alamat
instruksi
• Instruction Register (IR) = menampung instruksi
yang sedang dieksekusi
• Accumulator (AC) = register penyimpanan
temporer
Misalkan
ada sebuah komputer yang
memiliki karakteristik sebagai berikut :
• Instruksi dan data panjangnya 16 bit.
• Tiap alamat memori menyimpan 16 bit data atau
instruksi.
• Format instruksi :
0
3 4
Instruksi alamat
16
• Kode atau instruksi:
0001 = Isi memori, yang alamatnya dinyatakan pada bit 4
sampai bit 15 pada format instruksi, disalinkan ke
Accumulator.
0010 = Simpan isi accumulator ke memori, yang alamatnya
dinyatakan pada bit 4 sampai bit 15.
0101 = Tambahkan isi AC dengan isi memori, yang alamatnya
dinyatakan pada bit 4 sampai bit 15.
memory
Register CPU
300
1940
PC
300
301
5941
AC
0003
302
2941
IR
1940
…..
…..
940
0003
941
0002
Register CPU
PC
301
AC
0005
IR
5941
Proses 1
Proses 2
0002+0003
Register CPU
PC
302
AC
0005
IR
2941
Proses 3