You are on page 1of 73

Sistem Operasi CII2H3

Deskripsi dan Kontrol Proses


(Pertemuan ke-2)

Tim Dosen Sistem Operasi

Prodi S1 Teknologi Informasi


Fakultas Informatika
Universitas Telkom
Februari 2023
Capaian Pembelajaran

• PLO-3: Menguasai konsep dasar sains dan/atau


matematika serta prinsip-prinsip informatika
dan komputer.
– CLO-1: Mahasiswa mampu menjelaskan
konsep-konsep utama dalam sistem operasi,
proses, thread, dan sinkronisasi proses dengan
benar

Sistem Operasi – CII2H3/2023 # 1


Bahasan
•Definisi proses
• Process Control Block (PCB)
• Process Creation
• Process Termination
• Context Switching
• Trap, Interrupt, Syscall
• Process States
• Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 2
Apakah Proses itu?

• Program yang SEDANG dieksekusi


• Program yang sedang berjalan di komputer
• Entitas yang dapat diberikan kepada prosesor
untuk dieksekusi
• Sebuah aktifitas yang sangat dipengaruhi oleh
hasil eksekusi sebelumnya, status saat ini, dan
sejumlah resource sistem yang tersedia
• A process consists of program code and
associated data plus a process control block

Sistem Operasi – CII2H3/2023 # 3


Apa Saja Elemen Proses yang
Sedang Running? (1)
• Identifier
– Identitas unik untuk membedakan suatu proses dengan
proses lainnya
• State
– Status (kondisi) suatu proses (sedang dieksekusi, sedang
diblok, dll)
• Priority
– Prioritas suatu proses terhadap proses yang lain
• Program counter
– Alamat instruksi berikutnya yang akan dieksekusi
• Memory pointers
– Pointer yang menunjuk pada alamat memori kode program
dan data yang berhubungan dengan proses dan blok
memori yang di-shared dengan proses lain (jika ada)

Sistem Operasi – CII2H3/2023 # 4


Apa Saja Elemen Proses yang
Sedang Running? (2)
• Context data
– Data yang terdapat pada register prosesor ketika suatu
proses sedang dieksekusi
• I/O status information
– Informasi tentang permintaan terhadap I/O device yang
belum terpenuhi (misal akses ke harddisk), daftar file yang
sedang digunakan oleh proses, dll
• Accounting information
– Informasi tentang jumlah waktu prosesor yang telah
digunakan, jumlah waktu proses, batas waktu proses,
nomor account, dsb.

Sistem Operasi – CII2H3/2023 # 5


Program vs Proses

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

Sistem Operasi – CII2H3/2023 # 6


Tahap dari Program menjadi
Proses
1. OS melakukan loading kode dan data program
dari harddisk ke memori utama (RAM)
2. OS mengalokasikan stack, heap, inisialisasi
resource I/O, inisialisasi PCB, dll*
3. OS menjalankan proses dengan mengeksekusi
instruksi pada main()

Catatan: detail dijelaskan pada syscall fork() atau


exec()
*Detail ada di buku Stalling bab: prosess creation

Sistem Operasi – CII2H3/2023 # 7


Tahap dari Program menjadi
Proses

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/

Sistem Operasi – CII2H3/2023 # 9


Bahasan
• Definisi proses
•Process Control Block (PCB)
• Process Creation
• Process Termination
• Context Switching
• Trap, Interrupt, Syscall
• Process States
• Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 10
Process Control Block (PCB) (1)

• Struktur data yang menyimpan elemen-elemen


proses
• Dibuat dan diatur oleh sistem operasi
• Mendukung adanya multi proses
• Bersama-sama dengan kode program dan data
yang diperlukan membentuk sebuah proses
– Proses = PCB + kode program + data yang
diperlukan

Sistem Operasi – CII2H3/2023 # 11


Process Control Block (PCB) (2)

➢ Sebagian isi PCB:

Sistem Operasi – CII2H3/2023 # 12


Process Control Block (PCB)

