Was sind die Unterschiede zwischen Firmware und Software / OS?

15
  1. Ich habe mich gefragt, welche Unterschiede zwischen Firmware und Software bestehen.
  2. Welche Unterschiede gibt es zwischen Firmware und Betriebssystem?
  3. Sind Bootloader Firmware? Bios ist. Wie wäre es mit GNU Grub? Ist Grub Software oder Firmware?
Stack für Alle
quelle

Antworten:

13

Traditionell Firmware-Code CPU dass befindet sich auf einem unmodifiable ROM, die für eine Hardwarevorrichtung zu booten und laden, ein Betriebssystem oder eine binäre (Software) der Wahl erforderlich ist. Manchmal wird keine Auswahl für eine Binärdatei getroffen und eine mit der Boot-Teil-Firmware verbundene wird verwendet.

All CPUs das klassische Problem, dass hat, da sie Befehle aus dem Speicher holen, eine Art vorprogrammierte Speicher muss mit einer festen Adresse existiert, wenn die CPU beginnt, so dass es etwas beim Start automatisch tun. Zu diesem Zweck existiert eine Firmware. Einige Firmware-Versionen enthalten auch Code, den spätere Programme für Dienste verwenden können. BIOS-Firmware macht viele Funktionen, dass DOS für grundlegende Eingabe und Ausgabe (also warum BIOS steht für Basic Input Output System).

Die Unterscheidung ist nicht ganz klar. Einige (die meisten) WLAN-Karten erfordern das Laden von Firmware, bevor sie funktionieren. Allerdings, in der Regel gibt es eine winzige Firmware auf dem Gerät, deren Aufgabe es ist, nichts zu tun, sondern eine Haupt „Firmware“ über den USB-Bus übernehmen, wenn das Gerät vom Betriebssystem und die Hand über Steuerung gestartet wird, wenn es geladen wird. Die meisten Leute würden sagen, all das Firmware ist.

Da EEPROMs und Flash-Speicher häufiger wurden, Firmware in der Regel nicht mehr besteht in einem unwriteable ROM aber im Flash-Speicher und kann geändert werden. Die Unterscheidung zwischen Firmware und Software ist heute mit dem Aufkommen des Flash-Speichers verschwommen. Allerdings hat eine Sache nicht über die Jahre verändert, und das ist CPUs noch CPUs sind und einige Codes erfordern oder Firmware beim Start sichtbar sein, na ja, starten.

CPUs befinden sich in mehr Geräten als je zuvor. Daher ist die Entwicklung und Aktualisierung der Firmware im Falle von Fehlern ein großes Problem, und viele Hardwaregeräte mit einer CPU verfügen über Firmware-Aktualisierungsschnittstellen, die manchmal nicht dokumentiert sind.

Eine Firmware kann zum Laden eines Betriebssystems verwendet werden. Es kann einen Bootloader oder Code enthalten, der einen Bootloader lädt. Es ist möglich, ein Betriebssystem-Image am selben Ort wie die Firmware zu speichern und den Boot-Time-Code der Firmware auf das Betriebssystem zu laden (Mobiltelefone tun dies). PC-BIOS enthalten in der Regel keine Bootloader. U-Boot (nicht für PCs) ist ein Beispiel für eine "Dateisystem-fähige" Firmware, die ein Betriebssystem direkt lädt.

Firmwares in der Regel nicht alle Funktionen eines Vollbetriebssystem aufgrund des Prinzips, dass einfacher zuverlässiger ist. Die einfachsten Firmwares einfach ein Minimum an Hardware initialisieren, einen Sektor laden oder von einem Speichergerät absperren und wirft Ausführung zu. Dies ist einfach zu programmieren und daher leicht als fehlerfrei zu verifizieren. Insbesondere Fehler in der Boot-Firmware können für ein Gerät eine Katastrophe bedeuten.

LawrenceC
quelle
Vielen Dank! Wie unterscheiden sich Firmware und Gerätetreiber als beide Steuergeräte?
StackExchange for All
Für Geräte wie WLAN-Karten: Treiber sind so konzipiert, dass sie eine Schnittstelle zwischen einem Hardwaregerät und dem Betriebssystem selbst bilden. Treiber laufen auf dem PC. Die Firmware ist für die Schnittstelle zwischen einem Hardwaregerät und einem Treiber über einen Bus (USB, IDE, PCI-E usw.) konzipiert. Firmware läuft auf dem Gerät selbst.
LawrenceC
5

Firmware ist Software, außer dass sie nicht auf der Festplatte gespeichert wird, sondern in einem EEPROM, das in der Regel für Aktualisierungen flashbar ist.

Firmware ist in gewisser Weise ein Betriebssystem, aber viel restriktiver und zweckgebundener, da es nur zur Steuerung dieses Geräts dient, wohingegen ein Betriebssystem ein Allzwecksystem ist, mit dem jede Art von Software auf mehreren Hardwaregeräten ausgeführt werden kann.

Nein, Bootloader sind keine Firmware, da es sich um Software handelt, die auf der Festplatte vorhanden ist. Ja, das BIOS existiert auf einem (flashbaren) Chip. Nein, GRUB ist auch keine Firmware, da GRUB wiederum nicht fest ist (es gibt keine Hardwarekomponente), sondern Software auf der Festplatte vorhanden ist - obwohl sie auf einem Chip installiert werden könnte (und möglicherweise auch). In diesem Fall ist dies der Fall Firmware sein.

