- Manuel ikili programlamadan gelişmiş grafiksel kullanıcı arayüzlerinin oluşturulmasına geçiş.
- Çoklu programlama, zaman paylaşımlı sistemler ve dağıtık sistemler gibi temel kavramların geliştirilmesi.
- UNIX gibi temel mimarilerin ortaya çıkışı ve GNU/Linux gibi açık kaynaklı ortamlara doğru çeşitlenme.
Günümüzde kullandığımız cihazların nasıl çalıştığını anlamak için, donanım yönetiminin nasıl başladığına bakmak şarttır. O zamanlar ara yazılım diye bir şey yoktu; programcılar, bilgisayar teknolojisinin henüz emekleme aşamasında olduğu bir dönemde, saatlerce doğrudan makine diliyle etkileşim kuruyor , anahtarları hareket ettiriyor ve sıfırlar ve birlerle boğuşuyorlardı.
Zamanla, makinelerin karmaşıklığı o kadar arttı ki, onları elle yönetmek imkansız hale geldi. Bu durum, kaynakları organize edecek bir katmana duyulan ihtiyacı doğurdu ve bu da, mütevazı başlangıçlarından itibaren insan ve makine arasındaki ilişkiyi dönüştürerek çok daha sorunsuz ve basit hale getiren işletim sistemlerinin geliştirilmesine yol açtı.
Başlangıçlar ve çok sayıda ürün dönemi
1940'ların başlarında, sıfır neslinde bulunuyoruz. İşletim sistemi yoktu; erişim, programın belleğe yüklenmesini sağlayan mikro anahtarlar aracılığıyla doğrudan konsola sağlanıyordu. 50'lere kadar yerleşik monitör ve geçici depolama kavramlarının ilk ortaya çıkışı gerçekleşmedi ve bu da etkileşimi daha az ilkel hale getirdi.
Asıl amaç, bekleme süresini optimize etmekti. İlk resmi işletim sistemi 1956'da IBM 704 için ortaya çıktı ve temel işlevi, önceki program biter bitmez bir sonraki programı başlatmaktı . Bunu hızlandırmak için, veri yükleme ve yürütmenin eş zamanlı olarak gerçekleşmesine olanak tanıyan tamponlama ve spooling gibi teknikler uygulandı.
O zamanlar süreç oldukça zahmetliydi. Programcılar kodu Fortran veya assembly dili kullanarak kağıda yazar, delikli kartlara aktarır ve operatöre teslim ederdi. Operatör iş gruplarını yönetir, sonunda programcı çıktı odasında basılı sonuçları toplardı.

