---
title: 'İşletim Sistemi Aileleri'
source: 'https://academia.sh/tr/kurslar/bt-temelleri/isletim-sistemi-aileleri'
course: 'Bilgi Teknolojileri ve Sistem Temelleri'
language: tr
updated: '2026-08-17T18:08:39+00:00'
license: 'CC BY-SA 4.0'
---

# İşletim Sistemi Aileleri

İşletim sistemi ailelerinin ürün adıyla değil güvenlik modeliyle ayrılması: 14 sistem isteğinin üç ailede 4, 11 ve 12 kalemde farklı sonuç vermesi, yönetici sınırını geçmenin 1, 2 ve 3 kaleme mal olması, sınır düştüğünde erişilen isteğin 13, 9 ve 5 olması ve yönetici olunsa da erişilemeyen isteğin 1, 1 ve 9'a çıkması.

Önceki ders donanımın çizdiği sınırları saydı ve bir ayrım bıraktı: donanım sınırı yalnız
**mümkün kılar**. İşlemci ayrıcalık kipini sunar, o kipte hangi kodun koşacağına karar vermez;
kalıcı depolama izin bitlerini saklar, onlara uyup uymamak diski takan yazılımın işidir. Kararı
veren katman işletim sistemidir.

Bu katman anıldığında genellikle ürün adları sıralanır. Ürün adı bir karar taşımaz: adlar değişir,
sürümler birbirinin özelliğini alır ve aynı ad altındaki iki kurulum bambaşka davranabilir.
Karar taşıyan şey ailenin **güvenlik modelidir** — aynı isteğe hangi yanıtı verdiği, o yanıtı
değiştirmenin kaç kaleme mal olduğu.

## Üç Aile, Üç Model

Bu derste aileler modelleriyle anılır.

**Ayrık kullanıcı ve grup izni taşıyan aile.** Her nesnenin bir sahibi ve bir grubu vardır;
erişim, sahip–grup–diğerleri sınıflarına verilen bitlerle belirlenir. Ayrıcalık tek bir üstün
kimlikte toplanır: o kimliğe geçen her şeyi yapar.

**Erişim denetim listesi (access control list) taşıyan aile.** Nesne başına, özne başına giriş
tutulur; ayrıca sistem ayrıcalıkları **bölünmüştür** — saati değiştirme, tüm diski okuyan yedek
alma, günlüğe dokunma ayrı ayrı verilebilen kalemlerdir. Yönetici olmak bunların hepsini
kendiliğinden vermez.

**İmzalı uygulama deposuna dayanan aile.** Çalıştırılabilir kod yalnız imzalı bir kaynaktan gelir
ve her uygulama kendi yalıtılmış alanında koşar. Bazı istekler, kullanıcı yönetici olsa da,
modelde **hiçbir yolla** verilmez.

Üç tanımın ortak noktası, hepsinin aynı donanım üzerinde koşabilmesidir. Önceki dersteki sekiz
sınır bu üç ailede de aynı yerdedir; değişen şey, o sınırların üstünde hangi isteğin hangi koşulla
geçtiğidir. Bu yüzden aileler ancak **aynı istek kümesi** üzerinde karşılaştırılabilir: farklı
istek listeleriyle yapılan karşılaştırma, ailelerin değil listelerin farkını ölçer.

## Aynı İstek Kümesi Üç Ailede

Örnek, kurgu **bölgesel ölçüm ağı**ndaki saha ekiplerinin dizüstü bilgisayarıdır. Ekip ve istek
kümesi kurgudur; aşağıdaki matris bir **modeldir**, gerçek bir dağıtım, ürün ya da satıcı yoktur.

**DI7:** istek kümesi 14 kalemdir ve üç ailede aynı biçimde sorulur. **DI8:** sonuç dört değerlidir
— `izin` doğrudan verilir, `onay` yönetici sınırı aşılarak verilir, `ayri` kendi ayrıcalık kalemiyle
tam yönetici olunmadan verilir, `ret` o ailede hiçbir yolla verilmez. **DI9:** yönetici sınırını
geçmek ayrık izin ailesinde 1, erişim denetim listesi ailesinde 2, imzalı depo ailesinde 3 kalem
ister. **DI10:** `ayri` sonuçlu her istek kendi kalemini ayrıca ister. **DI11:** senaryo iki
aşamalıdır — önce standart bir hesap ele geçer, sonra yönetici sınırı düşer.

