Anda di halaman 1dari 28

MANAJEMEN PROSES

Komunikasi antar proses


Komunikasi antar Proses
 Sistem Sekuential Vs Konkurensi
 Sistem Sekuential
 Awalnya, proses-proses dijalankan
secara sekuential atau berurutan.
 Suatu proses dieksekusi sampai
selesai, baru kemudian pindah ke
proses yang lain
 Utilitas prosesor sangat rendah
 Sistem Konkurensi
Sistem yang memiliki sejumlah aktifitas
yang sedang berjalan secara “bersamaan”
Sistem Paralel
(multiprocessing)
-terjadi overlapping
Sistem Konkurensi

Multitasking
-Penjadwalan
-interleaving

Ex: proses membangun rumah


 Konsekuensi dari multitasking
- Proses tidak saling mempengaruhi
ex: Ms Word & Winamp
- Proses saling mempengaruhi secara
tidak langsung
ex: Ms Word & notepad mengakses file
bersama-sama
- Proses saling mempengaruhi secara
langsung
ex: Internet browser & web server harus
bersama-sama menyediakan pages bagi
user
 Masalah-masalah yang timbul akibat
perebutan sumber daya pada suatu proses:
 RACE CONDITION
 CRITICAL SECTION
 MUTUAL EXCLUSION DG BUSY WAITING
 MUTUAL EXCLUSION DG SLEEP & WAKEUP
 MUTUAL EXCLUSION DG SEMAPHORE
 EVENT COUNTER
 MUTUAL EXCLUSION DG MONITOR
 KOMUNIKASI ANTAR PROSES DG METODE
MESSAGE PASSING
RACE CONDITION
 Sebagian besar Sistem Operasi, sering memakai
bersama memori (share memory), dimana setiap proses
dapat membaca dan menulis.
 Share memory dapat terjadi dalam memori utama atau
berupa share file.
 Lokasi share memory tidak merubah sifat dasar
komunikasi.
 Contoh :

Proses-A : Regs[A] ç 10 + 5;
Proses B : Regs[B] ç 10 – 5;
Proses A : X ç Regs[A]
Pada contoh diatas hasilnya yang diharapkan
adalah 15 tetapi hasil yg didapat adalah 5.
Kondisi diatas disebut RACE CONDITION.
RACE CONDITION adalah
 Kondisi tidak menentu yg diakibatkan oleh
pengaksesan data yg sama oleh dua proses atau
lebih.
CRITICAL SECTION
 Bagian dari suatu program dimana terjadi
pengaksesan terhadap share memory atau share file
yg dapat mengakibatkan terjadinya race condition.
 Cara yg dapat dilakukan untuk menghindari terjadi
race condition :
Mencegah situasi seperti contoh diatas dan
mencegah situasi-situasi lain yg melibatkan share
memory, share file, dan share resource lainnya.
Melarang lebih dari satu proses melakukan
pembacaan dan penulisan data pada lokasi yg
sama secara bersamaan.
Jika ada satu proses sedang menggunakan share
variabel atau share file, maka proses yg lain
dilarang masuk ke pekerjaan yg sama.
Ditawarkan suatu solusi untuk menghindari
terjadinya race condition yg lebih dikenal
sebagai mutual excluion.
Kriteria Mutual Exclusion :
 Tidak boleh ada 2 proses atau lebih yg berada dalam
satu critical section
 Jangan berasumsi dengan kecepatan running CPU
dan jumlah CPU
 Tidak boleh ada proses diluar critical section yg
memblok atau menghalangi proses lain masuk ke
critical section
 Tidak boleh ada proses yg menunggu terus, untuk
masuk ke critical section
Lifecycle of Process
Pengelolaan lifecycle Process
 Penciptaan proses
1. SO akan menerbitkan suatu nomor ID
untuk proses yang diciptakan.
2. SO akan membuat data record dengan
ID tersebut, kemudian menyisipkan pada
struktur data di memori utama yang
disebut process table
3. SO akan mengalokasi ruang memori
utama untuk menyimpan image proses.
4. Inisialisasi PCB
5. Masuk ke antrian ready. Status ready
 Penghentian Proses
1. Mengembalikan hasil output ke parent
process (proses yang menciptakannya)
2. Menghapus rekaman proses di semua
antrian dan tabel proses.
3. SO akan menghapus PCB dan image
process. Semua recources dikembalikan
ke SO
Setelah selesai, SO akan melakukan
penjadwalan (scheduling) untuk memilih
proses lain untuk dieksekusi
 Model 3 status
