---
title: 'Çekirdek İçi İzleme'
source: 'https://academia.sh/tr/kurslar/cekirdek-arayuzleri/cekirdek-ici-izleme'
course: 'Çekirdek Arayüzleri ve İzolasyon'
language: tr
updated: '2026-08-17T18:09:58+00:00'
license: 'CC BY-SA 4.0'
---

# Çekirdek İçi İzleme

Olay tabanlı çekirdek içi izlemenin ölçülmesi: yüzde 6 bedelle 3 olgu geri geliyor, açık yüzey 13 oluyor ve ağ ad alanının tam kapattığı eksen yeniden açılarak açık eksen 7'den 8'e çıkıyor; olgu başına bedel 2,00 puanla dört kanalın en düşüğü.

Önceki iki kanal aynı yönde çalıştı. Sistem çağrısı izlemesi yüzde 34 bedelle 2 olgu,
örnekleme profili yüzde 3 bedelle 1 olgu geri getirdi; ikisi de açık eksen sayısını **7'de**
bıraktı. Açık eksenin sabit kalması küçük bir ayrıntı değildi: kanallar açık eksenleri
kalınlaştırıyor, kapalı bir ekseni açmıyorlardı.

Bu ders o düzeni bozar. Olay tabanlı çekirdek içi izleme, sıkı demetin kapattığı 14 olgudan
**3'ünü** geri getirir ve bunlardan biri, ağ ad alanının **tam** kapattığı bir eksene aittir.
Açık eksen 7'den **8'e** çıkar. Bedel ise yüzde 6'dır — sistem çağrısı izlemesinin beşte
birinden azı. Kursun bu konudaki en keskin cümlesi buradan çıkar: **en çok geri getiren
kanal en pahalı kanal değildir.**

## Olay Tabanlı Gözlem

Sistem çağrısı izlemesi her çağrıda denetimi izleyen tarafa geçirir; örnekleme profili
düzenli aralıklarla anlık görüntü alır. Çekirdek içi izleme üçüncü bir yoldur: çekirdeğin
içine **izleme noktaları** yerleştirilir, bir olay olduğunda küçük bir işleyici çalışır ve
sonucu bir tampona yazar. Süreç durdurulmaz, örnek beklenmez; yalnız ilgilenilen olay
kaydedilir.

Varsayımlar sürüyor. Kanalın gösterdiği beş olgu koddaki listedir (**GZ14**). Bedeller
**modeldeki yüzdelerdir, gerçek ölçüm değildir**; taban koşum 1000 zaman birimidir
(**GZ15**). İzleme çekirdek tarafında kurulur ve izlenen sürecin ad alanlarından bağımsız
çalışır (**GZ16**); bu, kanalın izolasyonu delme gücünün kaynağıdır. Bir olay kaydedildiğinde
ilgili olgu tam olarak görünür olur (**GZ17**). Kanal üç izleme noktasına ayrılır ve
noktaların olgu kümeleri koddaki listelerdir (**GZ18**). Nokta bedelleri 2, 3 ve 1'dir ve
toplamları kanal bedeline eşittir (**GZ19**). Noktalar birbirinden bağımsız açılıp
kapatılabilir (**GZ20**). Tampon taşması ve olay düşmesi modelde yoktur (**GZ21**) — gerçek
sistemde yüksek olay hızında kayıt eksilir ve bu, ölçünün dışında kalan bir sınırdır.

```text
# ornek dokum , calistirilmis degildir
$ cat /sys/kernel/tracing/available_events | wc -l
<olay-sayisi>
$ echo 1 > /sys/kernel/tracing/events/sched/sched_process_fork/enable
$ cat /sys/kernel/tracing/trace_pipe
  <surec-adi>-<no> [<islemci>] <zaman>: sched_process_fork: ata=<no> cocuk=<no>
```

Blok çalıştırılmadı ve içindeki değerler kurgudur. Ölçülen şey satırların biçimi değil,
satırlardan okunabilen olgulardır.