```js
// bt/aile.mjs — ayni sistem istegi kumesinin uc isletim sistemi ailesindeki sonucu (model):
// gercek bir dagitim, urun ya da satici yok. Rastgelelik yok.

// Aileler guvenlik modeliyle anilir. gec: yonetici sinirini gecmek icin gereken kalem;
// ekKalem: "ayri" sonuclu her istek icin ayrica gereken kalem.
export const AILE = [
  { kod: "ayrik-izin", gec: 1, ekKalem: 0 },     // ayrik kullanici ve grup izni tasiyan aile
  { kod: "erisim-listesi", gec: 2, ekKalem: 1 }, // erisim denetim listesi tasiyan aile
  { kod: "imzali-depo", gec: 3, ekKalem: 1 },    // imzali uygulama deposuna dayanan aile
];

// Sonuc: izin (dogrudan), onay (yonetici sinirinin asilmasiyla), ayri (kendi ayricalik
// kalemiyle, tam yonetici gerekmeden), ret (bu ailede hicbir yolla verilmez).
export const ISTEK = `
  kendi-belgesini-okuma          izin  izin  izin
  baska-kullanici-belgesi        ret   ret   ret
  sistem-dizinine-yazma          onay  onay  ret
  depodan-yazilim-kurma          onay  onay  izin
  imzasiz-yazilim-calistirma     izin  izin  ret
  surucu-yukleme                 onay  onay  ret
  baslangic-ogesi-ekleme         izin  izin  onay
  ayricalikli-uc-acma            onay  onay  ret
  baska-surecin-bellegini-okuma  onay  onay  ret
  sistem-saatini-degistirme      onay  ayri  ret
  gunluk-silme                   onay  ayri  ret
  disk-birimi-takma              onay  ayri  onay
  kamera-ve-mikrofon             izin  izin  onay
  tum-diski-okuyan-yedek         onay  ayri  ret`
  .trim().split("\n").map((r) => {
    const [ad, ...s] = r.trim().split(/\s+/);
    return { ad, s: Object.fromEntries(AILE.map((a, i) => [a.kod, s[i]])) };
  });

export const SONUC = ["izin", "onay", "ayri", "ret"];
export const say = (a, c) => ISTEK.filter((i) => i.s[a.kod] === c).length;

// Iki asamali senaryo: once standart hesap ele gecer, sonra yonetici siniri duser.
export function asama(a) {
  const izin = say(a, "izin");
  const onay = say(a, "onay");
  const ayri = say(a, "ayri");
  return { izin, sinirDuser: izin + onay, hepsi: izin + onay + ayri, gec: a.gec,
    kalem: a.gec + ayri * a.ekKalem, ret: say(a, "ret") };
}
```

```js
// bt/aileolc.mjs — ayni istek kumesi uc ailede kac kalemde ayrisiyor, sinir dusunce ne aciliyor.
import { AILE, ISTEK, SONUC, say, asama } from "./aile.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 K = AILE.map((a) => a.kod);

console.log(`${ISTEK.length} sistem istegi x ${AILE.length} aile; sonuc: ` +
  "izin dogrudan, onay yonetici sinirini asarak, ayri kendi ayricalik kalemiyle, ret hicbir yolla");

const A = [-32, 15, 16, 13];
console.log("\n1. ayni istek kumesi uc ailede");
yaz(A, "istek", ...K);
for (const i of ISTEK) yaz(A, i.ad, ...K.map((k) => i.s[k]));

const B = [-32, 15, 16, 13];
console.log("\n2. aile basina sayim");
yaz(B, "olcu", ...K);
for (const c of SONUC) yaz(B, `${c} sonuclu istek`, ...AILE.map((a) => say(a, c)));
const R = AILE.map(asama);
for (const [ad, f] of [["yonetici sinirini gecmek: kalem", (r) => r.gec],
  ["tumune erismek icin: kalem", (r) => r.kalem],
  ["standart hesapta erisilen istek", (r) => r.izin],
  ["sinir dusunce erisilen istek", (r) => r.sinirDuser],
  ["her kalem alinsa erisilen istek", (r) => r.hepsi],
  ["yonetici olsa da erisilemeyen", (r) => r.ret]]) yaz(B, ad, ...R.map(f));

const C = [-32, 15];
console.log("\n3. ikili karsilastirma (kac istekte sonuc farkli)");
yaz(C, "cift", "farkli istek");
for (let x = 0; x < K.length; x++)
  for (let y = x + 1; y < K.length; y++)
    yaz(C, `${K[x]} - ${K[y]}`,
      ISTEK.filter((i) => i.s[K[x]] !== i.s[K[y]]).length);
yaz(C, "uc ailede de ayni", ISTEK.filter((i) => new Set(K.map((k) => i.s[k])).size === 1).length);
yaz(C, "uc ailede de farkli", ISTEK.filter((i) => new Set(K.map((k) => i.s[k])).size === 3).length);
```