• Isi PCB terdiri dari 3 bagian:


– Process Identification (PID)
• Identifikasi unik untuk setiap proses (pid, ppid,
uid)
– Processor State Information (PSI)
• Informasi berisi register processor
• Misal: informasi-informasi yang disimpan jika
proses diinterupsi
– Process Control Information (PCI)
• Informasi yang digunakan OS untuk manajemen
proses
• Contoh: status, prioritas, penjadwalan, resource,
dll
Sistem Operasi – CII2H3/2023 # 13
Process Identification (PID)

• PID merupakan identitas numerik yang terdiri


dari:
– Identitas proses (pid)
– Identitas proses induk (ppid)
– Identitas user (uid)
• Setiap proses mempunyai identifikasi (id) yang
unik yang disebut sebagai process identifier
(pid)
• Selain pid, setiap proses juga mempunyai ppid
(parent pid) karena proses dibuat dari proses
lainnya pembentuk pohon proses
Sistem Operasi – CII2H3/2023 # 14
PID pada UNIX
• Pada OS UNIX, proses pertama yang dibuat adalah init (pid = 1)
• Dari PID 1 itulah semua proses akan diturunkan

Sistem Operasi – CII2H3/2023 # 15


PID pada UNIX
• Ketika mengeksekusi
program “ls” dari
terminal (bash),
maka:
– terminal adalah
parent process
– “ls” adalah child
process dari
terminal

Sistem Operasi – CII2H3/2023 # 16


Processor State Information
(PSI) (1)
Isi PSI terdiri dari:
1. User-Visible Registers
– Adalah register yang digunakan untuk menaruh
program aplikasi (user mode) yang sedang dieksekusi
prosesor dalam bahasa mesin
2. Stack Pointers
– Adalah tempat untuk menyimpan alamat stack paling
atas
– Stack digunakan untuk menyimpan parameter dan
calling address dari prosedur dan system call

Sistem Operasi – CII2H3/2023 # 17


Processor State Information
(PSI) (2)
3. Control and Status Registers
– Adalah salah satu jenis register di prosesor yang
digunakan untuk mengontrol kerja dari prosesor
– Terdiri dari:
• Program Counter (PC):
– Menyimpan alamat instruksi berikutnya yang akan
diambil (fetch)
• Condition codes:
– Menyimpan hasil operasi aritmatika atau operasi logika
(misal: positif/negatif, nol, carry, sama, overflow, dll)
• Status information:
– Menyimpan interrupt (enable/disable) dan execution
mode

Sistem Operasi – CII2H3/2023 # 18


Process Control Information
(PCI) (1)
Isi PCI terdiri dari:
1. Scheduling and State Information
– Menyimpan informasi yang diperlukan oleh OS
untuk mengatur penjadwalan proses
– Terdiri dari:
• Process state: Status proses (misal: running, ready,
waiting, halted, dll)
• Priority: Prioritas proses (misal: default, current, highest-
allowable, dll)
• Scheduling-related information:
– Jenis penjadwalan yang digunakan (misal: lama
waktu yang telah digunakan oleh proses, lama waktu
proses menunggu, dll)
• Event: Identitas event yang sedang ditunggu oleh proses
(penyebab proses di-blok)

Sistem Operasi – CII2H3/2023 # 19


Process Control Information
(PCI) (2)
2. Data Structuring
– Menyimpan informasi tentang link-list (hubungan) dengan
proses lain dalam bentuk antrian, ring, model struktur data
yang lain
3. Interprocess Communication
– Menyimpan beberapa jenis flag, signal, dan message yang
diperlukan dalam komunikasi dengan proses lain yang
independent (bukan parent-child)
4. Process Privileged
– Menyimpan informasi tentang:
• Area memori yang boleh diakses
• Jenis instruksi yang boleh digunakan
• Utility dan service yang boleh digunakan

Sistem Operasi – CII2H3/2023 # 20


