HACKING 120% {Hacking, programmazione, computer & molto altro}

Bootstrap

« Older   Newer »
  Share  
view post Posted on 2/9/2013, 20:45     +1   -1

Utente

Group:
Utenti UP
Posts:
43
Reputation:
0
Location:
Kernel.

Status:


Il termine originale inglese è bootstrap (la fascetta di cuoio cucita sul bordo posteriore degli stivali per aiutarsi a calzarli), da cui la contrazione boot (e termini derivati come booting e reboot. Esiste il modo di dire inglese pull yourself up by your bootstraps (tirati su da solo prendendoti per le stringhe degli stivali

Esiste il modo di dire inglese pull yourself up by your bootstraps (tirati su da solo prendendoti per le stringhe degli stivali), che significa "datti da fare da solo per tirarti fuori dai guai, senza aspettare l'aiuto di altri".

IL SO deve trovarsi in una memoria non volatile, quindi nella memoria secondaria, ma la CPU esegue solo programmi che si trovano in memoria principale (RAM) PERTANTO il bootstrap comporta il caricamento del SO nella RAM.

Quindi nel momento dell'accensione della macchina, il SO si trova nella memoria secondaria.

Problema:
Il software che si occupa di trasferire i dati della memoria secondaria alla memoria principale è il SO e se il SO non si trova nella RAM non può essere eseguito.

Soluzione:
Esiste un piccolo programma detto BIOS che ha la sola funzione di caricare la prima parte di SO dalla memoria secondaria.

Il BIOS deve trovarsi nella memoria principale, ma non in quella volatile (RAM), bensì nella ROM.

Contenuto SO nel BIOS:
• Configurazioni
• Routine avvio
• routine caricamento SO
Tutto il resto è contenuto nell'hard disk.

Soluzione alternativa:
• mettere tutto il SO nella ROM

Non Accettabile:
• la ROM è di sola lettura e il SO deve essere modificabile, ed ed. nuovi settaggi o aggiunta di patch o upgrade

All'accensione di un computer il processore resta inizialmente sospeso nello stato di RESET dall'hardware, che tiene attivo il corrispondente ingresso della CPU finché le tensioni di alimentazione non sono stabili.

Appena il segnale di RESET viene disattivato il processore carica la sua prima istruzione da una locazione fissa del suo spazio di memoria, a cui di solito corrisponde una ROM o altra memoria non volatile.

Si tratta quasi sempre di una istruzione di salto incondizionato (JMP) che porta l'esecuzione al vero inizio del programma di firmware (o del BIOS, se si tratta di un personal IBM compatibile) che poi prende il controllo del computer.

Le principali operazioni di inizializzazione del SO sono:
• Identificazione dei dispositivi di memoria secondaria
• Identificazione periferiche di I/O
• Inizializzazione delle relative gestioni periferiche

Fase di boot:
• Accensione macchina
• esecuzione BIOS
• CPU carica ed esegue dalla memoria secondaria alla RAM
• Utente può lavorare
• Segnala virus

Command:
• parte iniziale del SO
• Deve avere una posizione fissa alcuni virus la spostavano

Nel caso di dispositivi embedded (ovvero sistemi dove il sistema operativo è mischiato con il programma esecutivo) dotati di semplice firmware, le procedure di bootstrap sono estremamente variabili da caso a caso. Nei personal computer IBM compatibili il firmware è costituito dal BIOS, che compie una serie di operazioni ben definite prima di caricare il sistema operativo e trasferire ad esso il controllo.

Tutti i processori IA32 caricano la prima istruzione dopo il RESET dall'indirizzo esadecimale 0xFFFFFFF0 (i loro predecessori a 16 bit dall'indirizzo 0xFFF0), a cui corrisponde una locazione di memoria non volatile. I passi compiuti dal BIOS sono:
1.il POST (Power On Self Test), una serie di test diagnostici per verificare il corretto funzionamento dell'hardware e della scheda madre: se tutti i dispositivi controllati sono funzionanti emette un solo "beep" dall'altoparlantino di sistema e prosegue, ma se uno o più dispositivi fra quelli testati non funzionano, l'altoparlante emetterà una serie di bip, lunghi o corti, in numero variabile secondo un codice ben preciso che indica la periferica guasta e il tipo di problema riscontrato
2.cerca una scheda video installata, prima di tutto quella che secondo i suoi dati interni dovrebbe essere presente, ed esegue il POST video che si trova nella ROM interna della scheda video.
3.cerca eventuali ROM di altri dispositivi installati e ne esegue le routine POST.
4.esegue altri test, come il conteggio della memoria e lo stato della tastiera. Se incontra degli errori, non ricorre al codice sonoro dei bip ma (ora può farlo) mostra un messaggio a video.
5.mostra a video una schermata di presentazione, con alcuni dati sull'hardware di quel particolare computer.
6.compila l'inventario completo del tipo di hardware installato e delle capacità riscontrate: registra i timing della memoria, i parametri fisici dei dischi rigidi e i modi di accesso che questi supportano, le porte seriali e parallele e le loro velocità, se hanno una FIFO, e altri.
7.(se il BIOS supporta il Plug and Play) configura automaticamente i dispositivi Plug and Play presenti e mostra un messaggio a video per ciascuno di essi.
8.si interfaccia con la memoria CMOS, contenente i parametri di configurazione suscettibili di modifica, ed esegue le relative istruzioni dopo averne verificato l'integrità attraverso un algoritmo di checksum.
9.Infine, cerca una unità a disco da cui caricare il sistema operativo. Se c'è, carica in RAM, all'indirizzo 0000:7C00, il primo settore del disco (cilindro 0, testina 0, settore 1), che corrisponde al master boot record (MBR) e l'esecuzione continua da lì.

Il MBR ve lo ha gia illustrato WetWater.

Fonti: Me + Slide date a scuola dal mio prof + Sua spiegazione.
Stavolta ho cercato di scriverlo io il più possibile solo prendendo alcuni spunti.

Spero sia utile.
Saluti.
 
Top
view post Posted on 2/9/2013, 21:04     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


Utilissimo, mi hai fissato qualche lacuna, grazie :)

Il post sull'mbr è qui:

https://hacking120.blogfree.net/?t=4208869

Però se mi ricordo bene è quasi tutto copia e incolla da wiki :P
 
Web  Top
view post Posted on 2/9/2013, 21:15     +1   -1

Utente

Group:
Utenti UP
Posts:
43
Reputation:
0
Location:
Kernel.

Status:


Sì le slide le ha create il mio PROF alcune cose come la storia del termine e le fasi le ha copiate dalla Wiki.
E' inutile è sempre uguale come ho già scritto nell'altro post.

Cosa più utile da tener conto sono i problemi di avvio ovvero il fatto che il sistema operativo per essere eseguito deve essere sulla RAM, e qui entra in gioco il BIOS.

Questa è la parte importante!!
 
Top
view post Posted on 2/9/2013, 21:26     +1   -1
Avatar

Water can take unforseen forms.

Group:
Founder
Posts:
5,273
Reputation:
+1,147
Location:
Shabang

Status:


Intendevo che il mio post è praticamente preso tutto da wiki :)
 
Web  Top
view post Posted on 2/9/2013, 21:28     +1   -1

Utente

Group:
Utenti UP
Posts:
43
Reputation:
0
Location:
Kernel.

Status:


Ah, comunque anche questo ha alcune parti copiate da Wiki. :P
 
Top
4 replies since 2/9/2013, 20:45   87 views
  Share