Caricare documenti e articoli online 
INFtub.com è un sito progettato per cercare i documenti in vari tipi di file e il caricamento di articoli online.


 
Non ricordi la password?  ››  Iscriviti gratis
 

IL SISTEMA OPERATIVO - CLASSIFICAZIONE DELLE RISORSE

informatica



IL SISTEMA OPERATIVO


CLASSIFICAZIONE DELLE RISORSE

RISORSE PERMANENTI: sono tutte quelle risorse che non vengono modificate durante il loro utilizzo e possono essere utilizzati in successione da diversi processi (stampante, sistema operativo, processore.)

a)    SERIALI: le risorse permanenti che sono utilizzate da un solo processore per volta

b)   COMUNI: le risorse permanenti che sono utilizzate da + processori contemporaneamente

RISORSE CONSUMABILI: sono tutte le risorse che hanno vita limitata nel tempo e nei diversi istanti possono essere presenti in numero variabile.




RISORSE CONDIVISIBILI: sono utilizzate da + processori contemporaneamente (programmi del sistema operativo)

RISORSE NON CONDIVISIBILI: sono utilizzate da un solo processore per volta


IL SISTEMA OPERATIVO

Il sistema operativo è un insieme di programmi aventi lo scopo di rendere disponibili all'uso le risorse di calcolo e i dispositivi collegati al computer. Esso è nato per semplificare l'utilizzo da parte dell'utente ed è utilizzato per gestire le risorse hardware (processore) e software (sistema operativo) cioè le risorse del sistema. Esso funziona da interfaccia tra l'utente le la macchina. Esso è espresso in linguaggio macchina ovvero in codice binario.

Ogni istr  uzione è composta da due parti: codice operativo operandi

Il sistema operativo può essere:

PORTATILE: se si adatta a "piattaforme" hardware diverse. È l'attitudine del sistema ad essere eseguito su macchine diverse. Cresce quando è minore il costo delle modifiche necessarie

PROPRIETARIO: se viene costruito solo per una macchina e funziona solo su quella macchina

Il sistema operativo può anche essere definito come un insieme di moduli ognuno specializzato per una specifica funzione. Ogni modulo di livello superiore può colloquiare con i moduli di livello inferiore per interposta persona.

Le primitive sono funzioni predefinite che mettono in comunicazione un modulo con gli altri. Cioè un modulo passerà un dato ad un altro modulo grazie alle primitive.


Modul 828i82i o





Modul 828i82i o


Sono scritti in linguaggi evoluti come il C++





Modul 828i82i o






Modul 828i82i o

È l'unico modulo scritto in linguaggio macchina

È l'unico modulo che può interagire con l'hardware attraverso il linguaggio macchina.

Gli altri moduli interagiscono con l'hardware attraverso linguaggi + evoluti (es. C++)




Hardware



I SISTEMI MONOPROGRAMMATI E MULTIPROGRAMMATI

SISTEMI MONOPROGRAMMATI: utilizzano le risorse per l'avanzamento di un unico programma (programma dei PC).

La sua memoria centrale contiene, in un dato istante, il codice utente proveniente da un unico programma

SISTEMI MULTIPROGRAMMATI: utilizzano risorse per l'avanzamento di più processi legati ad utenti diversi.

Consiste, cioè, nell'usare un'unica CPU per eseguire più programmi utente nel periodo di sospensione dell'esecuzione delle routine di sistema.

Il sistema deve avere queste peculiarità:

stabilire una priorità di programmazione

proteggere i dati dei diversi programmi

risolvere i conflitti relativi alle risorse impiegate

In parole povere si vuole massimizzare il rendimento della macchina attraverso il SYSTEM OVERHEAD.

Tale sistema di carico di lavoro in più imposto dal sistema si basa sui concetti di:

TIME SHARING: tempo utilizzato dalla risorsa per essere eseguita

TIME SLICE: tempo a disposizione per l'esecuzione tra una routine e l'altra


SISTEMI DEDICATI ( Windows, Unix)

Tutte le risorse sono dedicate all'avanzamento di un singolo processo.

Tali sistemi prevedono, dunque, l'utilizzo da parte di un solo utente per volta.

Essi supportano:

MULTITASKING: tipo di multiprogramazione nella quale + applicazioni (TASK) vengono eseguite contemporaneamente sulla stessa macchina scambiando tra loro dati e risultati