Status Proses  Ready
 Running
 Blocked

New
 Transitions between states
1 - Process enters ready queue
1 2 - Scheduler picks this process
3 - Scheduler picks a different
Ready process
2
4 - Process waits for event (such as
5 I/O)
3 5 - Event occurs
Blocked 6 - Process exits
Running
(waiting) 7 - Process ended by another
4 process

7
6
7
Exit
 Ada 4 transisi yang mungkin terjadi pada suatu proses :
 Running ke Blocked
• Transisi ini terjadi bila suatu proses tidak bisa dilanjutkan
karena peralatan input belum siap
 Running ke Ready
• Transisi ini terjadi saat scheduler memutuskan bahwa suatu
proses telah cukup lama sehingga perlu menghentikan
sementara
 Ready ke Running
• Transisi ini dilakukan ketika semua proses telah memperoleh
giliran semua, maka proses pertama akan running kembali.
Jika sudah tidak ada lagi proses yg sedang dieksekusi, maka
transisi akan segera dihidupkan dan proses yg sedang ready
segera masuk kembali.
 Blocked ke Ready
• Terjadi saat ada peristiwa lain diluar dirinya membangunkan
proses tersebut yang selama ini sedang tertidur
Model 5 status
Process switching

 Ketika suatu proses yang sedang running


sudah habis jatah waktu eksekusinya,
maka SO bertanggung jawab mengalihkan
eksekusi ke proses lainnya.
 Proses penggantinya scheduler
 Pengalihan eksekusinya  dispatcher
Berbagai penyebab process switching

 Interupsi
- aksi eksternal
a. interupsi waktu
b. interupsi piranti I/O
c. interupsi kesalahan memori utama
 Trap  kesalahan/kondisi khusus
(exception condition)
 Supervisor call atau system call
Tahapan process switching
Struktur kendali sistem operasi
Tabel Proses (Process Table)
 Untuk mengimplementasikan model
proses, sistem operasi membuat suatu
tabel yg disebut TABEL PROSES.
 Mencatat informasi mengenai status dari
setiap proses
 Informasi ini akan digunakan SO untuk
mengatur penjadwalan eksekusi proses.
 Umumnya diimplementasikan dengan link
list
Setiap proses mempunyai record dalam tabel
tersebut, dimana tiap record terdiri dari
beberapa field yg berisi informasi tentang :
Status proses
Program Counter
Stack Pointer
Alokasi Memori
Status File yang dibuka
Informasi perhitungan dan penjadualan
Informasi-informasi lain mengenai proses
tersebut.
 Masing-masing record menuju image
(alokasi memori utama)
 Sebuah process image memiliki elemen-
elemen:
 Data pengguna (User data)
berisi data-data program
 Kode program (User program)
berisi kode-kode instruksi program
 Sistem stack (user stack)
menyimpan parameter dan alamat dari prosedur
 Process Control Block (PCB)
menyimpan informasi yang diperlukan SO dalam
menjalankan proses.
PCB (Process Control Block )

 Dalam multitasking, banyak informasi


yang perlu dikumpulkan dari masing-
masing proses agar pengaturan dapat
dilakukan dengan baik.
 Informasi ini terletak dalam sebuah
Process Control Block.
PCB (Process Control Block )
 Setiap proses direpresentasikan kedalam sistem
operasi oleh PCB
 PCB meliputi informasi yang berhubungan
dengan proses:
 Process state
 Program counter
 CPU registers
 CPU scheduling information
 Memory-management information
 Accounting information
 I/O status information
 Elemen data yang terdapat pada suatu
PCB dapat dikelompokkan dalam 3
kategori:

1. Process identification
berkaitan dengan identifikasi proses secara
unik. Elemen yang termasuk: ID proses, ID
proses parent, ID user.
2. terdiri dari register-register prosesor. Elemen
yang termasuk: user-visible register, control
and status register dan stack pointer
3. Process control information
berisi informasi yang diperlukan SO
untuk mengendalikan beragam proses
yang aktif. Elemen yang termasuk:
a. Scheduling and state information
b. data structuring
c. Interprocess communication
d. process privileges
e. memory management
f. Resource ownership and utilization
PCB

Anda mungkin juga menyukai