İşletim Sistemleri · Tarihsel Bakış

İşletim Sistemlerinin Öncüleri

İşletim sistemleri onlarca yıllık bir birikimin ürünüdür. Zaman paylaşımı (time sharing), eş zamanlılık (concurrency), bellek yönetimi, etkileşimli kullanım, taşınabilirlik, ağ, sanallaştırma, güvenlik ve açık sistemler üzerine yapılan çalışmalar bugünkü yapıyı biçimlendirdi.

İlk bilgisayarlardan modern işletim sistemlerine
İşletim sistemlerinin ve modern bilgisayar biliminin gelişimini etkileyen kişiler, sistemler ve fikirler.
Kişiler · Sistemler · Mühendislik

İşletim Sistemlerinde Önemli İsimler

İşletim sistemi mimarisine, eş zamanlılığa, bellek yönetimine, dosya sistemlerine, sanallaştırmaya, güvenliğe, ağa ve sistem yazılımına büyük katkı yapan isimler.

JV

John von Neumann

Depolanmış program modeli · 1940'lar

Komutların ve verinin aynı bellekte durduğu depolanmış program (stored-program) modelinin biçimlenmesine katkı yaptı.

Mühendislik açısından önemi

Mimari, bellek, yürütme, ayrıcalıklı denetim ve program yükleme bu modele dayanır.

MimariBellekYürütme
Neden önemli: Mimari, bellek, yürütme, ayrıcalıklı denetim ve program yükleme bu modele dayanır.
1940'lar
JM

John McCarthy

Zaman paylaşımı fikri · 1950'ler–1960'lar

Güçlü bir bilgisayarı birçok kullanıcının zaman paylaşımıyla aynı anda kullanması fikrini savundu. Bu öneriyi 1959'da MIT'de yazdığı bir notla ortaya koydu.

Mühendislik açısından önemi

Zaman paylaşımı; çizelgeleme (scheduling), zamanlayıcı kesmeleri, bağlam değiştirme (context switch) ve çok kullanıcılı koruma ihtiyacını doğurdu.

Zaman paylaşımıÇizelgelemeÇok kullanıcılı
Neden önemli: Zaman paylaşımı; çizelgeleme, zamanlayıcı kesmeleri, bağlam değiştirme ve çok kullanıcılı koruma ihtiyacını doğurdu.
1950'ler–60'lar
FC

Fernando Corbató

CTSS ve Multics · 1960'lar

MIT'de CTSS ve Multics gibi etkili zaman paylaşımlı sistem projelerini yönetti. Bu çalışmalarla 1990'da Turing Ödülü'nü (Turing Award) aldı.

Mühendislik açısından önemi

Multics; koruma halkalarını, hiyerarşik dosya sistemini, dinamik bağlamayı ve çok kullanıcılı kullanımı ileri taşıdı.

CTSSMulticsKoruma
Neden önemli: Multics; koruma halkalarını, hiyerarşik dosya sistemini, dinamik bağlamayı ve çok kullanıcılı kullanımı ileri taşıdı.
1960'lar
ED

Edsger W. Dijkstra

Senkronizasyon ve işletim sistemi tasarımı · 1960'lar

Semaforu (semaphore) tanıttı ve katmanlı THE sistemini tasarladı. Senkronizasyonun ve eş zamanlı programlamanın temellerini attı.

Mühendislik açısından önemi

Kritik bölge (critical section), karşılıklı dışlama (mutual exclusion), kilitlenme (deadlock) ve açlık (starvation) bugün de işletim sistemlerinin temel sorunlarıdır.

SemaforSenkronizasyonKilitlenme
Neden önemli: Kritik bölge, karşılıklı dışlama, kilitlenme ve açlık bugün de işletim sistemlerinin temel sorunlarıdır.
1960'lar
PD

Peter J. Denning

Sanal bellek ve çalışma kümesi · 1960'lar

Yerelliği (locality) ve sanal bellek başarımını açıklamak için çalışma kümesi (working set) modelini geliştirdi.

Mühendislik açısından önemi

Bu model sayfa hatalarını (page fault), bellek baskısını ve boşa çabalamayı (thrashing) açıklar.

Sanal bellekÇalışma kümesiBoşa çabalama
Neden önemli: Bu model sayfa hatalarını, bellek baskısını ve boşa çabalamayı açıklar.
1960'lar
KT

Ken Thompson

UNIX · Bell Labs · 1969'dan itibaren

UNIX'i Dennis Ritchie ile birlikte geliştirdi. Basit ve birbirine eklenebilen araçlara dayanan yalın bir tasarım anlayışı kurdu.

Mühendislik açısından önemi

UNIX; süreç (process), dosya tanımlayıcısı (file descriptor), boru (pipe), kabuk (shell) ve hiyerarşik dosya sistemi kavramlarını biçimlendirdi.

UNIXSüreçlerDosya sistemleri
Neden önemli: UNIX; süreç, dosya tanımlayıcısı, boru, kabuk ve hiyerarşik dosya sistemi kavramlarını biçimlendirdi.
1969+
DR

Dennis Ritchie

C ve UNIX · Bell Labs · 1970'ler

C dilini yarattı ve UNIX'i birlikte geliştirdi. Böylece taşınabilir sistem yazılımı mümkün oldu.

Mühendislik açısından önemi

UNIX'in 1973'te büyük ölçüde C ile yeniden yazılması, bir işletim sisteminin farklı donanımlara taşınabileceğini gösterdi.

CUNIXTaşınabilirlik
Neden önemli: UNIX'in 1973'te büyük ölçüde C ile yeniden yazılması, bir işletim sisteminin farklı donanımlara taşınabileceğini gösterdi.
1970'ler
PB

Per Brinch Hansen

Eş zamanlı programlama · 1970'ler

Eş zamanlı programlama ve işletim sistemi yapısı için etkili soyutlamalar geliştirdi. RC 4000 çekirdeği ve Concurrent Pascal dili bu çalışmaların ürünüdür.

Mühendislik açısından önemi

Monitöre (monitor) dayalı senkronizasyon, paylaşılan veriye erişimi daha düzenli hâle getirdi.

