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üş

Depolama Hiyerarsisi

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.