Process Control Information
(PCI) (3)
5. Memory Management
– Menyimpan pointer ke nomor segment dan page table pada
memori virtual yang disediakan
6. Resource Ownership and Utilization
– Menyimpan informasi tentang:
• Status resource yang sedang digunakan (misal: file=open)
• Rekaman penggunaan prosesor dan resource lain → diperlukan oleh
scheduler

Sistem Operasi – CII2H3/2023 # 21


Alokasi Proses di Memori
Virtual

Sistem Operasi – CII2H3/2023 # 22


PCB Linux

• Linux menyimpan PCB (linux: process


descriptor) dalam struct task_struct di
<linux/sched.h>
• Linux menyimpan PCB dalam bentuk double
linked list <linux/list.h>

•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

Sistem Operasi – CII2H3/2023 # 23


Bahasan
• Definisi proses
• Process Control Block (PCB)
•Process Creation
• Process Termination
• Context Switching
• Trap, Interrupt, Syscall
• Process States
• Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 24
Pembentukan Proses
➢ Siapa yang membentuk proses?
❖ Sistem operasi
➢ Setiap proses dilengkapi dengan PCB
➢ Apa yang dapat menyebabkan terbentuknya proses baru?
❖ Masuknya job baru (program aplikasi)
❖ Log on dari user
❖ Sebagai bentuk layanan OS kepada program aplikasi
▪ Misal: Ada program aplikasi yang perlu mencetak ke printer → OS
membentuk proses yang mengatur printer
❖ Dibentuk oleh proses lain (process spawning)
▪ Parent process = proses induk = proses yang membentuk proses
lain
▪ Child process = proses anak = proses yang dibentuk oleh proses
induk
▪ Misal: Print server atau file server akan selalu membentuk proses
baru setiap ada permintaan dari client

Sistem Operasi – CII2H3/2023 # 25


Syscall
• Proses yang membuat proses lain disebut parent,
sedangkan proses yang dibuat disebut child
• Proses dapat membuat proses lain melalui syscall
yang telah disediakan, misal: fork() atau exec()
– fork():
• Child process merupakan duplikasi dari proses
parent
– exec():
• Child process load program pada address space
yang baru

Sistem Operasi – CII2H3/2023 # 26


Fork()

• Pada Linux, fork() dilakukan


dengan teknik COW (copy on
write)
• COW: Copy semua apa adanya
→ tidak efisien (memakan
banyak resource)

• Tahap forking lengkap dapat


dilihat pad:
https://notes.shichao.io/lkd/c
h3/#forking

Sistem Operasi – CII2H3/2023 # 27


Fork()

• 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)

Urut-urutan pembentukan proses:


1. Berikan identitas yang unik untuk proses yang baru
2. Alokasikan ruang memori
3. Inisialisasi PCB:
• Process Identification (PID):
• Prosessor State Information (PSI)
– Semua parameter entry = 0, kecuali
» Program Counter (PC) = entry point dari program
» Stack pointer = batas stack proses
• Process Control Information (PCI)
– Sesuai default standar
– Misal:
» Status proses = Ready atau Ready/Suspend
» Prioritas = paling rendah (kecuali ada permintaan secara
eksplisit)
Sistem Operasi – CII2H3/2023 # 30
Pembentukan (Create) Proses (3)

Urut-urutan pembentukan proses: (lanjutan)


4. Set linkages yang sesuai
• Misal: taruh proses baru ke dalam linked list untuk
penjadualan
5. Bentuk atau perluas struktur data yang lain
• Misal file accounting dari setiap proses untuk keperluan
evaluasi sistem atau tagihan kepada user

Sistem Operasi – CII2H3/2023 # 31


Bahasan
• Definisi proses
• Process Control Block (PCB)
• Process Creation
•Process Termination
• Context Switching
• Trap, Interrupt, Syscall
• Process States
• Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 32
Terminasi Proses

• Ketika proses berakhir, kernel akan


melepaskan semua resource yang dimiliki oleh
proses
• Proses akan terminasi jika:
– Secara explisit memanggil syscall: exit()
– Proses mendapatkan sinyal dari proses lain
atau exception yang tidak dapat ditangani

