Estratto del documento

Complementi di programmazione

Introduzione

Programma: sequenza di istruzioni definite nel linguaggio interpretabile dal calcolatore che realizzano un particolare algoritmo.

Algoritmo: sequenza finita di passi/logica che eseguiti ordinatamente a partire dai dati di input del problema, consentono di ricavare dei dati di output letti al fine di risolvere un problema.

Linguaggio macchina: unico linguaggio che la macchina è in grado di interpretare (linguaggi a basso livello). Visto le criticità con un programma usando il linguaggio macchina richiede la conoscenza approfondita di un determinato calcolatore ed è difficoltoso. Per ovviare a questo problema, sono stati sviluppati dei linguaggi di programmazione (a metà tra basso e alto livello).

Eseguire programma

Un programma in esecuzione prende il nome di processo la cui struttura in memoria (RAM) è suddivisa in:

  • Codice e comandi: istruzioni in linguaggio macchina che costituiscono il programma da eseguire.
  • Dati statici: dati allocati per tutta la durata del programma (variabili statiche e costanti).
  • Il programmatore decide l'allocazione dei dati allocati dinamicamente (variabili dinamiche).

I programmi vengono eseguiti in un ambiente virtuale, 2n byte → viene vuoto (memoria libera si chiama buchi e il limite è il segmento di stack).

Ambiente virtuale:

  • Heap: area di memoria usata in pile. Quando il valore sulla cima viene rimosso si ha underflow.
  • Stack: area di memoria usata in coda LIFO. Quando la coda è nulla, non entra niente in coda si overflow → variabile heap (quando è troppo bimane, forward views definita alloc di memoria contigua e finisce).

Chiamata di una funzione

All'inizio dell'istruzione si genera la chiamata viene allocata nello stack. Viene allocato lo spazio necessario per le variabili del torno della funzione con byte → 2n byte. La CPU realizza la prima istruzione della funzione chiamata (Il PC la loro viene azzerata puntando inizia uno stack) della prima e viene assegnato alla funzione. Una volta chiamata la funzione nello stack, durante la funzione chiamata, viene allocato dentro parametri utili &rarr risolta avanti!

Alla fine dell'istruzione dell'altra → calcoli possibili nuove variabili. Il valore di ritorno viene copiato nello spazio precedentemente allocato. Il temporaneo alla fine sudd'i la funzioneo viene allocato l'output. Contenuto: dello stack. Quasi come funzione, quando viene allocato il valore di fine istruzione viene erogato e deallocato. La CPU esegue l'istruzione azzerando le variabili dello stack e il corrispondente spazio viene deallocato.

  1. Esecuzione dell'heap e legata alle richieste &dallocazioni ("allocazione").
  2. Allocazione della funzione rispetto allo stack e poi &rarr casc. area di trasmissioni tramite uso di puntatori.

Riepilogo

Complementi di programmazione: Programma: sequenza di istruzioni descritte nel linguaggio interpretabile del calcolatore che realizzano un particolare algoritmo. Algoritmo: sequenza finita di passi/azioni che eseguiti ordinatamente a partire dai dati di input del problema, consentono di ricavare dei dati di output letti al fine di risolvere un problema. Linguaggio macchina: unico linguaggio che la macchina è in grado di interpretare (linguaggi a basso livello → alla macchina).

Visto che codificare un programma usando il linguaggio macchina richiede la conoscenza del funzionamento di un determinato calcolatore ed è difficile. Per ovviare a questo problema sono stati sviluppati dei linguaggi di programmazione (a metà tra basso e alto livello).

Esecuzione programma

Un programma in esecuzione prende il nome di processo. La cui struttura in memoria (RAM) è suddivisa in:

  • Codice e contesti: istruzioni in linguaggio macchina che costituiscono il programma da eseguire.
  • Dati statici: dati allocati per tutta la durata del programma (variabili statiche e globali).
  • Heap: fondamentale allocazione per dati allocati dinamicamente (variabili dinamiche). L'organizzazione dei dati rispetta le richieste e i contenuti non vengono persi appena richiesta liberazione.
  • Pila (stack): punteggio (cresce e decresce man mano vengono effettuate nuove chiamate + frame propri per ogni funzione + variabili dell'intestazione parametri). Dati allocati automaticamente per le funzioni di un programma (variabili automatiche) → secondo politica LIFO (Last In First Out): ultima funzione richiamata eseguita per prima. Possono avvenire errori da stack overflow (variabile heap quando il heap limitato). Puntatori verso definita area di memoria continua (con inizio e finale) definita.

Chiamata di una funzione

All'inizio dell'istruzione si genera la chiamata viene salvata nello stack. Viene allocato lo spazio necessario per le variabili del torno della funzione con byte.

Anteprima
Vedrai una selezione di 14 pagine su 62
Tecniche di Programmazione Pag. 1 Tecniche di Programmazione Pag. 2
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 6
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 11
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 16
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 21
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 26
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 31
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 36
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 41
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 46
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 51
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 56
Anteprima di 14 pagg. su 62.
Scarica il documento per vederlo tutto.
Tecniche di Programmazione Pag. 61
1 su 62
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/01 Elettronica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher GiulioRusso di informazioni apprese con la frequenza delle lezioni di Calcolatori elettronici 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 Cassino e del Lazio Meridionale o del prof Bria Alessandro.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community