Firmware

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Oprogramowanie układowe, oprogramowanie sprzętowe, mikrooprogramowanie[1] (ang. firmware) – oprogramowanie wbudowane w urządzenie, zapewniające podstawowe procedury jego obsługi. Nowsze urządzenia posiadają często możliwość aktualizacji tego oprogramowania dzięki umieszczeniu go na przykład w pamięci typu flash lub EEPROM. Inną definicją firmware (mikrokodu) jest kod poniżej systemu operacyjnego (a wręcz kodu maszynowego komputera) - przykładowo firmware karty sieciowej w przeciwieństwie do sterowników nie jest częścią systemu operacyjnego. Mikrokod może być małych rozmiarów - jak firmware w karcie sieciowej, bądź stanowić wydzielony system, przykładowo kontrolerem napędów taśmowych 3490E-F01 jest serwer x86 pracujący pod kontrolą systemu operacyjnego Sinix. Jednakże z punktu widzenia systemu operacyjnego korzystającego z napędów kod ten realizuje zdefiniowane protokołem funkcje sprzętowe.

Reflektometr optyczny firmy Yokogawa podczas pomiarów długości światłowodu z widocznym na ekranie efektem pracy własnego, wbudowanego oprogramowania.

Historia[edytuj]

Ascher Opler zastosował pojęcie "firmware" w artykule Datamation w roku 1967.[2] Początkowo termin oznaczał zawartość zapisywalnego fragmentu pamięci CPU, zawierającej mikroprogram który definiował i implementował zestaw instrukcji komputera, ponadto mógł być przeładowany np. w celu modyfikacji instrukcji, które procesor był w stanie wykonać. Pierwotnie firmware kontrastowało ze sprzętem komputerowym (CPU) i oprogramowaniem (standardowe instrukcje wykonywane przez CPU). Nie składało się ono z instrukcji maszynowych procesora lecz z mikrokodu niższego poziomu odpowiedzialnego za implementację instrukcji. Firmware istniało na "pograniczu" między sprzętem a oprogramowaniem, stąd powstała nazwa "firmware". Z czasem znaczenie pojęcia "firmware" poszerzyło się, odnosząc się do wszystkich danych zapisywanych w pamięci ROM, w skład których wchodziły instrukcje procesora dla BIOS-a, programu rozruchowego, lub aplikacji dedykowanych.

Do połowy lat 90. aktualizacje firmware przeważnie wiązały się z podmianą pamięci zawierającej firmware (przeważnie były nimi układy scalone ROM.) Pamięć typu flash dawała możliwość aktualizacji firmware bez konieczności fizycznego usuwania układów scalonych z systemu. Błąd w trakcie procesu aktualizacji mógł permamentnie uszkodzić urządzenie; system jest na to narażony, gdy fragmenty pamięci flash - zawierające oprogramowanie "źródłowe" lub program aktualizujący - zostaną usunięte i przeprogramowane. Jeżeli proces aktualizacji zostanie gwałtownie przerwany, oprogramowanie może przestać działać prawidłowo i tym samym uruchomienie urządzenia i wznowienie aktualizacji będzie niemożliwe. Aby tego uniknąć, pamięć flash powinna posiadać zabezpieczoną sekcję tylko do odczytu, zawierającą oprogramowanie "źródłowe". Wadą producenta jest fakt, że oprogramowanie tylko do odczytu nie może być zmodyfikowane, i musi być poddane bardzo dokładnym testom.

Przykłady urządzeń posiadających firmware[edytuj]

Zobacz też[edytuj]

Przypisy

  1. Narodowy Fotokorpus Języka Polskiego. NFJP. [dostęp 2017-06-05].
  2. Opler, Ascher. Fourth-Generation Software. „Datamation”. 13 (1), s. 22–24, styczeń 1967. 
  3. Firmware aparatu cyfrowego – co to jest?. 2003-05-16. [dostęp 2009-07-09].