Synetech
quelle
4
  1. Der Unterschied besteht im Wesentlichen darin, wo sich der Code befindet. Im Allgemeinen wird Firmware in eine Art EPROM oder in einen eingebetteten Flash-Speicher gebrannt, während Software auf einem Massenspeichergerät gespeichert wird.

  2. Das Betriebssystem eines Geräts befindet sich möglicherweise in Firmware oder Software. Auf einem PC bietet die Firmware (BIOS) nur Dienste auf niedriger Ebene, die von einem Software-Betriebssystem (Windows / Linux / usw.) verwendet werden können. In mobilen Geräten ist das Betriebssystem in der Regel in Firmware.

  3. Gemäß der Definition in (1) ist das BIOS des Computers Firmware, aber Bootloader, die sich auf der Festplatte befinden, sind Software.

Andrew Cooper
quelle
3

Die Grenzen können etwas verschwommen sein.

Software typischerweise keine Anweisungen oder Routine, dass ein Computer tun kann.

Bei Firmware handelt es sich in der Regel um spezifische Anweisungen (Software), die auf die Hardware geladen werden, damit sie ihre Funktion ausführen können.

Ich würde sagen, dass so ziemlich jede Hardware eine Art Firmware enthält.

Auch glaube ich nicht, dort, wo man beginnt, ein endgültiger Führer ist und stoppt - alles, was Firmware ist eine Software, die für Chip ist in dem Gerät, was auch immer kompiliert wird.

Was Ihre zweite Frage betrifft, was Firmware ist, würde ich sagen, dass Bootloader nicht sind, aber das BIOS ist und Grub ist nicht.

Das ist sehr schwierig, die Linie zu zeichnen, aber ... wie ich es sehe, ist, dass das BIOS (jetzt EFI) ist die Firmware des Motherboards und die Festplatte verfügt über eine eigene Firmware ist.

Der Bootloader / Grub ist also reine Software - er erledigt möglicherweise Aufgaben mit der Festplatte, steuert jedoch keine Hardware direkt.

Wenn Sie ein eingebettetes Gerät wie ein iPhone / iPad nehmen, wo endet die Firmware und die Software? Wenn Sie IOS als Firmware betrachten, warum dann nicht Windows oder ähnliches?

Für mich zeigt dies, dass die Hersteller oder Anbieter eines Geräts Ihnen die Kontrolle über das Gerät ermöglichen und dass dies keine feste Sache / exakte Wissenschaft ist.

Beispielsweise,

  • Ein Motherboard dient zum Booten - die Firmware ist das BIOS, wenn es zum nächsten Teil übergibt
  • Die optischen und Festplattenlaufwerke sind Komponenten zum Lesen / Schreiben von Daten, die Firmware ist der Teil, der diese Aufgabe auf Anfrage übernimmt.
  • Die Grafikkarte ist eine Komponente zum Anzeigen von Grafiken, die Firmware ist der Teil, der auf Anforderung eine Ausgabe zeichnet.

Um es noch weiter zu komplizieren - wenn ich auf Anfrage sage, kann dies von einem Treiber in einer anderen Software stammen

Nun, ein iPad oder ein iPhone oder ein anderes eingebettetes Gerät ...

  • Ein Gerät, das von der Stange gekauft wurde, um eine eingeschränkte Funktion auszuführen (z. B. IOS ausführen), ist die Firmware, da Sie sie nicht manuell ändern (oder sollten). Es kann andere Teile der Hardware enthalten, aber es wird als ein Gerät präsentiert und Sie kaufen die Hardware nicht separat. Jedes verfügbare Update aktualisiert alles unsichtbar (z. B. ein Telefon, Sie aktualisieren den GSM-Controller nicht manuell, Stromversorgung) Variablen und mehr, Sie haben nur ein Update, das diese Dinge ändern kann).

Also ... Um es zusammenzufassen ...

Für mich würde ich sagen, dass Firmware = die Software, die auf Geräten kommt, auf denen reine Software als Daten gekauft wird, aber ich bin sicher, andere können etwas anderes sagen!

William Hilsum
quelle
Ich hoffe, das liest sich in Ordnung ... Ich fand das Thema sehr interessant, aber ich habe über eine halbe Stunde gebraucht und es ist sehr früh am Morgen / ich bin sehr müde ... und ich bin nicht immer klar die beste aller Zeiten! Ich beantworte gerne Fragen und hoffe nur, dass ich mich nicht zu oft wiederholt habe!
William Hilsum
0

Ich möchte eine Antwort in nur wenigen Worten geben. Die Software und das Betriebssystem sind sehr wichtig, damit ein digitales System ordnungsgemäß gestartet und betrieben werden kann, und wir werden diskutieren, wie diese beiden Systeme funktionieren. Angenommen, wir haben unser Smartphone ausgeschaltet und schalten uns nach dem Einschalten des Netzschalters in unserem Smartphone ein. Dieser Befehl wird an den BIOS-Chip gesendet, der ein nichtflüchtiger Speicher ist und ein Firmware-Programm enthält In beiden Richtungen zu RAM und ROM gibt es einen Befehls-RAM, um Betriebssystemcodes von Rom zu entfernen, und einen weiteren Befehl an ROM, um RAM eine Kopie seines Betriebssystems zu geben, um alle anderen Komponenten dieses Systems zu aktivieren.

Hritik Nitish
quelle