PROSES
Sources :
Hariyanto, Bambang. 2012. “Sistem Operasi, Revisi Kelima, Bandung: Informatika Bandung
Tujuan Pembelajaran
• Memahami apa itu proses
• Mehamami kinerja sistem dalam pengeksekusian program
• Mengenali berbagai macam
scheduling/penjadwalan
Apa itu proses?
Proses adalah keadaan ketika sebuah program sedang di eksekusi
Executing Program
When a program is being executed they posses a typical characteristics :
1. CPU Burst (A time where the program is executed) 2. I/O Burst (A time where the program is performing
I/O operations)
Diagram State Proses (Tiga Keadaan)
New job / state :
User mencoba untuk menjalankan program
Ready state :
Program sudah dimuat di main memory Active state :
Program sedang dieksekusi Halted :
Program sudah keluar dari sistem Waiting :
Priority Scheduling
Priority scheduling can be either
pre-emptive or nonpreemptive. When a
process arrives at the ready queue, its priority is compared with the priority of the currently running process.
1. A pre-emptive priority scheduling algorithm will preempt the CPU if the priority of the newly arrived process is higher than the priority of the currently running process.
2. A nonpreemptive priority
Diagram State Proses (Lima Keadaan) [Suspension]
Swapping involves moving part or all of a process from main memory to disk. When none of the
processes in main memory is in the Ready state, the operating swaps one of the Blocked processes out onto disk into a Suspended Queue. This is a Queue of existing
processes that have been
temporarily kicked out of main memory, or suspended. The operating system then brings in another process from the
Pengendalian Proses oleh Sistem Operasi
1. Saling melanjutkan (interleave)
Sistem operasi harus saling melanjutkan eksekusi proses untuk memaksimalkan penggunaan pemroses
2. Mengikuti kebijaksanaan tertentu
Sistem operasi harus mengalokasikan sumber daya ke
proses-proses mengikuti kebijaksanaan yang ditentukan (ex : priority scheduling) sambil menghindari deadlock
Deadlock
Deadlock adalah
keadaan dimana 2 atau lebih proses saling
menunggu meminta resources untuk waktu yang tidak terbatas
lamanya. Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah.
Istilah
Multiprogramming/Multitasking Multiprocesing
Multiprogramming/Multitasking
Multiprogramming (multitasking) adalah manajemen banyak proses di satu pemroses. Pada
multiprogramming, pemakai memandang terdapat banyak proses dijalankan bersama pada suatu saat. Masing-masing proses mendapat bagian memori dan kendali sendiri. Sistem operasi mengalih-alihkan layanan
pemroses di antara proses-proses tersebut. Proses-proses yang
dijalankan di sistem
multiprogramming sebenarnya bersifat sebagai saling tidak
Multiprocesing
Multiprocessing adalah
manajemen banyak proses di komputer multiprocessor,
dulunya multiprocessor hanya terdapat di sistem besar yaitu sistem mainframe dan
minicomputer. Saat ini komputer workstation pun telah dapat dilengkapi
multiprocessor. Multiprocessor dimaksudkan untuk
peningkatan kerja dan
Distributed Processing
Distributed processing adalah manajemen banyak process yang dieksekusi di banyak sistem
komputer yang tersebar di satu jaringan. Idealnya, pemrogram tidak perlu menyadari keberadaan banyak pemroses. Kecenderungan masa yang akan datang adalah menuju komputasi tersebar
Company LOGO
IMPLEMENTASI
PROSES & TAHAP
PENCIPTAAN
PROSES
LOGO
Tabel Informasi Manajemen I/O
Tabel Informasi Sistem File
Tabel Proses
B e r a g a m T a b e l a t a u S e n a r a I :
Tabel Informasi Manajemen Memori
LOGO 1. Tabel Informasi Manajemen Memori
a.
Alokasi memori utama yang dipakai
proses
b.
Alokasi memori sekunder yang
dipakai proses (lakukan swapping)
c.
Atribut segmen memori utama dan
sekunder
LOGO
2. Tabel Informasi Manajemen
I/O
Fungsi : mengelola perangkat I/O.
Sistem Operasi perlu mengetahui status
operasi I/O dan lokasi memori utama
LOGO
3. Tabel Informasi Sistem
File
Sistem File
Bagian dari OS yang melakukan
write, exe, modify, copy dan read.
Tabel ini berisi informasi mengenai
ekstensi file.
LOGO
4. Tabel Proses
Mengelola informasi proses di
sistem operasi.
LOGO
ELEMEN CITRA
PROSES
Elemen Deskripsi
Data User Memodifikasi data program, daerah stack user.
Program User Program Biner
Stack Sistem Menyimpan parameter dan alamat panggil (system calls)
PCB (Program Control Block)
LOGO
PCB & SENARAI
PROSES
PCB berisi informasi mengenai
proses yang diperlukan sistem
operasi. Kumpulan PCB
mendefinisikan state sistem operasi.
PCB dimodifikasi :
a.Penjadwalan
b.Alokasi sumber daya
c.Pemrosesan interupsi
d.Monitoring
LOGO
Senarai Proses
Senarai adalah link atau yang terkait. Proses Running (PCB berada di senarai
Running) dipindah sesuai state yang dialami proses, sebagai berikut :
a.Bila proses berakhir maka jalankan operasi terminasi sehingga PCB tidak ada lagi
b.Bila proses di-block karena menunggu alokasi sumber daya maka PCB dipindah ke senarai Blocked
c.Bila proses dijadwalkan habis jatah waktu
LOGO
PCB (P
rinted Circuit Board
) ≠
PCB (
Program Control Block
)
Printed
Circuit
LOGO
PENGAKSESAN INFORMASI DI
PCB
2 masalah utama proteksi terhadap PCB :
a.Bug (kesalahan pemograman) pada rutin
tunggal.
b.Perubahan rancangan struktur dan
semantics PCB
LOGO
PENGAKSESAN
INFORMASI …
Tugas Rutin adalah memproteksi PCB
dan menjadi perantara pembacaan dan
penulisan PCB.
a.Masalah pertama dapat dicegah
b.Masalah kedua jelas langsung teratasi.
Pengaksesan langsung pada PCB lebih
cepat daripada harus memanggil rutin
LOGO
TAHAP TAHAP PENCIPTAAN
PROSES
LOGO
TAHAP TAHAP …
Penciptaan Proses melibatkan banyak aktivitas, yaitu :
1. Menamai atau (memberi identitas) proses yang akan diciptakan dengan process id.
2. Menyisipkan proses pada senarai proses atau tabel proses.
3. Menentukan prioritas awal proses. 4. Menciptakan PCB.
5. Mengalokasikan sumber daya – sumber daya
Tahap- Tahap penciptaan proses adalah sebagai berikut :
a.Diberikan satu identifier unik ke proses baru, isian baru ditambahkan ke table proses utama yang berisi satu isian per proses.
b.Dialokasi ruang untuk proses c.PCB harus diinisialisasi
d.Kaitan-kaitan antartabel dan senarai yang cocok dibuat.
Masalah 1 :
Apa kejadian-kejadian yang memicu alih proses.
1. Interupsi sistem 2. Trap
1. Interupsi sistem
Interupsi sistem disebabkan kejadian eksternal dan tidak bergantung proses yang saat itu sedang dalam state Running.
Pada kejadian interupsi, kendali lebih dulu ditranfer ke interupt handler yang melakukan
penyimpanan data-data dan kemudian beralih ke rutin sistem operasi yang berkaitan dengan tipe interupsi itu.*1
Contoh :
Ada beberapa tahapan dalam penanganan
interupsi:[1]
Controller mengirimkan sinyal interupsi melalui
interrupt-request-line
Sinyal dideteksi oleh prosesor
Prosesor akan terlebih dahulu menyimpan
informasi tentang keadaan state-nya (informasi
Prosesor mengidentifikasi penyebab interupsi dan
mengakses tabel vektor interupsi untuk
menentukan interrupt handler
Transfer kontrol ke interrupt handler
Setelah interupsi berhasil diatasi, prosesor akan
Tipe-tipe interupsi
1. Interupsi clock
Trap
Interupsi karena terjadinya kesalahan atau kondisi
kekecualian (exception conditions) yang di
hasilkan proses yang Running, seperti usaha
Supervisor Call
Yaitu panggilan meminta atau mengaktifkan bagian SO.
Contoh : Proses pemakai running
meminta layanan masukan/ keluaran seperti membuka file. Panggilan ini menghasilka transfer rutin bagian
Masalah 2 :
Terdapatnya perbedaan anatara alih proses dan
alih konteks
Pengalihan Konteks
Dapat terjadi tanpa pengalihan state proses yang
sedang running, sedang pengalihan proses pasti
melibatkan juga pengalihan konteks. Siklus penanganan interupsi adalah :
1. Pemroses menyimpan konteks program saat itu
yang sedang dieksekusi ke stack.
2. Pemroses menge-set register PC dengan alamat
Pengalihan Proses
Dapat terjadi jika proses yang running beralih menjadi state lain(ready,blocked, dan
sebagainya), kemudian sistem operasi harus membuat perubahan bararti terhadap
3.6 Kedudukan Sistem Operasi
Sistem operasi sebagai kernel tersendiri yang
berbeda dengan proses-proses lain(kernel sebagai
non-proses).
Fungsi-fungsi sistem operasi di eksekusi dalam
proses pemakai.
Ketika proses running diinterupsi atau memanggil sistem call maka konteks pemroses dari proses ini disimpan dan kendali dilewatkan ke kernel. Sistem operasi mempunyai daerah memori dan Stack sendiri untuk pemanggilan
prosedur didalamnya.
Sistem operasi melakukan fungsi yang diinginkan proses pemakai dan mengembalikan konteks proses yang
Ketika interupsi , trap atau supervisor call terjadi ,
pemroses ditempatkan ke mode kernel dan
kendali dilewatkan ke system operasi konteks. Pemroses disimpan dan alih konteks ke rutin
sistem operasi. Eksekusi dilanjutkan dalam proses pemakai saat itu, tidak dilakukan proses, hanya
Fungsi-fungsi kernel utama di organisasi sebagai proses proses terpisah. Terdapat kode kecil
pengalihan proses yang di eksekusi di luar proses. Pendekatan ini mempunyai beberapa keunggulan, yaitu :
Perancangan modular dapat diterapkan ke
perancangan sistem operasi.
Fungsi-fungsi sistem operasi tak-kritis secara
bagus dapat diimplementasikan sebagai proses-proses terpisah.
Mudah diterapkan pada lingkungan
DAFTAR PUSTAKA
DR. Bambang hariyanto. 2009.”Sistem Operasi”, Revisi keempat, penerbit : INFORMATIKA.
http://manajemenmemori.wordpress.com/2010/10/3 1/konkurensi-dan-keamanan/