```python
# M03/K05 ortak tanim -- yalniz bu dersin kullandigi parcalar.
OLGULAR = [
    ("oteki-sureclerin-listesi", "surec"), ("kendi-surec-numarasi", "surec"),
    ("ata-surec-zinciri", "surec"),
    ("kok-dosya-agaci", "takma"), ("oteki-takmalar", "takma"),
    ("paylasilan-gecici-dizin", "takma"),
    ("makine-arayuzleri", "ag"), ("makine-yonlendirme-tablosu", "ag"),
    ("dinleyen-baglanti-noktalari", "ag"),
    ("kullanici-kimlik-esleme", "kullanici"), ("dosya-sahipligi", "kullanici"),
    ("makine-adi", "makine"),
    ("islemci-payi", "kaynak"), ("bellek-siniri", "kaynak"),
    ("kullanilan-bellek", "kaynak"), ("islemci-sayisi", "kaynak"),
    ("cekirdek-surumu", "cekirdek"), ("cekirdek-ayarlari", "cekirdek"),
    ("sistem-yuku", "cekirdek"), ("saat", "cekirdek"),
    ("yetenek-kumesi", "yetki"), ("dosya-yetkileri", "yetki"),
    ("erisim-etiketi", "etiket"), ("politika-kurallari", "etiket"),
]
DUZENEK = {
    "surec-ad-alani":     {"eksen": ["surec"], "acik_kalan": ["kendi-surec-numarasi"]},
    "takma-ad-alani":     {"eksen": ["takma"], "acik_kalan": ["kok-dosya-agaci"]},
    "ag-ad-alani":        {"eksen": ["ag"], "acik_kalan": []},
    "kullanici-ad-alani": {"eksen": ["kullanici"], "acik_kalan": ["dosya-sahipligi"]},
    "makine-ad-alani":    {"eksen": ["makine"], "acik_kalan": []},
    "denetim-grubu":      {"eksen": ["kaynak"], "acik_kalan": ["islemci-sayisi"]},
    "yetenek-kirpma":       {"eksen": ["yetki"], "acik_kalan": ["dosya-yetkileri"]},
    "zorunlu-etiket":     {"eksen": ["etiket"], "acik_kalan": ["erisim-etiketi"]},
}
SIKI_DEMET = ["surec-ad-alani", "takma-ad-alani", "ag-ad-alani", "makine-ad-alani",
              "denetim-grubu", "yetenek-kirpma", "kullanici-ad-alani", "zorunlu-etiket"]

KANAL = {
    "sistem-cagrisi-izleme": ["kok-dosya-agaci", "oteki-takmalar", "dosya-sahipligi",
                              "yetenek-kumesi", "saat"],
    "ornekleme-profili":     ["islemci-payi", "islemci-sayisi", "sistem-yuku"],
    "cekirdek-ici-izleme":   ["oteki-sureclerin-listesi", "ata-surec-zinciri",
                              "dinleyen-baglanti-noktalari", "cekirdek-ayarlari",
                              "sistem-yuku"],
    "cekirdek-dokumu":       ["kullanilan-bellek", "yetenek-kumesi", "erisim-etiketi",
                              "kullanici-kimlik-esleme"],
}
# GZ15: bedeller MODELDEKI yuzdelerdir , gercek olcum degildir
KANAL_BEDELI = {"sistem-cagrisi-izleme": 34, "ornekleme-profili": 3,
                "cekirdek-ici-izleme": 6, "cekirdek-dokumu": 0}
TABAN_SURE = 1000
# GZ18-GZ20: kanal uc izleme noktasina ayriliyor ; noktalarin bedeli 2+3+1 = 6
NOKTA = {
    "surec-olaylari":         (["oteki-sureclerin-listesi", "ata-surec-zinciri"], 2),
    "ag-olaylari":            (["dinleyen-baglanti-noktalari"], 3),
    "cekirdek-ayar-olaylari": (["cekirdek-ayarlari", "sistem-yuku"], 1),
}


def gorunen(duzenekler, olgular=OLGULAR):
    kapali = set()
    for d in duzenekler:
        v = DUZENEK[d]
        for e in v["eksen"]:
            kapali |= {o for o, x in olgular if x == e}
        kapali -= set(v["acik_kalan"])
    return [o for o, _ in olgular if o not in kapali]


def geri_gelen(duzenekler, kanal, olgular=OLGULAR):
    kapali = {o for o, _ in olgular} - set(gorunen(duzenekler, olgular))
    return sorted(set(kanal) & kapali)


def yuzey(duzenekler, kanal=(), olgular=OLGULAR):
    g = set(gorunen(duzenekler, olgular))
    geri = set(geri_gelen(duzenekler, kanal, olgular))
    return {"gorunen": len(g), "geri_gelen": len(geri), "acik_yuzey": len(g | geri),
            "acik_eksen": len({e for o, e in olgular if o in (g | geri)})}


ICI = KANAL["cekirdek-ici-izleme"]
g = set(gorunen(SIKI_DEMET))
ys = yuzey(SIKI_DEMET, ICI)
print("olgu:", len(OLGULAR), "| eksen:", len({e for _, e in OLGULAR}),
      "| siki demet: gorunen", len(g), "kapattigi", len(OLGULAR) - len(g),
      "acik eksen", yuzey(SIKI_DEMET)["acik_eksen"])
print()
print("kanalin gosterdigi olgu       eksen     siki demette durumu")
for o in ICI:
    print(f"  {o:28s}{dict(OLGULAR)[o]:10s}"
          f"{'zaten goruluyor' if o in g else 'GERI GELIYOR'}")
print()
print("EKSEN TABLOSU (olgu | siki demette gorunen | kanal aciksa gorunen)")
geri = set(geri_gelen(SIKI_DEMET, ICI))
for e in sorted({e for _, e in OLGULAR}):
    hepsi = [o for o, x in OLGULAR if x == e]
    a = len([o for o in hepsi if o in g])
    b = len([o for o in hepsi if o in g | geri])
    not_ = "  <-- eksen yeniden acildi" if a == 0 < b else ""
    print(f"  {e:10s} {len(hepsi):5d} {a:24d} {b:26d}{not_}")
print()
print("kanal                   geri  acik yuzey  acik eksen  bedel  olgu basina bedel")
for k in KANAL:
    y = yuzey(SIKI_DEMET, KANAL[k])
    b = KANAL_BEDELI[k]
    oran = f"{b / y['geri_gelen']:.2f}" if y["geri_gelen"] else "-"
    print(f"  {k:22s} {y['geri_gelen']:4d}  {y['acik_yuzey']:10d}  {y['acik_eksen']:10d}"
          f"  {b:5d}  {oran:>17s}")
print()
print("IZLEME NOKTASI SUPURMESI (noktalar sirayla aciliyor)")
print("  nokta                   yeni olgu  toplam geri  toplam bedel  marjinal bedel")
acik, top = [], 0
for ad, (olgular_, bedel) in NOKTA.items():
    onceki = len(geri_gelen(SIKI_DEMET, acik))
    acik = acik + olgular_
    simdi = len(geri_gelen(SIKI_DEMET, acik))
    top += bedel
    print(f"  {ad:22s} {simdi - onceki:10d} {simdi:12d} {top:13d} {bedel:15d}")
print("  toplam nokta bedeli:", top, "= kanal bedeli", KANAL_BEDELI["cekirdek-ici-izleme"],
      "| kosum", TABAN_SURE * (100 + top) // 100)
print()
print("OLGU KUMESI SUPURMESI -- cikarma")
gd = [o for o, _ in OLGULAR
      if yuzey(SIKI_DEMET, ICI, [x for x in OLGULAR if x[0] != o])["geri_gelen"]
      < ys["geri_gelen"]]
de = [o for o, _ in OLGULAR
      if yuzey(SIKI_DEMET, ICI, [x for x in OLGULAR if x[0] != o])["acik_yuzey"]
      != ys["acik_yuzey"]]
ek = [o for o, _ in OLGULAR
      if yuzey(SIKI_DEMET, ICI, [x for x in OLGULAR if x[0] != o])["acik_eksen"]
      < ys["acik_eksen"]]
print("  taban acik yuzey", ys["acik_yuzey"], "acik eksen", ys["acik_eksen"],
      "| degistiren", len(de), "| degistirmeyen", len(OLGULAR) - len(de))
print("  geri geleni dusuren:", ", ".join(gd))
print("  acik ekseni 8'den 7'ye dusuren olgu:", len(ek),
      "| bunlardan kanalin geri getirdigi:",
      [o for o in ek if o in geri_gelen(SIKI_DEMET, ICI)])
print()
buyuten = [e for e in sorted({e for _, e in OLGULAR})
           if yuzey(SIKI_DEMET, ICI,
                    OLGULAR + [("yeni-olgu", e)])["acik_yuzey"] > ys["acik_yuzey"]]
print("OLGU KUMESI SUPURMESI -- ekleme (her eksene bir yeni olgu)")
print("  yuzeyi buyuten eksen:", buyuten, "-> acik yuzey", ys["acik_yuzey"] + 1)
print("  oteki", 9 - len(buyuten), "eksende acik yuzey", ys["acik_yuzey"], "olarak kaliyor")
```

