Bölüm 1: Giriş

İşletim Sistemleri · Çalışma Soruları
Temel KavramlarKipler ve KorumaDonanım ve BellekG/Ç ve KesmelerAçılış ve İS Türleri
Sercan KÜLCÜ · Giresun Üniversitesi · Bilgisayar Mühendisliği

Giriş

Nasıl çalışalım?

1 · Önce çözünHer slaytta bir soru var. Cevabı açmadan önce kâğıda kendi cevabınızı yazın; çoktan seçmelide eleme gerekçenizi de not edin.
2 · Cevabı açın“Cevabı göster” kutusu doğru cevabı ve kısa gerekçeyi verir. Açık uçlu sorularda kendi cevabınızı anahtar kavramlarla karşılaştırın.
3 · Adım adım izleyinHesaplama ve kod sorularının ardından gelen “Adım Adım Çözüm” slaytında › düğmesiyle çözümü satır satır ilerletin.

33 soru · Çoktan seçmeli: 15 · Açık uçlu: 10 · Doğru / Yanlış: 2 · Hesaplama: 5 · Kod izleme: 1. Sorular konu başlıklarına göre gruplanmış ve kolaydan zora sıralanmıştır.

Soru 1 · Temel Kavramlar

Hangisi İS’nin İşi Değil?

Çoktan seçmeli Bir öğrenci “bilgisayarda olan her şeyi işletim sistemi yapar” diyor. Aşağıdaki görevlerden hangisi işletim sisteminin değil, ayrı bir uygulama programının işidir?

  1. Hazır süreçler arasında CPU zamanını paylaştırmak
  2. Bir dosyanın diskte hangi bloklarda durduğunu kaydetmek
  3. Bir C kaynak dosyasını makine koduna çevirmek
  4. Yazıcıya giden veriyi sürücü aracılığıyla aygıta iletmek
  5. Bir sürecin başka bir sürecin belleğini okumasını engellemek
Cevabı göster

Doğru cevap: C · Bir C kaynak dosyasını makine koduna çevirmek

Derleyici (ör. gcc) kullanıcı kipinde çalışan sıradan bir programdır; İS yalnızca onun çalışması için CPU, bellek ve dosya hizmeti verir. Diğer seçenekler sırasıyla süreç, dosya sistemi, G/Ç ve bellek/koruma yönetimidir.

Soru 2 · Temel Kavramlar

İS’nin Temel Görevleri

Açık uçlu Yeni kurulan bir İS ekibi çekirdeğin sorumluluklarını dört ana başlıkta toplamak istiyor. Hangi dört başlığı önerirsiniz? Her başlığın neyi yönettiğini bir cümleyle yazın.

Cevabı göster
  • Süreç yönetimi: süreçleri oluşturur, sonlandırır, CPU’yu aralarında çizelgeler ve eşzamanlamalarını sağlar.
  • Bellek yönetimi: her sürece adres uzayı verir, fiziksel belleği paylaştırır ve süreçleri birbirinden korur.
  • Dosya sistemi yönetimi: kalıcı veriyi dosya ve dizinler hâlinde düzenler, erişim izinlerini denetler.
  • G/Ç (aygıt) yönetimi: sürücüler, kesmeler ve tamponlarla aygıtları ortak bir arayüzle kullanılabilir kılar.

Koruma/güvenlik ve kullanıcı arayüzü (kabuk) de kabul edilir; kilit fikir, İS’nin kaynak yöneticisi olmasıdır.

Soru 3 · Temel Kavramlar

Diskin Ayrıntısını Kim Gizler?

Çoktan seçmeli Bir programcı diskin kaç plağı, kaç izi olduğunu bilmeden fopen/fwrite ile kayıt dosyası yazabiliyor. Bu kolaylık İS’nin hangi rolünün sonucudur?

  1. Donanımı daha kolay kullanılan bir soyutlamayla sunması (genişletilmiş makine)
  2. Kaynakları zaman içinde çoğullaması (zaman paylaşımı)
  3. Çıktıları biriktirerek (spooling) sıraya koyması
  4. Kesmeleri öncelik sırasına göre işlemesi
Cevabı göster

Doğru cevap: A · Donanımı daha kolay kullanılan bir soyutlamayla sunması (genişletilmiş makine)

Dosya, diskin blok/sektör ayrıntısının üstüne kurulmuş bir soyutlamadır. İS burada “genişletilmiş (sanal) makine” rolündedir; kaynak yöneticisi rolü ise CPU’yu, belleği, aygıtları kimin ne kadar kullanacağına karar verir.

Soru 4 · Temel Kavramlar

Üç Soyutlama, Üç Donanım

Açık uçlu İS’nin uygulamalara sunduğu üç soyutlamayı yazın ve her birinin hangi donanım ayrıntısını gizlediğini belirtin. Soyutlamanın programcıya iki yararını ekleyin.

