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