İlk işletim sistemi nasıl yapıldı?

0 ve 1 lere basılarak kodlandı.
1623911342957.png
 
(Googleden arakladım)


Bilgisayarın anladığı tek programlama dili makine kodu. Eskiden programlar sadece makine koduyla yazılıyordu. Bu yöntem çok zor ve hata payı da yüksek olunca belli başlı komutları temsilen semboller kullanılmaya başlandı. Bu şekilde Assembly dilleri doğmuş oldu. Assembler adı verilen çevirici programlar sayesinde sembolik makine kodu, makine koduna dönüştürüldü.

Bildiğimiz anlamdaki ilk programlama dili olan A-0 için derleyici de assembly dili ile Grace Hopper tarafından 1952 yılında tamamlanmıştır. Bugün derleyiciler kendi kendilerini derleyebiliyorlar. Bu özelliğe sahip derleyicilere self-hosting compilers denir. Derleyiciler C, C++, Pascal, Fortran gibi çeşitli diller kullanılarak yazılabileceği gibi assembly dilleri ile de yazılabilir.

Kısacası derleyicilerin geçmişinde ya derledikleri dil gibi derlenen bir dil ya da bir assembly dili vardır. Assembly dillerinin de geçmişinde makine kodu vardır. Makine kodu da işlemci için 1´lerden ve 0´lardan oluşan sinyallerdir.

Dediğim gibi; günümüzde derleyiciler kendi dillerinde ya da başka dillerde yazılıyorlar. Örneğin GCC derleyicisi büyük oranda C dilinde yazılmış. Java, C#, D gibi modern dillerde de önemli ölçüde kendi dillerinin kullanıldıkları görülür.

Bilgisayarın hesaplaması/işlemesi için yazılan programın kaynak kodları derleyiciler tarafından makine koduna dönüştürülür. Derlenen dillerde programlar kaynak kod haliyle çalıştırılamaz.

Sorunsuz bir şekilde derlenen bir program çalıştırıldığında önce bilgisayara yaptırılacak olan talimatlar için gerekli olan donanım kaynaklarına işletim sistemlerinden izin alarak erişir. Bilgisayarın donanım kaynaklarını işletim sistemleri kontrol eder. İşletim sistemlerinden izin alınmadan hiçbir donanım kaynağına erişilemez. Program işletim sistemi tarafından önce bilgisayarın belleğine (yani RAM´e), ardından da işlemciye aktarılır. Hesaplatılan sonuç işletim sistemine ve işletim sistemi tarafından da kullanıcıya geri döndürülür.

Dediğim gibi; işletim sistemleri bilgisayarın donanım kaynaklarını yöneten yazılımlar bütünüdür. Klavye, mouse, web camera ya da USB portuna taktığınız herhangi bir aygıt gibi PC´nize veri aktarabileceğiniz bütün imputlar ve verileri tekrar geri alabileceğiniz monitor, printer ya da depolama aygıtları gibi bütün outputlar işletim sistemleri tarafından yönetilir ve kontrol edilir. Çalışan herhangi bir program işletim sisteminden izin alarak bu donanım kaynaklarını kullanabilir. İşletim sistemlerinin izin vermediği hiçbir program bu donanım kaynaklarını kullanamaz.

İşletim sistemleri yokken elbette programlar günümüzdeki gibi metin editorlerine yazılıp çalıştırılmıyordu. Programların delikli kartlara (punched cards) yazılıp bilgisayarın RAM´ine doğrudan yüklenmesi gerekiyordu. Bu işi insanlar elle yapıyordu. Bu insanlara ise “operator” deniyordu ancak bu iş çok rutin olduğu için ve en vasıfsız insanlar bile yapabildiği anlaşılınca bu işi de bilgisayarlara yaptırma fikri ortaya çıktı ve işletim sistemleri fikri orada doğdu.

Delikli kartlar daha sonra delikli bantlara (punched tapes) evrildi. Mantık aynıydı ancak delikli kartlardan farklı olarak daha fazla veri okuma ve yazma imkanı sunuyordu. Veri depolama teknolojisi ilerleyince veriler manyetik disklerde saklanmaya başlandı.

Günümüzde işletim sistemleri yine işletim sistemleri kullanılarak geliştiriliyor. Programlar insanların anladığı programlama dillerinde yazılıyorlar. Derleyiciler insanların anladığı bu kaynak kodu alıp bilgisayarın anladığı makine koduna dönüştürüyorlar.

Kıscası işletim sistemleri yokken işletim sisteminin yapması gereken her işi insanların elle kendilerinin yapması gerekiyordu. Bu konuda Silberschatz´ın “Operating System Concepts” kitabını okuyarak çok daha detaylı bilgi edinebilirsin.

Bilişim tarihi ile ilgileniyorsan Computer History Museum´un sitesindeki belgeleri ve makaleleri okuyabilirsin. Eğer programlama dillerinin çalışma mantıklarını ve derleyicilerin nasıl tasarlanıp yazıldıklarını merak ediyorsan Sebesta´nın Concepts of Programming Languages kitabını okuyabilirsin.
 
Isletim sistemi yazmak icin isletim sistemine ihtiyacin yok.

Dunyanin ilk Turing-Complete bilgisayarinin isletim sistemi yok ve gunumuz bilgisayarlarinda yapilabilecek her islemi teorik olarak o da yapabilir.

Isletim sistemine gelene kadar coktan assembly kodlari olusturulmustur, muhtemelen ilk isletim sistemini de bunlarla yapmislardir. Google'layan kaynak verebilir, su an arastiramayacagim.
 
İşletim sistemi dendiğinde aklınıza Windows 10 falan geliyor ama ilk grafik arayüzü kullanılan Windows 1 1985 yılında geliştirildi, ki bundan da 10 15 yıl öncesine gittiğimizde işletim sistemi dediğiniz yapı bazı hazır işlemleri yerine getirmekten fazlasını yapmıyordu, sen veri giriyorsun o sana çıktı veriyor tüm olayı buydu.
 

Yeni konular

Geri
Yukarı