MULTITHREADING: indica i meccanismi di protezione delle singole operazioni scomponendole in parti + piccole (THREAD) le quali procedono indipendentemente


SISTEMI BATCH

Si basa sul concetto di INTERATTIVITA' (fornire dati su richiesta...)

Solitamente si utilizzano file di questa estensione quando:

si hanno sequenze sempre uguali di comandi

si vuol far eseguire un'operazione complessa ad un utente non esperto

All'interno di questi file è inclusa una procedura suddivisa in 3 fasi di lavoro dette JOB STREAM

preparazione dei dati. Avviene sui dispositivi offline sui quali vengono inseriti i propri job (nastri, perforatori di schede.)

inoltro all'elaboratore: opportune periferiche portano online i risultati dei job (lettori di dischi o nastri)

ritiro dei risultati

oppure:

inserimento dei dati

i dati passano attraverso gli elaboratori di canale (dispositivi di trasporto dell'output)

gli elaboratori di canali li trasportano al BUFFER (area di memoria temporanea)

quando il buffer raggiunge la completezza i dati vengono scaricati alla componente logica

la componente logica li invierà alla periferica destinataria tramite altri elaboratori di canale


SISTEMI REAL TIME

Cerca di avere una risposta istantanea agli stimoli

Si basa sulla:

correttezza matematica del risultato

correttezza cronologica

Essendo praticamente impossibile la realizzazione in tempo nullo di un'operazione si parla di:

TEMPO REALE IN SENSO LATO: il tempo di reazione non è essenziale alla corretta evoluzione dell'ambiente in cui è inserito, ma può variare in un intervallo. Oggi definiti SISTEMI INTERATTIVI

TEMPO REALE IN SENSO STRETTO: sistema di calcolo con tempi di reazione minori dell'ambiente in cui è inserito. Oggi riconosciuti come gli unici sistemi a tempo reale.


I PROCESSI

I PROCESSI sono insiemi formati da un elenco finito di azioni da eseguire in sequenza e da dati che vengono elaborati dalle azioni stesse. Al contrario del programma, il processo si evolve nel tempo ed è sequenziale.

Un programma diventa un processo passando per + stadi. L'esecuzione di un programma genera sempre almeno un processo.

Nella coda dei processi in attesa i motivi per cui si passa da un programma all'altro sono:

termine del programma la scelta del programma successivo in esecuzione è automatica e il periodo di tempo impiegato per compiere l'operazione è chiamato tempo di riassegnamento.

il programma richiede operazioni relative ad un altro modulo

scade il time slice ovvero il tempo a disposizione per l'esecuzione tra una routine ed un'altra.

Memoria di massa ROM (Read Only Memory) si trovano istruzioni permanenti (circuiti)


Sistema Operativo NUCLEO

RAM (Random Acces Memory)

Sistema operatico

Programma 1 


Programma 2



Il processo è in memoria di massa ed attende di essere caricato in memoria centrale.

All'accensione della macchina viene eseguito il BOOTSTRAP (caricamento del sistema). Esso è automatico e il processo viene caricato in memoria centrale.

Il NUCLEO è il gestore dei processi ovvero colui che fa avanzare i processi.

Nella prima fase il processo è in uno STATO DI PRONTO dove necessita della risorsa principale cioè la CPU.

Quando poi la CPU si libera avviene la vera e propria esecuzione e il programma diviene in STATO DI ESECUZIONE. Se durante l'esecuzione si verificano degli intoppi, essa si interrompe. Le tipiche operazioni che possono creare degli intoppi sono quelle di input e output. In questo caso il programma passa in uno STATO DI ATTESA in quanto la CPU viene portata via.

Le interruzioni sono segnali emessi al verificarsi di determinati eventi e influiscono sulla CPU. Essi possono essere:

SINCRONE: quando sono sincronizzate con l'orologio della macchina. (quella emessa quando termina il time slice)

ASINCRONE: quando non sono sincronizzate con l'orologio della macchina.

(quella emessa quando finisce la carta della stampante, quando salta la corrente, quando si verifica un OVERFLOW)

Successivamente, terminate le operazioni di I/O, si ritorna allo stato di pronto, poi si passa allo stato di esecuzione ed infine allo STATO DI TERMINAZIONE.


Memoria di massa stato di pronto

Stato di esecuzione


Stato di terminazione

Stato di attesa



Il processo è in stato di pronto e la CPU viene messa a disposizione per un quanto di tempo denominato TIME SLICE. Il processo, quindi, avanza e le operazioni vengono eseguiti per tempi cortissimi. Quando il tempo è finito il processo ritorna nello stato di pronto, mentre la CPU passa ad un altro processo.

Ogni terminale chiede l'esecuzione dei programmi e, mediante il codice macchina, ottiene la sua risorsa. Gli altri processi fermi nello stato di attesa si raggruppano nella coda dei pronti


CPU

PR1

PR2

PR3

PR4




Tecnica "roud robin": nel momento in cui il time slice termina il processo si riaccoda nella tabella dei pronti

Nel momento in cui, invece, la CPU viene tolta senza che il time slice sia stato completato il processo si inserisce nella coda in base al tempo che ha utilizzato.

Per i processi + lunghi vengono utilizzato + time slice e vengono utilizzati + gradi di priorità. Man mano che i processi avanzano si raggiunge una priorità + bassa. Per questo motivo il sistema operativo viene definito DINAMICO

Il SO è definito STATICO quando......

La priorità dipende dalle operazioni di I/O e quindi un processo passera in + stati di attesa + è alta la priorità.

Nella gestione dei processi non si deve mai verificare lo STALLO. Lo stallo si ha quando due processi cooperano ed entrambi si bloccano. Per non verificarsi lo stallo, lo scambio di dati tra i processi deve essere sincronizzato.

TEORIA DEI "5 FILOSOFI": se tutti i 5 filosofi mangiano insieme, tutti devono prendere la bacchetta destra. Se uno prende la bacchetta sinistra, i filosofi entrano in competizione e si crea lo stallo

Ogni processo è UNIVICAMENTE caratterizzato da un DESCRITTORE il quale contiene:

l'identificatore di un processo (nome)

lo stato di avanzamento di un processo

il grado di priorità

il riferimento alla memoria centrale occupata

unità di input/output assegnate

i file aperti

tempo della CPU utilizzato

contenuti di alcuni registri

MACCHINE VIRTUALI

Il SO è formato da livelli in cui il calcolatore è il + basso e l'utente è il + alto.

I livelli sono formati da moduli o BLACK BOX cioè insiemi di routine che attivano i meccanismi fisici per risolvere problemi logici simili. La procedura standard grazie per mezzo della quale il modulo mette a disposizione i servizi è chiamata PROCEDURA PRIMITIVA.

I moduli virtualizzano i dispositivi cioè li trasformano in MACCHINE VIRTUALI capaci di risolvere operazioni complesse come fossero elementari.

Le operazioni possono essere:

OPERAZIONI LOGICHE: necessità da parte dell'utente di ottenere un risultato

OPERAZIONI FISICHE: esecuzione di molteplici operazioni elementari che permettono la risoluzione di problemi dipendenti dall'elaboratore e dalla stampante richiesta

Il sistema operativo genera un insieme di macchine virtuali capaci:

di risolvere il problema dell'utilizzo delle risorse da parte dei moduli di livelli superiori

di moltiplicare il numero di dispositivi possibili

Per meglio esprimere questo concetto viene utilizzato il modello "A BUCCIA DI CIPOLLA" il quale rappresenta il sistema operativo come una piramide rovesciata alla cui base sta l'hardware e al cui limite stanno gli utenti.

Ogni strato intermedio è costituito da un modulo costituito da programmi implementati a quelli del livello sottostante attraverso le primitive che questo mette a disposizione  


Utente

Interprete dei comandi

File system

Gestione periferiche

Gestione memoria

Nucleo

Hardware


NUCLEO

L'unità centrale di processo (CPU) è un esecutore sequenziale di operazioni, quindi è un processore.

In multiprogrammazione la sequenza di operazioni è costituita da sottosequenze generate da processi diversi e routine di interruzione.

Il nucleo dipende strettamente dall'hardware in quanto è la parte del sistema operativo + vicino all'hardware. Spetta, dunque, al nucleo eseguire tutte le operazioni relative ai processi.

Il problema delle priorità nel nucleo si risolve attraverso le politiche di SCHEDULING e in particolare attraverso il processo di SCHEDULER (gestore dei processi) che ha priorità assoluta così come il processo di INTERRUPT HANDLER il quale si occupa della gestione delle interruzioni. Tali processi a priorità assoluta sono favoriti utilizzando time slice + lunghi o scegliendoli + spesso all'interno delle code di attesa.

I SOTTOMODULI DEL NUCLEO

SCHEDULATORE DEI LAVORI: sceglie, tra quelli proposti dall'utente, i lavori da eseguire e li carica in memoria centrale creando i relativi processi

SCHEDULATORE DEI PROCESSI: decide a quale processo assegnare il processore in base a diverse politiche di gestione (vedere round robin)

CONTROLLORE DEL TRAFFICO: controlla l'avenzamento dei singoli processi mediante le transizioni da uno stato all'altro


LA GESTIONE DELLA MEMORIA

Si basa sul concetto di virtualizzazione della memoria centrale per ogni processore virtuale creato dal nucleo.

I metodi per l'uso della memoria centrale sono:

METODO A PARTIZIONI FISSE: suddivisione della memoria centrale in parti di uguali dimensioni. I programmi che risiedono in memoria devono corrispondere al numero di partizioni fisse.

Svantaggi:   - il numero massimo di processi che possono essere allocati in memoria è prefissato

spreco di memoria perché un programma di solito ha dimensioni minori di quelle della partizione. Tale partizione non può però essere utilizzata da un altro programma

il programma può essere di dimensioni maggiori della partizione

Vantaggi: - minor carico di lavoro svolto dal sistema operativo


METODO A PARTIZIONI VARIABILI: Man mano che un programma viene eseguito vengono create le partizioni

Se si libera una partizione di dimensione inferiore rispetto al programma che bisogna inserire, tale programma deve    aspettare spazio. Se si liberano due partizioni vicine possono essere occupate entrambe dallo stasso programma anche se non viene occupato tutto lo spazio.

Man mano si inseriscono i programmi si crea una deframmentazione cioè periodicamente i programmi presenti in memoria centrale devono essere portate verso l'alto per non avere troppi spazi liberi.

Svantaggi:   - maggior carico di lavoro svolto dal sistema operativo

Vantaggi: - mancanza di un numero fisso di partizioni

ogni partizione ha dimensioni uguali al programma. Dunque non c'è uno spreco di memoria

La scelta della partizione viene fatta seguendo una fra le seguenti logiche di azione:

individuazione del FIRST FIT: si individua il primo spazio libero di dimensione sufficiente a contenere il processo

individuazione del BEST FIT: si individua il minore tra gli spazi atti a contenere il processo

La gestione della memoria virtuale si realizza attraverso due diverse tecniche di suddivisione dei programmi in blocchi:


PAGINAZIONE:

ogni programma viene diviso in blocchi di uguale dimensioni detti PAGINE LOGICHE, a loro volta corrispondenti a PAGINE FISICHE create con la suddivisione della memoria centrale.

Per riassumere la situazione interna delle varie pagine dei programmi si utilizza una tabella:

flag di presenza fisica

Indirizzo fisico della pagina occupata

Indirizzo logico su disco di MM

Flag di modifica





Il processo di distribuzione su disco di routine, tabelle e pagine è detto PINNING il quale evita che le pagine intacchino la zona di residenza del nucleo del SO


SEGMENTAZIONE:

la partizione del programma è impostata da criteri logici e quindi può essere scelta dal programmatore.

Ogni blocco è detto segmento in quanto ogni blocco ha lunghezza diversa.

Essendo, al contrario della paginazione, l'applicazione della partizione variabile in memoria centrale, non avrà una suddivisione ben specifica.

Per riassumere la situazione interna delle varie pagine dei programmi si utilizza una tabella:

flag di presenza fisica

Indirizzo di impianto

Dimensione del segmento

Indirizzo su disco del segmento





Gli svantaggi dell'applicazione di questo metodo sono:

frammentazione in quanto le aree liberate possono essere occupati da processi + piccoli

difficoltà di costruire aree libere di dimensioni assegnate con lo scaricamento

difficoltà d'interpretazione delle tabelle

vantaggi:

mancanza di un numero fisso di partizioni

possibilità di far condividere a + processi alcuni segmenti


LA GESTIONE DELLE PERIFERICHE

Le periferiche sono dispositivi di input/output collegati all'unità centrale.

In questo 3° livello vengono virtualizzati proprio questi dispositivi in modo da:

mettere a disposizione la capacità delle periferiche nascondendo i meccanismi di comunicazione con una primitiva

gestire i contrattempi comuni che si verificano nella trasmissione di dati

In questo modo si offre la possibilità di aumentare virtualmente le periferiche attraverso lo SPOOLING che consiste nell'uso contemporaneo di una periferica da parte di diversi processi attraverso una coda detta CODA DI SPOOL (Simultaneous Peripheral Operation On Line) il quale segue la logica del FIFO


FILE SYSTEM

È il virtualizzatore delle memorie di massa.

Le sue funzioni sono:

ottimizzare la gestione dello spazio disponibile su memoria di massa

garantire l'accesso ai dati di un file anche da parte di + utenti contemporaneamente

fornire una certa protezione dei file dall'intervento di altri utenti

rendere disponibili le operazioni di uso comune dei file

Consente di riferirsi ad informazioni su file tramite tabelle dei descrittori (o direttrici) in cui sono contenuti degli identificatori o degli indirizzi fisici. In questo modo si possono porre limitazioni all'accesso attraverso, per esempio, all'utilizzo di password.

Vantaggio:

struttura gerarchica ad albero che, partendo dalla ROOT (radice) e attraverso le DIRETTRICI, arriva ai diversi file individuabili attraverso il loro identificatore. Il percorso che dalle root porta all'identificatore è detto PATHNAME ASSOLUTO. Si parla di PATHNAME RELATIVO quando il percorso parte dalla direttrice corrente.

I movimenti lungo l'albero corrispondono a caricamenti in memoria centrale delle diversi direttrici. La direttrice presente in un certo momento è detta DIRETTRICE CORRENTE.

Il SO UNIX:

quando si utilizza il sistema ti assegna due file che, operando con un terminale, corrispondono ad uno STANDARD INPUT (tastiera) e ad uno STANDARD OUTPUT che viene anche utilizzato come STANDARD ERROR (schermo). Tali standard possono essere reindicati all'esterno dei normali standard: tale processo è detto RIDIREZIONE DELL'I/O


L'INTERPRETE DEI COMANDI

È la parte del SO + esterna ed è quindi quella che riceve in ingresso le richieste di esecuzione di operazioni espresse in linguaggio di comandi.

UNIX: il linguaggio comandi permette la scrittura di algoritmi strutturati (script)

DOS: l'interprete dei comandi è un file che si chiama COMMAND.COM. Esso contiene il minimale dei comandi per la gestione del personal. Si può anche utilizzare un algoritmo script con il controllo IF per la selezione semplice.

L'evoluzione dei personal ha portato un'evoluzione dell'interfaccia utente. Ora, infatti, si parte da una PROMPT e poi si può iniziare a scrivere da tastiera il comando. Si forma, così, la RIGA COMANDI la quale è controllata in coerenza e correttezza dall'ANALIZZATORE SINTATTICO.

Anche questo procedimento risulta ora superato con l'avvento dei menu e delle relative interfacce grafiche basate su un sistema a icone e finestre.

Il processo di esecuzione dell'interprete dei comandi è detto PROCESSO PADRE a cui segue un processo transitorio di controllo sintattico (PROCESSO FIGLIO) che, se completato senza errori, restituisce al processo padre una serie di parametri.

In multitasking i processi lavorano quasi in parallelo e i problemi incorrono nell'evitare che due processi attendano vicendevolmente una risposta dall'altro per proseguire (DEADLOCK). Tali problemi sono risolti dalle tecniche di programmazione concorrente.

All'accensione del personal vengono attivati molti processi in successione, di cui ognuno è figlio del precedente. A questo caricamento iniziale definito BOOTSTRAP provvede l'IPL (Initial Program Loaded) che è registrato su memoria ROM.

Le fasi di questo processo sono:

caricamento in memoria del nucleo e del software di sistema

esecuzione del gestore dei processi

inizializzazione del sistema

attivazione delle linee collegate ai terminali

ad ogni terminale viene eseguito il LOGIN o identificazione

viene fornito a ciascun utente un ambiente di lavoro o SHELL

Altri processi del bootstrap sono:

gestore dello spool per la stampante

gestione dell'accounting per il controllo dei tempi di connessione dei vari utenti

la chiusura del sistema SHUTOUT avviene attraverso il LOGOUT e il controllo dei terminali collegati. Questi terminali vengono scollegati entro un periodo di tempo prefissato.


GLI AMBIENTI DI SISTEMA

A livelli esterni vengono messi a disposizione dell'utente alcuni ambienti software o programmi di utilità per agevolare la gestione e la programmazione.

L'insieme di questi e dei moduli del SO è detto SOFTWARE DI BASE e comprende:

editori di testi: consentono di modificare programmi sorgenti e qualsiasi altro tipo di testo

compilatori: sono i programmi che trasformano in linguaggio macchina la programmazione espressa in linguaggio utente

linker: sono programmi che uniscono tra loro i risultati di diverse compilazioni

interpreti: sono programmi che mentre trasformano in linguaggio macchina l'operazione, la eseguono

debugger: sono programmi di controllo contro eventuali errori o bachi. Per individuare + velocemente gli errori, il programma può essere frazionato attraverso l'impostazione dei BREAKPOINT

gestore di maschere per data entry: facilitano le operazioni di manipolazione degli archivi

gestore delle comunicazioni: riguarda le funzioni connesse tra le risorse informatiche in uso

Per mezzo delle operazioni dei compilatori e dei linker, il programma viene trasformato in modo da poter essere rilocato ed eseguito.

Le fasi di questo percorso sono:

COMPILAZIONE

Si parte dalle macchine target e da uno stesso codice sorgente

verifica la correttezza del lessico e della sintassi che dovranno essere opportunamente aggiustate dal programmatore

il compilatore dei diversi linguaggi trasforma tale codice sorgente in CODICE OGGETTO eseguibile nel sistema.

L'output della compilazione viene detto OGGETTO COMPILATO

La compilazione può essere anche di tipo modulare. In tal caso impone delle regole di scrittura anche per la sorgente

(es. dichiarazione di tutti gli oggetti utilizzati e del MAIN BODY attraverso delle direttive)

Ogni istruzione è costituita:

codice operativo

uno o due operandi    - costanti

- indirizzi di memoria - indirizzo assoluto: posizione che l'operando occupa in MC nell'istante in cui viene eseguito il programma

- indirizzo rilocabile: indirizzo che la parola avrebbe se partisse dalla posizione 0

- indirizzo autorilocabile: posizione relativa all'istruzione che lo contiene

Se il programma è composto da soli indirizzi autorilocabili si dice costituito da POSITION INDIPENDENT CODE

Le caratteristiche dei moduli in formato oggetto collegabile sono:

istruzioni in linguaggio macchina

indirizzi in formato rilocabile

indirizzi degli operandi in altri moduli non definiti

tabella degli ingressi: elenco degli oggetti definiti e che possono essere usati dagli altri moduli (nome, n° e tipo dei parametri, indirizzo rilocabile)

tabella degli esterni: elenco degli oggetti usati, ma non definiti. Tale tabella servirà ad assegnare un valore al momento dell'unione con gli altri moduli (nome, indirizzi rilocabili dove c'è l'istruzione che richiama la procedura)


LINKING

È l'operazione di collegamento effettuata su file in formato oggetto collegabile generando uno o + file di formato caricabile.

Funzioni:

verificare che non ci siano mismatch tra le caratteristiche degli oggetti

unire di seguito i moduli

assegnare valori corretti agli indirizzi indefiniti

Il linker è lo strumento che esegue tutto questo.

Il Windows è rappresentato dai file DDL (Dinamic Link Library)


RILOCAZIONE

È la trasformazione degli indirizzi rilocabili in indirizzi assoluti sommando a ciascuno l'indirizzo di impianto. Ciò avviene in seguito al caricamento in memoria centrale del programma in formato caricabile

La rilocazione può avvenire:

RILOCAZIONE STATICA: l'indirizzo di impianto è sempre lo stesso ed è noto al linker.

Se L'indirizzo di impianto è variabile e non è noto al linker, la rilocazione è eseguita staticamente ogni volta che il programma viene caricato prima di eseguirlo. Durante la copiatura in memoria ogni indirizzo rilocabile viene trasformato in assoluto.

RILOCAZIONE DINAMICA: Se L'indirizzo di impianto è variabile e non è noto al linker, la rilocazione è eseguita dinamicamente al momento dell'esecuzione dell'istruzione


ESECUZIONE

L'unico problema è il collegamento con i file esterni dei quali dovrà essere caricata in memoria la libreria relativa







Privacy




Articolo informazione


Hits: 7602
Apprezzato: scheda appunto

Commentare questo articolo:

Non sei registrato
Devi essere registrato per commentare

ISCRIVITI



Copiare il codice

nella pagina web del tuo sito.


Copyright InfTub.com 2024