Estratto del documento

Danilo Avola - Parte A/B

Firmware

Firmware è un termine composto da "firm" (azienda) + "wire" (componente) e si riferisce a un programma che non è modificabile immediatamente dall’utente finale. Risiede stabilmente nell’hardware integrato in esso, rappresentando il punto di incontro tra componenti logiche e fisiche, ossia tra software e hardware. È un programma integrato direttamente in un componente elettrico nel senso più vasto del termine (integrati, schede elettroniche, periferiche ecc.). Lo scopo è quello di avviare il componente stesso e consentirgli di interagire con altri componenti tramite l’implementazione di protocolli di comunicazione o interfacce di programmazione.

Scheda madre

Il firmware più conosciuto come BIOS è responsabile del corretto avvio del computer.

BIOS

BIOS (Basic Input Output System) è un insieme di routine software (firmware) che forniscono la struttura di base con cui il Sistema Operativo (OS) si collega all’hardware. Può essere presente in diversi componenti, quali schede madri, memorie di massa, schede video ecc. In particolare si trova ovunque si abbia la necessità di gestire hardware complesso dotato di processori delicati. È un software non volatile contenuto in un chip di memoria, cioè in grado di mantenere i dati in assenza di alimentazione. Attualmente risiede su memorie riscrivibili dette FLASH o EEPROM che hanno la caratteristica di essere aggiornabili tramite un opportuno upgrade del sistema.

Firmware-BIOS

All’avvio del dispositivo (es. computer), ancora prima che il OS venga caricato, il BIOS si occupa di effettuare diverse operazioni come:

  • Governare l'hardware avviando diverse routine di test dette POST (Power On Self Test) per verificare il corretto funzionamento dei circuiti della scheda madre, del processore, della memoria e di tutto ciò che è installato nel dispositivo.
  • Avviare un programma di gestione delle periferiche, nel caso in cui non vengano rilevati errori gravi nella fase di POST.
  • Avviare una schermata video per consentire all’utente di intervenire nella modifica di alcune operazioni marginali di avvio del BIOS stesso.
  • Inizializzare la routine di BOOT che avvia il OS. Il BOOTSTRAP è un processo incrementale con il quale viene letta quella parte del OS che si trova nel settore di BOOT (disco di avvio) e che carica progressivamente le parti del sistema operativo atte a rendere la macchina in uno stato stabile e utilizzabile.

Dopo la lettura della routine di base del BIOS, si ha come prima istruzione quella di puntare all’inizio del disco rigido (o di altro supporto di massa) sul quale è ospitato il Sistema Operativo. All’interno di questa posizione si trova l’MBR (Master Boot Record). Il BIOS legge il contenuto dell’MBR e gli trasferisce controllo, da qui è compito suo gestire il device.

MBR

Il MBR sa dove nel disco rigido (o altro dispositivo di massa) è posto il BOOT SECTOR, il punto di inizio/avvio del sistema operativo.

UEFI

UEFI (Unified Extensible Firmware Interface) segue la sequenza UEFI – EFI BOOT LOADER – KERNEL – OPERATING SYSTEM.

Sistema operativo

Il sistema operativo è il software di base che sovrintende al funzionamento dell’intero computer, all’esecuzione dei programmi e all’interazione con gli utenti. È lo strato software che si colloca tra l’hardware della macchina e il software applicativo utilizzato dall’utente e fornisce un’astrazione dell’hardware ai programmi software. Ad ogni dispositivo è affidato un sistema operativo che ne permette il funzionamento in quanto progettato su di esso. Si occupa della:

  • Gestione delle componenti hardware
  • Esecuzione dei programmi
  • Interazioni con le periferiche
  • Interazione con gli utenti
  • Definire la modalità operativa del computer
  • Definire la modalità di utilizzo del computer da parte degli utenti

Esempi di sistemi operativi: Microsoft Windows, GNU Linux, APPLE OS X, Sun Solaris, HP-UX, IBM-AIX, IBM Z-OS, Google Android, Apple IOS, Chrome OS, FreeBSD, NetBSD, Plan9, GNU Hurd…

Caratteristiche di un sistema operativo