MonitörlerEş zamanlılıkSistem yapısı
Neden önemli: Monitöre dayalı senkronizasyon, paylaşılan veriye erişimi daha düzenli hâle getirdi.
1970'ler
CH

C. A. R. Hoare

Monitörler ve CSP · 1970'ler

Eş zamanlılık çalışmalarına monitörleri ve Communicating Sequential Processes (CSP, iletişen ardışık süreçler) modelini kazandırdı.

Mühendislik açısından önemi

Bu çalışmalar senkronizasyon, kanallar ve ileti geçirme (message passing) için açık modeller sunar.

CSPMonitörlerIPC
Neden önemli: Bu çalışmalar senkronizasyon, kanallar ve ileti geçirme için açık modeller sunar.
1970'ler
BL

Butler Lampson

Sistem tasarımı · Xerox PARC · 1970'ler

Alto gibi etkili kişisel bilgisayar projelerine ve dağıtık sistem çalışmalarına katkı yaptı.

Mühendislik açısından önemi

Sistem çalışmaları koruma, adlandırma, ağ ve güvenilir arayüz tasarımını bir araya getirir.

KorumaDağıtık sistemlerAlto
Neden önemli: Sistem çalışmaları koruma, adlandırma, ağ ve güvenilir arayüz tasarımını bir araya getirir.
1970'ler+
RS

Richard Stallman

GNU Projesi · 1983'ten itibaren

UNIX uyumlu, özgür bir yazılım sistemi kurmak için GNU Projesi'ni başlattı.

Mühendislik açısından önemi

GNU derleyicileri, kütüphaneleri, kabukları ve araçları UNIX benzeri sistemlerin merkezine yerleşti.

GNUÖzgür yazılımAraç zinciri
Neden önemli: GNU derleyicileri, kütüphaneleri, kabukları ve araçları UNIX benzeri sistemlerin merkezine yerleşti.
1983+
AH

Andy Hertzfeld

Macintosh sistem yazılımı · 1980'ler

İlk Macintosh'un sistem yazılımı ve Macintosh Toolbox üzerinde çalıştı.

Mühendislik açısından önemi

İlk Macintosh yazılımı, masaüstü grafik kullanıcı arayüzünden (GUI) beklentileri ve sıkı bütünleşik sistem hizmetlerini etkiledi.

MacintoshGUISistem yazılımı
Neden önemli: İlk Macintosh yazılımı, masaüstü grafik kullanıcı arayüzünden beklentileri ve sıkı bütünleşik sistem hizmetlerini etkiledi.
1980'ler
AT

Andrew S. Tanenbaum

MINIX ve işletim sistemi eğitimi · 1980'lerden itibaren

MINIX'i geliştirdi ve etkili işletim sistemi ders kitapları yazdı.

Mühendislik açısından önemi

MINIX; mikro çekirdek (microkernel), süreçler arası iletişim (IPC), süreç ve dosya sistemi kavramlarını bütün bir sistem üzerinde incelenebilir kılar.

MINIXMikro çekirdekEğitim
Neden önemli: MINIX; mikro çekirdek, IPC, süreç ve dosya sistemi kavramlarını bütün bir sistem üzerinde incelenebilir kılar.
1987+
DC

David Cutler

VMS ve Windows NT · 1970'ler–1990'lar

DEC'te RSX-11M ve VMS gibi büyük işletim sistemi projelerini, ardından Microsoft'ta Windows NT'yi yönetti.

Mühendislik açısından önemi

Windows NT; korumalı bellek, güvenlik, eş zamansız G/Ç (giriş/çıkış) ve taşınabilirlik için güçlü soyutlamalar kurdu.

VMSWindows NTÇekirdek mimarisi
Neden önemli: Windows NT; korumalı bellek, güvenlik, eş zamansız G/Ç ve taşınabilirlik için güçlü soyutlamalar kurdu.
1970'ler–90'lar
KS

Ken Sakamura

TRON ve gömülü sistemler · 1980'lerden itibaren

Gömülü ve gerçek zamanlı sistemlerde etkili olan TRON projesini 1984'te başlattı.

Mühendislik açısından önemi

ITRON belirlenimci çizelgelemeyi, kesme gecikmesini ve son tarihe göre tasarımı öne çıkarır.

TRONRTOSGömülü
Neden önemli: ITRON belirlenimci çizelgelemeyi, kesme gecikmesini ve son tarihe göre tasarımı öne çıkarır.
1980'ler+
LT

Linus Torvalds

Linux çekirdeği · 1991'den itibaren

Linux çekirdeğini yarattı. Bu çekirdek bugün sunucularda, bulut sistemlerinde, Android'de, gömülü aygıtlarda ve süper bilgisayarlarda çalışır.

Mühendislik açısından önemi

Linux, büyük bir monolitik çekirdeğin (monolithic kernel) içinde modüler alt sistemlerin nasıl kurulabileceğini gösterir.

LinuxÇekirdekAçık geliştirme
Neden önemli: Linux, büyük bir monolitik çekirdeğin içinde modüler alt sistemlerin nasıl kurulabileceğini gösterir.
1991+
JL

J. C. R. Licklider

Etkileşimli bilgisayar vizyonu · 1960'lar

Tek başına çalışan toplu iş makinelerinin ötesinde, etkileşimli ve ağa bağlı bir bilgisayar kullanımını savundu.

Mühendislik açısından önemi

Etkileşimli kullanım; düşük gecikmeyi, zaman paylaşımını ve uzaktan erişimi önemli hâle getirdi.

Etkileşimli kullanımZaman paylaşımıAğ
Neden önemli: Etkileşimli kullanım; düşük gecikmeyi, zaman paylaşımını ve uzaktan erişimi önemli hâle getirdi.
1960'lar
DE

Douglas Engelbart

Etkileşimli sistemler · 1960'lar

NLS projesini yönetti. Etkileşimli kullanımı, hiper metni, ortak çalışma araçlarını ve fareyi 1968'deki ünlü gösterimde tanıttı.

Mühendislik açısından önemi

Bu çalışmalar olay güdümlü G/Ç'ye, ekranlara ve hızlı tepki veren grafik ortamlara olan ihtiyacı artırdı.

