---
title: 'Bilgisayar Donanım Bileşenleri'
source: 'https://academia.sh/tr/kurslar/bt-temelleri/bilgisayar-donanim-bilesenleri'
course: 'Bilgi Teknolojileri ve Sistem Temelleri'
language: tr
updated: '2026-08-17T18:08:38+00:00'
license: 'CC BY-SA 4.0'
---

# Bilgisayar Donanım Bileşenleri

Donanımın sınır listesi olarak okunması: 43 kalemlik envanterde sekiz bileşenin çizdiği sınır, sınırı geçmek için aynı anda yanlış olması gereken kalem sayısının uzaktan 1 ile 3, fiziksel erişimde 0 ile 3 arasında değişmesi, iki bileşenin tek başına envanterin tamamını açması ve dört sertleştirme ayarından üçü açıldıktan sonra bile açılan kalemin 43'te kalması.

Önceki kurs bir varlığa ulaşmanın kaç ayrı yolu olduğunu saydı ve her savunma ilkesini kapattığı
yol cinsinden ölçtü. Bütün o yolların ortak bir noktası vardı: hepsi bir makinenin üzerinden
geçiyordu. Makinenin kendisi hiç açılmadı.

Bu ders donanımı katalog olarak ele almaz. İşlemcinin kaç çekirdeği olduğu ya da belleğin ne kadar
hızlı olduğu buradaki soru değildir. Soru şudur: bir bileşen hangi sınırı çiziyor, o sınırın iki
yanında kaç kalem duruyor ve sınır bir kez geçildiğinde neye erişiliyor.

## Sınır Listesi Olarak Donanım

Bir bileşenin güvenlik değeri üç sayıyla yazılır.

**Sınırın adı ve tarafı.** Bileşen bir ayrımı zorlar: bir kalem kümesi içeride, kalanı dışarıdadır.
"İşlemci güvenlidir" bir karar taşımaz; "işlemci ayrıcalık kipi sınırını çizer ve o sınırın içinde
şu kadar kalem vardır" taşır.

**Sınırı geçmek için gereken kalem.** Bir yandan öbürüne geçmek kaç ayrı koşulun **aynı anda**
yanlış olmasını ister. Bu sayı yalıtım gücüdür. Bir ise sınır yoktur: tek bir hata bütün geçişi
verir. Sıfır ise sınır hiç kurulmamıştır.

**Sınır düştüğünde erişilen kalem.** Sınırın bir kez geçildiği varsayılır ve kaç kaleme erişildiği
sayılır. Dar bir sınır düşse de az kalem verir; geniş bir sınır düştüğünde envanterin tamamı açılır.

## Sekiz Bileşenin Sınırı

Örnek, kursun kurgu **bölgesel ölçüm ağı**ndaki bir şube sunucusudur: sayaç okumalarını toplayan
uçlardan gelen veriyi saklar, saha ekiplerinin dizüstü bilgisayarlarına dağıtır. Sunucu da
envanteri de kurgudur; aşağıdaki tablo bir **modeldir**, gerçek bir makine, satıcı ya da
yapılandırma yoktur.

**DI1:** korunan varlık envanteri 43 kalemdir ve yedi katmana bölünür. **DI2:** her bileşen bir
sınır çizer; sınır düştüğünde erişilen katmanlar kalem kalem yazılır. **DI3:** eşik, sınırı geçmek
için aynı anda yanlış olması gereken kalem sayısıdır ve uzaktan erişimle fiziksel erişimde ayrı
ayrı verilir. **DI4:** dört sertleştirme ayarı vardır; her biri ilgili bileşenin fiziksel eşiğine
iki kalem ekler. **DI5:** en düşük eşikli sınır seçilir; erişilen kalem, eşiği bir ve altında olan
sınırların açtığı katmanların **birleşimidir**. **DI6:** çevre birim arayüzü uzaktan geçilemez,
fiziksel takma ister.