```
olgu: 24 | eksen: 9 | siki demet: gorunen 10 kapattigi 14 acik eksen 7

kanalin gosterdigi olgu       eksen     siki demette durumu
  oteki-sureclerin-listesi    surec     GERI GELIYOR
  ata-surec-zinciri           surec     GERI GELIYOR
  dinleyen-baglanti-noktalari ag        GERI GELIYOR
  cekirdek-ayarlari           cekirdek  zaten goruluyor
  sistem-yuku                 cekirdek  zaten goruluyor

EKSEN TABLOSU (olgu | siki demette gorunen | kanal aciksa gorunen)
  ag             3                        0                          1  <-- eksen yeniden acildi
  cekirdek       4                        4                          4
  etiket         2                        1                          1
  kaynak         4                        1                          1
  kullanici      2                        1                          1
  makine         1                        0                          0
  surec          3                        1                          3
  takma          3                        1                          1
  yetki          2                        1                          1

kanal                   geri  acik yuzey  acik eksen  bedel  olgu basina bedel
  sistem-cagrisi-izleme     2          12           7     34              17.00
  ornekleme-profili         1          11           7      3               3.00
  cekirdek-ici-izleme       3          13           8      6               2.00
  cekirdek-dokumu           3          13           7      0               0.00

IZLEME NOKTASI SUPURMESI (noktalar sirayla aciliyor)
  nokta                   yeni olgu  toplam geri  toplam bedel  marjinal bedel
  surec-olaylari                  2            2             2               2
  ag-olaylari                     1            3             5               3
  cekirdek-ayar-olaylari          0            3             6               1
  toplam nokta bedeli: 6 = kanal bedeli 6 | kosum 1060

OLGU KUMESI SUPURMESI -- cikarma
  taban acik yuzey 13 acik eksen 8 | degistiren 13 | degistirmeyen 11
  geri geleni dusuren: oteki-sureclerin-listesi, ata-surec-zinciri, dinleyen-baglanti-noktalari
  acik ekseni 8'den 7'ye dusuren olgu: 6 | bunlardan kanalin geri getirdigi: ['dinleyen-baglanti-noktalari']

OLGU KUMESI SUPURMESI -- ekleme (her eksene bir yeni olgu)
  yuzeyi buyuten eksen: ['cekirdek'] -> acik yuzey 14
  oteki 8 eksende acik yuzey 13 olarak kaliyor
```

