Anda di halaman 1dari 28

Sistem Operasi:

Proses
MUCHAMAD IQBAL
Overview
• Event dan Status pada Proses
• Manajemen Proses
• Thread
• Inter Process Communication
• BUS dan Register
Event Proses
Proses
• program yang sedang dieksekusi
• Kebutuhan memory proses:
o Instruksi
o Data
o semua informasi untuk manajemen proses tersebut
• Penting untuk multiprogramming, di mana SO bisa
menjalankan beberapa proses
• SO menangani pembuatan dan penghentian proses
• Proses bisa menjalankan proses anak dan berkomunikasi
antar proses (IPC)
Task dan Process

• Process adalah task yang telah dijadwalkan untuk di olah


prosessor
• Task yang belum dijadwalkan belum bisa dibilang proses.
Task Process

Prosessor

Penjadwalan
Task dan Process
• Untuk dapat memproses suatu proses, prosesor melaksanakan
sejumlah kegiatan.

Kegiatan prosessor ini memanfaatkan register dan bus pada sistem


prosessor, serta memanfaatkan instruksi yang terdapat di dalam
memory kerja.

Dengan kata lain, setiap proses terdiri atas sejumlah instruksi


dengan kegiatan jemput dan kegiatan kerjanya.
Program vs Proses
• Proses adalah program yang sedang dieksekusi
• Untuk bisa dieksekusi berarti harus diload ke memory:
o Kode program
o Data
o Program Counter
o Stack
o Nilai-nilai register
• Suatu program yang sama bisa dieksekusi bersamaan menjadi beberapa proses
Penciptaan Proses
• 4 event yang memicu penciptaan proses:
o Inisialisasi sistem (booting)
o Eksekusi system call untuk menciptakan proses (spawning)
o Permintaan dari user untuk menciptakan proses
o Awal dari batch job
• Untuk keempat event ini ada satu proses yang akan memanggil system call untuk
menciptakan proses baru
• Setiap proses yang diciptakan akan mendapat address space sendiri
Booting
• Memanggil BIOS (Basic Input Output System)
• Memeriksa kapasitas RAM
• Memeriksa perangkat I/O yang terhubung ke bus
• Memeriksa boot device sesuai urutan yang tersimpan di BIOS
• Membaca boot sector, yaitu tempat SO disimpan, dan meload ke memory (oleh
bootstrap loader)
• SO akan memeriksa device driver dan meminta user memasukkan CD device driver
• Diakhiri dengan login
Penghentian Proses
• 4 event yang memicu penghentian proses:
o Keluar secara normal
o Keluar karena error, diatur sendiri oleh proses
o Fatal error, dipaksa oleh sistem
o Dibunuh proses lainnya, yang memiliki wewenang untuk itu
Manajemen Proses
Manajemen Proses
• Status setiap proses dicatat dalam sebuah tabel proses
• Tabel proses adalah struktur data di mana setiap entrinya berupa PCB (Process
Control Block)
• Context switching adalah istilah untuk menyatakan saat scheduler memilih
proses lain untuk running
Process Control Block
• Struktur data yang menyimpan informasi
tentang proses
• Karena multiprogramming, setiap proses
akan memiliki Process Control Block
Status Proses
• Setiap proses bisa berada pada salah satu dari 3 status: ready, running, blocked
• Ada 1 proses khusus yang disebut scheduler yang bertugas menjadwalkan
proses mana yang bisa running
Thread
Thread
• Mirip proses namun sharing address space
• Proses di dalam proses
• Mengapa perlu thread? Mengapa tidak menggunakan proses saja?
Proses vs. Thread
• Alasan menggunakan thread:
o Dalam suatu aplikasi berjalan beberapa hal secara paralel, namun perlu sharing data
o Thread lebih mudah dan cepat untuk diciptakan/dihentikan
• Contoh: word processor digunakan untuk mengedit suatu dokumen besar
• Jika suatu kalimat pada hal. 1 dihapus, lalu harus pindah ke hal. 600, maka
akan makan waktu lama
• Akan terasa lebih cepat jika dibagi menjadi 2 thread: reformat dan UI
Word Processor
Implementasi Thread
1. Implementasi di user space, dengan library (User Level Threads/ULT). Bagi
kernel tiap proses hanya punya 1 thread
• Bisa diimplementasikan bahkan pada SO yang tidak mengenal thread
• Lebih cepat
• Scheduler bisa diimplementasikan sendiri
2. Implementasi di kernel space (Kernel Level Threads/KLT). Lebih aman. Contoh:
Windows
3. Gabungan, ada yang user/kernel space. Contoh: Solaris
IPC
Inter Process Communication
• Komunikasi yang terjadi antar proses
• Tiga masalah utama:
1. Bagaimana caranya menyampaikan informasi
2. Mencegah proses saling menghalangi
3. Urutan aksi bila terjadi ketergantungan antar proses
• Juga berlaku untuk thread
Masalah IPC: Race Conditions
• Terjadi bila beberapa proses bersama-sama membaca/ menulis data, dan hasil
akhirnya bergantung pada kapan suatu proses berjalan
• Contoh: printing file
• Spooler directory untuk menuliskan nama file yang akan diprint
• Terdiri atas sejumlah slot
• Printer daemon memeriksa nama file yang akan diprint pada spooler directory dan
menghapusnya
• Dua variabel: out untuk mencatat slot berikutnya yang akan diprint dan in untuk mencatat
slot berikutnya yang kosong
BUS dan Register
Bus dan Register
• Data Bus  jalur tempat informasi data berlalu lintas di antara
register.
• Address Bus  jalur tempat informasi alamat memori berlalu lintas
diantara register.