```
14 sistem istegi x 3 aile; sonuc: izin dogrudan, onay yonetici sinirini asarak, ayri kendi ayricalik kalemiyle, ret hicbir yolla

1. ayni istek kumesi uc ailede
istek                                ayrik-izin  erisim-listesi  imzali-depo
kendi-belgesini-okuma                      izin            izin         izin
baska-kullanici-belgesi                     ret             ret          ret
sistem-dizinine-yazma                      onay            onay          ret
depodan-yazilim-kurma                      onay            onay         izin
imzasiz-yazilim-calistirma                 izin            izin          ret
surucu-yukleme                             onay            onay          ret
baslangic-ogesi-ekleme                     izin            izin         onay
ayricalikli-uc-acma                        onay            onay          ret
baska-surecin-bellegini-okuma              onay            onay          ret
sistem-saatini-degistirme                  onay            ayri          ret
gunluk-silme                               onay            ayri          ret
disk-birimi-takma                          onay            ayri         onay
kamera-ve-mikrofon                         izin            izin         onay
tum-diski-okuyan-yedek                     onay            ayri          ret

2. aile basina sayim
olcu                                 ayrik-izin  erisim-listesi  imzali-depo
izin sonuclu istek                            4               4            2
onay sonuclu istek                            9               5            3
ayri sonuclu istek                            0               4            0
ret sonuclu istek                             1               1            9
yonetici sinirini gecmek: kalem               1               2            3
tumune erismek icin: kalem                    1               6            3
standart hesapta erisilen istek               4               4            2
sinir dusunce erisilen istek                 13               9            5
her kalem alinsa erisilen istek              13              13            5
yonetici olsa da erisilemeyen                 1               1            9

3. ikili karsilastirma (kac istekte sonuc farkli)
cift                               farkli istek
ayrik-izin - erisim-listesi                   4
ayrik-izin - imzali-depo                     11
erisim-listesi - imzali-depo                 12
uc ailede de ayni                             2
uc ailede de farkli                           3
```

Sayılar **ölçüm** sınıfındadır; girdileri DI7–DI11'dir.

## Yönetici Sınırı Kaç Kalem

İkinci tablonun beşinci ve altıncı satırları bu dersin ölçüsünü verir. Yönetici sınırını geçmek
ayrık izin ailesinde **1**, erişim denetim listesi ailesinde **2**, imzalı depo ailesinde **3**
kalemdir. Ama alt satır farklıdır: **her isteğe** erişmek için gereken kalem 1, **6** ve 3'tür.

Aradaki fark ayrıcalığın bölünmesinden gelir. Ayrık izin ailesinde üstün kimliğe geçmek bir
kalemdir ve o kalem her şeyi verir; sınırı geçme maliyeti ile tümüne erişme maliyeti aynı sayıdır.
Erişim denetim listesi ailesinde yönetici olmak dört isteği daha vermez; her biri kendi ayrıcalık
kalemini ister ve toplam 6'ya çıkar. **Bölünmüş ayrıcalık, sınırın yüksekliğini değil, sınırdan
sonraki mesafeyi uzatır.**

Bu ayrımı görmek için iki sayının ayrı yazılması gerekir. Tek bir "yönetici olmak zor mu" sorusu
1, 2, 3 dizisini verir ve üç aileyi neredeyse eşit gösterir; ikinci sayı eklendiğinde dizi 1, 6, 3
olur ve sıralama değişir.

## Sınır Düştüğünde Ne Açılır

Üçüncü sütun grubu senaryonun ikinci aşamasını okur. Standart bir hesap ele geçtiğinde doğrudan
erişilen istek üç ailede 4, 4 ve 2'dir — neredeyse aynı. Yönetici sınırı düştüğünde sayılar
ayrışır: **13, 9 ve 5**.