```js
// bt/bilesen.mjs — kurgu bolgesel olcum agi sube sunucusunun bilesen ve sinir envanteri
// (model): gercek bir makine, satici ya da yapilandirma yok. Rastgelelik yok.

// Varlik envanteri: yedi katman, katman basina kalem sayisi.
export const KATMAN = { "cekirdek-bellek": 5, "surec-bellegi": 9, "disk-veri": 11,
  "yapilandirma": 6, "anahtar-malzemesi": 3, "ag-ucu": 4, "gunluk": 5 };
export const TOPLAM = Object.values(KATMAN).reduce((a, b) => a + b, 0);
const HEPSI = Object.keys(KATMAN);

// Her bilesen bir sinir cizer. u/f: sinirin uzaktan ve fiziksel erisimde gecilmesi icin ayni
// anda yanlis olmasi gereken kalem sayisi (Infinity: o yoldan gecilemez). ayar: sinira kalem
// ekleyen sertlestirme; ek: ayar acikken f'ye eklenen kalem. acar: sinir dustugunde erisilen
// katmanlar.
export const SINIR = [
  { ad: "islemci", sinir: "ayricalik-kipi", u: 2, f: 2, ayar: null, ek: 0,
    acar: ["cekirdek-bellek", "surec-bellegi", "yapilandirma", "gunluk"] },
  { ad: "bellek-yonetim-birimi", sinir: "surec-adres-alani", u: 2, f: 2, ayar: null, ek: 0,
    acar: ["surec-bellegi"] },
  { ad: "kalici-depolama", sinir: "dosya-sistemi-izni", u: 2, f: 0,
    ayar: "disk-sifrelemesi", ek: 2, acar: ["disk-veri", "yapilandirma", "gunluk"] },
  { ad: "bellenim", sinir: "acilis-zinciri", u: 3, f: 1,
    ayar: "imzali-acilis", ek: 2, acar: HEPSI },
  { ad: "guvenilir-platform-birimi", sinir: "anahtar-saklama", u: 3, f: 3, ayar: null, ek: 0,
    acar: ["anahtar-malzemesi"] },
  { ad: "ag-arayuzu", sinir: "dinlenen-uc", u: 1, f: 1, ayar: null, ek: 0, acar: ["ag-ucu"] },
  { ad: "cevre-birim-arayuzu", sinir: "aygit-bellek-erisimi", u: Infinity, f: 1,
    ayar: "aygit-adres-yalitimi", ek: 2, acar: ["cekirdek-bellek", "surec-bellegi"] },
  { ad: "bant-disi-yonetim-arayuzu", sinir: "yonetim-agi", u: 2, f: 1,
    ayar: "yonetim-agi-bolutlemesi", ek: 2, acar: HEPSI },
];

export const AYAR = ["imzali-acilis", "disk-sifrelemesi", "aygit-adres-yalitimi",
  "yonetim-agi-bolutlemesi"];

export const kalem = (katmanlar) => katmanlar.reduce((a, k) => a + KATMAN[k], 0);
// Esik: acik ayarlar kumesine gore bir sinirin gecilmesi icin gereken kalem sayisi.
export const esik = (s, yol, acik) => (yol === "u" ? s.u : s.f + (acik.has(s.ayar) ? s.ek : 0));

// En zayif halka: en dusuk esik, o esikteki sinirlar ve esigi <=1 olan sinirlarin birlesimi.
export function zayif(yol, acik = new Set()) {
  const e = SINIR.map((s) => esik(s, yol, acik));
  const min = Math.min(...e);
  const gevsek = SINIR.filter((s, i) => e[i] <= 1);
  const birlesim = new Set(gevsek.flatMap((s) => s.acar));
  return { min, minAd: SINIR.filter((s, i) => e[i] === min).map((s) => s.ad).join(" "),
    gevsek: gevsek.length, acilan: kalem([...birlesim]) };
}
```