• Karena setiap kali hanya boleh ada satu informasi di dalam jalur itu, maka lalu
lintas di dalam jalur diatur oleh clock. Pada selang-waktu tertentu, ada informasi
yang keluar dari salah satu register dan masuk ke bus serta kemudian informasi
itu keluar dari jalur dan masuk ke register lain.
Control Bus Datal Bus Address Bus

AX

ALU

MAR
BX M
E
M
PC O
R
MDR Y
IR

Control Unit (CU)

• AX  accumulator register
• ALU  Arithmetic Logic Unit
• BX  Base register
• PC  Program Counter
• IR  Instruction Register
• MAR  Memory Address Register
• MDR  Memory Data Register
Bus dan Register
• AX  merupakan register serba-guna yang dapat menerima
berbagai informasi.
• BX  merupakan register lain yang menerima informasi yang
akan diolah bersama dengan isi register AX.
• Program Counter  counter yang menunjukkan letak program
di dalam memory
MAR (Memory Address Register)
• MAR  mencatat alamat memori yang isinya akan dicapai oleh
prosesor.
• Alamat itu diperolehnya dari register PC dengan memasukkan alamat
memori tertentu itu ke MAR, maka prosesor itu akan mencapai alamat
itu di memori-kerja. Selanjutnya akan terjadi 2 (dua) kemungkinan,
yaitu :
• Kemungkinan Pertama : pada pembacaan data dari memori-kerja, data
atau isi memori-kerja itu dibaca dengan disalin ke register data MDR
(Memori Data Register)
• Kemungkinan Kedua : pada penulisan data ke memori-kerja, isi RD
disalin ke alamat memori-kerja itu. Kedua register itu, MAR dan
INSTRUCTION REGISTER
• IR  Menampung instruksi atau informasi yang akan diperiksa
jenisnya.
• Informasi program yang diambil dari memori-kerja dibawa melalui
register MDR ke dalam IR. Di dalam IR, informasi itu diperiksa,
manakala informasi itu berbentuk instruksi program maka instruksi itu
diteruskan ke Control Unit (CU). Selanjutnya, sesuai dengan isi
instruksi itu, CU akan mengendalikan semua kegiatan di dalam
prosesor.

Anda mungkin juga menyukai