Anteprima
Vedrai una selezione di 3 pagine su 8
Esame informatica I Pag. 1 Esame informatica I Pag. 2
Anteprima di 3 pagg. su 8.
Scarica il documento per vederlo tutto.
Esame informatica I Pag. 6
1 su 8
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Funzionamento ad alto livello

1. All'avvio dell'elaboratore, programmi e dati risiedono in memoria secondaria

2. I programmi per essere eseguiti devono essere portati in memoria principale

3. La CPU esegue i programmi seguendo le istruzioni di cui sono composti

4. Avviene l'input/output e la memorizzazione secondaria

Memoria principale

Componente fondamentale del calcolatore. Permette di memorizzare sia il programma che i dati. È strutturata in una sequenza di celle di memoria, ogni cella memorizza un byte (unità di misura della memoria). Sulla memoria si possono compiere operazioni di lettura del contenuto di una cella e operazioni di scrittura in una cella; per farlo è necessario conoscere l'indirizzo. Supporti fisici della memoria principale:

  • RAM
  • ROM
  • Cache

RAM

Memoria ad accesso casuale è un tipo di memoria volatile che può accedere direttamente alle varie celle una volta noto il loro indirizzo. È veloce.

relativamente costosa ed essendo volatile, se viene tolta l'alimentazione tutto ciò che contiene viene perso perché è necessario che la memoria ad accesso casuale sia sempre libera quando la CPU ha bisogno di aprire un programma o effettuare un'operazione. Lavora a stretto contatto con la CPU e permette di memorizzare velocemente informazioni e dati

ROM: memoria in sola lettura. Non può essere modificata, non è volatile ed è veloce quasi quanto la RAM. Solitamente usata per memorizzare programmi e dati necessari all'avvio dell'elaboratore. Vantaggio: permette di conoscere le informazioni contenute in essa anche senza una fonte di energia che la alimenta in modo costante. Infine, non possiamo memorizzare direttamente il SO su di essa in quanto è una memoria di sola lettura.

MEMORIA CACHE: è una memoria veloce rispetto alla memoria principale, relativamente piccola, e costosa. Il suo utilizzo è più

conveniente in termini di tempo di accesso e caricamento sul sistema, infatti, ha lo scopo di memorizzare i dati più recentemente usati dalla memoria principale, velocizzando l'esecuzione dei programmi ed evitando alla CPU di doverli recuperare tutte le volte dalla RAM.

CPU: unità centrale di elaborazione. Ha il compito di eseguire programmi scritti in linguaggio macchina, ovvero esegue le istruzioni (si suddividono in aritmetiche, di salto, di lettura in memoria, di lettura verso dispositivi I/O) di un programma che sono elementari e limitate. Al suo interno, è composta da CU, ALU e registri.

CU: (control unit) è la parte più importante del processore. Le sue funzioni sono: eseguire istruzioni dei programmi, coordinare le attività del processore e controllare il flusso delle istruzioni tra processore e memoria. Essa svolge le attività in modo ciclico, detto ciclo fetch-decode-execute. Esegue solo i programmi in memoria.

principale.

  • FETCH-DECODE-EXECUTIVE: attività ciclica che svolge la CU. Preleva dalla memoria principale la prossima istruzione da eseguire portandola dalla memoria al registro IR, decodifica l'istruzione e preleva gli operandi specifici ed esegue l'istruzione utilizzando la componente opportuna, memorizza i risultati e ricomincia. L'esecuzione comporta l'invio di comandi opportuni all'unità relativa. La frequenza con cui è eseguito il ciclo, è scandita da clock (orologio interno)
  • ALU: unità che esegue le operazioni di tipo aritmetico e logico
  • REGISTRI: componenti della CPU che sono usati come celle di memoria temporanea. In pratica la CPU non lavora direttamente sulla memoria centrale, ma sposta temporaneamente nei suoi registri ciò che gli interessa in un certo momento. Alcuni registri vengono detti "speciali" in quanto contengono compiti specifici.
  • PC: (program counter) è un registro

speciale che contiene l'indirizzo in memoria principale della prossima istruzione da eseguire. Quando all'esecuzione di un'istruzione, il pc viene modificato per contenere l'indirizzo della prossima istruzione da eseguire.

IR: (registro istruzione) è un registro speciale che contiene l'istruzione correntemente in esecuzione. La CU legge l'istruzione contenuta in IR e la esegue.

MEMORIA SECONDARIA: Sono quelle componenti che hanno l'obiettivo di superare le limitazioni della RAM, non stanno nel nucleo fondamentale della macchina e sono capienti (immagazzinano grosse quantità di dati), poco costose non volatili, ma lente. La memoria secondaria è composta da supporti di memorizzazione (componenti fisiche in cui vengono immagazzinati i dati. Esempio i dvd) e dispositivi di memorizzazione (leggono/scrivono dati dal/sul supporto di memorizzazione. Esempio: lettori dvd). Si avvalgono di tecnologie diverse, ma con le stesse

caratteristiche; queste possono essere:

  • magnetiche, sfruttano il fenomeno fisico della polarità
  • ottiche, sfruttano il riflesso della luce di un laser
  • magnetica/ottica-flash (sd card)*memoria virtuale

LOADING: operazione che il SO esegue copiando un programma da memoria secondaria in RAM

DISPOSITIVI DI INPUT E OUTPUT: elementi della macchina che servono a comunicare e interagire con l'elaboratore. Tra gli input possiamo identificare ad esempio tastiere, microfoni e scanner; tra gli output: stampanti, casse acustiche e videoproiettori.