```js
// bt/olc.mjs — her bilesenin sinirini, esigini ve sinir dustugunde acilan kalemi sayar.
import { KATMAN, TOPLAM, SINIR, AYAR, kalem, esik, zayif } from "./bilesen.mjs";

const yaz = (g, ...s) => console.log(s.map((v, i) =>
  (g[i] < 0 ? String(v).padEnd(-g[i]) : String(v).padStart(g[i]))).join(""));
const say = (n) => (n === Infinity ? "-" : n);

console.log(`varlik envanteri: ${TOPLAM} kalem / ${Object.keys(KATMAN).length} katman — ` +
  Object.entries(KATMAN).map(([k, v]) => `${k} ${v}`).join(", "));

const A = [-27, -22, 9, 10, 7, 10];
console.log("\n1. bilesen basina sinir (icerde: sinir dustugunde erisilen kalem)");
yaz(A, "bilesen", "sinir", "icerde", "disarida", "uzak", "fiziksel");
for (const s of SINIR) {
  const i = kalem([...new Set(s.acar)]);
  yaz(A, s.ad, s.sinir, i, TOPLAM - i, say(s.u), say(s.f));
}

const B = [-12, -28, 9, 9, 9];
console.log("\n2. en zayif halka (hicbir sertlestirme ayari acik degilken)");
yaz(B, "yol", "en zayif bilesen", "en dusuk", "esik<=1", "acilan");
for (const [ad, yol] of [["uzaktan", "u"], ["fiziksel", "f"]]) {
  const z = zayif(yol);
  yaz(B, ad, z.minAd, z.min, z.gevsek, z.acilan);
}

const C = [-26, 9, 9, 9];
console.log("\n3. ayarlar sirayla acildikca (fiziksel erisim)");
yaz(C, "acik ayar", "en dusuk", "esik<=1", "acilan");
const acik = new Set();
yaz(C, "(hicbiri)", zayif("f").min, zayif("f").gevsek, zayif("f").acilan);
for (const a of AYAR) {
  acik.add(a);
  const z = zayif("f", acik);
  yaz(C, `+ ${a}`, z.min, z.gevsek, z.acilan);
}

const D = [-34, 9];
console.log("\n4. esik dagilimi (tum ayarlar acik, fiziksel erisim)");
const hepsi = new Set(AYAR);
const dag = {};
for (const s of SINIR) dag[esik(s, "f", hepsi)] = (dag[esik(s, "f", hepsi)] || 0) + 1;
yaz(D, "esik (kalem)", "bilesen");
for (const k of Object.keys(dag).sort()) yaz(D, k, dag[k]);
yaz(D, "envanterin tamamini acan bilesen",
  SINIR.filter((s) => kalem([...new Set(s.acar)]) === TOPLAM).length);
```

```
varlik envanteri: 43 kalem / 7 katman — cekirdek-bellek 5, surec-bellegi 9, disk-veri 11, yapilandirma 6, anahtar-malzemesi 3, ag-ucu 4, gunluk 5

1. bilesen basina sinir (icerde: sinir dustugunde erisilen kalem)
bilesen                    sinir                    icerde  disarida   uzak  fiziksel
islemci                    ayricalik-kipi               25        18      2         2
bellek-yonetim-birimi      surec-adres-alani             9        34      2         2
kalici-depolama            dosya-sistemi-izni           22        21      2         0
bellenim                   acilis-zinciri               43         0      3         1
guvenilir-platform-birimi  anahtar-saklama               3        40      3         3
ag-arayuzu                 dinlenen-uc                   4        39      1         1
cevre-birim-arayuzu        aygit-bellek-erisimi         14        29      -         1
bant-disi-yonetim-arayuzu  yonetim-agi                  43         0      2         1

2. en zayif halka (hicbir sertlestirme ayari acik degilken)
yol         en zayif bilesen             en dusuk  esik<=1   acilan
uzaktan     ag-arayuzu                          1        1        4
fiziksel    kalici-depolama                     0        5       43

3. ayarlar sirayla acildikca (fiziksel erisim)
acik ayar                  en dusuk  esik<=1   acilan
(hicbiri)                         0        5       43
+ imzali-acilis                   0        4       43
+ disk-sifrelemesi                1        3       43
+ aygit-adres-yalitimi            1        2       43
+ yonetim-agi-bolutlemesi         1        1        4

4. esik dagilimi (tum ayarlar acik, fiziksel erisim)
esik (kalem)                        bilesen
1                                         1
2                                         3
3                                         4
envanterin tamamini acan bilesen          2
```

Sayılar **ölçüm** sınıfındadır; girdileri DI1–DI6'dır.

## Alttaki Sınır Üsttekini Kurar

Birinci tablonun `icerde` sütunu bileşenleri iki gruba ayırır. **Bellenim** ile **bant dışı yönetim
arayüzü** düştüğünde 43 kalemin tamamı açılır; `disarida` sütunları sıfırdır. Bellek yönetim birimi
düştüğünde 9, güvenilir platform birimi düştüğünde 3 kalem açılır.

Fark, bileşenin önemli olup olmamasından gelmez; **sırasından** gelir. **Bellenim (firmware)**,
makine açıldığında ilk çalışan koddur ve kendisinden sonra çalışacak her katmanı o yükler. Bu
zincire **açılış zinciri (boot chain)** denir: bellenim çekirdek yükleyiciyi, yükleyici işletim
sistemi çekirdeğini, çekirdek de kullanıcı süreçlerini başlatır. Ayrıcalık kipi sınırını uygulayan
kod da, dosya sistemi izinlerine bakan kod da bu zincirin üst halkalarındadır. Zincirin ilk
halkası değiştirilirse üstteki hiçbir sınır kurulmaz — çünkü sınırı kuran şeyin kendisi
değiştirilmiştir.