## Kâhin, Kanal, Geri Gelen Olgu

Üç sayı yan yana durur. **Kâhin:** sürecin 24 olgusu, dokuz eksende. **Kanal:** çekirdek içi
izleme beş olgu gösteriyor. **Geri gelen olgu ve açık yüzey:** beşinden **3'ü** sıkı demetin
kapattığı olgulardır ve geri gelir; açık yüzey **10'dan 13'e**, açık eksen **7'den 8'e**
çıkar.

Geri gelen üçlü `oteki-sureclerin-listesi`, `ata-surec-zinciri` ve
`dinleyen-baglanti-noktalari`dır. İlk ikisi süreç ad alanının kapattığı olgulardır: süreç
kendi ad alanında yalnız kendini görüyor olsa bile, çekirdek tarafında yerleştirilmiş bir
süreç olayı izleyicisi çatallama olaylarını ad alanı ayrımı gözetmeden görür. Üçüncüsü ağ
ad alanının kapattığı bir olgudur ve asıl kırılma oradadır.

Zaten görünen iki olgu — `cekirdek-ayarlari` ve `sistem-yuku` — çekirdek eksenindedir.
Önceki iki derste de aynı sonuç çıkmıştı: o ekseni kapatan hiçbir düzenek yok. Kanalın beş
olgusundan ikisi bu yüzden yeni bir şey açmaz.

## Kapanmış Bir Eksen Yeniden Açılıyor