EtkileşimGiriş aygıtlarıGUI tarihi
Neden önemli: Bu çalışmalar olay güdümlü G/Ç'ye, ekranlara ve hızlı tepki veren grafik ortamlara olan ihtiyacı artırdı.
1960'lar
DM

Douglas McIlroy

UNIX boruları ve yazılım araçları · 1970'ler

UNIX borularını önerdi. Borular 1973'te UNIX'e eklendi. McIlroy “yazılım araçları” anlayışını da derinden etkiledi.

Mühendislik açısından önemi

Borular, bağımsız programların standart giriş ve çıkış akışları üzerinden birbirine bağlanmasını sağlar.

BorularUNIXYazılım araçları
Neden önemli: Borular, bağımsız programların standart giriş ve çıkış akışları üzerinden birbirine bağlanmasını sağlar.
1970'ler
BK

Brian Kernighan

UNIX araçları ve sistem programlama · 1970'lerden itibaren

UNIX yazılım ortamına katkı yaptı. AWK gibi etkili araçları ve programlama kitaplarını başkalarıyla birlikte yazdı.

Mühendislik açısından önemi

Bu çalışmalar komut satırında araçları birleştirmeyi, betik yazmayı ve taşınabilir sistem programlamayı biçimlendirdi.

UNIXAWKAraçlar
Neden önemli: Bu çalışmalar komut satırında araçları birleştirmeyi, betik yazmayı ve taşınabilir sistem programlamayı biçimlendirdi.
1970'ler+
JL

John Lions

UNIX kaynak koduyla eğitim · 1970'ler

UNIX Version 6 çekirdeğinin kaynak kodunu satır satır açıklayan etkili bir çalışma hazırladı: Lions' Commentary on UNIX 6th Edition.

Mühendislik açısından önemi

Süreç tabloları, tuzaklar (trap), çizelgeleme, i-node'lar ve sistem çağrısı (system call) yolları bu çalışma sayesinde öğrencilere açıldı.

UNIX V6Çekirdeğin iç yapısıEğitim
Neden önemli: Süreç tabloları, tuzaklar, çizelgeleme, i-node'lar ve sistem çağrısı yolları bu çalışma sayesinde öğrencilere açıldı.
1970'ler
BJ

Bill Joy

BSD UNIX · 1970'ler–1980'ler

BSD UNIX'in başlıca geliştiricilerinden biridir. vi düzenleyicisini ve csh kabuğunu yazdı.

Mühendislik açısından önemi

BSD; ağ, iş istasyonları ve sonraki UNIX türevleri üzerinde büyük etki bıraktı.

BSDUNIXAğ
Neden önemli: BSD; ağ, iş istasyonları ve sonraki UNIX türevleri üzerinde büyük etki bıraktı.
1970'ler–80'ler
MM

Marshall Kirk McKusick

BSD ve Fast File System · 1980'lerden itibaren

BSD'nin önde gelen geliştiricilerindendir. Özellikle Fast File System (FFS, hızlı dosya sistemi) ve FreeBSD çalışmalarıyla tanınır.

Mühendislik açısından önemi

FFS, dosya sisteminde yerelliği, blok tahsisini ve disk başarımını iyileştirdi.

FFSBSDDosya sistemleri
Neden önemli: FFS, dosya sisteminde yerelliği, blok tahsisini ve disk başarımını iyileştirdi.
1980'ler+
GP

Gerald J. Popek

Sanallaştırma kuramı · 1970'ler

Bir mimarinin sanal makineleri hangi koşullarda verimli biçimde destekleyebileceğini belirleyen biçimsel ölçütleri 1974'te Robert P. Goldberg ile birlikte ortaya koydu.

Mühendislik açısından önemi

Popek–Goldberg ölçütleri, hipervizörlerin (hypervisor) ve tuzakla öykünmeye (trap-and-emulate) dayalı sanallaştırmanın temeli oldu.

SanallaştırmaHipervizörlerYalıtım
Neden önemli: Popek–Goldberg ölçütleri, hipervizörlerin ve tuzakla öykünmeye dayalı sanallaştırmanın temeli oldu.
1970'ler
RG

Robert P. Goldberg

Sanal makine araştırmaları · 1970'ler

Sanal makine izleyicilerinin (virtual machine monitor, VMM) biçimsel olarak incelenmesinin temellerini attı.

Mühendislik açısından önemi

Bu çalışmalar eşdeğerliği, kaynak denetimini ve verimliliği bir VMM'nin temel özellikleri olarak belirledi.

VMMSanal makinelerKaynak denetimi
Neden önemli: Bu çalışmalar eşdeğerliği, kaynak denetimini ve verimliliği bir VMM'nin temel özellikleri olarak belirledi.
1970'ler
LL

Leslie Lamport

Dağıtık sistemler · 1970'lerden itibaren

Dağıtık sistemlerde olayların sırası, saatler ve doğruluk üzerine akıl yürütmenin temel yöntemlerini geliştirdi.

Mühendislik açısından önemi

Mantıksal saatler ve “önce gelir” (happens-before) ilişkisi, dağıtık eşgüdümün ve çoğaltmanın temelini oluşturur.

Mantıksal saatlerDağıtık sistemlerSıralama
Neden önemli: Mantıksal saatler ve “önce gelir” ilişkisi, dağıtık eşgüdümün ve çoğaltmanın temelini oluşturur.
1970'ler+
BL

Barbara Liskov

Soyutlama ve dağıtık sistemler · 1970'lerden itibaren

Programlama dillerinde soyutlamaya (abstraction) ve hataya dayanıklı dağıtık sistem tasarımına öncülük etti.

Mühendislik açısından önemi

Bu çalışmalar modüler arayüzleri, atomik işlemleri ve güvenilir hizmet tasarımını güçlendirdi.

SoyutlamaDağıtık sistemlerHata toleransı
Neden önemli: Bu çalışmalar modüler arayüzleri, atomik işlemleri ve güvenilir hizmet tasarımını güçlendirdi.
1970'ler+
TK

Tom Kilburn

Atlas ve sanal bellek · 1950'ler–1960'lar