Çoklu programlama ve zaman paylaşımının devrimi
60'lara gelindiğinde, entegre devrelerin ortaya çıkmasıyla bilgisayar teknolojisi büyük bir ilerleme kaydetmişti. Çoklu programlamanın ortaya çıkmasıyla işler burada ilginç bir hal alıyor . Tek bir programın CPU'yu meşgul edip giriş veya çıkış işlemi beklerken boşta bırakması yerine, işletim sistemi başka bir görevi yürütmeye geçiyor ve böylece işletim sistemlerindeki süreç yönetimi, kaynak tahsisini optimize etmek için kullanılıyor.
Etkileşimi artırmak için, zaman paylaşımı kullanan çok kullanıcılı bir model benimsenmiştir . Basit çoklu programlamanın aksine, burada sistem kısa bir süre sonra uygulamayı duraklatarak başka bir kullanıcının çalışmasına olanak tanır ve böylece birkaç kişinin çevrimiçi terminaller aracılığıyla bilgisayarda aynı anda çalışması sağlanır.
Bu dönemde, dış olayları çok sıkı zaman dilimleri içinde işlemek üzere tasarlanmış gerçek zamanlı sistemler de ortaya çıktı. Sistem beklenen zaman dilimi içinde yanıt vermezse, bu kritik bir arıza olarak kabul ediliyordu; bu, özellikle telekomünikasyon ve endüstriyel kontrol sektörlerinde gerçek zamanlı elektronik sistemlerin prensiplerine dayanan hayati bir kavramdı.
Büyük sistemler çağı ve UNIX'in doğuşu
60'ların ortaları ile 70'ler arasında IBM, gerçek anlamda devasa olan genel amaçlı makineler tasarlayarak System/360 ailesini piyasaya sürdü. Bu sistemler, toplu işlemeyi, zaman paylaşımını ve çoklu işlemeyi aynı anda gerçekleştirebiliyordu; ancak son derece pahalı ve karmaşık oldukları için genellikle orijinal bütçelerini aşıyorlardı.
Bu bağlamda, 70'ler AT&T'nin Bell Labs'ında UNIX'in yaratılmasıyla çok önemli bir dönemdi. UNIX, yüksek seviyeli bir dilde yazılmış ilk işletim sistemlerinden biri olduğu için bir dönüm noktasıydı ve bugün kullandığımız hemen her şeyin temelini attı. Bununla birlikte, Multics ve Gary Kildall'ın popüler CP/M'si gibi diğer projeler de ortaya çıktı ve bunlar erken dönem mikrobilgisayarlar için standart haline geldi.
Kişisel bilgisayarların ve grafik arayüzlerin yükselişi
Büyük ölçekli entegrasyon (LSI) devrelerinin ortaya çıkmasıyla bilgisayarlar evlere girmeye başladı. Performans artık tek öncelik olmaktan çıktı ve odak noktası, sistemi ortalama kullanıcı için kullanıcı dostu hale getirmeye kaydı ; bu da menülerin ve grafiksel kullanıcı arayüzlerinin (GUI) geliştirilmesine yol açtı.
80'lerde Microsoft, aslen QDOS adlı bir sistemin satın alınmasından doğan MS-DOS ile sahneye hakimdi. Bu arada, 1984'te Apple, fare kullanımını ve görsel arayüzü tanıtarak dünyayı şaşırtan Macintosh'u piyasaya sürdü ; bu, o zamanlar komut satırı tutkunları tarafından "oyuncak" olarak nitelendirilen bir şeydi.
Bu aşamada başka ilginç girişimler de gördük:
- AmigaOS: 1985'te multimedya yeteneklerinde öncü oldu.
- OS/2: IBM ve Microsoft arasında ortak bir proje olarak başlayan ancak sonunda tamamen IBM tarafından yönetilen bir proje.
- BeOS: Yüksek multimedya performansı ve verimliliğine odaklanmıştır.
Modern sistemler: Linux çekirdeğinden NT'nin kararlılığına
90'larda, ortam muazzam derecede çeşitlendi. POSIX standardına dayalı, Unix'in ücretsiz bir sürümü olan GNU/Linux ortaya çıktı. Açık kaynak kodu ve sağlam izin sistemi sayesinde Linux , Ubuntu ve Debian gibi bilinen dağıtımlarıyla sunucular ve süper bilgisayarlar için ücretsiz işletim sistemlerinin temeli haline geldi .
Öte yandan, Microsoft, Windows NT (Yeni Teknoloji) ile niteliksel bir sıçrama yaptı. MS-DOS'un üzerine basit katmanlar halinde inşa edilen ilk Windows sürümlerinin aksine, NT, iş istasyonları ve sunuculara yönelik, kendi grafik arayüzüne sahip istikrarlı bir sistemdi ve modern Windows ile Windows dosya sistemlerinin temelini attı.
Apple, Darwin ve XNU çekirdeğini temel alan Mac OS X ile de evrim geçirdi ve önceki sürümlerde bulunmayan bir istikrar seviyesine ulaşmak için Unix ve BSD hizmetlerini entegre etti. Bu mimari, gelişmiş bellek yönetimi ve çok daha verimli simetrik çoklu işlemeyi mümkün kıldı.
Özel projeler ve güncel ücretsiz yazılımlar
Ekosistem, oldukça özel projelerle büyümeye devam ediyor. İkili uyumluluk için Windows NT klonu olmayı hedefleyen ReactOS ve eski MS-DOS'a ücretsiz ve uyumlu bir alternatif olmayı amaçlayan FreeDOS gibi örnekler mevcut. Ayrıca, çok sınırlı donanım için tasarlanmış ancak Windows 95'e benzer bir estetiğe sahip SymbOS gibi eski bilgisayarları canlandırmak için tasarlanmış hafif işletim sistemleri gibi optimizasyon harikaları da var.
Unix dünyasında Solaris, OpenSolaris'e evrildi ve ardından Illumos ve OpenIndiana gibi projelere yol açarak Sun Microsystems'in mirasını yaşattı. Son olarak Haiku, BeOS'un ruhunu takip ederek verimli kişisel ve multimedya bilişime odaklanıyor.
İşletim sistemlerinin gelişim süreci, sürekli olarak soyutlamaya doğru ilerlemiştir; bu sayede son kullanıcı, donanımın fiziksel ayrıntılarıyla ilgilenmek zorunda kalmadan , günlük görevlerini kolaylaştıran optimize edilmiş ve güvenli bir sanal makineyle etkileşim kurabilir.