Cevabı göster
SoyutlamaGizlediği donanım ayrıntısı
Süreç (sanal CPU)Tek CPU’nun süreçler arasında paylaşılması, yazmaçların kaydedilip yüklenmesi
Adres uzayı (sanal bellek)Fiziksel RAM’in boyutu, sayfaların gerçek konumu
DosyaDisk blokları, sektörler, SSD sayfaları
SoketAğ kartı, çerçeveler, protokol ayrıntıları

Yararlar: taşınabilirlik (aynı kod farklı donanımda çalışır) ve basitlik/güvenlik (donanıma denetimsiz erişim yok).

Soru 5 · Temel Kavramlar

Komutu Kim Yorumlar?

Çoktan seçmeli Terminale cp a.txt yedek/ yazıp Enter’a bastınız. Satırı okuyup sözcüklere ayıran, cp programını bulup başlatan bileşen hangisidir?

  1. Çekirdeğin çizelgeleyicisi
  2. Anakart üzerindeki ürün yazılımı (UEFI)
  3. Disk denetleyicisinin aygıt sürücüsü
  4. Kullanıcı kipinde çalışan bir program olan kabuk (ör. bash)
  5. Kesme denetleyicisi
Cevabı göster

Doğru cevap: D · Kullanıcı kipinde çalışan bir program olan kabuk (ör. bash)

Kabuk, kullanıcı ile İS hizmetleri arasındaki komut arayüzüdür; komutu ayrıştırır, fork/exec gibi sistem çağrılarıyla programı başlatır. Kabuk çekirdeğin parçası değildir; değiştirilebilir sıradan bir programdır (bash, zsh, PowerShell).

Soru 6 · Temel Kavramlar

Çekirdek, Kabuk ve Program

Doğru / Yanlış Aşağıdaki ifadelerin doğru mu yanlış mı olduğunu belirtin ve gerekçelendirin.

  1. Grafik kullanıcı arayüzü (GKA) çekirdeğin içinde çalışmak zorundadır.
  2. Aynı program aynı anda birden fazla süreç olarak çalışabilir.
  3. Çekirdek, uygulamalar donanıma doğrudan erişemesin diye onlar adına kaynakları yöneten ayrıcalıklı yazılımdır.
Cevabı göster
  1. Yanlış. GKA da kabuk gibi çoğunlukla kullanıcı kipinde çalışan programlardan oluşur; çekirdek yalnızca ekran, girdi gibi aygıtlara erişim hizmeti verir.
  2. Doğru. Program diskteki pasif dosyadır; iki terminalde açılan iki vim aynı programın iki ayrı sürecidir, her birinin kendi adres uzayı ve PCB’si vardır.
  3. Doğru. Çekirdek kipinde çalışır; süreç, bellek, aygıt ve kesme yönetimini yapar ve uygulamalara sistem çağrılarıyla hizmet verir.

Soru 7 · Temel Kavramlar

Program ile Süreç Farkı

Açık uçlu Program ile süreç arasındaki farkı üç yönden (nerede durur, durağan mı etkin mi, sahip olduğu kaynaklar) karşılaştırın.

Cevabı göster
ProgramSüreç
Yeriİkincil bellekte (diskte) yürütülebilir dosyaAna bellekte yüklü, yürütülmekte
NiteliğiPasif, değişmeyen komut dizisiEtkin; program sayacı, yazmaçları ve durumu sürekli değişir
KaynaklarYalnızca dosya olarak yer kaplarAdres uzayı (kod, veri, yığın, öbek), açık dosyalar, CPU zamanı, PCB

Kısaca: süreç, yürütülmekte olan programdır.

Soru 8 · Kipler ve Koruma

İki Kip Neden Var?

Çoktan seçmeli Donanımın CPU’ya çekirdek kipi ve kullanıcı kipi olmak üzere iki çalışma kipi sağlamasının asıl nedeni nedir?

  1. Kullanıcı programlarının daha hızlı çalışmasını sağlamak
  2. Hatalı ya da kötü niyetli bir programın donanımı ve diğer programları bozmasını önlemek
  3. Bağlam değiştirme gereksinimini ortadan kaldırmak
  4. Derleyicinin daha küçük kod üretmesine olanak vermek
Cevabı göster

Doğru cevap: B · Hatalı ya da kötü niyetli bir programın donanımı ve diğer programları bozmasını önlemek

Ayrıcalıklı komutlar (G/Ç, kesmeleri kapatma, sayfa tablosu yazmacını değiştirme) yalnızca çekirdek kipinde çalışır. Böylece yalıtım, kararlılık ve güvenlik sağlanır; kip ayrımı programları hızlandırmaz, tersine kip geçişi küçük bir maliyet getirir.

Soru 9 · Kipler ve Koruma

Kullanıcı Kipinde Ayrıcalıklı Komut