**İmzalı açılış (secure boot)** tam olarak bu yüzden vardır: her halka, bir sonrakini yüklemeden
önce imzasını doğrular. Modeldeki `imzali-acilis` ayarı bellenimin fiziksel eşiğini 1'den 3'e
çıkarır; imzayı atlatmak için imza denetiminin kapatılması, güvenilen anahtar kümesinin
değiştirilmesi ve değişikliğin kalıcı olması gerekir.

**Güvenilir platform birimi (trusted platform module)** ters yöndedir. Sınırı dardır — yalnız 3
kalem, anahtar malzemesi. Ama eşiği hem uzaktan hem fiziksel erişimde 3'tür, çünkü anahtar
birimden hiç çıkmaz; birim anahtarı kullanır, vermez. **Dar ve derin bir sınır, geniş ve sığ bir
sınırdan farklı bir işe yarar:** birincisi az kalemi neredeyse kesin korur, ikincisi çok kalemi
zayıf korur. İki sayı ayrı yazılmazsa bu fark görünmez.

## Eşik İki İse Ne Değişir

İşlemcinin ayrıcalık kipi sınırı ile bellek yönetim biriminin süreç adres alanı sınırı modelde aynı
eşiği taşır: 2. Sayı, iki ayrı koşulun **aynı anda** yanlış olması gerektiğini söyler. Ayrıcalık
kipi için bunlar çekirdek kodunda geçilebilir bir hatanın bulunması ile o hataya ulaşan bir çağrı
yolunun açık olmasıdır; ikisinden biri yoksa geçiş olmaz. Süreç adres alanı için bunlar bir sürecin
kendi sınırının dışına yazabilmesi ile yazdığı yerin başka bir sürecin haritasında bulunmasıdır.

Eşiğin ikiye çıkması geçişi zorlaştırır — ama yalnız iki kalem **bağımsızsa**. Aynı yapılandırma
kalemi ikisini birden kapatıyorsa, ya da aynı ayrıcalıklı hesap ikisini birden değiştirebiliyorsa,
iki kalem tek kalem gibi davranır ve gerçek eşik 1'dir. Model bu bağımlılığı görmez: `esik` işlevi
kalemleri sayar, aralarındaki bağı sormaz.

**Sınırın yetmediği ilk yer burasıdır.** Eşik tablosu bir üst sınır verir, alt sınır vermez; bir
sınırın "iki kalemlik" olduğu yazıldığında bu, iki kalemin ayrı ayrı yanlış olması gerektiğini
değil, en fazla iki kalemin gerektiğini söyler. Sayı bu yüzden yalnız başına kullanılmaz; yanına
iki soru yazılır. Sayılan kalemler ayrı ayrı mı yönetiliyor? Tek bir yetki ikisini birden
değiştirebiliyor mu? İkinci sorunun yanıtı evet ise sayı bire indirilir ve sınır, sınır sayılmaz.

Aynı sınırlama üçüncü sütun için de geçerlidir. Katman modeli `surec-bellegi` ile
`anahtar-malzemesi` kalemlerini ayrı sayar, ama bir anahtar kullanılırken süreç belleğinde
bulunur; o an bellek yönetim biriminin sınırı düşerse açılan kalem 9 değil, 9 artı o anda bellekte
duran anahtardır. Envanteri katmana bölmek sayımı yapılabilir kılar, **zamanı** ise gizler.

## Fiziksel Erişim Eşiği Sıfıra İndirir

İkinci tablo aynı envanteri iki yoldan okur. Uzaktan en zayıf sınır ağ arayüzüdür: eşik 1, açılan
kalem 4. Fiziksel erişimde en zayıf sınır kalıcı depolamadır ve **eşik 0'dır**.

Sıfırın anlamı kesindir: hiçbir koşulun yanlış olması gerekmez. Şifrelenmemiş bir depolama birimi
sökülüp başka bir makineye takıldığında dosya sistemi izinleri hiç sorulmaz, çünkü izinleri
uygulayan şey diskin kendisi değil, o diski takan işletim sistemidir. İzin bitleri diskte **veri**
olarak durur; onlara uyan bir çekirdek yoksa hiçbir şey uygulanmaz. Disk şifrelemesi bu eşiği 2'ye
çıkarır: hem anahtar hem de anahtarı açan sır gerekir.