Manchester'daki bilgisayar projelerini yönetti. Bunlardan Atlas (1962), sanal bellek tarihinde bir dönüm noktasıdır.

Mühendislik açısından önemi

Atlas; sayfalamanın (paging), bellek ile depolama arasında kendiliğinden veri taşımanın ve adres çevirisinin uygulamada işe yaradığını gösterdi.

AtlasSayfalamaSanal bellek
Neden önemli: Atlas; sayfalamanın, bellek ile depolama arasında kendiliğinden veri taşımanın ve adres çevirisinin uygulamada işe yaradığını gösterdi.
1950'ler–60'lar
MW

Maurice Wilkes

EDSAC ve mikroprogramlama · 1940'lar–1950'ler

EDSAC'ı (1949) geliştiren ekibi yönetti. İşlemci denetimi için mikroprogramlamayı 1951'de önerdi.

Mühendislik açısından önemi

Bu çalışmalar donanım–yazılım arayüzünü ve yeniden kullanılabilir sistem yazılımı uygulamalarını biçimlendirdi.

EDSACMikroprogramlamaSistem yazılımı
Neden önemli: Bu çalışmalar donanım–yazılım arayüzünü ve yeniden kullanılabilir sistem yazılımı uygulamalarını biçimlendirdi.
1940'lar–50'ler
DW

David Wheeler

Alt programlar ve ilk sistem yazılımları · 1940'lar–1950'ler

EDSAC üzerinde yeniden kullanılabilir alt programlara ve ilk programlama yöntemlerine önemli katkılar yaptı.

Mühendislik açısından önemi

Alt program çağrıları zamanla çağrı kurallarına, yığınlara (stack), kütüphanelere ve çalışma zamanı desteğine dönüştü.

Alt programlarEDSACSistem yazılımı
Neden önemli: Alt program çağrıları zamanla çağrı kurallarına, yığınlara, kütüphanelere ve çalışma zamanı desteğine dönüştü.
1940'lar–50'ler
NW

Niklaus Wirth

Oberon sistemi · 1980'lerden itibaren

Pascal, Modula-2 ve Oberon gibi etkili programlama dilleri tasarladı. Jürg Gutknecht ile birlikte küçük ve derli toplu Oberon işletim sistemini geliştirdi.

Mühendislik açısından önemi

Oberon; dilin ve işletim sisteminin birlikte tasarlanabileceğini, yalınlığı ve tutarlı bir etkileşimli sistem kurmayı gösterdi.

OberonSistem tasarımıDiller
Neden önemli: Oberon; dilin ve işletim sisteminin birlikte tasarlanabileceğini, yalınlığı ve tutarlı bir etkileşimli sistem kurmayı gösterdi.
1980'ler+
RM

Robert Morris Sr.

UNIX güvenliği · 1970'lerden itibaren

UNIX üzerinde çalıştı. Parola güvenliği ve sistem koruması alanında etkili katkılar yaptı; Ken Thompson ile yazdığı Password Security: A Case History (1979) bunların en bilinenidir.

Mühendislik açısından önemi

Bu çalışmalar kimlik doğrulamayı (authentication), tuzlu (salted) parola özetlemeyi, ayrıcalık ayrımını ve tehdit modellemeyi birbirine bağlar.

GüvenlikUNIXParolalar
Neden önemli: Bu çalışmalar kimlik doğrulamayı, tuzlu parola özetlemeyi, ayrıcalık ayrımını ve tehdit modellemeyi birbirine bağlar.
1970'ler+
AK

Auguste Kerckhoffs

Kerckhoffs ilkesi · 1883

1883'te yayımlanan La cryptographie militaire makalesinde askerî şifreler için altı kural sıraladı. Bunların en bilineni, sistemin düşman eline geçse bile güvenli kalması gerektiğini söyler: güvenlik algoritmanın gizliliğine değil, yalnız anahtarın gizliliğine dayanmalıdır.

Mühendislik açısından önemi

İlke, açık tasarımın ve geniş anahtar uzayının neden önemli olduğunu açıklar; işletim sistemlerinin kullandığı şifreleme ve kimlik doğrulama düzenekleri bu varsayımla tasarlanır.

Kerckhoffs ilkesiŞifrelemeAnahtar
Neden önemli: İlke, açık tasarımın ve geniş anahtar uzayının neden önemli olduğunu açıklar; işletim sistemlerinin kullandığı şifreleme ve kimlik doğrulama düzenekleri bu varsayımla tasarlanır.
1883
FB

Fred Brooks

OS/360 ve The Mythical Man-Month · 1960'lar–1970'ler

IBM'de System/360 donanımının ardından 1964'te gecikmiş OS/360 projesinin yönetimini üstlendi. Deneyimlerini 1975'te yayımlanan The Mythical Man-Month kitabında anlattı; kitaptaki en ünlü gözlem, geciken bir yazılım projesine yeni insan eklemenin projeyi daha da geciktirdiğidir (Brooks yasası). 1999'da Turing Ödülü'nü aldı.

Mühendislik açısından önemi

OS/360, büyük bir işletim sisteminin karmaşıklığını yöneten ilk geniş çaplı denemelerden biriydi; Brooks'un dersleri işletim sistemi tasarımında ekip, arayüz ve kavramsal bütünlük tartışmalarının hâlâ çıkış noktasıdır.

OS/360Yazılım mühendisliğiBrooks yasası
Neden önemli: OS/360, büyük bir işletim sisteminin karmaşıklığını yöneten ilk geniş çaplı denemelerden biriydi; Brooks'un dersleri işletim sistemi tasarımında ekip, arayüz ve kavramsal bütünlük tartışmalarının hâlâ çıkış noktasıdır.
1964–1975
LB

László Bélády

OPT algoritması ve Bélády anomalisi · 1960'lar

IBM Watson Araştırma Merkezi'nde çalıştı. 1966'da IBM Systems Journal'da yayımlanan çalışmasında, gelecekte en geç kullanılacak sayfayı çıkaran algoritmanın (OPT ya da MIN) en az sayfa hatasını verdiğini gösterdi. 1969'da Nelson ve Shedler ile birlikte, FIFO'da çerçeve sayısı artınca sayfa hatası sayısının da artabildiğini buldu; bu durum Bélády anomalisi diye anılır.