Sistem Operasi – CII2H3/2023 # 33


Tahapan Terminasi

• Terdapat 2 tahap terminasi proses:


– melepaskan semua resource:
• semua resource (semaphore, I/O, address space,
dll) dilepaskan dari proses
• parent proses akan diberi notifikasi bahwa child
telah terminasi
– menghapus PCB di kernel:
• setelah terminasi, proses disebut sebagai
zombie (tidak bisa berjalan)
• PCB yang masih ada di kernel dihapus agar tidak
memakan memori (resource)

Sistem Operasi – CII2H3/2023 # 34


Apa Penyebab Terminasi
Proses? (1)
1. Proses telah selesai secara normal:
– Model batch job: terdapat instruksi halt yang menandakan proses telah
selesai
– Sistem interaktif: proses di-close oleh user (close, log off, turn off, dsb)
2. Jatah waktu telah habis:
– Total waktu sejak proses dibentuk
– Total waktu proses aktif
– Total waktu sejak user memberikan input
– Dsb
3. Memori tidak tersedia:
– Proses membutuhkan memori lebih besar tetapi tidak terpenuhi
4. Bounds violation:
– Proses mencoba mengakses lokasi memori proses lain

Sistem Operasi – CII2H3/2023 # 35


Apa Penyebab Terminasi
Proses? (2)
5. Protection error:
– Proses mencoba menggunakan resource (file) yang tidak boleh diakses
– Misal: mencoba menulis pada file dengan atribut read only
6. Arithmatic error:
– Kesalahan komputasi, misal division by zero
7. Time overrun:
– Proses telah menunggu melebihi batas waktu yang telah ditentukan
8. I/O failure:
– Terjadi kesalahan pada saat mengakses I/O
– Misal:
• Tidak dapat menemukan file yang dicari
• Gagal membaca/menulis file sesudah mencoba beberapa kali (akibat
adanya bad sector atau membaca data dari printer)

Sistem Operasi – CII2H3/2023 # 36


Apa Penyebab Terminasi
Proses? (3)
9. Instruksi invalid:
– Proses mencoba mengeksekusi instruksi yang tidak ada (akibat
pencabangan mengarah pada area data)
10. Privileged instruction:
– Proses mencoba menggunakan instruksi yang disediakan khusus bagi
sistem operasi (misal perintah ke I/O)
11. Kesalahan data
– Tipe data salah atau data tidak diinisialisasi
12. Ada intervensi dari operator atau OS
– Dilakukan pada saat terjadi deadlock (hang)
13. Proses induk (parent) diterminasi
– Jika proses induk diterminasi → proses semua proses anaknya ikut
terterminasi
14. Diterminasi proses induk
– Proses induk berhak untuk melakukan terminasi terhadap proses
anaknya
Sistem Operasi – CII2H3/2023 # 37
Bahasan
• Definisi proses
• Process Control Block (PCB)
• Process Creation
• Process Termination
•Context Switching
• Trap, Interrupt, Syscall
• Process States
• Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 38
Pergantian (Switching) Proses (1)

• Switching = pergantian proses yang dieksekusi


• Perpindahan dari satu proses ke proses yang lain oleh
CPU
• OS melakukan 100-1000 switch/detik
• Membutuhkan waktu 5-7 ms
• Kapan pergantian proses dapat terjadi?
– Kapan saja
• Apa saja yang memicu terjadinya pergantian proses?
– Interrupt (misal: time out)
– Trap
– Supervisor call (syscall)
•http://blog.tsunanet.net/2010/11/how-long-does-it-take-to-make-context.html

Sistem Operasi – CII2H3/2023 # 39


