Sistem Operasi
Erika Ramadhani
Proses ?
User
Program Aplikasi
Sistem Operasi
Hardware
Silberschatz
Tanenbaum
Eksekusi Proses
Mengatur pengeksekusian
program pengguna atau
task
Eksekusi jobs
Program vs Proses
Entitas
Pasif
Entitas
Aktif
Status Proses
Status Utama
Running : pada saat instruksi dari sebuah
proses dieksekusi
Waiting: pada saat proses menunggu suatu
proses sebuah event (M/K)
Ready: pada saat proses siap dieksekusi
oleh prosesor
Status tambahan
New: pada saat proses baru saja dibuat
Terminated: pada saat proses sudah selesai
3 Kemungkinan
Status Running
Jika program telah selesai dieksekusi maka status
dari proses tersebut akan berubah menjadi
Terminated
Jika waktu yang disediakan oleh OS untuk proses
tersebut sudah habis maka akan terjadi interrupt
dan proses tersebut kini berstatus Ready
Jika suatu event terjadi pada saat proses
dieksekusi (seperti permintaan M/K) maka proses
tersebut akan menunggu event tersebut selesai
dan proses berstatus Waiting
Pembentukan Proses
Sebuah proses dibuat melalui system call
create-process
Membentuk proses turunan (child process)
yang dilakukan ole proses induk (parent
process)
Proses turunan bisa membuat proses baru,
sehingga membentuk pohon proses
Sumber daya diperoleh dari sistem operasi,
dari proses induk yang membagikan sumber
daya kepada setiap proses turunannya.
Fungsi fork()
UNIX, mempunyai system call fork yang
berfungsi untuk membuat proses baru
Proses yang memanggil system call fork =
proses induk dan proses turunan yang identik
Analogi: Pembelahan sel
Return code:
System call : integer
Proses anak: 0 (nol)
Proses induk: nomor identifikasi proses dari
turunan
Terminasi Proses
Suatu proses diterminasi ketika proses tersebut
telah selesai mengeksekusi perintah terakhir
Diterminasi dengan sengaja oleh proses lain,
biasanya proses induk yang melakukan
Terminasi:
Selesai melakukan tugas: memanggil system
call exit()
Diterminasi sengaja oleh proses lain: system call
abort
Proses induk melakukan proses terminasi sengaja
pada turunannya
Proses Linux
Linux = Unix
Operasi = membuat proses dan
menjalankan program baru
Proses baru dibuat dengan fungsi
fork()
Program baru dijalankan dengan
memanggil fungsi exec()
Identitas Proses
PID
Digunakan untuk menetapkan proses ke sistem
operasi ketika sebuah aplikasi membuat system
call untuk sinyal, modifikasi, atau menunggu
proses lain
Credentials
Setiap proses harus memiliki hubungan user ID dan
Group ID yang menentukan hak sebuah proses
untuk mengakses sumberdaya sistem dan file
Personality
Dapat sedikit memodifikasi semantics of system
calls
End of Slide