Çoktan seçmeli Kullanıcı kipinde çalışan bir program, kesmeleri kapatan ayrıcalıklı bir komutu çalıştırmaya çalışıyor. Ne olur?

  1. Komut çalışır, kesmeler kapanır; İS bunu fark etmez
  2. CPU bir istisna (tuzak) üretir, denetim çekirdeğe geçer ve İS genellikle süreci sonlandırır
  3. CPU komutu sessizce atlar, program bir sonraki komuttan devam eder
  4. Bilgisayar yeniden başlatılır
Cevabı göster

Doğru cevap: B · CPU bir istisna (tuzak) üretir, denetim çekirdeğe geçer ve İS genellikle süreci sonlandırır

Donanım kip bitini denetler; kullanıcı kipinde ayrıcalıklı komut genel koruma hatası türünde bir tuzağa yol açar. Çekirdeğin işleyicisi çalışır ve süreç tipik olarak bir sinyalle (ör. SIGILL/SIGSEGV) sonlandırılır; sistemin geri kalanı etkilenmez.

Soru 10 · Kipler ve Koruma

Politika mı, Mekanizma mı?

Açık uçlu Aşağıdakileri mekanizma (nasıl yapılır) ya da politika (ne yapılacağına karar) olarak sınıflandırın: (1) zamanlayıcı kesmesiyle çalışan süreci durdurabilmek, (2) etkileşimli süreçlere daha yüksek öncelik vermek, (3) bağlam değiştirme kodu, (4) her kullanıcıya en fazla 10 GB disk kotası tanımak.

Cevabı göster
  • (1) Mekanizma: kesip denetimi almayı mümkün kılar.
  • (2) Politika: kimin önce çalışacağına dair karardır.
  • (3) Mekanizma: yazmaçları kaydedip yükleme yöntemidir.
  • (4) Politika: sınırın değeri bir yönetim kararıdır; kotayı uygulayan kod ise mekanizmadır.

Ayrım sayesinde politika değişince (ör. yeni öncelik kuralı) mekanizmaya dokunmak gerekmez.

Soru 11 · Donanım ve Bellek

Von Neumann’ın Temel İlkesi

Çoktan seçmeli Aşağıdakilerden hangisi von Neumann mimarisini tanımlayan temel ilkedir?

  1. Komutlar ve veriler fiziksel olarak ayrı belleklerde, ayrı yollarla tutulur
  2. Program donanıma kablolanır; değiştirmek için devre yeniden kurulur
  3. Her komut tek bir saat çevriminde tamamlanır
  4. Program komutları ve veriler aynı bellekte saklanır ve aynı yol üzerinden işlemciye getirilir
Cevabı göster

Doğru cevap: D · Program komutları ve veriler aynı bellekte saklanır ve aynı yol üzerinden işlemciye getirilir

Saklı program ilkesi: program da veri gibi bellekte durur, bu yüzden yeni bir program yüklemek yeterlidir. Ayrı komut ve veri belleği Harvard mimarisinin, donanıma kablolanmış program ise saklı program öncesi makinelerin özelliğidir.

Soru 12 · Donanım ve Bellek

Von Neumann Darboğazı

Açık uçlu CPU’lar her yıl hızlanırken programlar aynı oranda hızlanmıyor. Von Neumann darboğazı nedir ve donanım tasarımcıları bu darboğazı hafifletmek için hangi üç önlemi kullanır?

Cevabı göster

Komutlar ve veriler aynı bellek yolundan geçtiği için CPU, bellekten veri gelmesini beklerken boşta kalır; CPU’yu belleğe bağlayan yolun dar bant genişliği ve yüksek gecikmesi darboğazdır.

  • Önbellek hiyerarşisi (L1/L2/L3): sık kullanılanı CPU’ya yakın tutar.
  • Ayrı L1 komut ve veri önbellekleri: komut ve veri aynı anda getirilebilir.
  • Önceden getirme, çok kanallı bellek ve daha geniş veri yolları.

Soru 13 · Donanım ve Bellek

Bellek Hiyerarşisinde Sıralama

Çoktan seçmeli Erişim süresi en kısadan en uzuna doğru hangi sıralama doğrudur?

  1. Yazmaç < L1 < L3 < ana bellek < SSD < HDD
  2. L1 önbellek < yazmaç < ana bellek < L3 < SSD
  3. Yazmaç < ana bellek < L1 < HDD < SSD
  4. L3 < L2 < L1 < yazmaç < ana bellek
Cevabı göster

Doğru cevap: A · Yazmaç < L1 < L3 < ana bellek < SSD < HDD

CPU’dan uzaklaştıkça erişim süresi ve kapasite artar, bit başına maliyet azalır. Yazmaçlar CPU’nun içindedir; L1 çekirdeğe en yakın önbellektir. SSD mekanik parça içermediği için HDD’den hızlıdır.