Eksen tablosu dört kanal içinde yalnız bu kanalda değişir. Ağ ekseninde üç olgu vardır ve
ağ ad alanı üçünü de kapatır; ortak tanımın birinci okumasında ağ ile makine ad alanı,
kendi eksenlerini **tam** kapatan tek ikili olarak geçiyordu. Çekirdek içi izleme bu tam
kapatmayı deler: `dinleyen-baglanti-noktalari` geri gelir ve ağ ekseninde görünen olgu
sayısı 0'dan **1'e** çıkar.

Ayrım işletim açısından önemlidir. Bir eksenin kalınlaşması, o eksende zaten bir şey
görünürken bir şey daha görünmesidir; ölçüyü büyütür ama izolasyon kararını değiştirmez.
Bir eksenin **yeniden açılması** ise izolasyon kararının kendisini geçersizleştirir. Ağ ad
alanı kurulurken verilen karar "bu süreç makinenin ağını görmeyecek" idi; kanal açıkken bu
karar artık geçerli değildir. Sıkı demetin dokuz eksenden yedisinde bir şey açık bırakması
bilinen bir sonuçtu; sekizinci eksenin **gözlem yüzünden** açılması ayrı bir sonuçtur.

Süreç ekseninde de bir kalınlaşma vardır: üç olgudan görünen sayısı 1'den **3'e** çıkar,
yani eksen tamamen görünür olur. Eksen zaten açık sayıldığı için tabloda bir artış
görünmez; olgu tarafında ise kanalın en büyük katkısı buradadır.

## En Çok Geri Getiren Kanal En Pahalı Kanal Değildir

Dört kanalın karşılaştırma tablosu kursun bu konudaki ana iddiasını tek bakışta verir.
Sistem çağrısı izlemesi **yüzde 34** bedelle **2** olgu, çekirdek içi izleme **yüzde 6**
bedelle **3** olgu getiriyor. Olgu başına bedel birincide **17,00**, ikincide **2,00** yüzde
puandır: çekirdek içi izleme, olgu başına sistem çağrısı izlemesinin **8,5'te biri** kadar
pahalıdır ve daha çok olgu getirir. Pahalılık ile delme gücü arasında bu modelde bir bağ
yoktur.

Nedeni yapısaldır. Sistem çağrısı izlemesinin bedeli **her çağrıda** ödenir; ölçülen sürecin
çağrı yoğunluğuyla büyür. Çekirdek içi izlemenin bedeli ise **yalnız seçilen olaylarda**
ödenir; süreç ne kadar çalışırsa çalışsın, seçilmeyen olaylar için hiçbir şey ödenmez.
Birincisi geniş ve körlemesine, ikincisi dar ve seçicidir. Seçicilik hem ucuzluğun hem de
delme gücünün kaynağıdır: doğru olay seçildiğinde tek bir izleme noktası, bir ad alanının
kapattığı olguyu doğrudan verir.

Tablonun dördüncü satırı da şimdiden görünüyor: çekirdek dökümü **yüzde 0** bedelle **3**
olgu getiriyor. Onun bedeli koşumda değil, başka bir yerdedir ve bu konunun son dersinde
ölçülür.

## İzleme Noktası Süpürmesi

Kanal üç noktaya ayrıldığında marjinal getiri açıkça görünür. Süreç olayları noktası
**2** yeni olgu getirir ve **2** puana mal olur. Ağ olayları noktası **1** yeni olgu getirir
ve **3** puana mal olur — en pahalı nokta, en az olgu getiren noktadır; ama getirdiği olgu
tam da ekseni yeniden açan olgudur. Çekirdek ayar olayları noktası **0** yeni olgu getirir
ve yine de **1** puan ödetir. Üç noktanın toplamı 6'dır ve kanal bedeline eşittir; koşum
1000'den 1060'a çıkar.

Üçüncü nokta işletim açısından en öğretici olanıdır. Açıktır, kayıt üretir, bedel ödetir ve
izolasyon açısından **hiçbir şey** eklemez; gösterdiği iki olgu zaten görünüyordu. Bir gözlem
kurulumunu denetlerken sorulacak soru "bu nokta ne gösteriyor" değil, "bu nokta neyi **yeni**
gösteriyor" olmalıdır. Marjinal getirisi sıfır olan bir nokta yalnız bedel ödetir.

## Olgu Kümesi Süpürmesi