Mühendislik açısından önemi

OPT gerçeklenemez, ama öteki yer değiştirme algoritmalarının ölçüldüğü alt sınırdır. Anomali de LRU gibi yığın algoritmalarını FIFO'dan ayıran özelliği gösterir.

Sayfa yer değiştirmeOPTBélády anomalisi
Neden önemli: OPT gerçeklenemez, ama öteki yer değiştirme algoritmalarının ölçüldüğü alt sınırdır. Anomali de LRU gibi yığın algoritmalarını FIFO'dan ayıran özelliği gösterir.
1966–1969
GA

Gene Amdahl

Amdahl yasası · 1967

IBM System/360 mimarisinin baş tasarımcılarındandır. 1967'deki AFIPS konferansında, bir programın paralelleştirilemeyen seri kısmının hızlanmaya kesin bir üst sınır koyduğunu savundu. Bu gözlem sonradan Amdahl yasası adıyla formüle edildi: seri pay s ise, çekirdek sayısı ne kadar artarsa artsın hızlanma 1/s'yi geçemez.

Mühendislik açısından önemi

Yasa, çok çekirdekli işlemcilerde iş parçacığı sayısını artırmanın neden bir noktadan sonra az kazandırdığını açıklar ve kilitlerle seri kesimleri kısaltmanın önemini gösterir.

Amdahl yasasıHızlanmaParalellik
Neden önemli: Yasa, çok çekirdekli işlemcilerde iş parçacığı sayısını artırmanın neden bir noktadan sonra az kazandırdığını açıklar ve kilitlerle seri kesimleri kısaltmanın önemini gösterir.
1967
DK

Donald Knuth

Dinamik bellek ayırma ve %50 kuralı · 1968

1968'de yayımlanan The Art of Computer Programming serisinin ilk cildinde dinamik bellek ayırmayı (ilk uyan, en iyi uyan, buddy (kardeş) sistemi) ayrıntılı biçimde çözümledi. %50 kuralı bu çözümlemeden çıkar: ilk uyanla çalışan bir sistemde N tahsisli blok varken ortalamada yaklaşık 0,5 N boş delik bulunur, yani belleğin yaklaşık üçte biri parçalanma yüzünden kullanılamaz hâle gelebilir.

Mühendislik açısından önemi

Kural, dış parçalanmanın ne kadar büyük olabileceğini tek bir sayıyla özetler ve sayfalama gibi parçalanmayı ortadan kaldıran yöntemlere neden ihtiyaç duyulduğunu açıklar.

Dış parçalanmaİlk uyan%50 kuralı
Neden önemli: Kural, dış parçalanmanın ne kadar büyük olabileceğini tek bir sayıyla özetler ve sayfalama gibi parçalanmayı ortadan kaldıran yöntemlere neden ihtiyaç duyulduğunu açıklar.
1968
EC

Edward G. Coffman Jr.

Kilitlenmenin dört koşulu · 1971

M. J. Elphick ve A. Shoshani ile 1971'de ACM Computing Surveys'de yayımladığı “System Deadlocks” makalesinde kilitlenmenin dört gerekli koşulunu sıraladı: karşılıklı dışlama, tut ve bekle, kesilemezlik ve döngüsel bekleme. Bu koşullar onun adıyla Coffman koşulları diye anılır. Makale, her türden birden çok örneği olan kaynaklar için bir kilitlenme tespit algoritması da verir.

Mühendislik açısından önemi

Kilitlenmeyi önleme yöntemlerinin hepsi bu dört koşuldan birini bozmaya dayanır; tespit algoritması da bugün ders kitaplarında anlatılan biçimin temelidir.

KilitlenmeCoffman koşullarıTespit
Neden önemli: Kilitlenmeyi önleme yöntemlerinin hepsi bu dört koşuldan birini bozmaya dayanır; tespit algoritması da bugün ders kitaplarında anlatılan biçimin temelidir.
1971
RH

Richard C. Holt

Kaynak tahsis çizgesi · 1971–1972

“Some Deadlock Properties of Computer Systems” çalışmasını 1971'de SOSP'ta sundu, genişletilmiş biçimini 1972'de ACM Computing Surveys'de yayımladı. Süreçleri ve kaynakları iki tür düğüm, istekleri ve atamaları da kenar olarak gösteren çizge modeli bugün kaynak tahsis çizgesi adıyla bilinir.

Mühendislik açısından önemi

Çizge, kilitlenmenin nasıl oluştuğunu görünür kılar ve tespit algoritmalarının üzerinde çalıştığı veri yapısıdır: her kaynaktan tek örnek varsa çizgedeki döngü kilitlenme demektir.

Kaynak tahsis çizgesiKilitlenmeÇizge modeli
Neden önemli: Çizge, kilitlenmenin nasıl oluştuğunu görünür kılar ve tespit algoritmalarının üzerinde çalıştığı veri yapısıdır: her kaynaktan tek örnek varsa çizgedeki döngü kilitlenme demektir.
1972
LL

C. L. Liu ve James W. Layland

Hız monoton çizelgeleme ve EDF · 1973

MIT Project MAC'ten Liu ile Jet Propulsion Laboratory'den Layland, 1973'te Journal of the ACM'de yayımladıkları makalede periyodik görevlerin katı gerçek zamanlı çizelgelenmesini incelediler. Hız monoton (RM) önceliklerin sabit öncelikli yöntemler arasında en iyisi olduğunu kanıtladılar ve n görev için n(21/n − 1) kullanım sınırını verdiler. Aynı makale, toplam kullanımı 1'i aşmayan her görev kümesinin en erken son tarih önce (EDF) ile çizelgelenebildiğini gösterir.

Mühendislik açısından önemi

Liu–Layland testi, bir görev kümesinin son tarihlerini kaçırmadan çalışıp çalışamayacağını çizelgeyi kurmadan söyler; gerçek zamanlı işletim sistemlerindeki öncelik atamalarının kuramsal dayanağıdır.

