Yazılım ve aygıt sürücüsü arasındaki fark ve ilişki


27
  1. Yazılım ve aygıt sürücüsü nasıl farklı ve ilişkili? Her iki kontrol cihazını da düşünüyorum?
  2. Firmware her zaman kendi kendine önyüklenir mi, sürücünün işletim sistemi tarafından çalıştırılması / önyüklenmesi gerekir mi?

Yanıtlar:


24
  1. Yazılım ishal olduğu yazılımdır üzerinde cihaza. Sürücü, işletim sisteminize cihazla nasıl iletişim kuracağını bildiren yazılımdır. Tüm cihazların yazılımı yoktur - yalnızca belirli bir zeka seviyesine sahip cihazlar.

  2. Ne demek istediğinizi tam olarak bilmiyorum ... genel olarak konuşursak, bellenimin "önyükleme" ile hiçbir ilgisi yoktur ... Sanırım belki sorduğunuz şey, bellenim aygıtlarına sahip aygıtların aygıtta her zaman aygıtta yüklü olduğunu veya önyükleme zamanından sonra yüklenir. Eğer sorduğun buysa, cevap hayır ...

Çoğu zaman, ürün yazılımı bulunan aygıtlar, aygıtta programlanmış ürün yazılımına sahiptir (bir ROM yongasıyla veya programlanabilir bir ROM yongasıyla), ancak aygıt yazılımının başlatma sırasında aygıta yüklendiği bazı aygıtlar vardır. Bu şekilde çalışan bazı ağ kartlarını ve web kameralarını düşünebilirim, ancak başkalarının da olduğundan eminim.


Teşekkürler! 2'de, kendiliğinden önyükleme ile, bellenimin başkaları tarafından değil kendi başına çalıştırılması, sürücünün işletim sistemi tarafından tek başına çalıştırılması durumunda mı? "Bir işletim sistemi olmadan, bir kullanıcı, uygulama programı kendiliğinden önyüklenmiyorsa, bilgisayarında bir uygulama programını çalıştıramaz" ifadesinden en.wikipedia.org/wiki/Operating_system
Tim

1
Bellenim, donanım aygıtının kendisi tarafından çalıştırılır ... Soruyu cevapladığını düşünüyorum? Bunu göz önünde bulundurun: Pek çok bilgisayar dışı cihazın dijital kameralar, DVD oynatıcılar, cep telefonları vb. Yalnızca / bu aygıtlardan birini bilgisayarınıza taktığınızda / sürücüye ihtiyacınız varsa .
Flimzy

1
Teşekkürler! Gönderen en.wikipedia.org/wiki/Computer_software : "Firmware genellikle elektrikle programlanabilen bellek cihazlarında saklanan düşük seviyeli bir yazılımdır da donanım ve çalıştırmak gibi kabul edilir çünkü Firmware ismini verilir. (" İnfaz ") diğer yazılım programları tarafından." Ürün yazılımı diğer yazılım programları veya donanımın kendisi tarafından mı çalıştırılıyor?
Tim

-1 neden söylüyorsun only devices with some level of intelligence have firmware? Etrafında başka bir yol olduğunu söyleyebilirim, basit (elektronik) cihazların işletim sistemi olmayabilir, ancak ürün yazılımı vardır.
Celeritas,

@Celeritas: Çünkü sadece belirli bir zeka seviyesine sahip cihazların (RS-232 portu gibi) aksine bellenim yazılımı vardır. Tüm işletim sistemi olan cihazları (cep telefonu, iPod, programlanabilir GPS vb.) Karşılaştırıyorsanız, geleneksel anlamda "aygıt sürücüleri" ile gerçekten alakası olmayan tamamen farklı bir soyutlama katmanından bahsediyorsunuz. Bu erişim yazılımı sınıfı genellikle "aygıt sürücüsü" olarak adlandırılır, ancak gerçekte bir aygıt sürücüsünün üzerine uygulanan bir ağ uygulama protokolüdür (örneğin, bir USB bağlantı noktası veya bluetooth ile iletişim kuran gibi).
Flimzy

5

Firmware , donanımı çalıştırmak için gereken düşük seviyeli ayrıntıları uygular ve daha yüksek bir seviyeye API / ABI sağlar. Bir aygıt sürücüsü, işletim sistemi ile üretici yazılımı tarafından sunulan API / ABI arasında bir adaptör sağlar.


1
Teşekkürler! Aygıt sürücüsü işletim sisteminin bir parçası mı ve işletim sistemi çekirdeği tarafından mı çalıştırılıyor? Ürün yazılımı cihazın parçası mı ve işletim sistemi çekirdeği veya ürün yazılımının kendisi tarafından yönetiliyor mu?
Tim

1
Aygıt sürücüsü, işletim sisteminin bir parçası olarak kabul edilir ve genellikle ana bilgisayar CPU'sunda çalışır. Firmware genellikle cihaz tarafından çalıştırılır; Yine de işletim sistemi tarafından cihaza yüklenebilir.
Ignacio Vazquez-Abrams