Çevre birim arayüzünün `uzak` sütunundaki tire de aynı ayrımın öteki yüzüdür. Aygıtın belleğe
doğrudan erişimi uzaktan kullanılamaz; ama makineye fiziksel olarak bir aygıt takılabiliyorsa eşik
1'dir ve çekirdek belleğiyle süreç belleği, yani 14 kalem açılır. Aygıt adres yalıtımı açıldığında
aygıtın gördüğü adres alanı sınırlanır ve eşik 3'e çıkar.

## En Zayıf Halka Sayılır

Üçüncü tablo bu dersin karar taşıyan sayısını verir. Dört sertleştirme ayarı sırayla açılır ve her
satırda **açılan kalem** okunur: 43, 43, 43, 43, 4.

Üç ayar açıldıktan sonra bile fiziksel erişimde envanterin tamamı açılmaktadır. Nedeni son
sütundadır: `esik<=1` sayısı 5'ten 4, 3, 2'ye iner ama **sıfır olmaz**, ve kalan gevşek sınırlardan
biri her seferinde 43 kalem açan bant dışı yönetim arayüzüdür. İmzalı açılışı ve disk şifrelemesini
açmak o bileşene hiç dokunmaz. Erişilen kalem ancak dördüncü ayar — yönetim ağının bölütlenmesi —
açıldığında 4'e iner.

**Bu, katman eklemenin kendiliğinden yol kapatmadığının sayısal karşılığıdır.** Üç ayar üç ayrı
sınırı güçlendirdi, üçü de gerçek iş yaptı, ama ölçülen sonuç değişmedi; çünkü ölçülen şey
sınırların ortalaması değil, **en zayıfının açtığı kalemdir**. Sertleştirme sırası, en çok kalem
açan gevşek sınırdan başlamalıdır — modeldeki sıra bunun tersiydi ve bedeli üç adım boyunca hiç
kazanç elde edilememesi oldu.

Dördüncü tablo kalan tabloyu verir. Tüm ayarlar açıkken eşik dağılımı 1, 3 ve 4 bileşendir: bir
bileşenin eşiği hâlâ 1'dir. O bileşen ağ arayüzüdür ve açtığı kalem 4'tür — dar bir sınır. Ayrıca
sekiz bileşenden **ikisi** tek başına envanterin tamamını açar; bu iki bileşen, ölçüm ağındaki her
makinede önce sayılması gereken kalemdir.

## Özet

- Bir bileşenin güvenlik değeri üç sayıdır: sınırın adı ve tarafı, sınırı geçmek için aynı anda
  yanlış olması gereken kalem sayısı, sınır düştüğünde erişilen kalem sayısı.
- 43 kalemlik envanterde sekiz bileşenin açtığı kalem 3 ile 43 arasında değişir; bellenim ve bant
  dışı yönetim arayüzü tek başına envanterin tamamını açar, çünkü ikisi de açılış zincirinin ya da
  yönetim yolunun altında durur.
- Uzaktan en düşük eşik 1'dir ve 4 kalem açar; fiziksel erişimde en düşük eşik 0'dır ve 43 kalem
  açar. Şifrelenmemiş depolamada dosya sistemi izni bir sınır değil, diskte duran veridir.
- Dar ve derin sınır (güvenilir platform birimi: 3 kalem, eşik 3) ile geniş ve sığ sınır (kalıcı
  depolama: 22 kalem, eşik 0) aynı tabloda ancak iki sayı ayrı yazılırsa ayırt edilir.
- Eşik sayısı kalemlerin bağımsız olduğunu varsayar. Aynı yetki ya da aynı yapılandırma kalemi
  ikisini birden değiştirebiliyorsa iki kalemlik sınır gerçekte tek kalemliktir; tablo bir üst
  sınır verir, alt sınır vermez.
- Dört ayardan üçü açıldıktan sonra bile açılan kalem 43'te kalır; sayı ancak en çok kalem açan
  gevşek sınır kapatıldığında 4'e iner. Ölçülen şey sınırların ortalaması değil, en zayıfıdır.

## Sonraki Adım

Donanımın çizdiği sınırlar sayıldı ve ikisinin envanterin tamamını açtığı görüldü. Ancak birinci
tablodaki sınırların çoğunu donanım yalnız **mümkün kılar**; hangi isteğin geçeceğine karar veren
kod donanımda değildir. Ayrıcalık kipini işlemci sunar, o kipte hangi sürecin koşacağını işletim
sistemi seçer; dosya sistemi iznini disk saklar, o izne uyacak olan yine işletim sistemidir.

Sonraki ders bu karar katmanına iner ve tek bir soru sorar: aynı donanım üzerinde çalışan farklı
işletim sistemi aileleri, aynı erişim isteğine kaç kalemde farklı yanıt verir.