Gerçek zamanlı çizelgelemeRMEDF
Neden önemli: Liu–Layland testi, bir görev kümesinin son tarihlerini kaçırmadan çalışıp çalışamayacağını çizelgeyi kurmadan söyler; gerçek zamanlı işletim sistemlerindeki öncelik atamalarının kuramsal dayanağıdır.
1973
BL

David E. Bell ve Leonard J. LaPadula

Bell-LaPadula modeli · 1973

MITRE Corporation'da 1973'te çok düzeyli güvenlik için biçimsel bir model geliştirdiler. Modelin iki temel kuralı vardır: basit güvenlik özelliğine göre bir süreç kendi düzeyinin üstündeki nesneleri okuyamaz (yukarı okuma yok); * özelliğine göre de kendi düzeyinin altındaki nesnelere yazamaz (aşağı yazma yok).

Mühendislik açısından önemi

Model, bilginin yüksek gizlilik düzeyinden alçak düzeye sızmasını kurallarla engeller; zorunlu erişim denetiminin (MAC) ve askerî sınıflandırma düzenlerinin bilgisayardaki karşılığıdır.

Çok düzeyli güvenlikGizlilikZorunlu erişim denetimi
Neden önemli: Model, bilginin yüksek gizlilik düzeyinden alçak düzeye sızmasını kurallarla engeller; zorunlu erişim denetiminin (MAC) ve askerî sınıflandırma düzenlerinin bilgisayardaki karşılığıdır.
1973
SS

Jerome Saltzer ve Michael Schroeder

Koruma ve güvenli tasarım ilkeleri · 1975

1975'te Proceedings of the IEEE'de yayımladıkları “The Protection of Information in Computer Systems” makalesinde güvenli sistem tasarımı için sekiz ilke sıraladılar. Düzeneğin sade tutulması, varsayılanın reddetmek olması, her erişimin denetlenmesi, açık tasarım, ayrıcalık ayrımı ve en az ayrıcalık bu ilkeler arasındadır. Saltzer, Multics projesinde de çalışmıştı.

Mühendislik açısından önemi

İlkeler, erişim denetimi, setuid programlar ve ayrıcalık ayrımı gibi işletim sistemi düzeneklerini değerlendirmek için bugün de kullanılan ortak bir ölçüt sunar.

KorumaEn az ayrıcalıkTasarım ilkeleri
Neden önemli: İlkeler, erişim denetimi, setuid programlar ve ayrıcalık ayrımı gibi işletim sistemi düzeneklerini değerlendirmek için bugün de kullanılan ortak bir ölçüt sunar.
1975
DH

Whitfield Diffie ve Martin Hellman

Açık anahtarlı şifreleme · 1976

1976'da IEEE Transactions on Information Theory'de yayımladıkları “New Directions in Cryptography” makalesinde açık anahtarlı şifreleme fikrini ve adlarıyla anılan anahtar değişimini ortaya koydular. İki taraf, güvensiz bir kanal üzerinden yalnız açık değerler göndererek ortak bir gizli anahtar üretebilir. 2015 Turing Ödülü'nü birlikte aldılar.

Mühendislik açısından önemi

Önceden paylaşılmış bir anahtar gerektirmeyen bu değişim, TLS el sıkışmasının ve dijital imzaların temelidir; işletim sistemlerinin ağ üzerinden kimlik doğrulama ve güvenli iletişim hizmetleri buna dayanır.

Açık anahtarAnahtar değişimiTLS
Neden önemli: Önceden paylaşılmış bir anahtar gerektirmeyen bu değişim, TLS el sıkışmasının ve dijital imzaların temelidir; işletim sistemlerinin ağ üzerinden kimlik doğrulama ve güvenli iletişim hizmetleri buna dayanır.
1976
KB

Kenneth J. Biba

Biba bütünlük modeli · 1977

MITRE Corporation'daki “Integrity Considerations for Secure Computer Systems” raporunda (1977) bütünlüğü korumak için Bell-LaPadula modelinin tersi kurallara dayanan bir model tanımladı. Bir süreç kendinden düşük bütünlük düzeyindeki nesneleri okuyamaz (aşağı okuma yok) ve kendinden yüksek düzeydeki nesnelere yazamaz (yukarı yazma yok).

Mühendislik açısından önemi

Model, güvenilmeyen verinin güvenilir bileşenleri bozmasını engeller; Windows'taki bütünlük düzeyleri gibi zorunlu bütünlük denetimleri bu fikrin uygulamalarıdır.

BütünlükÇok düzeyli güvenlikZorunlu erişim denetimi
Neden önemli: Model, güvenilmeyen verinin güvenilir bileşenleri bozmasını engeller; Windows'taki bütünlük düzeyleri gibi zorunlu bütünlük denetimleri bu fikrin uygulamalarıdır.
1977
GP

Gary L. Peterson

Peterson algoritması · 1981

1981'de Information Processing Letters'ta yayımlanan “Myths About the Mutual Exclusion Problem” makalesinde, iki süreç için yalnız okuma ve yazma işlemleriyle doğru çalışan kısa bir karşılıklı dışlama çözümü verdi. Algoritma, her sürecin “girmek istiyorum” bayrağını sıranın kimde olduğunu tutan tek bir değişkenle birleştirir.

Mühendislik açısından önemi

Algoritma, kritik bölge probleminin üç koşulunu (karşılıklı dışlama, ilerleme, sınırlı bekleme) sağlayan çözümün klasik örneğidir; modern işlemcilerde bellek bariyeri olmadan neden bozulduğu da bellek sıralamasının önemini gösterir.

Kritik bölgeKarşılıklı dışlamaBellek sıralaması
Neden önemli: Algoritma, kritik bölge probleminin üç koşulunu (karşılıklı dışlama, ilerleme, sınırlı bekleme) sağlayan çözümün klasik örneğidir; modern işlemcilerde bellek bariyeri olmadan neden bozulduğu da bellek sıralamasının önemini gösterir.
1981
CH

Richard W. Carr ve John L. Hennessy

WSClock · 1981

Stanford Üniversitesi'nde geliştirdikleri WSClock algoritmasını 1981'de SOSP'ta sundular. Algoritma, çalışma kümesi fikrini saat algoritmasının dairesel çerçeve listesiyle birleştirir: el çerçeveler üzerinde sırayla gezinir ve tüm tabloyu taramadan ilk uygun kurbanda durur.

