Professional Documents
Culture Documents
Pert-02 Ch03 Konsep Proses (2023-0205) - EnD
Pert-02 Ch03 Konsep Proses (2023-0205) - EnD
Program: Proses:
• Statik instruksi dan • Dinamis instruksi
data dan data
• Ada di secondary • Ada di RAM
memory • Contoh: notepad
• Contoh: notepad.exe (task manager)
• Tidak punya stack • Ada stack section
section
http://pages.cs.wisc.edu/~remzi/OSTEP/cpu-intro.pdf
Sistem Operasi – CII2H3/2023 # 8
Contoh isi RAM
https://manybutfinite.com
/post/anatomy-of-a-
program-in-memory/
•task_struct: https://github.com/torvalds/linux/blob/master/include/linux/sched.h
•Linked list: https://github.com/torvalds/linux/blob/master/include/linux/list.h
•https://www.cs.columbia.edu/~junfeng/10sp-w4118/lectures/l07-proc-linux.pdf
•https://notes.shichao.io/lkd/ch3/
•https://medium.com/hungys-blog/linux-kernel-process-99629d91423c
• https://www.inf.ed.ac.uk/teaching/courses/os/slides/03-process18.pdf
Sistem Operasi – CII2H3/2023 # 28
Exec()
•Pada Linux,
child dijalankan
dahulu,
kemudian
melakukan copy
image program
• Tidak
melakukan
duplikasi
terlebih dahulu,
tetapi
melakukan copy
image program
Sistem Operasi – CII2H3/2023 # 29
Pembentukan (Create) Proses (1)
• Interrupt
– Pergantian proses disebabkan adanya event eksternal
dan tidak ada hubungannya dengan proses yang
sedang running
• Misal: operasi baca file telah selesai dilakukan
– Contoh penyebab interrupt:
1. Clock interrupt
– Interrupt yang terjadi karena slot waktu untuk eksekusi
proses telah habis → sebanyak satu time slice
2. I/O interrupt
– Interrupt yang terjadi akibat aktifitas di I/O device telah
selesai
3. Memory fault
– Interrupt akibat memory fault terjadi jika blok data (page
atau segment) yang diinginkan tidak ada di memori utama
Sistem Operasi – CII2H3/2023 # 45
Pergantian (Switching) Proses (5)
• Trap
– Pergantian proses terjadi karena kesalahan atau
kelainan yang ditimbulkan oleh proses yang sedang
dieksekusi
• Misal: proses mencoba mengakses file yang tidak
boleh diakses
• Supervisor call (syscall)
– Pergantian proses yang sedang dieksekusi disebabkan
oleh proses itu sendiri (internal)
• Contoh: proses yang dieksekusi minta layanan I/O (misal:
buka file)
Terminate
➢ Cara kerja:
❖ Proses baru → Ready queue
▪ Jika tidak ada proses yang running → langsung dieksekusi
❖ Proses yang sedang running selesai/ter-blok → Pilih satu proses
di ready queue untuk dieksekusi
❖ Jika selesai → keluar
❖ Jika time out → masuk ready queue
❖ Jika perlu resource lain → masuk blocked queue
di harddisk
Asumsi:
tidak ada memori
virtual → semua
proses ditaruh di
memori
Dispatcher
Dispatcher
Proses C