+4
Okumaya üşenen arkadaşlar için konunun özeti şöyledir : "işletim sistemlerini assembly dili yerine daha üst seviye diller ile yazmak daha avantajlıdır."
(edit : madde imleri)
Çünkü:
+ Üst seviye programlama dillerinin yazılması, anlaşılması, debug edilmesi(kaynak kodlarının adım adım izlenmesi) ve bakımı daha kolaydır.
+ Üst seviye programlama dili ile yazılmış işletim sistemi farklı donanımlar üzerinde çalıştırılabilir.
Örnek:
- MD-DOS Intel 8088(işletim sistemi) assembly dili ile yazıldığı için sadece Intel X86 CPU(işlemci / bilgisayar iç donanımı) ailesindeki işlemciler ile uyumlu çalışıyor.
- Linux(işletim sistemi) çoğunlukla C programlama dili ile yazıldığı için birçok CPU(işlemci / bilgisayar iç donanımı) ile uyumlu şekilde çalışıyor. (kısıtlamalar/sınırlamalar/bağımlılıklar azalıyor)
işletim sistemlerini assembly dili yerine daha üst seviye diller ile yazmanın bazı dezavantajları vardır.
+ Daha yavaş çalışması yani performans düşüklüğü ve daha fazla bilgi depolama gereksinimi olabilir. Bu durumlar büyük bir problem olmaktan çıkmıştır. Günümüzde depolama birimleri(HDD, SSD) boyutları ihtiyacımızı karşılamaya yetiyor ve zaman zaman artıyor, işlemci(CPU) teknolojisi ise ihtiyaç duyduğumuz performansı sağlıyor.
Örnek:
- Günümüzde veri yapıları(DS) ve algoritmalarını üst seviye dil ile kullanan işletim sistemleri, mükemmel yazılmış assembly programlarına sahip işletim sistemlerinden çok daha performanslı bir şekilde çalıştığı test edilmiş ve açıklanmıştır(istisnalar hariç).
- Bu istisna durumlara çözüm olarak işletim sistemi üst seviye bir dil ile yazıldıktan sonra kritik kısımlarındaki darboğazlar tespit edilerek, assembly dili ile yeniden yazılabilir.