Tahapan Context Switch
• Context switch merupakan overhead, karena sistem
tidak dapat mengeksekusi program
• Tahapan:
1. Simpan context prosesor (isi PC dan isi register lainnya)
2. Perbaharui isi PCB proses yang sedang running (termasuk
perubahan status)
3. Pindahkan PCB tersebut ke antrian yang sesuai (Ready,
Blocked karena perlu event , atau Ready/Suspend)
4. Pilih proses lain untuk dieksekusi
5. Perbaharui PCB proses proses yang dipilih (termasuk
perubahan status)
6. Perbaharui struktur data memory management
7. Kembalikan (restore) context prosesor ke tempat semula
seperti saat sebelum terjadi perubahan status (isi PC dan
register)

Sistem Operasi – CII2H3/2023 # 40


Contoh Switching Proses

Sistem Operasi – CII2H3/2023 # 41


Ilustrasi Proses Switch

Sistem Operasi – CII2H3/2023 # 42


Bahasan
• Definisi proses
• Process Control Block (PCB)
• Process Creation
• Process Termination
• Context Switching
•Trap, Interrupt, Syscall
• Process States
• Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 43
Struktur OS Sederhana

•Thomas W. Doeppner - Operating Systems In Depth_ Design and Programming


(2010, Wiley)
Sistem Operasi – CII2H3/2023 # 44
Pergantian (Switching) Proses (2)

• 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)

Sistem Operasi – CII2H3/2023 # 46


Bahasan
• Definisi proses
• Process Control Block (PCB)
• Process Creation
• Process Termination
• Context Switching
• Trap, Interrupt, Syscall
•Process States
• Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 47
Status Proses

• Status proses merupakan kondisi suatu proses


(setiap saat setiap proses mempunyai sebuah
kondisi)
• Sebuah kondisi atau status bisa dimiliki oleh
banyak proses
• State dapat dilihat menggunakan perintah top
(pada linux)

Sistem Operasi – CII2H3/2023 # 48


Model Proses 5-Status (1)

Terminate

Sistem Operasi – CII2H3/2023 # 49


Nama Status pada proses
dengan 5-status (1)
o New:
❖ Status untuk proses yang baru saja terbentuk
▪ Misal: log on dari user, buka MS-word, dll
o Ready:
❖ Proses yang siap untuk dieksekusi
❖ Proses sudah berada di memori
o Running:
❖ Proses sedang dieksekusi
❖ Dalam satu saat hanya satu proses yang boleh running (uniprosesor)
o Blocked:
❖ Proses yang terpaksa berhenti karena sedang menunggu suatu event
terjadi
▪ Misal: proses yang sedang menunggu selesainya aktifitas di I/O
o Exit:
❖ Proses yang sudah selesai atau dibatalkan

Sistem Operasi – CII2H3/2023 # 50


Perpindahan Status Untuk
Proses 5-Status (2)
• Null → New:
– Pembentukan proses baru
• New → Ready:
– Penambahan proses baru yang siap dieksekusi
– Proses baru telah ‘diakui’ oleh sistem operasi
– Proses dipindah dari harddisk ke memori
• Ready → Running:
– Satu proses terpilih dieksekusi
• Running → Exit:
– Proses telah selesai atau dibatalkan
• Running → Ready:
– Proses yang sedang running dipaksa berhenti (preempted)
– Penyebab:
• Waktu habis (time out)
• Datang proses berprioritas lebih tinggi

Sistem Operasi – CII2H3/2023 # 51


Perpindahan Status Untuk
Proses 5-Status (3)
• Running → Blocked:
– Proses yang sedang running terpaksa berhenti
– Penyebab:
• Sedang menunggu file yang sedang diakses oleh proses lain
• Sedang menunggu proses di I/O selesai
• Butuh memori lebih besar
• Sedang menunggu data hasil eksekusi proses lain
• Sedang menunggu proses yang akan diajak berkomunikasi tetapi
sedang sibuk
• Blocked → Ready:
– Proses terbebas dari blocked setelah event yang ditunggu
telah tersedia

Sistem Operasi – CII2H3/2023 # 52


Perpindahan Status Untuk
Proses 5-Status (4)
• Ready → Exit:
– Proses yang siap dieksekusi dipaksa keluar (terminasi)
– Penyebab:
• Proses anak yang ‘dibunuh’ oleh proses induk
• Dihentikan oleh user
• Blocked → Exit:
– Proses yang terblok diterminasi
– Penyebab sama dengan penyebab Ready → Exit