Çıkarma süpürmesinde açık yüzeyi 24 olgunun **13'ü** değiştiriyor, **11'i** değiştirmiyor.
Geri gelen sayısını düşüren üç olgu, kanalın geri getirdiği üç olgunun kendisidir. Açık
ekseni 8'den 7'ye düşüren **6** olgu vardır; bunların yalnız biri —
`dinleyen-baglanti-noktalari` — kanalın geri getirdiği olgudur. Kalan beşi, kendi ekseninde
sıkı demet altında görünen tek olgu oldukları için çıkarıldıklarında o ekseni tamamen
kapatırlar.

Bu ikinci sonuç eksen ölçüsünün kırılganlığını gösterir. Bir eksenin "açık" sayılması tek
bir olguya bağlı olabilir; liste değişirse eksen sayısı değişir. Olgu sayısı ise daha
dayanıklıdır. Ekleme süpürmesi önceki iki dersle aynı yanıtı verir: dokuz eksenin yalnız
`cekirdek` ekseninde yeni bir olgu açık yüzeyi büyütür (13'ten 14'e), kalan sekiz eksende
yüzey **13** olarak kalır.

## Yüzeyi Daraltmak

Sayılan yüzeyin yanında daraltma yolu yazılır. Birincisi izleme noktası yerleştirme
yetkisidir: çekirdek içi izleme ayrı bir yetki gerektirir ve o yetenek kırpma listesine
alınabilir; çekirdek ayarlarıyla ayrıcalıksız süreçler için izleme kapatılabilir. İkincisi
nokta seçimidir — süpürmenin gösterdiği gibi, marjinal getirisi sıfır olan noktalar
kapatılır; açık nokta sayısı azaldıkça hem bedel hem yüzey küçülür. Üçüncüsü olay
süzgeçleridir: bir izleme noktası tek bir denetim grubuna ya da tek bir ad alanına
daraltılabilir; makine geneli izleme, demet dışı bütün süreçlerin olaylarını da görünür
kılar. Dördüncüsü kayıt tarafıdır; toplanan olay akışı süreç adlarını, ata zincirini ve
bağlantı noktalarını taşır ve erişimi sınırlanmalıdır.

Bu ders bir gediği sayar, kullanımını anlatmaz. Kaçış, yetki yükseltme ve atlatma yordamları
kursun hiçbir dersinde yazılmaz.

## Özet

- Çekirdek içi izleme beş olgu gösteriyor; **3'ü** geri geliyor ve açık yüzey **13** oluyor:
  dört kanalın en çok olgu getiren ikilisinden biri.
- Açık eksen **7'den 8'e** çıkıyor; ağ ad alanının **tam** kapattığı eksen yeniden açılıyor
  ve bunu yapan tek kanal budur.
- Bedel **yüzde 6** (taban 1000, koşum 1060) ve olgu başına **2,00 yüzde puan** — sistem
  çağrısı izlemesinin 17,00 puanının **8,5'te biri**. Yüzdeler modeldeki değerlerdir, gerçek
  ölçüm değildir.
- Üç izleme noktasının marjinal getirisi 2, 1 ve **0** olgu; bedelleri 2, 3 ve 1 puan. En
  pahalı nokta en az olgu getiriyor, üçüncü nokta hiçbir yeni olgu getirmeden bedel ödetiyor.
- Süpürme: açık ekseni düşüren 6 olgudan yalnız biri kanalın getirdiği olgudur; eklenen yeni
  olgu yüzeyi yine yalnız **çekirdek** ekseninde büyütüyor.
- Daraltma: izleme yeteneğinin kırpılması, marjinal getirisi sıfır noktaların kapatılması,
  olayların tek denetim grubuna daraltılması ve olay akışının erişim denetimi.

## Sonraki Adım

Üç kanal da koşum sırasında çalıştı ve üçü de koşuma bir bedel ekledi. Sıradaki kanal
koşuma hiç dokunmaz: çekirdek dökümü, süreç çöktükten **sonra** bakar ve koşum bedeli
**yüzde 0**'dır. Buna karşın geri getirdiği olgu sayısı **3'tür** ve getirdikleri arasında
kullanıcı kimlik eşlemesi ile yetenek kümesi vardır. Bedeli sıfır olan bir kanalın yüzeyi
neden en büyükler arasında olduğu, dökümün **ne taşıdığıyla** açıklanır — ve bu, kursun ve
M03 müfredatının son dersidir.
