Manajemen Proses

advertisement
Manajemen Proses
Edi Sugiarto, S.Kom
Pendahuluan
Tema utama perancangan sistem operasi
berkaitan dengan manajemen proses
 Konsep ini digunakan pertama kali pada OS
Multics tahun 1960-an.
 Istilah lain dari proses adalah Task
 Task berisi instruksi dan data, program counter,
nilai register proses, serta stack yang berisi data
sementara.

Deskripsi Proses
Proses adalah program yang sedang dieksekusi.
 Proses merupakan unit kerja terkecil yang secara
individu memiliki sumber daya dan merupakan
unit terkecil yang dijadwal sistem operasi
 Beberapa isitilah penting berkaitan dengan
proses:

◦ Multiprogramming (multitasking)
◦ Multiprocessing
◦ Distributed processing
Multiprogramming
Multiprogramming adalah manajemen banyak
proses di satu pemroses.
 Pada multiprogramming, pemakai memandang
terdapat banyak proses dijalankan bersamaan
pada satu saat.
 Proses yang dijalankan pada sistem
multiprogramming bersifat :

◦ Saling tidak bergantung
 Artinya proses tidak saling mempengaruhi satu sama lain.
◦ Satu program pada satu saat
lanjut





Dalam multiprogramming sistem melakukan
interleave (saling melanjutkan)
Sehingga seolah-olah proses beroperasi secara
bersamaan.
Pemroses mengeksekusi satu proses tiap saat
dan secara cepat beralih ke proses lain secara
bergiliran
Karena dilakukan dengan sangat cepat sehingga
menimbulkan efek pseudoparallelism pada
pemakai
Contoh : MS Windows 98/NT/XP, OS/2, MAC
System 7
Multiprocessing
Multiprocessing adalah manajemen banyak
proses pada komputer multiprocessor (banyak
pemroses).
 Awalnya hanya terdapat pada komputer besar
mainframe dan minikomputer.
 Dimaksudkan untuk peningkatan kinerja dan
memberikan kemampuan fault tolerant.
 Contoh : Windows NT, UNIX, Linux.

Distributed Processing
Distributed processing adalah manajemen
banyak proses yang dieksekusi pada banyak
sistem komputer yang tersebar di satu jaringan.
 Kecenderungan masa mendatang adalah menuju
komputasi tersebar.
 Contoh : AMOEBA, MACH.

Kebutuhan Utama Pengendalian
Proses

Menurut Stalling kebutuhan utama pengendalian
proses dapat mengacu ke proses.
◦ Interleave (saling melanjutkan)
 Sistem operasi melakukan interleave eksekusi proses untuk
memaksimalkan penggunaan pemroses sambil memberi waktu
tanggap yang memadahi.
◦ Mengikuti Kebijakan Tertentu
 Memperhatikan proses dengan prioritas tertinggi sambil
menghindari deadlock
◦ Mendukung Komunikasi antarproses dan
Penciptaan Proses
State/ Proses
Proses melewati serangkaian state.
 Berbagai kejadian dapat menyebabkan perubahan
/perpindahan state proses.
 Tabel dibawah menjelaskan tiga state dasar

Status
Deskripsi
Running
Pemroses sedang mengeksekusi instruksi proses tsb
Ready
Proses siap dieksekusi tapi pemroses tidak mengeksekusi
proses ini
Blocked
Proses menunggu kejadian tertentu selesai
Misal :
• Selesainya operasi I/O
• Tersedianya memory, dll
Diagram State Proses
Timeout
Submit
Ready
Dispatch/pe
ngiriman
Event occurs
Running
Completion/p
enyelesaian
Event wait
Blocked
lanjut





Proses yang baru diciptakan segera mempunyai state
Ready
Proses yang berstatus Running menjadi Blocked
karena sumberdaya yang diminta belum tersedia.
Proses yang berstatus Running menjadi Ready karena
waktu untuk proses tersebut telah habis.
Proses yang berstatus Blocked menjadi Ready saat
sumberdaya atau layanan yang diminta tersedia.
Proses dengan state Ready menjadi Running karena
penjadwal memutuskan menggunakan pemroses untuk
proses tersebut dikarenakan proses yang saat itu running
telah selesai di proses atau berubah state.
Process Control Block (PCB)
Berfungsi untuk menyimpan informasi
mengenai proses.
 Informasi di PCB dikelompokan menjadi tiga
kelompok, yaitu :

1. Informasi identifikasi proses
 Berkaitan dengan identifikasi proses yang unik, Identifikasi proses
yang menciptakan identifikasi pemakai
2. Informasi status proses
 Berisi nilai dari register-register pemroses
3. Informasi kendali proses.
 Berisi informasi yang diperlukan sistem operasi untuk
mengendalikan dan koordinasi beragam proses aktif
Operasi-Operasi pada Proses
1.
2.
3.
4.
5.
6.
7.
8.
9.
Penciptaan Proses
Penghancuran proses
Penundaan proses
Pelanjutan kembali proses
Pengubahan prioritas proses
Mem-block proses
Membangunkan proses
Menjadwal proses
Memungkinkan proses berkomunikasi dengan proses
lain
1. Penciptaan Proses

