Process
- Konsept
- Zamanlama
- Operasyonlar
- Birlikte çalışan processler
- Process'ler arası iletişim
Process Konsepti
- Process şunları içerir
- Program counter
- Stack
- Data section
Process Durumu
NeRaWaRT
- new process oluşturuldu
- running şu anda çalışıyor
- waiting bir olay beklemekte
- ready çalıştırılmayı bekliyor
- terminated öldürülmüş
PCB Process Control Block
Processle ilgili dataların olduğu bloktur
- Process durumu
- Program counter
- Registerlerin durumu
- işlemci Zamanlama bilgisi
- Bellek Yönetimi Bilgisi
- Hesap Bilgisi
- G/Ç Durum bilgisi
PCB bir linked list'tir.
Context-Switch
- Processlerin işlemcideki halini kaydedip yükleme işlemine denir.
- Kayıp bir zamandır
- Donanımsal desteğe bağlı olarak zamanı değişebilir
Unix'te process oluşumu
- fork ile çalıştırılan processin kopyası oluşturulur
- eğer exec forktan sonra çağrılırsa processi replace ederek yeni program çalıştırır.
int pid = fork(); // fork pid döndürür
if(pid == 0) {
// oluşturulan yeni processte çalışacak yer
// execi burada yapabiliriz
} else if(pid > 0) {
// parent process alanı sadece parentte çalışır
// buradada wait yada waitpid çağrısı yaparak child processin bitmesini bekleyebiliriz.
} else {
// hata oluştu kısmı, process oluşturacak bellek yoksa vs. buraya gelcektir.
}
Process Ölümü
- exit cağrısı ile process ölür.
- parent process abort ile yavru processlerini öldürebilir.