BUS: insieme di collegamenti che permettono lo scambio di dati (i/o) tra i vari componenti del computer. Fisicamente è un insieme di collegamenti di rame. Evoluzione del bus di sistema, è il bus locale: collegamento più veloce e flessibile.

SLOT DI ESPANSIONE: servono per inserire le schede degli adattatori che contengono una serie di componenti elettronici volti a potenziare o espandere le prestazioni del

computerSISTEMA OPERATIVO

SOFTWARE: insieme di programmi che interagiscono e cooperano tra di loro per gestire efficientemente il computer e le sue periferiche e creare un ambiente virtuale per facilitare l'interazione tra uomo e macchina. Il sistema operativo esegue dei comandi seguendo tre passi: verifica che si tratti di un comando valido, se tale lo traduce per la macchina fisica ed esegue il comando dando un riscontro all'utente e preparandosi ad un nuovo comando. Le funzioni fondamentali del SO sono:

  • accensione e configurazione della macchina (avvio dell'elaboratore. Prima parte del so che viene caricata comprende i programmi per gestire i processi e la CPU. All'avvio vengono anche identificati tutti i dispositivi di memoria secondaria e periferiche, vengono inoltre avviati i relativi programmi di gestione) bootstrap
  • gestione del processore (3 stati: in esecuzione, in attesa, pronto) multitasking
  • gestione della memoria (come eseguire i programmi ed usare dati

più grandi dellamemoria principale: memoria virtuale)

BOOTSTRAP: avvio dell’elaboratore. All’accensione della macchina, un programma (BIOS)in ROM cerca sulla memoria secondaria il SO e ne carica una parte in RAM.

MULTITASKING: operazione dei moderni processori in cui è possibile eseguire piùprogrammi allo stesso tempo. Ciò accade perché il sistema operativo alterna i programmiassegnando la CPU a turno

MEMORIA VIRTUALE: è una tecnica di gestione della memoria utilizzata da tutti i sistemimoderni quando la RAM è piena. Permette di far credere ai singoli programmi di avere unamemoria in più. Realizzando questa memoria virtuale sfruttiamo il disco fisso (memoriasecondaria). Dunque, non è sempre necessario mantenere in memoria centrale tutti iprogrammi in esecuzione.

HARD DISK: (disco fisso) dispositivo di memoria di massa di tipo magnetico che utilizza unoo più dischi magnetizzati per

l'archiviazione di dati e applicazioni. Vengono immagazzinati dati in eccesso rispetto allo spazio disponibile nella RAM fino al momento dell'utilizzo.
THRASHING: situazione che si verifica quando si utilizza frequentemente una quantità di memoria virtuale molto più grande della memoria fisica. Il SO impiega più tempo a trasferire le pagine da e sul disco che ad effettuare il lavoro utile. L'hard disk viene utilizzato intensamente e il computer diventa inutilizzabile.
INTRODUZIONE ALLA PROGRAMMAZIONE
PROGRAMMARE: significa scrivere una serie di istruzioni in qualsiasi tipo di linguaggio che possono essere poi lette ed eseguite da un elaboratore. Quindi, dato un problema, vogliamo che sia il computer a risolverlo.
Dunque i programmi sono sequenze di istruzioni che prendono in input dei dati e restituiscono in output un risultato. L'obiettivo: imparare ad individuare un algoritmo da passare al computer affinché esso risolva il problema.

Un programmatore deve scrivere programmi in linguaggio macchina, ma questo è di difficile compressione per l'uomo e le macchine diverse hanno linguaggi macchina diversi. A questa esigenza: il programma viene tradotto nel linguaggio macchina attraverso un interprete.

Posso scrivere un programma che possa risolvere un problema computazionale che permette di stabilire formalmente la relazione desiderata tra input (entrata di un algoritmo) e output (uscita di un algoritmo).

VARIABILI: concetto chiave della programmazione. Sono aree di memoria dove memorizzare dati e informazioni. È paragonabile ad una scatola che può contenere un valore in un dato istante di tempo, ma il contenuto può essere modificato con il tempo. È anche un'area di memoria RAM in cui depositare i valori.

Ogni variabile è caratterizzata da un tipo: definisce i possibili valori che la variabile è in grado di contenere, possono essere numeri, caratteri... in python non deve

Essere definito il tipo in quanto è un linguaggio non tipato.

VISUAL STUDIO CODE: non è un interprete, ma un semplificatore di codici.

PYTHON: linguaggio di programmazione volto a raggruppare blocchi di istruzioni. È considerato un interprete che traduce le informazioni in linguaggio macchina a seconda del tipo di sistema che abbiamo a disposizione. Nel programma si usano le variabili, operazioni aritmetiche e operazioni dell'algoritmo.

I programmi che abbiamo visto sono caratterizzati da sequenze di istruzioni e selezioni, che garantiscono le terminazioni.

Ci sono tre tipi di costrutti che utilizza:

  • sequenza di istruzioni semplice e lineare (SOMMARE DUE NUMERI) no indentazione
  • selezione: if/else: if(condizione): a capo con indentazione metto la condizione che dev'essere vera. Else (condizione non vera)
  • ciclo while: quando un programma deve ripetere un blocco di istruzioni
  • ciclo for

ALGORITMO: collezione finita di operazioni che consentono di

risolvere un problema. Dato un input, l'algoritmo manipola i dati al fine di ottenere una soluzione.
Dettagli
A.A. 2020-2021
8 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher elisaellischiaravalli167 di informazioni apprese con la frequenza delle lezioni di Elementi di informatica e programmazione 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 Torino o del prof Pozzato Gian Luca.