Mühendislik açısından önemi

WSClock, çalışma kümesi modelinin pratikte uygulanabilir bir biçimidir; sayfa yer değiştirmede yerellik bilgisini düşük maliyetle kullanır.

WSClockÇalışma kümesiSayfa yer değiştirme
Neden önemli: WSClock, çalışma kümesi modelinin pratikte uygulanabilir bir biçimidir; sayfa yer değiştirmede yerellik bilgisini düşük maliyetle kullanır.
1981
BN

Andrew D. Birrell ve Bruce J. Nelson

Uzak prosedür çağrısı (RPC) · 1984

Xerox PARC'ta Cedar ortamı için geliştirdikleri RPC paketini 1984'te ACM Transactions on Computer Systems'te yayımlanan “Implementing Remote Procedure Calls” makalesinde anlattılar. Başka bir makinedeki bir prosedür, otomatik üretilen istemci ve sunucu koçanları sayesinde sıradan bir yerel çağrı sözdizimiyle çağrılabilir.

Mühendislik açısından önemi

RPC, ileti geçirmenin ayrıntılarını programcıdan gizleyen temel dağıtık sistem soyutlamasıdır; NFS gibi dağıtık dosya sistemleri ve bugünkü gRPC benzeri çerçeveler bu modele dayanır.

RPCKoçanlarDağıtık sistemler
Neden önemli: RPC, ileti geçirmenin ayrıntılarını programcıdan gizleyen temel dağıtık sistem soyutlamasıdır; NFS gibi dağıtık dosya sistemleri ve bugünkü gRPC benzeri çerçeveler bu modele dayanır.
1984
JG

John Gustafson

Gustafson yasası · 1988

Sandia Ulusal Laboratuvarları'nda 1024 işlemcili bir sistem üzerindeki çalışmalarına dayanarak 1988'de Communications of the ACM'de “Reevaluating Amdahl's Law” notunu yayımladı. Çekirdek sayısı artınca genellikle problemin de büyüdüğünü, bu durumda ölçeklenmiş hızlanmanın çekirdek sayısıyla neredeyse doğrusal arttığını gösterdi.

Mühendislik açısından önemi

Amdahl “bu iş ne kadar hızlı biter?”, Gustafson ise “aynı sürede ne kadar büyük bir iş yapılabilir?” sorusunu cevaplar; ikisi birlikte paralel sistemlerin ölçeklenmesini değerlendirmenin iki yüzüdür.

Ölçeklenmiş hızlanmaParalellikÖlçeklenebilirlik
Neden önemli: Amdahl “bu iş ne kadar hızlı biter?”, Gustafson ise “aynı sürede ne kadar büyük bir iş yapılabilir?” sorusunu cevaplar; ikisi birlikte paralel sistemlerin ölçeklenmesini değerlendirmenin iki yüzüdür.
1988
PG

David Patterson, Garth Gibson ve Randy Katz

RAID · 1988

UC Berkeley'de 1988'de SIGMOD'da sundukları “A Case for Redundant Arrays of Inexpensive Disks (RAID)” makalesinde, pahalı tek büyük disk yerine ucuz küçük disklerden oluşan ve fazlalıkla korunan diziler kurmayı önerdiler. Makale beş RAID düzeyi tanımlayıp maliyet ve başarımlarını karşılaştırdı. Kısaltmadaki “I” sonradan independent olarak yeniden tanımlandı.

Mühendislik açısından önemi

Şeritleme, aynalama ve eşlik bilgisi bugün işletim sistemlerinin yazılım RAID katmanlarında ve depolama denetleyicilerinde kullanılan temel güvenilirlik ve başarım yöntemleridir.

RAIDFazlalıkDepolama
Neden önemli: Şeritleme, aynalama ve eşlik bilgisi bugün işletim sistemlerinin yazılım RAID katmanlarında ve depolama denetleyicilerinde kullanılan temel güvenilirlik ve başarım yöntemleridir.
1988
RO

Mendel Rosenblum ve John Ousterhout

Günlük yapılı dosya sistemi (LFS) · 1991

Sprite işletim sistemi için geliştirdikleri günlük yapılı dosya sistemini (LFS) 1991'de SOSP'ta sundular. Tasarım, okumaların çoğunun önbellekten karşılanacağını ve diske giden trafiğin ağırlıkla yazma olacağını varsayar; bu yüzden bütün değişiklikler diske tek bir uzun sıralı günlük olarak yazılır. Günlük kesimlere bölünür ve bir temizleyici dağınık kesimlerdeki canlı veriyi sıkıştırarak boş alan açar.

Mühendislik açısından önemi

LFS, yazmaları sıralı hâle getirerek küçük dosya yükünde büyük başarım kazancı sağladı ve çökme sonrası kurtarmayı hızlandırdı; fikirleri günlüklemeli ve yazınca kopyalayan dosya sistemlerinde, SSD'lerin çeviri katmanlarında yaşamaya devam eder.

LFSGünlük yapılıÇökme kurtarma
Neden önemli: LFS, yazmaları sıralı hâle getirerek küçük dosya yükünde büyük başarım kazancı sağladı ve çökme sonrası kurtarmayı hızlandırdı; fikirleri günlüklemeli ve yazınca kopyalayan dosya sistemlerinde, SSD'lerin çeviri katmanlarında yaşamaya devam eder.
1991
MS

John Mellor-Crummey ve Michael L. Scott

MCS kuyruk kilidi · 1991

1991'de ACM Transactions on Computer Systems'te yayımlanan makalelerinde, adlarının baş harfleriyle anılan MCS kuyruk kilidini önerdiler. Bekleyenler bir bağlı liste oluşturur; her bekleyen ayrı bir önbellek satırındaki kendi bayrağında döner ve kilidi bırakmak tek bir uzak yazmayla olur. Bu çalışma 2006 Dijkstra Ödülü'nü aldı.

Mühendislik açısından önemi

Tek bir paylaşılan değişkende dönen kilitler çekirdek sayısı arttıkça önbellek tutarlılık trafiğinde boğulur; MCS bu sorunu çözen ölçeklenebilir senkronizasyonun temel örneğidir ve Linux'un qspinlock'u bu fikre dayanır.