Ayrık izin ailesinde 14 isteğin 13'ü açılır. Tek kalem, envanterin tamamına yakınını verir; bu,
önceki derste bellenim satırında görülen örüntünün yazılım tarafındaki karşılığıdır. Erişim
denetim listesi ailesinde aynı anda açılan istek 9'dur ve kalan 4 istek için dört ayrı kalem daha
gerekir. İmzalı depo ailesinde sınır düşse bile açılan istek 5'te kalır, çünkü kalan 9 istek
modelde hiçbir kalem alınarak açılmaz.

Son satır bunu doğrudan yazar: yönetici olunsa da erişilemeyen istek sayısı **1, 1 ve 9**'dur. Bu,
üç ailenin en keskin farkıdır ve tek bir tasarım kararından çıkar — ayrıcalığın en üst noktasının
her şeyi verip vermemesi.

Senaryonun ikinci aşaması, bir hesabın taşıdığı yetkinin sistemin izin verdiğinden fazlasına
çevrilmesidir; bu adıma **yetki yükseltme (privilege escalation)** denir. Burada ölçülen şey
yükseltmenin nasıl yapıldığı değil, **yapıldığı varsayıldığında açılan istek sayısıdır**; adımın
kendisi bir modeldir ve bu derste hiçbir çalışan örneği yoktur. Bir sistemde yükseltme denemesi,
yazılı yetki ve tanımlı kapsam olmadan yapıldığında hem yasadışı hem de meslek dışıdır.

## Modelin Görmediği Kalem

Tablodaki `ret` değeri modelde mutlaktır: o istek hiçbir kalem alınarak açılmaz. Gerçek bir
kurulumda mutlak değildir. İmzalı depo ailesinde imzalayan anahtarın kendisi, kuruma özel kayıt
profilleri, geliştirme kipi ve depo dışı kurulum izni birer kalemdir; bunlardan biri açıksa
`ret` sonuçlarının bir bölümü `onay`a döner ve son satırdaki 9 düşer.

Bu, modelin kusuru değil sınırıdır ve nasıl kullanılacağını belirler. **Tablo bir aileyi değil, bir
ailenin varsayılan yapılandırmasını ölçer.** Sayıyı bir makineye uygularken önce iki soru sorulur:
`ret` sonuçlarını `onay`a çeviren kaç kalem bu makinede açık, ve o kalemleri kim değiştirebiliyor.
İkinci sorunun yanıtı "yönetici" ise, imzalı depo ailesinin 9'u gerçekte 9 değildir.

Aynı sınırlama ters yönde de işler. Ayrık izin ailesinde 1 olarak yazılan "yönetici olunsa da
erişilemeyen istek" sayısı, zorunlu erişim denetimi katmanı eklenmiş bir kurulumda yükselir; o
katman ayrıcalığı bölmenin başka bir yoludur. **Aile adı bir üst sınır verir, kurulum ise gerçek
sayıyı.** Bu yüzden bir sonraki ders ailenin değil kurulumun kendisini ölçer.

## Aynı Aile, İki Kurulum

Ölçüm ağındaki saha dizüstü bilgisayarlarının hepsi aynı ailedendir, ama ikisi aynı sayıyı
vermez. Birinde standart kullanıcı hesabı, ötekinde günlük iş yönetici hesabıyla yapılıyorsa
senaryonun ilk aşaması ikincisinde doğrudan ikinci aşamadan başlar: ele geçen hesap zaten sınırın
öte yanındadır ve yönetici sınırını geçmek için gereken kalem 1 değil **0**'dır.

Bu, önceki dersteki sıfır eşiğin yazılım tarafındaki karşılığıdır. Sıfır, sınırın zayıf olduğunu
değil, kurulmadığını söyler. Aile seçimi bu durumda hiçbir şey değiştirmez: en sıkı modelde bile
günlük işin yönetici hesabıyla yapılması, tablodaki `onay` sütununu `izin` sütununa taşır ve üç
ailenin arasındaki 4, 11, 12 farkı büyük ölçüde silinir.

## Bedel: Yapılamayan Meşru İş