Bu kabul edilen cevap olmalı.
Eric Wang,

4

Yazılım yazılımının modern tanımı veya ortak kullanımı, belirli bir yazılım işlevselliği ile ilgisi yoktur. Firmware, sabit disk gibi bir yığın depolama cihazından ziyade uçucu olmayan yarı iletken bellekte (örn. PROM, EEPROM veya flash) yongalarda depolanan bir yazılımdır. Depolanan yazılım tek parça bağlı bir ikili olabilir veya yükleyici, çekirdek ve uygulama modüllerinden oluşabilir. (OTOH Başlatma işlemini tamamlamak için Linux çekirdeği tarafından "bellenim" yüklemesini gerektiren PC'ler için bazı TV tarayıcı kartları gördüm.)

Terimin kökeni, işlemci kontrollü mantığa karşı kablolu mantıkla ilgilidir. Sabit sürücülerde depolanan yazılımlar kolayca değiştirilebilir ve güncellenebilir. Kablolu mantık için revizyonlar ve güncellemeler gerekli pano veya modül yeniden tasarlandı ve değiştirildi. Orta nokta, donanımı kontrol etmek için bir işlemci yürüten yazılımdı. Yazılım denilen firma arasında orta yol yansıtmak için eşya yumuşak karşı gereçleri sert kablolu mantık. Başlangıçta ürün yazılımı, kart modülerliğini korumak için ROM, PROM veya EPROM yongalarında depolandı. EEPROM ve flaş yongalarının gelişimi, donanım yazılımının dahili ve dahili güncellemelerine izin verdi.

İşlemciler (ve çevre birimleri) daha küçük, daha ucuz ve daha az güç açtıkça, bunları her tür cihaz / cihaza yerleştirme olanakları genişledi. Yazılımın bu aygıtları sağlam ve güvenli bir şekilde çalıştırmasını sağlamak için, yazılım sabit sürücü yerine flash bellek yongalarında depolanır; Ayrıca, cihazı daha küçük ve daha ucuz hale getirir. Yerleşik kodun bazı bölümlerinin kablolu kablolu mantığın değiştirilmesiyle bir ilişkisi olmasa da gömülü işlemcili cihaz / cihazlardaki tüm yazılımı kapsayacak şekilde donanım yazılımı terimi genişletildi.


Öyleyse, bellenimi büyük depolama alanına yüklemek ne anlama gelir? Bu Debian paketini beğendiniz mi?
xuhdev

1
@ xuhdev - Bu Debian paketi, çeşitli Linux aygıt sürücüleri tarafından kullanılabilecek dosyalardan oluşur. Dosyalar Linux aygıtıyla ekteki cihaza yazıldığından "bellenim" olarak tanımlanır . Dosyalar, cihazın gömülü uC / uP'si için işletimsel veri veya kod içerebilir. Cihaza aktarılan bu dosyanın cihazın geçici belleğine yüklendiğini ve her cihazın veya sistemin sıfırlanmasının ardından yükleme yapılması gerektiğini unutmayın. "Yükleme" Bunun "firmware" konağın yığın depolama üzerinde sadece bir prosedürel mekanizması (yani paket taşıma) 'dir.
talaş

3

Birisi son zamanlarda bu soruyu gönderdi :

Bellenim, kalıcı bellek, program kodu ve içinde depolanan verilerin birleşimidir. Donanım yazılımı içeren cihazların tipik örnekleri, trafik ışıkları, tüketici cihazları, dijital saatler, bilgisayarlar, bilgisayar çevre birimleri, cep telefonları ve dijital kameralar gibi gömülü sistemlerdir. Bu cihazlarda bulunan Ürün Yazılımı, cihaz için kontrol programını sağlar.

Aslında, Süper Kullanıcı'nın driversetiketi tanımlanmıştır:

Aygıt sürücüsü veya yazılım sürücüsü olarak da adlandırılan sürücü, daha yüksek düzeydeki bilgisayar programlarının bir donanım aygıtıyla etkileşime girmesini sağlayan yazılımdır. Bir bilgisayar programı belirli bir donanım cihazıyla etkileşim istediğinde, sürücü cihaz ile sürücüyü başlatan bilgisayar programı arasındaki talimat ve çıktı çevirisini gerçekleştirir.

ve firmwareetiket tanımlanmıştır:

Genel olarak, yazılım ile bellenim arasındaki fark, donanım ile etkileşime girme düzeyidir. Firmware, donanımın çok düşük düzeyde etkileşime girerken, yazılım yüksek düzeyde etkileşime girer. Üretici yazılımı genellikle donanımın temel zamanlamasını, kontrollerini ve işlevselliğini kontrol eder.

Başlangıçta firmware, doğrudan çipin veya panonun üzerine kurulu olduğunu ve orada yaşadığını düşündüm , bu yüzden driverbir işletim sisteminin üzerine kurarken “parlatılması” gerekiyordu .

Sonuç:

Firmwaredonanımın işleri "yapmasına" driversizin verir ve yazılımın donanımla etkileşimine izin verir.

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.