İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Sinema Dizi Akıllı Ev Motosiklet Mikromobilite Kripto Para Sağlık Teknolojileri Son dakika Yazarlar
  1. Ana sayfa
  2. SDN Forum
  3. SDN Konu Dışı
  4. Konu Dışı
Konu Dışı

İşletim sistemleri ödevi yardım!!!

axajs19.05.20110 cevap1.805 görüntüleme
#1
Paralel çalışan iki prosese ait kodlar aşağıdaki gibidir. Öyle bir işletim şekli bulun ki ekrana “x = 10”
yazılsın?
Shared int x;
Proses_1 l Proses_2
x=10; l x=10;
while(true) { l while(true) {
x=x-1; l x=x-1;
x=x+1; l x=x+1
if (x !=10){ l if (x !=10){
printf("x = %d",x); l printf("x = %d",x);
} l }
} l }

NOTLAR
‐ x değişkeni, her iki proses tarafından paylaşılmaktadır.
‐ x’in 1 arttırılması ve azaltılması atomiktir yani bölünemez.
‐ İstenen şey, planlayıcının ne şekilde anahtarlanacağı ile ilgilidir.

ÖRNEK ÇÖZÜM ŞABLONU
Satır No Proses_1 Satır No Proses_2
1 x=10
2 x=9
3 x=10
4 x=10 (şart sağlanmıyor)
2 x=9
→ 1 x=10

←
3 x=11
4 x=11 (şart sağlanıyor)
5 “x=11” (yanlış çözüm 􀀯)
… … … … …
Ok işaretleri CPU’nun anahtarlandığı zamanları göstermektedir. Bulunması gereken şey de bu okların nerelere yerleştirileceği ile ilgilidir.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.

Reklam