Soru 14 · Donanım ve Bellek

Elektrik Kesilince Ne Kaybolur?

Çoktan seçmeli Bilgisayarın elektriği aniden kesildi. Aşağıdakilerden hangisinin içeriği kaybolur?

  1. SSD’deki dosyalar
  2. Ürün yazılımını (UEFI) tutan flaş yonga
  3. İşlemcinin L2 önbelleği (SRAM)
  4. Sabit diskin manyetik plakları
Cevabı göster

Doğru cevap: C · İşlemcinin L2 önbelleği (SRAM)

SRAM (önbellek) ve DRAM (ana bellek) uçucudur; güç gidince içerik silinir. SSD ve UEFI yongası flaş bellektir, HDD manyetiktir; bunlar kalıcı depolamadır.

Soru 15 · Donanım ve Bellek

Önbellek Neden İşe Yarar?

Açık uçlu Ana bellekten çok daha küçük olmasına rağmen önbellek, programların çoğunu belirgin biçimde hızlandırır. Bunu referans yerelliği ile açıklayın; zamansal ve uzamsal yerelliğe birer kod örneği verin.

Cevabı göster

Önbellek, CPU ile yavaş ana bellek arasında küçük ama hızlı bir ara katmandır. Programlar kısa sürede belleğin küçük bir bölümüne yoğunlaşır; bu yüzden aranan verinin çoğu zaman önbellekte bulunur (yüksek isabet oranı) ve ortalama erişim süresi düşer.

  • Zamansal yerellik: yakın zamanda kullanılan yeniden kullanılır. Örnek: döngü sayacı i ve döngü gövdesinin komutları.
  • Uzamsal yerellik: kullanılan adresin komşuları da kullanılır. Örnek: a[0], a[1], … sırayla gezilen dizi; bir önbellek satırı (ör. 64 B) birkaç öğeyi birlikte getirir.

Soru 16 · Donanım ve Bellek

Bellek Erişimini Hızlandırmayan

Çoktan seçmeli İşlemcinin ana bellekteki veriye erişimini hızlandırmak isteyen bir mühendisin önerilerinden hangisi bu amaca hizmet etmez?

  1. Diskteki takas (sayfa) dosyasının boyutunu büyütmek
  2. Donanımsal önceden getirmeyi (prefetching) etkinleştirmek
  3. Bellek modüllerini çift kanallı yapılandırmak
  4. Çekirdeğe yakın, daha büyük bir L2 önbellek kullanmak
Cevabı göster

Doğru cevap: A · Diskteki takas (sayfa) dosyasının boyutunu büyütmek

Takas alanı belleği kapasite olarak genişletir ama diske taşınan sayfalara erişim RAM’den binlerce kat yavaştır; erişimi hızlandırmaz. Diğer üçü ortalama gecikmeyi düşürür ya da bant genişliğini artırır.

Soru 17 · Donanım ve Bellek

Ortalama Bellek Erişim Süresi

Hesaplama L1 önbelleğe erişim 1 ns, ana belleğe erişim 60 ns sürüyor. CPU önce önbelleğe bakıyor; ıskalamada ana belleğe gidiyor (ıskalama toplam 1 + 60 = 61 ns). İsabet oranı %95 iken ortalama erişim süresi nedir? İsabet oranı %99’a çıkarsa ne olur?

Cevabı göster

%95: 0,95 × 1 + 0,05 × 61 = 0,95 + 3,05 = 4,0 ns. %99: 0,99 × 1 + 0,01 × 61 = 0,99 + 0,61 = 1,6 ns.

Önbelleksiz her erişim 60 ns sürerdi; %4’lük isabet artışı bile ortalamayı 2,5 kat düşürür. Iskalamalar ortalamaya hâkimdir.

Soru 17 · Adım Adım Çözüm

Soru 17: Adım Adım Çözüm

CPUL1 önbellek1 nsAna bellek+60 ns%95 isabet%5 ıskalama

1. Formül: ortalama = h × tönbellek + (1 − h) × (tönbellek + tbellek).

2. h = 0,95: isabet katkısı 0,95 × 1 = 0,95 ns; ıskalama katkısı 0,05 × 61 = 3,05 ns.

3. Toplam 0,95 + 3,05 = 4,0 ns (önbelleksiz 60 ns’ye göre 15 kat hızlı).

4. h = 0,99: 0,99 + 0,01 × 61 = 0,99 + 0,61 = 1,6 ns.

Ders: Iskalama cezası büyük olduğu için isabet oranındaki küçük artışlar ortalamayı çok düşürür.

Soru 18 · Donanım ve Bellek

Boru Hattı Kazancı

Hesaplama 5 aşamalı (getir, çöz, işlenen getir, yürüt, yaz) bir işlemcide her aşama 1 saat çevrimi sürüyor. 200 komutluk bir dizi boru hattısız ve boru hatlı yürütmede kaç çevrimde biter? Hızlanma nedir? (Bağımlılık ve dallanma yok sayılsın.)

