Open Firmware: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Eskimbot (discussione | contributi)
m robot Modifico: de
m Collegamenti esterni: {{portale|informatica}}
 
(32 versioni intermedie di 25 utenti non mostrate)
Riga 1:
[[File:OpenBoot_on_UltraSparc5.png|miniatura| Schermata di OpenBoot]]
'''Open Firmware''' è una tecnologia [[hardware]] per sviluppare [[firmware]] indipendente dal sistema operativo ([[software]] caricato all'accensione del computer prima del [[sistema operativo]]) sviluppata da [[Sun Microsystems]]. È utilizzata nei computer [[Apple Macintosh]] dotati di processori [[PowerPC]], nelle workstation SPARC e nei server della [[Sun Microsystems]], nei computer [[PegasosPPC]] e in altri sistemi.
'''Open Firmware''' è uno standard che definisce le interfacce di un [[firmware]] per computer, precedentemente approvato dall'[[Institute of Electrical and Electronics Engineers]]. {{Senza fonte|Nasce alla [[Sun Microsystems]] dove era conosciuto come '''OpenBoot''' ed è stato utilizzato da diversi fornitori tra cui [[Sun Microsystems|Sun]], [[Apple]], [[IBM]] e [[ARM Holdings|ARM]].}}
 
Consente a un sistema di caricare dei [[driver]] indipendentemente dalla [[Piattaforma (informatica)|piattaforma]] direttamente da un dispositivo [[Peripheral Component Interconnect|PCI]], migliorandone la compatibilità.
È accessibile utilizzando un'interfaccia di tipo [[shell]] basata sul [[Forth]], un potente linguaggio ad altro livello, descritto nel documento dell'[[IEEE]] standard numerato IEEE-1275. Ad esempio è possibile programmare il bios in modo da risolvere il problema della [[Torre di Hanui]].
 
È possibile accedervi grazie alla sua [[interfaccia a riga di comando]], che utilizza il linguaggio di programmazione [[Forth (linguaggio)|Forth]].
== Vantaggi dell'Open firmware ==
Poiché il codice Forth viene compilato in Fcode (come un [[bytecode]]) e non nel [[linguaggio macchina]] di una particolare [[Architettura_%28hardware%29|architettura]], il codice dell'Open firmware include una I/O card che può essere eseguita da ogni sistema che usa l'Open firmware. In questo modo, un I/O card fornisce [[diagnostica]] durante il boot, codice di configurazione, e [[device driver]] che possono essere usati da qualsiasi sistema, permettendo a molte delle stesse I/O card di essere usate su sistemi Sun e Macintosh.
 
== Accessing Open FirmwareStoria ==
È rappresentato nello standard IEEE come ''IEEE 1275-1994''. Lo standard non è più stato rinnovato dal 1998 da parte dell'Open Firmware Working Group, è stato quindi ufficialmente ritirato dall'IEEE nel maggio 2005.<ref>{{Cita libro|titolo=IEEE Standard for Boot (Initialization Configuration) Firmware: Core Requirements and Practices|url=https://www.openfirmware.info/data/docs/of1275.pdf|accesso=17 gennaio 2024|data=28 ottobre 1994|lingua=en|pp=1-262|ISBN=978-0-7381-1194-0|DOI=10.1109/IEEESTD.1994.89427}}</ref>
Open Firmware displays "ok" as its prompt.
 
== Caratteristiche ==
On Sun systems, the Open Firmware interface is displayed on the console terminal prior to the bootstrapping of the system software. If a keyboard is connected, the main video display will be used as the console terminal and Open Firmware can be re-entered at any time by pressing Stop-A (L1-A) on the keyboard. If no keyboard is connected, then the first serial line on the system is usually used as the console and Open Firmware is re-entered by sending a "Break" on the serial line. While the system software is running, various Open Firmware settings can be read or written using the "eeprom" command.
L'Open Firmware definisce un modo standard per descrivere la configurazione hardware di un sistema, chiamata ''device tree''.<ref>{{Cita libro|nome=Jim|cognome=Mauro|nome2=Richard|cognome2=McDougall|titolo=Solaris Internals: Core Kernel Components|url=https://github.com/tpn/pdfs/blob/master/Solaris%20Internals%20-%20Core%20Kernel%20Architecture.pdf|accesso=17 gennaio 2024|editore=Sun Microsystems|lingua=en|p=107|ISBN=0-13-022496-0}}</ref> Questo aiuta il sistema operativo a comprendere meglio la configurazione del computer host, facendo meno affidamento sulla configurazione dell'utente e sul [[Polling (informatica)|polling]] dell'hardware. Ad esempio, Open Firmware è essenziale per identificare in modo affidabile i dispositivi [[I²C]] slave come i sensori di temperatura per il [[monitor di sistema]],<ref name=":0">{{Cita pubblicazione|nome=Constantine A.|cognome=Murenin|data=21 maggio 2010|titolo=OpenBSD Hardware Sensors – Environmental Monitoring and Fan Control|rivista=[[Università di Waterloo]]|editore=UWSpace|lingua=en|accesso=17 gennaio 2024|id=ab71498b6b1a60ff817b29d56997a418|url=http://cnst.su/MMathCS}}</ref> mentre è noto che la soluzione alternativa di eseguire un sondaggio cieco del bus [[I²C]], come deve essere fatto da un software come lm_sensors su hardware generico, in determinate circostanze provoca seri problemi hardware.<ref name=":0" />
 
Open Firmware Forth Code può essere compilato in FCode, un [[bytecode]] indipendente dall'architettura dell'[[instruction set]]. Una scheda [[Peripheral Component Interconnect|PCI]] può includere un programma, compilato su FCode, che funziona su qualsiasi sistema Open Firmware. In questo modo, può fornire [[Diagnosi|diagnostica]] all'avvio, codice di configurazione e [[driver]] di dispositivo. FCode è anche molto compatto, tanto che un driver del disco può richiedere solo uno o due kB. Pertanto, molte delle stesse schede I/O possono essere utilizzate su sistemi Sun e Macintosh che utilizzano Open Firmware. FCode implementa [[Forth (linguaggio)|ANS Forth]] e un sottoinsieme della libreria Open Firmware.
== Accedere all'Open Firmware ==
Sui sistemi Sun, l'interfaccia dell'Open firmware è visualizzata sul terminale della consolle prima del [[bootstrap]] del software di sistema. Se è connessa una tastiera, il video principale viene usato come terminale per la consolle e si può riaccedere all'Open firmware in ogni momento, premendo Stop-A. Se ne ssuna tastiera è connessa, allora la prima linea seriale sul sistema è usata solitamente come consolle e si accede all'Open firmware mandando un segnale di "Break". Mentre il software di sistema è in esecuzione, molti settaggi dell'Open firmware possono essere letti o scritti usando il comando "eeprom".
 
Essendo basato su un linguaggio di programmazione interattivo, Open Firmware può essere utilizzato per testare e sviluppare in modo efficiente nuovo hardware. Consente di scrivere e testare i driver in modo interattivo. I driver video e mouse operativi sono l'unico prerequisito per un'interfaccia grafica adatta alla diagnostica dell'utente finale. Apple ha fornito un "sistema operativo" di questo tipo diagnostico in molti Power Macintosh. Sun ha inoltre distribuito una suite di strumenti diagnostici basata su FCode denominata OpenBoot Diagnostics (OBDiag) utilizzata dal supporto del servizio clienti e dai team di produzione dell'hardware.<ref>{{Cita web|url=https://docs.oracle.com/cd/E19088-01/250.srvr/805-3389-11/6j37qsqsj/index.html|titolo=About OpenBoot Diagnostics (OBDiag)|sito=[[Oracle Corporation]]|lingua=en|accesso=17 gennaio 2024|urlarchivio=https://web.archive.org/web/20210307215853/https://docs.oracle.com/cd/E19088-01/250.srvr/805-3389-11/6j37qsqsj/index.html}}</ref>
Sui Machintosh, si può accedere all'interfaccia dell'Open firmware premendo i tasti Cmd-Option-O-F all'avvio. Questa funzionalità è generalmente usata dagli sviluppatori; per gli utenti comuni [[Mac OS X]] fornisce una [[interfaccia grafica]] di alto livello per modificare l'Open firmware. Per esempio è possibile specificare il disco di [[boot]] o la [[Partizione_%28disambigua%29#Informatica|partizione]] senza usare direttamente l'interfaccia dell'Open firmware.
 
== Implementazioni e licenze ==
==Collegamenti esterni ==
Diverse implementazioni commerciali di Open Firmware sono state rilasciate alla comunità Open Source dal 2006, tra cui Sun OpenBoot, Firmworks OpenFirmware e Codegen SmartFirmware. Il codice sorgente è disponibile dal progetto [[OpenBIOS]]. {{Senza fonte|L'implementazione di Sun è disponibile con [[licenze BSD]].}}
*{{en}} http://playground.sun.com/1275/mejohnson/
*{{en}} http://www.firmworks.com
 
== Note ==
[[Categoria:Mac OS X]]
<references />
[[Categoria:Hardware Apple]]
 
== Voci correlate ==
[[de:Open Firmware]]
* [[Coreboot]]
[[en:Open Firmware]]
* [[fr:OpenPower-on Firmwareself-test]]
* [[PowerPC Reference Platform]]
[[ja:Open Firmware]]
* [[UEFI]]
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
 
{{Norme IEEE}}
{{portale|informatica}}
[[Categoria:Hardware libero]]
[[Categoria:Mac OS XBIOS]]
[[Categoria:Standard IEEE]]
[[Categoria:Software Sun]]
[[deCategoria:Open Firmware]]
[[Categoria:Tecnologie di macOS]]
[[Categoria:Hardware Apple]]