MANAJEMEN PROSES
Komunikasi antar proses
Komunikasi antar Proses
Sistem Sekuential Vs KonkurensiSistem 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”
Ex: proses membangun rumah
Sistem Konkurensi
Sistem Paralel (multiprocessing)-terjadi overlapping
Multitasking-Penjadwalan-interleaving
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 CONDITIONCRITICAL SECTIONMUTUAL EXCLUSION DG BUSY WAITINGMUTUAL EXCLUSION DG SLEEP & WAKEUPMUTUAL EXCLUSION DG SEMAPHOREEVENT COUNTERMUTUAL EXCLUSION DG MONITORKOMUNIKASI ANTAR PROSES DG METODE
MESSAGE PASSING
RACE CONDITIONSebagian 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 SECTIONBagian 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 sectionJangan berasumsi dengan kecepatan running CPU
dan jumlah CPUTidak 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 proses1. 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 PCB5. Masuk ke antrian ready. Status ready
Penghentian Proses1. 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 melakukanpenjadwalan (scheduling) untuk memilih proses lain untuk dieksekusi
Blocked(waiting)
New
Exit
Ready
Running
Status Proses Model 3 status Ready Running Blocked
Transitions between states1 - Process enters ready queue2 - Scheduler picks this process3 - Scheduler picks a different
process4 - Process waits for event (such
as I/O)5 - Event occurs6 - Process exits7 - Process ended by another
process
1
5
4
3
2
7
76
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 schedulerPengalihan eksekusinya dispatcher
Berbagai penyebab process switching
Interupsi- aksi eksternala. interupsi waktub. 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 prosesProgram CounterStack PointerAlokasi MemoriStatus File yang dibukaInformasi perhitungan dan penjadualanInformasi-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 programKode program (User program)
berisi kode-kode instruksi programSistem stack (user stack)
menyimpan parameter dan alamat dari prosedurProcess 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 stateProgram counterCPU registersCPU scheduling informationMemory-management informationAccounting informationI/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