Aynı satır, ters yönden okunduğunda savunmanın bedelini verir. İmzalı depo ailesinde erişilemeyen
9 isteğin içinde sürücü yükleme, tüm diski okuyan yedek alma ve başka bir sürecin belleğini okuma
vardır. Bu üç iş de meşru bir yönetim işidir: ölçüm ağında bir sayaç okuyucu aygıtın sürücüsü
yüklenmek zorundadır, saha dizüstü bilgisayarının tam yedeği alınmak zorundadır, bir çökme
incelenirken sürecin belleği okunmak zorundadır.

Model bu işleri "yapılamaz" saymaz, **başka yerde yapılır** sayar: sürücü imzalanıp depoya girer,
yedek uygulama başına verilen bir izinle alınır, çökme kaydı işletim sisteminin kendi düzeneğiyle
toplanır. Bedel, işin ortadan kalkması değil, **her birinin ayrı bir onaylı yola bağlanmasıdır** —
ve o yolların sayısı 9'dur. Ayrık izin ailesinde bu bedel 1'dir; buna karşılık sınır düştüğünde
açılan istek 13'tür.

Üçüncü tablo bu ödünleşimin nerede yoğunlaştığını gösterir. İlk iki aile birbirinden yalnız **4**
istekte ayrılır ve bu dördü de ayrıcalığın bölünmesiyle ilgilidir. İmzalı depo ailesi ötekilerden
**11** ve **12** istekte ayrılır. Üç ailede de aynı sonucu veren istek yalnızca **2**'dir: kendi
belgesini okuma ve başka kullanıcının belgesini okuma. Ortak taban, bir kullanıcının kendi
verisiyle başkasının verisi arasındaki ayrımdan ibarettir; onun ötesindeki her şey aileye bağlıdır.

Ödünleşim tek yönlü okunmaz. Ölçüm ağında saha dizüstü bilgisayarı ile şube sunucusu aynı tabloya
farklı yerlerden bakar. Dizüstü bilgisayarda çalıştırılan kod büyük ölçüde dışarıdan gelir ve
kullanıcı sistemin bakımını yapmaz; orada `ret` sayısının yüksek olması bedel değil kazançtır.
Şube sunucusunda ise sürücü yükleme, tam yedek ve bellek incelemesi işin kendisidir; aynı 9 sayısı
orada dokuz ayrı istisna yolu demektir ve her istisna yolu kendi başına bir kalemdir. **Aynı sayı
bir makinede kapanan yol, ötekinde yeni açılan yapılandırma kalemidir.** Aile seçimi bu yüzden
makine sınıfı başına yapılır, kurum başına değil.

## Özet

- İşletim sistemi ailesi ürün adıyla değil güvenlik modeliyle ayrılır: aynı isteğe verdiği yanıt ve
  o yanıtı değiştirmenin kaç kaleme mal olduğu.
- 14 istek üç ailede 4, 11 ve 12 kalemde farklı sonuç verir; üçünde de aynı sonucu veren istek
  yalnızca 2'dir.
- Yönetici sınırını geçmek 1, 2 ve 3 kalemdir; her isteğe erişmek 1, 6 ve 3 kalemdir. Bölünmüş
  ayrıcalık sınırın yüksekliğini değil, sınırdan sonraki mesafeyi uzatır.
- Sınır düştüğünde erişilen istek 13, 9 ve 5'tir. Ayrıcalığın en üst noktası her şeyi veriyorsa tek
  kalem 14 isteğin 13'ünü açar.
- Bedel, yönetici olunsa da erişilemeyen istek sayısıdır: 1, 1 ve 9. İmzalı depo ailesinde kapatılan
  dokuz isteğin çoğu meşru yönetim işidir ve her biri ayrı bir onaylı yola bağlanır.
- Tablo bir aileyi değil, ailenin varsayılan yapılandırmasını ölçer. Günlük iş yönetici hesabıyla
  yapılıyorsa yönetici sınırını geçmek için gereken kalem 0'a iner ve aileler arasındaki fark silinir.

## Sonraki Adım

Üç aile de kendi modelini bir kurulumla getirir; tablodaki sonuçlar o kurulumun varsayılan
değerleridir. Ama varsayılan değer bir seçim değildir: kurulumu yapan kişi hiçbir şey seçmediğinde
kalan durumdur.

Sonraki ders bu ana bakar. Temiz bir kurulum bittiğinde kaç kalem açık kalıyor, ilk sertleştirmede
kaçı kapanıyor ve kaçı ancak makine yeniden kurulursa kapatılabiliyor.
