Aygıt yazılımı (firmware), donanım cihazlarının temel işlevlerini yönetmekte olan ve doğrudan donanım üzerinde çalışmakta bulunan gömülü yazılım katmanıdır. Genellikle ROM, EEPROM veya Flash bellek gibi kalıcı belleklerde saklanmakta ve cihazın çalışması için gerekli en düşük seviyedeki yazılım olarak işlev görmektedir. Donanımın açılış sürecinde devreye girmekte, giriş/çıkış işlemlerini yönetmekte ve daha üst düzey yazılımların çalışmasına imkân tanımaktadır.
Aygıt yazılımı (Mikhail Nilov - Pexels)
Tarihçe
"Firmware" kavramı ilk kez 1967 yılında Ascher Opler tarafından ortaya atılmaktadır. Opler, bu terimi donanım ile yazılım arasındaki ara katmanı ifade etmek amacıyla kullanmaktadır. İlk uygulamalar, bilgisayar işlemcilerine mikro kod yüklemek için yazılabilir kontrol belleği üzerinden gerçekleştirilmektedir. Bu yaklaşım, donanımın farklı işlevleri yerine getirebilmesini ve daha esnek hale gelebilmesini sağlamaktadır.
Yapısı ve Özellikleri
Firmware, cihazın işletim sistemi veya diğer yazılımlardan bağımsız olarak çalışmaktadır. Çoğunlukla açılış işlemlerini düzenlemekte, giriş/çıkış sistemlerini yönetmekte ve donanımın temel fonksiyonlarını yürütmektedir. Modern cihazlarda firmware güncellenebilir durumda bulunmakta, bu güncellemeler hata düzeltmeleri, güvenlik iyileştirmeleri ve yeni işlevlerin eklenmesine olanak tanımaktadır.
Türleri ve Örnekler
Firmware çeşitli seviyelerde incelenmektedir. Düşük seviye firmware, kalıcı belleklerde saklanmakta ve değiştirilememektedir. Orta seviye firmware, güncellenebilir bir yapı sunmakta ve donanım ile yazılım arasındaki bağlantıyı sağlamaktadır. Yüksek seviye firmware ise yazılımsal özellikler içermekte ve cihazların işlevselliğini artırmaktadır. Ayrıca alt sistem firmware’leri, cihaz içindeki işlemci, grafik kartı, sabit disk ve ağ kartı gibi bileşenleri yönetmektedir. Bunun yanında, özel veya açık kaynaklı firmware türleri de bulunmaktadır. Bu türler, topluluklar veya bağımsız geliştiriciler tarafından hazırlanmakta ve standart üretici yazılımlarına alternatif olarak daha fazla kontrol ve özelleştirme imkânı sunmaktadır.
Güncelleme ve Güvenlik
Firmware güncellemeleri cihazların performansını artırmak, yeni özellikler eklemek ve güvenlik açıklarını kapatmak için kritik öneme sahiptir. Özellikle IoT cihazlarında güncellemeler OTA (Over-the-Air) yöntemiyle uzaktan yapılmalıdır çünkü bu cihazlar sıklıkla açık ağlarda çalışır ve saldırılara karşı savunmasızdır.
Yanlış veya eksik bir firmware güncellemesi cihazın çalışmasını durdurabilir (örneğin “brick” olma durumu). Bu nedenle firmware güncellemeleri dikkatli şekilde yapılmalıdır.
Özel Durumlar: Kapalı ve Açık Firmware
Firmware türleri kullanım ve erişim haklarına göre de sınıflandırılabilir. Kapalı kaynaklı (proprietary) firmware, üreticiler tarafından sağlanır ve çoğunlukla kullanıcılar tarafından değiştirilemez. Bu tür yazılımlar güvenlik riskleri barındırabilir; zira hatalı ya da kötü niyetli bir kod cihazın tamamının işleyişini olumsuz etkileyebilir. Buna karşılık, açık kaynaklı (custom) firmware, geliştirici toplulukları veya bağımsız firmalar tarafından hazırlanır. Daha şeffaf bir yapıya sahiptir ve kullanıcıya daha fazla kontrol imkânı sunar. Router’larda kullanılan OpenWrt veya mobil cihazlardaki LineageOS, bu tür firmware örnekleri arasında yer almaktadır.
Kullanım Alanları
Firmware, bilgisayarlar, akıllı telefonlar, yönlendiriciler, yazıcılar, televizyonlar, depolama birimleri, ağ donanımları ve endüstriyel makinelerde kullanılmaktadır. Modern örnekler arasında akıllı televizyonların işletim yazılımları, UEFI tabanlı sistemler ve SSD’lerin okuma-yazma algoritmalarını yönetmekte olan yazılımlar yer almaktadır.