Firmware nedir, ne işe yarar?

Firmware, birçok kişinin kafasını karıştıran veya anlamından tamamen habersiz olan bir terimdir. Bu nedenle, bu makalede, ne işe yaradıklarını, güncellemenin neden önemli olduğunu, hangi donanım cihazlarında bulunduğunu vb. anlamanın yanı sıra, bu düşük seviyeli kodun ne anlama geldiği hakkında daha fazla bilgi edinebileceksiniz.

Firmware nedir?

Firmware, yazılım ve donanım arasında bir şeydir. Bazıları özel yazılım olarak dahil eder, bazıları ise donanımın içine dahil eder. Daha önce de söylediğim gibi orta düzeyde bir şeyle ilgili, yani temel rutinlere sahip bir kod veya çok düşük düzeyde basit bir program, uçucu olmayan bir bellekte (EERPOM, flash…) depolanır ve buna hizmet eder. donanımın tasarlandığı tüm işlevleri yerine getirebilmesi.

Şu anda, üretici yazılımı, kullanıcının güncelleme ve yönetmesini kolaylaştırmak için genellikle onu içeren sürücülere veya denetleyicilere yaklaştı veya entegre edildi. Buna ek olarak, bu şekilde, üzerinde değişiklik yapılırken, üretim sırasında doğrudan donanıma kaydedilmesine kıyasla daha az risk anlamına gelir.

Bildiğiniz gibi mobil cihazlar, IoT cihazları, CPU’lar, ekran kartları, optik sürücüler, yönlendiriciler, NAS, çevre birimleri vb. birçok donanım cihazında bu aygıt yazılımı mevcuttur. Kullanımlarını daha sonra tartışacağız, ancak önemini anlamanız önemlidir, böylece her şey olması gerektiği gibi çalışır, çünkü onsuz mümkün olmayacaktır.

Aygıt yazılımı, aygıtın sürücüleri veya denetleyicileri ile donanım arasında bulunabilecek bir başka katmandır. Bununla birlikte, güncellemeyi kolaylaştırmak için sürücüler veya çekirdek modüllerinin kendilerinde pek çok güncel ürün yazılımının uygulandığı yerdir.

Firmware ve sürücü arasındaki farklar

Bir sürücü ve firmware arasında dikkate değer farklılıklar vardır. Bazı durumlarda fark azalmış gibi görünse de ve sürücüleri indirirken aynı zamanda ürün yazılımını da indiriyorsunuz, gerçek şu ki dikkate değer farklılıklar:

  • Firmware, yüksek seviye, yani sürücüler için bir API/ABI sağlamanın yanı sıra belirli bir donanım için çalışan düşük seviyeli bir rutin veya programdır.
  • Sürücüler veya denetleyiciler, işletim sisteminin sabit yazılım tarafından sunulan API/ABI’yi kullanabilmesi için bir araç veya arabirim sağlar.
  • Denetleyici veya aygıt sürücüsü, işletim sisteminin aygıtlarla veya donanımlarla iletişim kurmasını ve kaynaklarını yönetmesini sağlayan üst düzey bir yazılımdır.
  • Firmware, G/Ç donanımı vb. fonksiyonların gerçekleştirilmesine izin veren, cihazın içinde bulunan özel bir programdır. Genellikle EEPROM veya flash gibi geçici olmayan bir belleğe yüklenirler.
  • Denetleyiciler veya sürücüler, işletim sistemine özeldir ve donanıma bağlıdır.
  • Firmware, işletim sisteminden bağımsız olduğu gibi donanımla da yakından ilişkilidir.

Firmware ve Yazılım Arasındaki Fark

Daha önce yorumladığım gibi, bazıları aygıt yazılımını başka bir yazılım türü olarak görüyor, ancak bu farklı. Geleneksel yazılım ile daha düşük seviye üretici yazılımı arasında ayrım yapmak için şu ifadelere bakabiliriz:

  • Firmware çok temel bir koddur, donanımın çalışması ve yazılımın geri kalanıyla iletişim kurabilmesi için düşük düzeyde temel talimatlar içeren bazı rutinler veya programlar. Ancak, BIOS/UEFI gibi daha karmaşık ürün yazılımı vardır.
  • Firmware’ın yaptığı kontrol düşük düzeydedir, yalnızca donanımın temel işlevlerini kontrol eder.
  • Yazılım, kullanıcıların etkileşime girmesi kolay olacak şekilde tasarlanmıştır. Ve birçok farklı işlevi olabilir.
  • Ürün yazılımı çok daha somut bir şeydir ve genellikle kullanıcıdan gizlenir.
  • Yazılım en üst düzeydedir.
  • Donanım yazılımı düşük seviyededir ve neredeyse donanımla yakın bir şekilde çalışır.
  • Bir yazılım, bir donanım bileşenini değiştirmek zorunda kalmadan değiştirilebilir.
  • Donanım yazılımı, çoğu durumda beraberindeki donanım değiştirilmeden değiştirilemez. Yalnızca buna izin verilen bazı durumlarda güncellenebilir.
  • Bellenim, geçici olmayan bellek yongalarına gömülür veya önyükleme sırasında donanım aygıtına yüklenir.
  • Yazılım herhangi bir donanım bileşenine entegre edilmemiştir. Yalnızca ikincil depolama biriminde depolanır ve gerektiğinde yürütülmek üzere RAM belleğe yüklenir ve işletim sistemi çekirdeğinin söz konusu işlemi yürütmesi gerekir.

Firmware türleri

Farklı donanım aygıtlarında bulunabilen birkaç tür üretici yazılımı vardır. Tüm üretici yazılımı aynı değildir ve aşağıdakileri ayırt etmeniz gerekir:

  • Düşük seviye: donanımın içsel veya ayrılmaz bir parçasıdır. Genellikle geçici olmayan bellek yongalarında, yani ROM gibi salt okunur belleklerde depolanır ve bu nedenle yeniden yazılamaz veya güncellenemez. Başka bir deyişle, düşük seviye bellenim bir defalık programlanabilir belleğe sahiptir, üretimden sonra programlanır ve cihazın ömrü boyunca değişmeden kalır.
  • Yüksek seviye: Bu ürün yazılımı yükseltilebilir ve genellikle düşük seviyeli ürün yazılımından daha karmaşıktır. Bu tür üst düzey üretici yazılımı, flash bellek yongalarında bulunur, bu nedenle tıpkı bir BIOS/UEFI gibi flash edilebilir.
  • Alt sistem: entegre bir sistemin parçası olarak gelir. Genellikle yüksek seviye sabit yazılımdan daha az karmaşık olmasına rağmen, güncellenebilmesi ve düşük seviye sabit yazılımdan daha karmaşık olması bakımından üst düzey sabit yazılımla karşılaştırılabilir. Örneğin, gücü yöneten ACPI gibi.

Firmware güncellemesi nedir?

Elbette, aygıt yazılımını güncellemek, yazılımı güncellemek kadar hayati ve hatta bazı durumlarda daha da önemlidir. Evde kullandığınız donanım cihazlarının düzgün çalışması buna bağlı olacaktır.

Üretici yazılımı güncellemeleri, örneğin birkaç yılda bir veya daha sık aralıklarla meydana gelebilir. Bazı durumlarda, ya mükemmel olduğu için ya da geliştirici onu güncelleme zahmetine katlanmadığı için aygıt yazılımı güncellenmez. Bu nedenle, sorunları önlemek için her zaman en yüksek ürün yazılımı güncelleme sıklığına sahip en popüler üreticileri seçmenizi öneririm…