SpinlockÖlçeklenebilir senkronizasyonÖnbellek tutarlılığı
Neden önemli: Tek bir paylaşılan değişkende dönen kilitler çekirdek sayısı arttıkça önbellek tutarlılık trafiğinde boğulur; MCS bu sorunu çözen ölçeklenebilir senkronizasyonun temel örneğidir ve Linux'un qspinlock'u bu fikre dayanır.
1991
WW

Carl Waldspurger ve William Weihl

Piyango ve stride çizelgeleme · 1994–1995

MIT'de 1994'te OSDI'da sundukları piyango çizelgelemede (lottery scheduling) her sürece bilet verilir ve her dilimde rastgele çekilen biletin sahibi çalışır; daha çok bilet, işlemcide daha büyük pay demektir. Waldspurger 1995'te aynı payları rastgelelik olmadan sağlayan stride çizelgelemeyi önerdi.

Mühendislik açısından önemi

Bu yöntemler orantılı pay (proportional share) fikrini basit ve anlaşılır biçimde gerçekledi; Linux'un CFS ve EEVDF çizelgeleyicilerindeki ağırlıklı adil paylaşım aynı soyağacından gelir.

Orantılı payPiyango çizelgelemeStride çizelgeleme
Neden önemli: Bu yöntemler orantılı pay (proportional share) fikrini basit ve anlaşılır biçimde gerçekledi; Linux'un CFS ve EEVDF çizelgeleyicilerindeki ağırlıklı adil paylaşım aynı soyağacından gelir.
1994–1995
JB

Jeff Bonwick

Slab ayırıcı · 1994

Sun Microsystems'te SunOS 5.4 (Solaris) çekirdeği için tasarladığı slab ayırıcıyı 1994'te USENIX Summer konferansında yayımladı. Ayırıcı, sık kullanılan çekirdek nesnelerini önceden hazırlanmış önbelleklerde tutar; nesneler tam boyutludur ve sayfa içinde yan yana paketlenir.

Mühendislik açısından önemi

Slab ayırıcı, çekirdek nesneleri için iç parçalanmayı ve ilk değer verme maliyetini azaltır; Linux'un SLAB ve SLUB ayırıcıları bu tasarımdan türemiştir.

Slab ayırıcıNesne önbelleğiÇekirdek belleği
Neden önemli: Slab ayırıcı, çekirdek nesneleri için iç parçalanmayı ve ilk değer verme maliyetini azaltır; Linux'un SLAB ve SLUB ayırıcıları bu tasarımdan türemiştir.
1994
EK

Dawson Engler ve Frans Kaashoek

Exokernel · 1995

MIT'de James O'Toole ile birlikte 1995'te SOSP'ta sundukları exokernel mimarisinde çekirdek yalnız donanım kaynaklarını korumalı biçimde dağıtır ve sahipliği izler. Sanal bellek ve dosya gibi soyutlamaları kullanıcı modunda çalışan kütüphane işletim sistemleri sağlar. Prototipte çekirdeğin adı Aegis, kütüphane işletim sisteminin adı ExOS'tur.

Mühendislik açısından önemi

“Yönetimi korumadan ayırmak” sloganı, çekirdekte ne kadar işlev bulunması gerektiği tartışmasının uç noktasıdır; fikir bugün unikernel'lerde ve DPDK, SPDK gibi çekirdeği atlayan G/Ç kütüphanelerinde yaşar.

ExokernelKütüphane işletim sistemiÇekirdek mimarisi
Neden önemli: “Yönetimi korumadan ayırmak” sloganı, çekirdekte ne kadar işlev bulunması gerektiği tartışmasının uç noktasıdır; fikir bugün unikernel'lerde ve DPDK, SPDK gibi çekirdeği atlayan G/Ç kütüphanelerinde yaşar.
1995
SA

Ion Stoica ve Hussein Abdel-Wahab

EEVDF · 1995

1995'te önerdikleri “Earliest Eligible Virtual Deadline First” (EEVDF) algoritması orantılı pay çizelgelemeyi iki net ölçüte dayandırır: bir görev ancak payının gerisinde kaldığında uygundur ve uygun görevler arasından sanal son tarihi en erken olan seçilir. Algoritmayı Linux çekirdeğine Peter Zijlstra uyarladı; EEVDF, 6.6 sürümünden itibaren CFS'in yerini aldı.

Mühendislik açısından önemi

EEVDF, adaleti korurken gecikmeye duyarlı görevlere daha kısa dilimler verebilir; bugün Linux'ta sıradan görevlerin varsayılan çizelgeleyicisidir.

EEVDFOrantılı payLinux çizelgeleyicisi
Neden önemli: EEVDF, adaleti korurken gecikmeye duyarlı görevlere daha kısa dilimler verebilir; bugün Linux'ta sıradan görevlerin varsayılan çizelgeleyicisidir.
1995
IM

Ingo Molnár

O(1) çizelgeleyici ve CFS · 2000'ler

Linux çekirdeğine 2.6.0 sürümüyle gelen O(1) çizelgeleyiciyi yazdı. 2007'de 2.6.23 sürümüyle O(1)'in yerini alan tamamen adil çizelgeleyiciyi (Completely Fair Scheduler, CFS) geliştirdi. CFS ideal bir çok görevli işlemciye öykünür: her görevin sanal çalışma süresini (vruntime) tutar ve kırmızı-siyah ağaçta en geride kalan görevi çalıştırır.

Mühendislik açısından önemi

CFS, Linux'ta on beş yılı aşkın süre sıradan görevlerin varsayılan çizelgeleyicisi oldu ve ağırlıklı adil paylaşımı geniş ölçekte uygulanabilir kıldı.

CFSvruntimeLinux çizelgeleyicisi
Neden önemli: CFS, Linux'ta on beş yılı aşkın süre sıradan görevlerin varsayılan çizelgeleyicisi oldu ve ağırlıklı adil paylaşımı geniş ölçekte uygulanabilir kıldı.
2002–2007
Aramaya ya da süzgece uyan profil yok.