Aktivitas penciptaan proses antara lain :
◦
◦
◦
◦
◦

Menamai / identifikasi proses (process id)
Menyisipkan proses pada tabel proses
Menentukan prioritas awal proses
Menciptakan PCB
Mengalokasikan sumber daya awal bagi proses.
Kejadian yang dapat menyebabkan penciptaan
proses
◦ Sebagai tanggapan atas pemberian satu kerja, pada lingkungan
batch
◦ Pada lingkungan interaktif, ketika pemakai baru berusaha login
◦ Sebagai tanggapan permintaan aplikasi
◦ Proses yang menciptakan proses lain.
Tahap-tahap Penciptaan Proses

Penciptaan proses dapat dikarenakan beragam
sebab, penciptaan proses tersebut meliputi
beberapa tahap menurut Stalling.
1. Diberikan satu identifier unik ke proses baru. Isian
baru ditambahkan ke tabel proses utama yang berisi
satu isian per proses.
2. Dialokasikan ruang untuk proses
3. PCB harus diinisalisasi
4. Kaitan antar tabel yang cocok dibuat
5. Bila diperlukan struktur data lain maka segera dibuat
struktur data tersebut.
2. Penghancuran Proses

Penghancuran proses melibatkan pembebasan
proses dari sistem, yaitu :
◦
◦
◦
◦
Sumber daya yang digunakan akan dikembalikan
Proses dihancurkan dari tabel proses
PCB dihapus.
Proses turunan dari proses induk dihancurkan
otomatis saat proses induk dihancurkan.
◦ Namun beberapa sistem menganggap bahwa proses
anak benar-benar independen dari proses induk,
sehingga proses anak tidak dihancurkan saat proses
induk dihancurkan.
lanjut

Penyebab dihancurkanya proses, yaitu :
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
Selesainya proses secara normal
Batas waktu telah terlewati
Memori tidak tersedia
Terjadi kesalahan karena pelanggaran proteksi
Terjadi kesalahan aritmatika
Waktu telah kadaluwarsa
Terjadi kegagalan masukan/keluaran
Instruksi tidak benar
Berakhirnya proses induk
Atas permintaan proses induk
3. Penundaan / Suspension
Penundaan (suspension) sering dilakukan
sistem untuk memindahkan proses-proses
tertentu ke hardisk guna mereduksi beban sistem
saat situasi beban puncak.
 Proses yang ditunda (suspended process) tidak
berlanjut sampai proses lain memerintahkan
untuk berlanjut (resume).

4. Pelanjutan Kembali Proses

Operasi suspend dan resume penting sebab :
◦ Jika sistem berkinerja buruk dan berpeluang gagal
maka proses yang kurang penting dapat di
suspend agar kinerja meningkat.
◦ Setelah beban sistem menurun proses-proses
suspend dapat diresume agar dapat melanjutkan
tugasnya.
 Contoh : pada proses pencetakan.
Diagram State Proses Lanjut
Timeout
Dispatch
Submit
Completion
Ready
Running
Event
occurs
Resume
Event wait
Blocked
Suspend
Suspend
Resume
SuspendedReady
SuspendedBlocked
lanjut
Pada sistem monoprocessor, proses Running
dapat mensuspend dirinya sendiri.
 Pada sistem multiprocessor, proses Running
dapat disuspend proses Running lain di
pemroses yang berbeda, sedangkan proses
Ready hanya dapat disuspend oleh proses lain
yang Running.
 Pada proses Blocked terdapat transisi menjadi
SuspendedBlocked karena agar sumber daya
yang digunakan pada proses Blocked dapat
digunakan proses lain.

Implementasi Proses
Masing–masing proses pada sistem memiliki
proses yang perlu diperhatikan sistem operasi.
 Sistem operasi mencatat state proses dengan
beragam tabel atau senarai antara lain :

◦
◦
◦
◦
Tabel informasi manajemen memori
Tabel informasi manajemen I/O
Tabel informasi sistem file
Tabel proses.
lanjut

Tabel Informasi Manajemen Memori
◦ Berfungsi untuk menjaga keutuhan memori
utama dan memori sekunder.
◦ Informasi yang dimuat pada tabel ini :
 Alokasi memori utama yang digunakan proses
 Alokasi memori sekunder yang digunakan proses
(bila menggunakan manajemen memori swapping)
 Atribut segmen memori utama dan sekunder
 Informasi-informasi lain yang digunakan untuk
pengelolaan memori
lanjut

Tabel Informasi I/O
◦ Digunakan untuk mengelola perangkat I/O.
◦ Pada saat tertentu perangkat I/O digunakan
proses tertentu
◦ Sehingga proses I/O tsb perlu dijaga agar
proses lain tidak memakainya.
◦ Sistem operasi perlu mengetahui status operasi
I/O dan lokasi memori utama yang digunakan
untuk transfer data.
lanjut

Tabel Informasi Sistem File
◦ Berisi informasi mengenai:
 Ekstensi file
 Lokasi pada memori sekunder
 Atribut-atribut file lainya.