Il sistema operativo definisce la modalità operativa della macchina:

  • Sistema operativo batch: il computer esegue programmi in modalità non interattiva; l’utente carica dati e programmi e solo al termine dell’elaborazione ottiene un output.
  • Sistemi operativi time sharing interattivi: la macchina esegue più programmi dedicando a turno a ciascun programma una parte del tempo CPU; l’utente interagisce con il programma durante la sua esecuzione, fornendo input e ottenendo output anche durante l’esecuzione.
  • Sistemi operativi hypervisor: il sistema operativo consente la ripartizione delle risorse hardware in più macchine virtuali di cui presenta un’astrazione per poter eseguire, come programmi, altri sistemi operativi ospiti.
  • Sistemi operativi real time: la macchina è dedicata a manovrare gli apparati (es. un braccio robotizzato, un tornio a controllo numerico ecc) e il SO garantisce l’esecuzione del programma in tempo predefinito senza latenze o possibilità di deterioramento delle prestazioni.
  • Sistemi operativi embedded: il computer ed il OS sono integrati in un apparato hardware (es. automobile) e ne controllano il funzionamento di alcuni comportamenti.

I sistemi operativi possono essere:

  • Mono-task: mono programmazione e consente l’esecuzione di un solo programma per volta; un secondo può essere eseguito al termine del lavoro del primo (Microsoft MS-DOS, Apple System 1-5).
  • Multi-task: multi programmazione e consente l’esecuzione di più programmi in contemporanea, dedicando a ciascuno un po' del tempo di elaborazione (Microsoft Windows, Apple System 6-9, Apple OS X, GNU Linux, Sun Solaris..).
  • Multi-tasking cooperativo: versione poco efficiente di multi-tasking in cui il programma (e non il sistema operativo) stabilisce quando rilasciare la CPU per l’esecuzione di istruzioni di altri programmi.
  • Multi-threading: un programma viene suddiviso in più thread distinti, eseguiti contemporaneamente sulla stessa CPU, in modo da migliorare le performance del programma utilizzando più a fondo la CPU; deve essere supportato da un hardware (CPU) che lo renda possibile (Microsoft Windows NT/2000/.., GNU Linux, Sun Solaris..).
  • Mono-utente: il SO non possiede il concetto di utente e non distingue l’utente che utilizza il computer (Microsoft MS-DOS, Microsoft Windows 95/98, Apple System 1-9).
  • Multi-utente: il sistema operativo possiede il concetto di utente e assegna a ciascun utente file sulla memoria secondaria e processi in esecuzione (Microsoft Windows NT/2000/.., GNU Linux, Sun Solaris..).

Un computer è un sistema formato da diverse componenti: un’unità centrale connessa con un insieme di unità periferiche. Il sistema operativo garantisce il funzionamento di tutte queste componenti elettroniche, elettromagnetiche e meccaniche, coordinando la comunicazione tra le diverse unità. Tra le interfacce di rete: Ethernet, Wi-Fi, GSM, ecc. Tra le porte di connessione: parallela, USB, Bluetooth, Thunderbolt ecc.

Kernel

Il kernel costituisce il nucleo fondamentale del sistema operativo: sul kernel si appoggiano le altre funzioni del sistema operativo stesso. In base alla struttura interna del SO e del suo kernel si distinguono 3 macro-tipologie differenti:

  • Sistemi operativi a kernel monolitico: implementa una completa astrazione del computer su cui gira il sistema operativo stesso (GNU Linux, FreeBSD).
  • Sistemi operativi a micro-kernel: implementano nel kernel solo le funzioni essenziali, demandano ad altri programmi di sistema (device driver, server) l’implementazione delle altre funzioni (Minix, IBM AIX..).
  • Sistemi operativi ibridi: implementano nel kernel diverse funzioni del sistema operativo, ma al momento dell’avvio possono caricare dei moduli aggiuntivi che arricchiscono e integrano le funzioni offerte dal kernel.
Anteprima
Vedrai una selezione di 4 pagine su 14
Riassunto esame informatica Prof. Avola Pag. 1 Riassunto esame informatica Prof. Avola Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Riassunto esame informatica Prof. Avola Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Riassunto esame informatica Prof. Avola Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher basileaas di informazioni apprese con la frequenza delle lezioni di Informatica e tecnologie della comunicazione digitale e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Roma La Sapienza o del prof Avola Danilo.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community