NEW
Font size
WorksheetsProcess and Thread
Total questions: 30
Worksheet time: 15mins
Aşağıdakilerden hangisi “çalışmakta olan program” kavramını ifade eder?
DosyaDosya
Proses (process)
Thread
Kütüphane
getpid() ve getppid() fonksiyonları sırasıyla neyi döndürür?
Proses ID, Kullanıcı ID
Thread ID, Proses ID
Proses ID, Ebeveyn Proses ID
Kullanıcı ID, Grup ID
wait() Kullanımında ebeveyn prosesin wait(NULL) çağırmasının temel amacı nedir?
Çocuğu öldürmek
Çocuğun bitmesini bekleyip exit kodunu toplamak
Yeni çocuk oluşturmakYeni çocuk oluşturmak
Çocuğun önceliğini değiştirmek
exec() ailesi fonksiyonlarının temel etkisi nedir?
Yeni thread başlatır
Aynı proses içinde yeni programı mevcut kodun yerine yükler
Proses ID’yi sıfırlar
Prosesin belleğini siler ve sonlandırır
Öksüz proses (orphan) için aşağıdakilerden hangisi doğrudur?
Prosesin hiç parent’i yoksa orphan olur
Hem parent hem çocuk ölürse orphan olur
Parent erken ölür, çocuk çalışmaya devam ederse orphan olur
Çocuk ölür, parent beklerse orphan olur
Zombi proses hangi durumda ortaya çıkar?
Çocuk ölür, parent wait() ile çıkış durumunu toplamaz
Parent ölür, çocuk çalışmaya devam eder
Proses sonsuz döngüye girer
Proses hiç çalıştırılamaz
Thread tanımı için en uygun ifade hangisidir?
Donanım kesmesi
Kütüphane fonksiyonu
Proses içindeki en küçük yürütme birimi
Bellekteki fonksiyon adresi
Thread dökümanındaki restoran benzetmesinde, proses ve thread sırasıyla neye benzetilmiştir?
Restoran – Müşteri
Aşçı – Müşteri
Restoran – Aşçı
Mutfak – Masa
Thread Oluşturma’da hem ana hem çocuk thread getpid() çağırdığında ne olur?
PID rastgele değişir
Thread’ler PID kullanmaz
Aynı PID’yi görürler
Farklı PID’ler görürler
Process ve thread arasındaki temel fark nedir?
Thread disk üzerinde kalır, process bellekte
Process tek işlem yapar, thread yapamaz
Thread’ler aynı adres alanını paylaşır, process’ler paylaşmaz
Process hafiftir, thread ağırdır
Aynı proses içindeki iki thread aşağıdakilerden hangisini paylaşır?
Ayrı yığın (stack)
Ayrı kod segmenti
Aynı adres alanı ve veri bölgesi
Ayrı adres alanı
Aşağıdakilerden hangisi yeni bir proses oluşturur?
pthread_create()
exec()
malloc()
fork()
Bir prosesin PID’si nedir?
Prosesin benzersiz kimliğidir
Dosyanın fiziksel adresidir
Thread sayısıdır
Bellekteki boyutudur
PPID neyi gösterir?
Prosesin önceliğini
Prosesin sahip olduğu thread sayısını
rosesin çalıştığı CPU’yu
Prosesin ebeveyninin PID’sini
Ebeveyn proses erken biter ama çocuk çalışmaya devam ederse ne oluşur?
Zombie
Orphan
Locked process
Kernel thread
Bir thread oluşturmak için kullanılan fonksiyon hangisidir?
pthread_create()
fork()
exec()
signal()
Bir thread’in bitmesini beklemek için kullanılan fonksiyon hangisidir?
pthread_kill()
pthread_exit()
pthread_join()
pthread_detach()
Bir thread detach edildiğinde ne olur?
Tamamen yok olur ve çalışmaz
Diğer thread'lere bağımlı çalışır
Daha yüksek öncelikli olur
join edilemez, kendi kendini temizler
Mutex’in temel amacı nedir?
Thread’leri uyutmak
İşlemciyi kilitlemek
Bellek tahsis etmek
Kritik bölgeye aynı anda sadece bir thread'in girmesini sağlamak
Thread’lerin process’e göre daha hafif (lightweight) olmasının nedeni nedir?
Kütüphane gerektirmemeleri
Aynı adres alanını paylaşmaları
Daha az RAM kullanmaları
Daha hızlı yazılmaları
int main() {
fork();
fork();
return 0;
}
kodda kaç tane proses oluşur?
1
3
2
4
fork();
printf("Merhaba\n");
Kod kaç kez "Merhaba" yazar?
1
2
3
4
Race condition hangi durumda oluşur?
Aynı değişkene aynı anda erişildiğinde
Thread sayısı 1 iken
exec() çağrıldığında
fork() kullanıldığında
Bir çocuk (child) process’in bitmesini beklemek için hangi fonksiyon kullanılır?
exit()
fork()
exec()
wait()
Zombie process hangi durumun sonucudur?
Parent beklemezse
Child hiç başlamazsa
Parent exec çağırırsa
Process CPU bulamazsa
Orphan process ne zaman oluşur?
Process bellek taşınca
CPU dolu olduğunda
Child erken bittiğinde
Parent erken bittiğinde, child çalışmaya devam ederse
Thread’lerde kritik bölgeleri korumak için kullanılan yapı hangisidir?
sleep
malloc
mutex
exit
Aşağıdakilerden hangisi thread kullanımına bir örnektir?
Dosyayı masaüstüne taşımak
Bilgisayarı yeniden başlatmak
Bir web tarayıcısının aynı anda hem sayfa yüklemesi hem de video oynatması
RAM takmak
Bir thread'in işi bittiğinde kaynaklarını otomatik olarak serbest bırakmasını ve ana thread'in onu beklemesine gerek kalmamasını sağlayan fonksiyon hangisidir?
pthread_exit
pthread_join
pthread_detach
pthread_self
Ortak bir değişkene birden fazla thread'in aynı anda erişimi sonucu oluşan ve hatalı sonuçlara yol açan "Yarış Durumu" (Race Condition) sorununu çözmek için hangi senkronizasyon mekanizması kullanılır?
sleep()
Thread-Specific Data (TSD)
pthread_create()
Mutex (Karşılıklı Dışlama)
