Yazılımda, “Gömülü” terimi neyi içerir?


9

Bu nedenle, bilgilerimi gömülü ve alt düzey donanım programlamasına ilerletmeye çalışıyordum, ancak, "gömülü" olan işleri her aradığımda, bu her zaman üst düzey şeylerdir. Bana göre bu pek mantıklı değil.

Peki "gömülü" tam olarak ne gerektirir? Ben dendiğinde gömülü ben alt düzey mikrodenetleyici programlama ve böyle düşünüyorum. Eğer gömülü bunun için uygun başlık değil, o zaman ne aradığım olmalıdır?

Yanıtlar:


4

Ne demek istediğini daha üst düzey şeyler ile tanımla. Sürücüler ve donanımla iletişim kuran diğer herhangi bir yazılım yazmak, muhtemelen gömülü yazılımdan bahsettiğinizde çoğu insanın düşündüğü şeydir. Bu onun bir parçası olsa da, bu sadece küçük bir parçadır. Tüm bu kurulumları yaptıktan sonra, muhtemelen doğrudan donanım ile doğrudan konuşmayan ve çoğu durumda bu geliştirme çabasının çoğunluğundan daha büyük olasılıkla yazacak olan tüm uygulama var. Bu bir düzeyde "daha yüksek" seviye programlamayla karşılaştırılabilir. Ancak, gömülü dünyada muhtemelen özellikle hesaplama gücü ve hafıza açısından bazı kısıtlamalar altında çalışıyorsunuz. İşte günlük bazda düşündüğüm ve çoğu durumda daha üst düzey gelişimde daha az öneme sahip olan şeylerin listesi.

  • İş parçacığı eşzamanlılığı (hem koruma hem de zamanlama)
  • Bellek ayırma ve ayırma ve kullanma
  • Yığın yönetimi (parçalanmadan kaçınma)
  • Gerçek zamanlı son teslim tarihlerini karşılama
  • Konu önceliklendirme
  • I / 0 performansı
  • DMA transferleri
  • Yığın Boyutları
  • Kütüphane performansı
  • Dil özellikleri (istisnalar kodunuzu şişirir)

Ayrıca, yerleşik platformlar, genel heterojenlik hesaplaması için bir platform olarak tasarlanmış bir PC'ye karşı belirli bir hedefe ulaşmak için son derece uzmanlaşmış olma eğilimindedir. Bu, muhtemelen taşınabilir veya taşınabilir olmayan birçok özel kodunuz olduğu anlamına gelir.


7

Gönderen Wikipedia / Sistem Gömülü :

Gömülü sistem, genellikle gerçek zamanlı bilgi işlem kısıtlamalarıyla bir veya birkaç özel işlevi gerçekleştirmek için tasarlanmış bir bilgisayar sistemidir.

Kısacası, terim, genel amaçlı bir bilgisayar olmayan herhangi bir sistem için geçerli olabilir. Bu, basit mikrodenetleyicilerden Ağ donanımına ve modern Oyun Konsollarına kadar değişebilir.

"Üst düzey şeyleri", "üst düzey bir programlama dili kullanır" veya hatta "büyük bir nesne yönelimli proje" olarak düşünürseniz, elbette gömülü bir sistemde çok yüksek düzeyli bir yazılıma sahip olmanız her zaman mümkündür. .

Genel olarak, yazılımınızın "Gömülü" bir sistemde olacağını belirterek, yazılımınızın bir şekilde gömülü sisteme bağlanacağını ve belki de son derece taşınabilir olmayacağını kastediyorsunuz.

Gerçekten çok geniş bir terim. "Gömülü" olarak adlandırılmasını beklemediğim bazı şeyler genel olarak PC yazılımı, web uygulamaları ve Sunucu Yazılımı olacaktır. Bununla birlikte, Gömülü yazılımın her türlü yüksek düzey programlama veya tasarımı hariç tutacağına dair hiçbir garanti yoktur.


Ayrıca, yazılımınızın gömülü olduğunu belirtmenin amacının, çözümünüzü oluşturmak için daha az kitaplığa ve mevcut çözümlere sahip olacağınızı belirtmek olduğunu da belirtebilirim.
ProdigySim

+1. Gömülü sistemlere yaygın örnekler POS veya ATM makinelerindeki bilgisayarlardır. Windows veya Linux gibi hazır işletim sistemlerini çalıştırsalar bile.
nikie

1

"Yerleşik" ifadesinin "bir kutudaki bilgisayar" anlamına geldiği, genellikle tek bir görevi yerine getiren işlere baktığınızdan şüpheleniyorum. Büyük olasılıkla bir Linux dağıtımının veya bir Microsoft işletim sisteminin çoğunu çalıştırıyor, ancak oldukça eksiksiz olacak ve standart GUI IDE'lerini kullanabileceksiniz. Gömülü kısım, cihaz çok kanallı bir video kaydedici, medya akış cihazı veya hırsız alarmı olarak geldiğinde gelir.

Bu günlerde 1W'lık bir cihazda çok fazla işlem yapabilirsiniz, böylece gömülü tanımı buna göre büyüdü. Ancak 20 yıl önce bile, oldukça standart DOS çalıştıran pille çalışan yerleşik cihazlarımız vardı ve günün IDE'sini kullanarak programlar oluşturduk (Sembol barkod tarayıcılarının örneğin C ve Pascal için kütüphaneleri vardı, bu yüzden Win3.1'de Turbo Pascal kullandık yürütülebilir dosyaları oluşturmak). Ama aynı zamanda DOS bizim yazılım sonra önyükleme "endüstriyel PC" sevk ve giriş paslanmaz çelik bir kutu üzerine monte birkaç büyük su geçirmez düğmeler ile sınırlıydı. Bu kutudaki camın arkasında bulunan 15 inç LCD, çok sayıda çıkış seçeneğimiz olduğu anlamına geliyordu, ancak bir klavyeyi takmak kutuyu açmak anlamına geliyordu (bir gıda fabrikasının içinde). Bazı perspektiflerden gömülü olarak düşünülebilir. - güç döngüsü ya da değil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.