Proses
Adalah suatu program
yang berisi program counter, register dan variabel yang sedang dalam
keadaan eksekusi
Proses memerlukan resource antara lain:
- Memori
- File
- I/O device
Beberapa istilah
berkaitan dengan proses, antara lain:
Multiprogramming
(multitasking)
Adalah manajemen
banyak proses pada suatu pemroses, dimana masing-masing proses mendapat
bagian memori dan kendali sendiri, dan sistem operasi melayani proses
secara bergantian
Program yang
dijalankan bersifat:
- saling tak
tergantung (independent)
- Satu program pada
suatu saat
Multiprocessing
Adalah manajemen
banyak proses dikomputer dengan dengan banyak pemroses
(multiprocessor)
Distributed
processing
Manajemen banyak proses yang dieksekusi dibanyak sistem komputer
yang tersebar (terdistribusi)
Kebutuhan Utama Pengendalian Proses
1.
Saling melanjutkan (Interleave)
Sistem operasi harus saling melanjutkan eksekusi proses-proses
agar memaksimalkan penggunaan pemroses sambil masih memberi waktu
tanggap yang memadai
2.
Mengikuti kebijaksanaan tertentu
Sistem operasi harus mengalokasikan sumber daya ke proses-proses
mengikuti kebijaksanaan yang ditentukan sambil menghindari deadlock
3.
Mendukung komunikasi antar proses dan penciptaan proses
Sistem operasi mendukung komunikasi antar proses dan penciptaan
proses oleh aplikasi sehingga membantu menstrukturkan aplikasi.
Process Control Block (PCB)
PCB adalah
representasi dari sebuah proses Informasi PCB dikelompokan menjadi 3,
yaitu:
1. Informasi identifikasi proses
2. Informasi status
proses
3. Informasi kendali
proses
Informasi
Identifikasi Proses
Informasi
identifikasi proses merupakan hal yang berkaitan dengan identitas yang
unik untuk mengaitkan proses ke tabel-tabel lain, yang meliputi :
- identifier
proses
- identifier proses
yang menciptakan
- identifier pemakai
Informasi Status
Pemroses
Informasi status
pemroses merupakan hal yang terdiri dari regiter-register pemroses, yang
meliputi:
-
Register-register yang terlihat pemakai, yaitu register yang
ditunjuk instruksi bahasa assembly untuk diproses pemroses
-
Register kendali dan status, yaitu program counter
-
Poiter stack:
-
Tiap proses mempunyai satu stack atau lebih
-
Digunakan untuk parameter atau alamat prosedur pemanggil dan
system call
Informasi Kendali
Proses
Informasi kendali
proses meliputi:
1. Informasi
penjadwalan dan status, yaitu berisi informasi yang digunakan untuk menjalankan
fungsi penjadwalan, antara lain:
-
Status prioritas, yaitu mendefinisikan keadaan/status proses
(running, ready, dan blocked)
-
Prioritas, yaitu menjelaskan prioritas proses
-
Kejadian, yaitu identitas kejadian yang ditunggu proses
-
Informasi berkaitan dengan penjadwalan (lama menunggu, lam
proses terakhir di eksekusi)
2. Perstrukturan
data, yaitu suatu proses dapat dikaitkan dengan proses lain dalam satu
antrian atau ring
3. Komunikasi antar
proses, yaitu macam-macam flag, sinyal dan pesan dapat diasosiasikan
dengan komunikasi antar dua proses yang terpisah.
4. Kewenangan proses,
yaitu proses dapat mempunyai kewenangan berkaitan dengan memori
5. Manajemen memori,
yaitu berisi pointer ke tabel segmen atau page yang menyatakan virtual
memori proses
6. Kepemilikan dan
sumber daya, yaitu sumber day ayng dikendalikan proses harus ditandai,
misal:
-
Berkas yang dibuka
-
Pemakaian pemroses
Operasi-operasi pada Proses
Operasi yang dapat terjadi pada proses antara lain:
-
Penciptaan/pembuatan proses
-
Penghancuran/ terminasi proses
-
Penundaan proses
-
Pelanjutan kembali proses
-
Pengubahan prioritas proses
-
Mem-blok proses
-
Membangunkan proses
-
Menjadwalkan proses
-
Memungkinkan proses berkomunikasi dengan proses lain
Penciptaan dan
penghancuran proses
Terdapat dua operasi
penting terhadap proses yaitu penciptaan dan penghancuran poses
Penciptaan
proses
Aktivitas-aktivitas
yang dilakukan pada penciptaan proses, yaitu:
-
Memberi nama proses
-
Menyisipkan proses pada senarai proses atau tabel proses
-
Menentukan prioritas awal proses
-
Menciptakan PCB
-
Mengalokasikan sumber daya awal bagi proses
Kejadian-kejadian
yang dapat menyebabkan penciptaan proses, antara lain: - Pada lingkungan batch,
yaitu sebagai tambahan atas pemberian job, setelah menciptakan proses
baru, sistem operasi melanjutkan untuk membaca job selanjutnya.
-
Pada lingkungan interaktif, yaitu pada saat user baru berusaha
logon - Sebagai tanggapan suatu aplikasi (permintaan pencetakan file, sistem
operasi dapat menciptakan proses yang akan mengelola pencetakan
itu)
-
Proses penciptaan proses lain (proses anak)
Selama eksekusi suatu
proses dapat membuat suatu proses yang baru yang dinamkan child proses,
proses yang membuat proses anak dinamakan parent proses, child proses
bisa membuat child proses yang lain.
Penghancuran
proses
Pada penghancuran proses melibatkan
pembebasan proses dari sistem, yaitu meliputi: - Sumber daya yang dipakai
dikembalikan
-
Proses dihancurkan dari senarai atau tabel sistem
-
PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas)
Alasan-alasan/penyebab penghancuran proses, antara lain:
-
Proses selesai secara normal
-
Batas waktu telah terlewati
-
Memori tidak tersedia
-
Pelanggaran terhadap batas memori
-
Terjadi kesalahan karena pelanggaran proteksi
-
Terjadi kesalahan penghitungan
-
Proses menunggu terlalu lama
-
Terjadi kegagalan I/O
-
Proses berusaha mengeksekusi intruksi yang tidak ada
-
Proses berusaha menggunakan instruksi yang disimpan untuk sistem
operasi - Terjadi kesalahan penggunaan data
-
Diintervensi oleh sistem operasi atau operator
-
Berakhirnya proses induk
-
Atas permintaan proses induk
Diagram State Proses
(Status Proses)
Suatu proses akan
melewati serangkaian state dasar yaitu
1.
Running
2.
Ready
3.
Waiting (Blocked)
Suatu proses dapat
berada pada salah satu status dasar tersebut, Operasi yang penting dalam
pada suatu proses adalah
-
Suspend proses, yaitu penundaan suatu proses
-
Resuming proses, yaitu pengaktifan kembali proses yang ditunda
dari titik/instruksi dimana proses ditunda
Implementasi
proses
Status proses dicatat
oleh sistem operasi dengan tabel atau senarai, antara lain:
a. Tabel informasi manajemen memori, yaitu
untuk menjaga keutuhan memori utama dan memori sekunder
b. Tabel informasi manajemen I/O, yaitu untuk mengelola
perangkat I/O
c. Tabel informasi sistem file, yaitu berisi informasi
mengenai ekstensi file, lokasi pada memori sekunder, status saat itu dan
menyimpan atribut-atribut file lainnya.
d. Tabel proses, yaitu mengelola informasi proses disistem
operasi dan lokasinya dimemori
Pengalihan proses
Pengalihan proses terjadi jika proses yang running beralih menjadi
state lain, kemudian sistem operasi membuat perubahan-perubahan terhadap
lingkungan. Penyebab kejadian pengalihan proses
1. Interupsi sistem
Disebabkan kejadian eksternal dan tak bergantung proses yang saat
itu sedang running.
Tipe-tipe interupsi
- Interupsi
clock
Sistem operasi menentukan apakah proses yang sedang running
telah mengeksekusi selama jatah waktunya, jika sudah maka terjadi
pengalihan status
- Interupsi I/O
Peralatan I/O melakukan interupsi meminta layanan sistem operasi -
Page/memori fault Pemroses menemui pengacauan alamat virtual memori yang
tidak terdapat dimemori utama
2. Trap
Interupsi karena terjadinya kesalahan atau kondisi pengecualian
yang dihasilkan proses yang running, seperti usaha ilegal dalam mengakses
file
3. Supervisor call
Panggilan meminta atau mengaktifkan
bagian sistem operasi
0 Comments