Linux terminolojisinde “bellenim” nedir?


15

Linux bağlamında bellenim kullanımı ile kafam karışıyor .

Bellenim ve sürücü anlayışım, bellenimin Bluetooth IC veya klavye denetleyicisi veya ekran kartı veya tek amaçlı bir mikro denetleyici gibi bir cihazın çıplak metalinde çalışan kod olmasıdır. Yazılım, işletim sisteminin hizmetlerini kullanması için bir arayüz sunar.

Sürücü, buna karşılık, çekirdeğin, bellenim tarafından sağlanan daha önce bahsedilen arayüzlerle iletişim kurmak için kullandığı yazılımdır. Böylece, bir video sürücüsü, bir klavye sürücüsü, bir bluetooth radyo sürücüsü.

Öyleyse neden kurulması gereken Linux ürün yazılımı dosyaları hakkında okumaya devam ediyorum (örneğin burada ). Bunlar donanıma yüklenir mi? Bu dosyalar çekirdek tarafından kullanılıyor mu? Bu bağlamda bellenimin anlamı nedir ?


1
Genel olarak konuşursak: Yazılım bir programdır. Donanım fiziksel bir cihazdır. Bellenim donanıma entegre edilmiş bir programdır ; tipik olarak donanımın nasıl çalışacağını yapılandırmak amacıyla (bu yüzden yazılım ve donanım arasında bir çeşittir, tıpkı 'firma' künt olmayan bir ölçekte 'yumuşak' ve 'sert' arasındadır). Genel olarak, yazılım OS-agnostiktir (örneğin, bir SCSI RAID denetleyicisindeki RAID yapılandırması).
DopeGhoti

Sadece DopeGhoti'nin yorumuna eklemek için, birçok cihaz artık canlı yazılım yüklemesine izin veriyor ve bu da onları sabit uygulamalardan daha esnek / evrimsel hale getiriyor.
Julie Pelletier

1
@DopeGhoti sadece donanımı yapılandırmakla kalmaz, donanım üzerinde çalışır. Bazı bellenimler gerçekten çok karmaşıktır ve temel olarak bir mini işletim sistemi çalıştırır.
Stephen Kitt

Katılıyorum, ancak "donanıma entegre yazılım" donanımın adı geçen yazılımın üzerinde çalıştığını ima ettiğini iddia ediyorum. (:
DopeGhoti

Yanıtlar:


23

Linux çekirdek bağlamında, bellenim, sistemdeki başka bir işlemcide çalışan bir yazılımdır, örneğin bir kablosuz denetleyici, GPU, bir SCSI denetleyici ... Bu yazılım, ilgili denetleyiciye bağlı ROM'da (çeşitli türlerde) saklanırdı ancak maliyetleri düşürmek ve yükseltmeleri kolaylaştırmak için denetleyiciler artık ürün yazılımlarını kendileri için yüklemek üzere ana bilgisayar işletim sistemine güvenme eğilimindedir.

Dolayısıyla, bellenim dosyaları çekirdek tarafından kullanılmaz, çekirdek tarafından diğer donanım parçalarına yüklenir. FLOSS sistemlerinde kaynak kodu olmayan bir yazılıma sahip olmayı belirsiz bir şekilde kabul eden de budur: argüman, ana CPU'da değil başka bir cihazda çalıştığı yönündedir.


1
"Belirsiz olarak kabul edilebilir" kullanımınızla çok hayırlısınız.
Rui F Ribeiro

2
Herkes RMS olamaz.
DopeGhoti

Bu sadece Linux çekirdek bağlamında değil, çok işlemcili bir sistem bağlamında oldukça genel bir “ürün yazılımı” tanımıdır.
Gilles 'SO- kötü olmayı bırak'

Peki / etc / lib / firmwares aslında önyükleme sırasında çekirdek tarafından yüklenen sürücüleri değil , yazılımları içerir mi? Ancak kablosuz denetleyicinin ve grafik kartlarının üretici tarafından yazılan bir bellenim içeren kendi ROM'ları vardır.
17:10 de defalt

3
@defalt yes, /lib/firmware(tekil, hayır /etc) diğer cihazlar tarafından kullanılan bellenimi içerir. Birçok aygıtın (kablosuz denetleyiciler ve GPU'lar dahil), kendi ROM'unu (veya flaşını) içeren bellenim olsa da, ana bilgisayar sistemi tarafından sağlanan bellenime ihtiyacı vardır.
Stephen Kitt
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.