Cevabı göster

Boru hattısız: her komut 5 çevrim → 200 × 5 = 1000 çevrim.

Boru hatlı: ilk komut 5 çevrimde biter, sonra her çevrimde bir komut tamamlanır → 5 + (200 − 1) = 204 çevrim.

Hızlanma 1000 / 204 ≈ 4,90; komut sayısı arttıkça aşama sayısına (5) yaklaşır. Tek bir komutun süresi kısalmaz; birim zamanda biten komut sayısı artar.

Soru 19 · G/Ç ve Kesmeler

Kesme Ne Kazandırır?

Çoktan seçmeli Kesme mekanizmasının CPU’ya kazandırdığı temel yetenek hangisidir?

  1. Süreçlerin birbirine doğrudan bellek kopyalayabilmesi
  2. Aygıtı sürekli yoklamadan, eşzamansız bir olay oluştuğunda haberdar olup ona yanıt verebilmek
  3. Programların çalışırken yeniden derlenebilmesi
  4. Ana belleğin kalıcı hâle gelmesi
Cevabı göster

Doğru cevap: B · Aygıtı sürekli yoklamadan, eşzamansız bir olay oluştuğunda haberdar olup ona yanıt verebilmek

Aygıt işini bitirince kesme hattını etkinleştirir; CPU o ana kadar başka iş yapar. Böylece olaylar (tuş, paket, disk tamamlanması, zamanlayıcı) öncelik sırasıyla ve gecikmeden ele alınır.

Soru 20 · G/Ç ve Kesmeler

Hangisi Tuzaktır?

Çoktan seçmeli Aşağıdaki olaylardan hangisi bir donanım kesmesi değil, tuzaktır (trap/istisna)?

  1. Yürütülen komutun sıfıra bölme yapması
  2. Donanım zamanlayıcısının süresinin dolması
  3. Ağ kartına yeni bir paketin gelmesi
  4. Klavyede bir tuşa basılması
Cevabı göster

Doğru cevap: A · Yürütülen komutun sıfıra bölme yapması

Tuzak, o anda yürütülen komutun kendisinden kaynaklanır: eşzamanlıdır ve aynı girdiyle her seferinde aynı noktada oluşur (sıfıra bölme, geçersiz bellek erişimi, sistem çağrısı komutu). Diğer üçü dış aygıtlardan gelen eşzamansız donanım kesmeleridir.

Soru 21 · G/Ç ve Kesmeler

Kesme ile Tuzağı Karşılaştırın

Açık uçlu Bir arkadaşınız “tuzak da bir tür donanım kesmesidir, aralarında fark yok” diyor. İki olayı nereden kaynaklandıkları, ne zaman oluştukları ve örnekleri açısından ayırt ederek ona cevap verin. Sistem çağrısı hangisine girer?

Cevabı göster
KesmeTuzak
KaynakDış donanım (aygıt, zamanlayıcı)Yürütülen komut (yazılım)
ZamanlamaEşzamansız: komut akışından bağımsız, her an gelebilirEşzamanlı: belirli bir komutun sonucudur
ÖrnekDisk okuması bitti, tuşa basıldıSıfıra bölme, sayfa hatası, syscall

İkisinde de CPU durumu kaydeder ve denetimi çekirdekteki işleyiciye verir. Sistem çağrısı bilinçli olarak üretilen bir tuzaktır.

Soru 22 · G/Ç ve Kesmeler

Kesmenin Ele Alınması: Sıralama

Açık uçlu Disk denetleyicisi okuma bitince kesme üretiyor. Aşağıdaki adımları doğru sıraya koyun: (a) Kesme vektörüyle işleyicinin adresi bulunur. (b) Kaydedilen durum geri yüklenir, kesilen program kaldığı yerden sürer. (c) Denetleyici kesme hattını etkinleştirir. (d) CPU o anki komutu bitirir; PC ve durum yazmacını kaydeder. (e) Kesme işleyicisi (ISR) çalışır, veriyi işler ve aygıtı onaylar.

Cevabı göster

c → d → a → e → b

  • Kesme, komutun ortasında değil, komut sınırında kabul edilir.
  • Vektör numarası, kesme vektör tablosunda bir girdiyi seçer; işleyici çekirdek kipinde çalışır.
  • ISR kısa tutulur; uzun işler sonraya (alt yarıya) bırakılır. Dönüşte işleyici, bekleyen bir süreci hazır duruma geçirmiş olabilir.

Soru 23 · G/Ç ve Kesmeler

Sürücüler ve Kesme İşleyicileri