Tabel Proses
◦ Mengelola informasi proses pada SO.
◦ Lokasi tabel proses di memori
◦ Berisi status dan atribut-atribut proses yang
lain.
Struktur tabel kendali pada SO
Tabel-Tabel Memori
Memori
Tabel-Tabel
Peralatan
I/O Device
File
Citra proses
Tabel-Tabel File
Proses 0
Proses
Tabel-Tabel Proses
Proses 0
Proses 1
Proses N
Citra proses
Proses N
5. Pengubahan/Pengalihan
Proses
Pada suatu saat proses Running diinterupsi dan
sistem operasi memberi proses lain state
Running sehingga kendali dialihkan ke proses
tersebut.
 Dalam hal tersebut muncul beberapa masalah

◦ Apa kejadian yang memicu pengalihan proses?
◦ Perbedaan antara process switching dan context
switching.
◦ Apa yang harus dilakukan sistem operasi terhadap
beragam struktur data yang dibawah kendalinya dalam
pengalihan proses?
Kejadian penyebab pengalihan
proses
Interupsi System
 Trap
 Supervisor Call

lanjut

Interupsi System
◦ Kejadian eksternal dan tidak bergantung
proses yang sedang Running
 Selesainya opeasi I/O
◦ Tipe – tipe interupsi antaralain
 Interupsi clock
 Interupsi I/O/ (I/O interrupt)
 Page/memory fault
lanjut

Trap
◦ Interupsi karena terjadi kesalahan atau kondisi
pengecualian yang dihasilkan proses Running.
 Usaha ilegal dalam mengakses file.
◦ Saat terjadi trap, mungkin terjadi pengalihan
proses atau mungkin juga me resume terhadap
proses.
lanjut

Supervisor Call
◦ Yaitu panggilan meminta atau mengaktifkan
bagian sistem operasi
◦ Contoh : proses Running meminta layanan I/O
seperti membuka file, panggilan tsb
menyebabkan transfer ke rutin bagian sistem
operasi
Pengalihan Proses VS Pengalihan
Konteks
Banyak buku sistem operasi menyamakan antara
pengalihan proses dan pengalihan konteks.
 Yang membedakan pengalihan konteks terjadi
tanpa pengalihan state proses yang sedang
Running, sedangkan pengalihan proses pasti
melibatkan pengalihan konteks.
 Pengalihan proses terjadi jika proses yang
Running beralih menjadi state lain (ready,
blocked, dan sebagainya).

Langkah pengalihan proses







Simpan konteks pemroses, termasuk register PC dan
register lain
Perbaiki PCB proses yang Running.
Pindahkan PCB proses ke senarai yang cocok
Pilih satu proses lain untuk dieksekusi
Perbaharui PCB proses yang dipilih
Perbaharui struktur data memori
Kembalikan konteks pemroses dengan konteks
simpanan yang menjelaskan konteks proses terakhir saat
dialihkan dari state Running.
[Stalling-95]
Kedudukan Sistem Operasi
Sistem operasi juga perangkat lunak, yaitu
program yang perlu dieksekusi pemroses.
 Kedudukan sistem operasi dibanding proses
lain

◦ Sebagai kernel tersendiri yang berbeda dengan
proses lain
 kernel adalah suatu perangkat lunak yang menjadi bagian utama
dari sebuah sistem operasi.
◦ Fungsi sistem operasi dieksekusi dalam proses
pemakai
◦ Sistem opeasi juga sebagai kumpulan proses
(process-based operating system).
lanjut

Kernel sebagai Nonproses
◦ Kernel sistem operasi berada diluar proses
◦ Kernel disimpan dalam memori tersendiri
P0
P1
P3
Kernel
Pn
lanjut

Dieksekusi dalam proses pemakai
◦ Sebagai alternatif lain eksekusi sistem operasi.
◦ Berdasarkan pandangan bahwa sistem operasi
sebagai kumpulan rutin yang dipanggil pemakai
untuk melakukan beragam fungsi.
P0
P1
Pn
Fungsi-fungsi
Sistem Operasi
Fungsi-fungsi
Sistem Operasi
Fungsi-fungsi
Sistem Operasi
Fungsi-fungsi pengalihan proses
lanjut

Sistem operasi sebagai kumpulan proses
◦ Fungsi kernel utama diorganisaikan sebagai
proses yang terpisah
U0
U1
……
Un
OS0
Fungsi Pengalihan Proses
(Process Switching Function)
OS1
……
OSn
Mikrokernel
Mikrokernel adalah inti sistem operasi yang
menyediakan landasan perluasan sistem operasi
 Saat ini mendapat banyak perhatian
 Landasan pendekatanya adalah hanya fungsifungsi inti yang secara mutlak harus berada pada
kernel, layanan yang kurang esensi dibangun
diatas mikrokernel tsb.
 Fungsi mikrokernel sebagai mediator pertukaran
pesan, memvalidasi, melewatkan pesan antar
komponen, dan memberi hak pengaksesan
perangkat keras.

Download