Sistem Operasi – CII2H3/2023 # 53


Eksekusi Proses Dengan Dua
Antrian (1)

➢ 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

Sistem Operasi – CII2H3/2023 # 54


Contoh Status Ready dan
Wait

Sistem Operasi – CII2H3/2023 # 55


Bahasan
• Definisi proses
• Process Control Block (PCB)
• Process Creation
• Process Termination
• Context Switching
• Trap, Interrupt, Syscall
• Process States
•Suspend
• Mode eksekusi
Sistem Operasi – CII2H3/2023 # 56
Model Proses Dengan 6-
Status

di harddisk

• Status yang ditambahkan: suspend state


Sistem Operasi – CII2H3/2023 # 57
Mengapa perlu ada suspend
state? (1)
1. Memori telah dipenuhi oleh proses atau bagian
proses yang berada pada status blocked akibat
sedang menunggu suatu event (I/O, memori, dll),
sehingga tidak ada proses yang siap dieksekusi,
maka:
– Semua proses menunggu
– Prosesor menganggur
2. Semakin lama ukuran program semakin besar, maka:
– Memori yang dibutuhkan semakin besar
– Jumlah program yang dapat dieksekusi semakin sedikit

Sistem Operasi – CII2H3/2023 # 58


Mengapa perlu ada suspend
state? (2)
3. Tambah memori → mahal
– Lakukan swapping (pindahkan proses yang berada
pada status blocked dari memori ke harddisk)
→ Proses berubah status dari blocked menjadi suspend
→ Memori yang kosong bertambah besar:
→Dapat dimanfaatkan oleh proses yang butuh memori
lebih besar, atau
→Dapat ditambahkan proses baru ke memori, atau
→Pindahkan proses lain yang ter-suspend dan siap
running dari harddisk ke memori

Sistem Operasi – CII2H3/2023 # 59


Model Proses Dengan 7-
Status
Jarang terjadi

• Suspend state dibedakan


menjadi 2:
di harddisk • Ready/suspend
• Blocked/suspend

Sistem Operasi – CII2H3/2023 # 60


Perpindahan Status Untuk
Proses Dengan 7-Status (1)
• New → Ready/Suspend dan New → Ready:
– Pembentukan proses baru:
• Pembentukan PCB
• Alokasi ruang alamat proses
– Strategi pembentukan proses:
• New → Ready/Suspend:
– Jumlah proses yang dibentuk langsung banyak → tidak muat
ditaruh di memori → sebagian di harddisk
– Jumlah proses yang ter-blok dapat ditekan
• New → Ready:
– Proses dibentuk pada saat proses tersebut benar-benar akan
dieksekusi → mengurangi overhead OS

Sistem Operasi – CII2H3/2023 # 61


Perpindahan Status Untuk
Proses Dengan 7-Status (2)
• Ready/Suspend → Ready:
– Penyebab:
• Proses di memori tidak ada yang siap running, atau
• Prioritas proses pada status Ready/Suspend lebih tinggi daripada proses
pada status Ready
• Ready → Ready/Suspend:
– Penyebab:
• Dibutuhkan blok memori yang cukup besar, dan
• Prioritas proses pada status Ready lebih rendah daripada proses yang
sedang ter-blok dan diperkirakan proses tersebut akan segera ready, dan
• Tidak ada proses yang ter-blok
• Blocked → Blocked/Suspend:
– Tujuan:
• Memindahkan proses yang ter-blok dari memori ke harddisk sehingga
tersedia ruang memori lebih besar
– Penyebab:
• Tidak ada proses yang siap running
• Proses yang siap running membutuhkan ruang memori lebih besar

Sistem Operasi – CII2H3/2023 # 62