Çoktan seçmeli Linux ve Windows gibi yaygın İS’lerde aygıt sürücüleri ve kesme işleyicileri için hangisi doğrudur?

  1. Kullanıcı kipinde çalışan sıradan uygulamalardır
  2. Yalnızca süreçler arası iletişim için kullanılırlar
  3. Çekirdeğin parçasıdır ve çekirdek kipinde çalışırlar
  4. Ürün yazılımında saklanır, İS bunları hiç yüklemez
Cevabı göster

Doğru cevap: C · Çekirdeğin parçasıdır ve çekirdek kipinde çalışırlar

Sürücü, aygıt denetleyicisinin yazmaçlarını doğrudan programladığı ve kesmeleri ele aldığı için ayrıcalık ister; bu sistemlerde çekirdeğe (çoğu zaman yüklenebilir modül olarak) dahil edilir. Mikroçekirdeklerde ise sürücülerin kullanıcı alanında çalıştırılabileceğini Bölüm 2’de göreceğiz.

Soru 24 · G/Ç ve Kesmeler

Kesmeler Kapalıyken

Çoktan seçmeli Çekirdek kısa bir kritik bölgeye girmeden önce kesmeleri kapattı (x86’da cli). Bu sırada aşağıdakilerden hangisi CPU tarafından yine de hemen kabul edilir?

  1. Klavyeden gelen tuş kesmesi
  2. Ağ kartının paket geldi kesmesi
  3. Disk denetleyicisinin okuma bitti kesmesi
  4. Maskelenemez kesme (NMI), ör. kritik bir donanım hatası ya da kilitlenme bekçisinin (watchdog) uyarısı
Cevabı göster

Doğru cevap: D · Maskelenemez kesme (NMI), ör. kritik bir donanım hatası ya da kilitlenme bekçisinin (watchdog) uyarısı

Kesme bayrağı yalnızca maskelenebilir kesmeleri erteler; sıradan aygıt kesmeleri bayrak yeniden açılınca işlenir. NMI ise yok sayılamayacak kadar önemli olaylar için ayrılmış bir hattır ve kesmeler kapalıyken bile kabul edilir.

Soru 25 · G/Ç ve Kesmeler

DMA’dan Ne Beklenmez?

Çoktan seçmeli Bir disk denetleyicisine DMA desteği eklendi. Aşağıdakilerden hangisi DMA’nın sağladığı bir yarar değildir?

  1. Aygıtın bellekte yalnızca izin verilen bölgelere yazmasının kendiliğinden garanti edilmesi
  2. Her bayt yerine blok başına tek kesme üretilmesi
  3. Blok aktarımı sürerken CPU’nun başka süreçleri çalıştırabilmesi
  4. Hızlı aygıtlarda daha yüksek aktarım verimi
Cevabı göster

Doğru cevap: A · Aygıtın bellekte yalnızca izin verilen bölgelere yazmasının kendiliğinden garanti edilmesi

DMA bir performans mekanizmasıdır: CPU’nun veri kopyalama yükünü alır. Güvenlik getirmez; tersine, belleğe doğrudan yazan bir aygıt yanlış programlanırsa her yeri bozabilir. Aygıtların erişimini sınırlamak için ayrıca IOMMU gerekir.

Soru 26 · G/Ç ve Kesmeler

Kesme Güdümlü G/Ç ile DMA

Hesaplama Bir ağ kartından 16 KiB veri alınıyor. Kesme güdümlü G/Ç’de her 4 baytlık sözcük için bir kesme oluşuyor ve her kesme CPU’ya 2 µs’ye mal oluyor. DMA ile CPU denetleyiciyi 5 µs’de programlıyor ve aktarım sonunda tek bir kesme (2 µs) geliyor. Her iki yöntemde CPU’nun harcadığı süre nedir?

Cevabı göster

Kesme güdümlü: 16 KiB = 16 384 B → 16 384 / 4 = 4 096 kesme → 4 096 × 2 µs = 8 192 µs ≈ 8,19 ms.

DMA: 5 µs + 2 µs = 7 µs. CPU yükü yaklaşık 1 170 kat azalır; aradaki sürede CPU başka süreçleri çalıştırır.

Soru 26 · Adım Adım Çözüm

Soru 26: Adım Adım Çözüm

1. Bayt sayısı: 16 KiB = 16 × 1 024 = 16 384 B (KiB ikili önektir).

2. Kesme sayısı: her kesme 4 B taşıyor → 16 384 / 4 = 4 096 kesme.

3. CPU süresi: 4 096 × 2 µs = 8 192 µs = 8,192 ms.

4. DMA: kurulum 5 µs + tamamlanma kesmesi 2 µs = 7 µs.

5. Oran: 8 192 / 7 ≈ 1 170. Yavaş aygıtlarda (klavye) fark önemsizdir; yüksek hızlı blok aygıtlarında DMA şarttır.

Soru 27 · G/Ç ve Kesmeler

Yoklama (Polling) Döngüsü

