categorizzazione mediante metodo di caricamento:
* caricatori assoluti: Questi caricatori richiedono al programmatore di specificare la posizione di memoria esatta in cui il programma deve essere caricato. Sono semplici ma inflessibili e non comunemente usati nei sistemi moderni. Il trasferimento viene eseguito manualmente dal programmatore.
* Caricatori trasferibili: Questi caricatori gestiscono il compito di assegnare gli indirizzi di memoria al momento del caricamento. Il codice del programma è scritto senza specifici indirizzi di memoria e il caricatore assegna gli indirizzi in base alla memoria disponibile. Questo è molto più flessibile del carico assoluto. Il trasferimento viene gestito automaticamente dal caricatore.
* Caricatori dinamici: Questi caricatori differiscono il caricamento dei moduli del programma fino a quando non sono effettivamente necessari durante l'esecuzione. Ciò migliora l'efficienza caricando solo parti necessarie di un programma, piuttosto che caricare tutto in anticipo. Comune nei sistemi operativi a supporto del collegamento dinamico. Ciò include aspetti come il caricamento pigro e la compilazione just-in-time (JIT).
* caricatori bootstrap: Questi sono i caricatori iniziali che iniziano il processo di caricamento. Sono in genere piccoli e semplici, responsabili del caricamento del kernel del sistema operativo in memoria e dell'avvio della sua esecuzione. Spesso risiede in ROM (memoria di sola lettura).
categorizzazione collegando:
* linker (spesso considerati parte della più ampia famiglia "caricatore"): Questi combinano i moduli di programma compilati separatamente in un singolo file eseguibile prima dell'inizio del lavoro del caricatore. Risolvono riferimenti esterni tra i moduli. Il caricatore carica quindi l'eseguibile collegato.
Altre categorizzazioni e considerazioni:
* Loaders Overlay: Utilizzato per programmi più grandi della memoria disponibile. Caricano e scaricano diverse parti del programma in memoria, se necessario. Questa è una tecnica più vecchia meno comune ora a causa delle capacità di memoria virtuale.
* caricatori specifici per hardware: Alcuni caricatori potrebbero essere profondamente integrati con architetture hardware specifiche, gestione della gestione della memoria specializzata o operazioni I/O.
È importante notare che queste categorie non si escludono sempre a vicenda. Ad esempio, un caricatore trasferibile potrebbe anche essere un caricatore dinamico. Le funzionalità e le capacità specifiche di un caricatore dipendono fortemente dal sistema operativo e dall'architettura hardware.
software © www.354353.com