Perpindahan Status Untuk
Proses Dengan 7-Status (3)
• Blocked/Suspend → Blocked:
– Penyebab:
• Prioritas proses pada status Blocked/Suspend queue
lebih tinggi daripada prioritas proses pada
Ready/Suspend queue
• Blocked/Suspend → Ready/Suspend:
– Penyebab:
• Event yang ditunggu oleh proses yang ter-suspend
telah tersedia
→Status proses ter-suspend berubah menjadi ready
(tetapi masih tetap berada di harddisk)

Sistem Operasi – CII2H3/2023 # 63


Perpindahan Status Untuk
Proses Dengan 7-Status (4)
• Running → Ready/Suspend:
– Penyebab:
• Proses yang berada pada Blocked/Suspend queue
dengan prioritas lebih tinggi daripada proses yang
sedang running telah mendapatkan event dan
membutuhkan ruang memori lebih besar
• Any state → Exit
– Penyebab:
• Telah selesai (kondisi normal)
• Terjadi kesalahan
• Diterminasi oleh proses induk
• Proses induk diterminasi oleh OS atau user

Sistem Operasi – CII2H3/2023 # 64


Beberapa Alasan Mengapa
Proses di-Suspend
• Agar tersedia memori tambahan bagi proses yang berada
pada Ready/Suspended atau Ready queue
• Proses tersebut merupakan proses background atau proses
utility
• Proses tersebut menyebabkan masalah
• Untuk keperluan debug
• Untuk mengetahui penggunaan resource
• Sedang menunggu event berikutnya yang datangnya secara
periodik
• Proses anak dihentikan oleh proses induk untuk keperluan
pemeriksaan, modifikasi, atau koordinasi

Sistem Operasi – CII2H3/2023 # 65


Bahasan
• Definisi proses
• Process Control Block (PCB)
• Process Creation
• Process Termination
• Context Switching
• Trap, Interrupt, Syscall
• Process States
• Suspend
•Mode eksekusi
Sistem Operasi – CII2H3/2023 # 66
Mode Eksekusi (1)
• Paling sedikit diperlukan 2 mode, mengapa?
– Untuk melindungi program dan struktur data OS dari
pengaksesan oleh program user
• User mode = Less-privileged mode
– Adalah mode saat program user sedang dieksekusi oleh
prosesor
• Kernel mode
= System mode = Control mode = More-privileged mode
– Adalah mode saat bagian program sistem operasi sedang
dieksekusi
– Contoh:
• Membaca atau mengubah control register
• Instruksi I/O primitif
• Instruksi yang berhubungan dengan manajemen memori
• Pengaksesan area memori tertentu

Sistem Operasi – CII2H3/2023 # 67


Mode Eksekusi (2)
• Contoh fungsi-fungsi kernel-mode:
– Manajemen proses:
• Pembentukan dan terminasi proses
• Penjadualan proses
• Switching proses
• Sinkronisasi proses dan komunikasi antar proses
• Manajemen PCB
– Manajemen memori
• Alokasi ruang alamat untuk proses
• Swapping
• Manajemen page dan segment
– Manajemen I/O
• Manajemen buffer
• Alokasi I/O channel dan I/O device kepada proses
– Fungsi pendukung
• Penanganan interrupt
• Accounting
• Monitoring
Sistem Operasi – CII2H3/2023 # 68
Contoh Eksekusi Proses (1)

Asumsi:
tidak ada memori
virtual → semua
proses ditaruh di
memori

Sistem Operasi – CII2H3/2023 # 69


Contoh Eksekusi
Proses A
Proses (2)
Dispatcher
• Gabungan trace
3 buah proses:
Dispatcher
• Dilihat dari sisi Proses A
prosesor
Proses B

Dispatcher

Dispatcher

Proses C

Sistem Operasi – CII2H3/2023 # 70


Contoh Eksekusi 3 buah
Proses

Sistem Operasi – CII2H3/2023 # 71


Referensi:

[STA18] Stallings, William. 2018. Operating System: Internal


and Design Principles. 9th edition. Prentice Hall

Sistem Operasi – CII2H3/2023 # 72

You might also like