Kod izleme durum_oku() bir aygıtın durum yazmacını okuyor gibi davranıyor; 0. bit “hazır” bitidir. Program ne yazdırır? Bu süre boyunca CPU ne yapmaktadır?

#include <stdio.h>
#define HAZIR 0x1

int durum[] = {0x0, 0x4, 0x0, 0x5};
int k = 0;
int durum_oku(void) { return durum[k++]; }

int main(void) {
    int bekleme = 0;
    while ((durum_oku() & HAZIR) == 0)
        bekleme++;
    printf("bekleme=%d k=%d\n", bekleme, k);
    return 0;
}
Cevabı göster
bekleme=3 k=4

0x0, 0x4 (ikili 0100) ve 0x0’da 0. bit 0’dır → döngü 3 kez döner. 0x5 (0101) ile bit 1 olur, çıkılır; durum_oku 4 kez çağrılmıştır.

CPU bu sürede yalnızca bekler (meşgul bekleme); kesme ya da DMA ile bu çevrimler başka işe harcanabilirdi.

Soru 27 · Adım Adım Çözüm

Soru 27: Adım Adım Çözüm

#include <stdio.h>
#define HAZIR 0x1

int durum[] = {0x0, 0x4, 0x0, 0x5};
int k = 0;
int durum_oku(void) { return durum[k++]; }

int main(void) {
    int bekleme = 0;
    while ((durum_oku() & HAZIR) == 0)
        bekleme++;
    printf("bekleme=%d k=%d\n", bekleme, k);
    return 0;
}

Döngüden önce sayaç sıfırlanır.

durum[0] = 0x0; 0x0 & 0x1 = 0 → koşul doğru.

Aygıt hazır değil, CPU boşa döner.

durum[1] = 0x4 (0100): 0. bit 0 → koşul yine doğru.

İkinci boş tur.

durum[2] = 0x0 → koşul doğru.

Üçüncü boş tur.

durum[3] = 0x5 (0101): 0. bit 1 → koşul yanlış, döngü biter.

Çıktı: bekleme=3 k=4. Okuma sayısı = bekleme + 1.

Soru 28 · G/Ç ve Kesmeler

Zamanlayıcı Kesmesinin Maliyeti

Hesaplama Çekirdek zamanlayıcıyı saniyede 1000 kesme (1000 Hz) üretecek biçimde programlamış; her zamanlayıcı kesmesinin işlenmesi 5 µs sürüyor. CPU zamanının yüzde kaçı bu kesmelere gider? Frekans 250 Hz’e düşürülürse ne değişir?

Cevabı göster

1000 Hz: 1000 × 5 µs = 5 000 µs = 5 ms/s → %0,5. 250 Hz: 250 × 5 µs = 1,25 ms/s → %0,125.

Bedeli: düşük frekansta çizelgeleyici daha seyrek devreye girer; zaman dilimleri ve uyku süreleri kabalaşır, etkileşimli yanıt gecikebilir. Ödünleşim: ek yük ↔ duyarlılık.

Soru 29 · G/Ç ve Kesmeler

Bir Disk Bloğunu Okumak

Hesaplama 7200 dev/dk dönen bir sabit diskte ortalama arama (seek) süresi 4 ms, aktarım hızı 200 MB/s’dir (1 MB = 106 B). Rastgele bir 4 KiB bloğu okumanın ortalama süresi nedir? Hangi bileşen baskındır?

Cevabı göster

Bir tur: 60 / 7200 s = 8,33 ms → ortalama dönme gecikmesi yarım tur = 4,17 ms. Aktarım: 4 096 B / (200 × 106 B/s) = 0,02 ms.

Toplam ≈ 4 + 4,17 + 0,02 = 8,19 ms. Süreyi mekanik hareket (arama + dönme) belirler; aktarım ihmal edilebilir. Bu yüzden İS’ler ardışık blokları birlikte okumaya ve isteklerin sırasını düzenlemeye çalışır.

Soru 30 · Açılış ve İS Türleri

Güç Düğmesinden Oturuma

Çoktan seçmeli Bir Linux bilgisayarda güç düğmesine basıldıktan sonraki olayların doğru sırası hangisidir?

  1. Önyükleyici (GRUB) → ürün yazılımı POST → init/systemd → çekirdek
  2. Ürün yazılımı (UEFI/BIOS) ve POST → önyükleyici (GRUB) → çekirdek → init/systemd → giriş ekranı
  3. Çekirdek → ürün yazılımı → önyükleyici → giriş ekranı
  4. init/systemd → çekirdek → önyükleyici → POST
Cevabı göster

Doğru cevap: B · Ürün yazılımı (UEFI/BIOS) ve POST → önyükleyici (GRUB) → çekirdek → init/systemd → giriş ekranı

CPU sıfırlandığında ilk olarak ürün yazılımı çalışır, donanımı sınar (POST) ve başlatır. Önyükleyiciyi bulur; önyükleyici çekirdeği belleğe yükler. Çekirdek donanımı tanıyıp ilk kullanıcı sürecini (PID 1: init/systemd) başlatır, o da hizmetleri ve giriş ekranını açar.

Soru 31 · Açılış ve İS Türleri

Yazıcıda Karışan Sayfalar

Açık uçlu Laboratuvarda üç kullanıcı aynı anda ortak yazıcıya belge gönderiyor ama sayfalar birbirine karışmıyor; kullanıcılar da yazıcının bitmesini beklemeden çalışmaya devam ediyor. İS bunu hangi teknikle sağlar? Nasıl çalıştığını açıklayın.

Cevabı göster

Biriktirme (spooling): her işin çıktısı önce diskteki bir biriktirme dizinine dosya olarak yazılır; yazıcıya yalnızca biriktirme süreci (daemon) erişir.

  • Daemon işleri kuyruktan birer birer ve bütün olarak yazdırır → sayfalar karışmaz.
  • Uygulama diske yazmayı bitirince işine döner; yavaş yazıcıyı beklemez → CPU ile G/Ç örtüşür.
  • Paylaşılamayan bir aygıt, sırayla paylaşılan bir kaynağa dönüşür.

Soru 32 · Açılış ve İS Türleri

Çoklu Programlama ve Zaman Paylaşımı

Açık uçlu Çoklu programlama ile zaman paylaşımı arasındaki farkı amaçları ve süreç değiştirme anı açısından açıklayın.

Cevabı göster
  • Çoklu programlama: bellekte birden çok iş tutulur; çalışan iş G/Ç beklemeye geçince CPU başka işe verilir. Amaç CPU kullanımını ve iş verimini en yüksek yapmaktır; geçiş, işin kendisi beklemeye girince olur.
  • Zaman paylaşımı: çoklu programlamanın uzantısıdır; her süreç kısa bir zaman dilimi çalışır, dilim dolunca zamanlayıcı kesmesiyle CPU elinden alınır. Amaç birçok kullanıcıya kısa yanıt süresi ve etkileşimdir.

Fark: zaman paylaşımında süreç G/Ç yapmasa bile kesilir (kesintili çoklu görev).

Soru 33 · Açılış ve İS Türleri

Gerçek Zamanlı İS

Doğru / Yanlış Gerçek zamanlı işletim sistemleriyle (RTOS) ilgili ifadeleri değerlendirin.

  1. Gerçek zamanlı sistem, her işi olabildiğince hızlı bitiren sistem demektir.
  2. Otomobilde hava yastığı denetleyicisi katı (hard) gerçek zamanlı bir sistemdir.
  3. Genel amaçlı bir İS ortalama başarımı ve adaleti öne çıkarırken RTOS en kötü durum gecikmesini sınırlamayı öne çıkarır.
Cevabı göster
  1. Yanlış. Önemli olan hız değil öngörülebilirliktir: işin son teslim süresinden (deadline) önce bitmesi garanti edilmelidir.
  2. Doğru. Süre aşımı felakete yol açar; video oynatıcı ise ara sıra kare kaçırmaya dayanıklı esnek (soft) gerçek zamanlıdır.
  3. Doğru. RTOS’ta kesme ve dağıtım gecikmesi sınırlıdır, öncelikler kesintilidir; genel amaçlı İS ise iş verimini ve etkileşimi dengeler.

Özet

Özet: Sık Yapılan Hatalar

Yanlış düşünceDoğrusu
Derleyici, kabuk ve GKA İS çekirdeğinin parçasıdır.Hepsi kullanıcı kipinde çalışan programlardır; çekirdek onlara hizmet verir.
Kip ayrımı programları hızlandırmak içindir.Amaç korumadır; kip geçişinin küçük bir maliyeti bile vardır.
Kesme ve tuzak aynı şeydir.Kesme dışsal ve eşzamansızdır; tuzak komutun kendisinden doğan eşzamanlı olaydır.
DMA bellek erişimini güvenli kılar.DMA yalnızca CPU yükünü azaltır; aygıt erişimini sınırlamak için IOMMU gerekir.
Önbellek büyüdükçe ortalama süre doğrusal düşer.Ortalama süreyi ıskalama oranı × ıskalama cezası belirler; küçük oran farkları büyük etki yapar.
Takas dosyasını büyütmek belleği hızlandırır.Takas yalnızca kapasite ekler; diske düşen sayfalar çok yavaştır.
Gerçek zamanlı = çok hızlı.Gerçek zamanlı = süre sınırı garanti edilen, öngörülebilir.

Son

Bölüm 1: Giriş
Sonraki: Bölüm 2 Çalışma Soruları
1 / 1 Sercan KÜLCÜ, Tüm hakları saklıdır.