Anteprima
Vedrai una selezione di 7 pagine su 28
Riassunto esame fondamenti di informatica, prof. Scaringella Pag. 1 Riassunto esame fondamenti di informatica, prof. Scaringella Pag. 2
Anteprima di 7 pagg. su 28.
Scarica il documento per vederlo tutto.
Riassunto esame fondamenti di informatica, prof. Scaringella Pag. 6
Anteprima di 7 pagg. su 28.
Scarica il documento per vederlo tutto.
Riassunto esame fondamenti di informatica, prof. Scaringella Pag. 11
Anteprima di 7 pagg. su 28.
Scarica il documento per vederlo tutto.
Riassunto esame fondamenti di informatica, prof. Scaringella Pag. 16
Anteprima di 7 pagg. su 28.
Scarica il documento per vederlo tutto.
Riassunto esame fondamenti di informatica, prof. Scaringella Pag. 21
Anteprima di 7 pagg. su 28.
Scarica il documento per vederlo tutto.
Riassunto esame fondamenti di informatica, prof. Scaringella Pag. 26
1 su 28
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

L'ARCHITETTURA SOFTWARE: I SISTEMI OPERATIVI

Sistema operativo - è il software che consente di utilizzare un calcolatore, coordinando e ottimizzando le attività, cioè, l'uso delle risorse da parte dei processi.

Il sistema operativo ha una struttura a strati, a "buccia di cipolla":

  • Il Nucleo - è lo strato che gestisce i processi; avvia le operazioni di input/output su unità periferiche; ha funzioni di archiviazione e ripresa del controllo.
  • Gestione memoria - è lo strato responsabile dell'allocazione dei programmi e dei dati nella RAM.
  • Gestione I/O - questo strato si occupa di rendere disponibili e di attivare opportuni programmi, detti driver, per la gestione specifica delle periferiche.
  • Gestione dei file system - è lo strato che si occupa di organizzare le memoria di massa.
  • Interprete comandi - è lo strato che interfaccia l'utente.

Esso• acquisisce i comandi, li decodifica e comunica agli strati più interni le operazioni da eseguire.

LINGUAGGI DI PROGRAMMAZIONE

Linguaggio di programmazione – deve consentire di realizzare programmi, cioè insieme di comandi dati ad un calcolatore, al fine di risolvere tutti quei problemi che sono risolvibili mediante l’applicazione di funzioni calcolabili.

Classificazione di linguaggi di programmazione:

  • Linguaggi imperativi;
  • Linguaggi funzionali;
  • Linguaggi dichiarativi.

Tipi astratti di dato – costituiscono uno dei principi metodologici della programmazione. Un dato, non è costituito solo ed esclusivamente dall’insieme dei valori che può assumere, ma anche dalle operazioni che possono essere compiute su di esso. Perciò un dato assume un duplice aspetto: esso è visto come un valore appartenente ad un certo dominio, ma è anche visto come argomento di alcune ben specifiche operazioni.

Fasi

della metodologia dei tipi astratti:

Fase specifica astratta – ha la finalità di individuare le caratteristiche essenziali del dato, vale a dire quali domini di valori sono interessati e quali operazioni sono eseguibili su di essi.

Fase della rappresentazione concreta del tipo astratto di dato – si sceglie un linguaggio di programmazione e si realizzano i tipi di dato concreti e le unità di programma corrispondenti alle operazioni eseguibili sul tipo di dato preso in considerazione.

5. Elementi costitutivi del linguaggio Java:

Classe – elemento fondamentale del linguaggio Java. È costituita dai membri che sono campi e metodi;

Campi – possono essere variabili e oggetti;

Variabili – sono locazioni di memoria a cui si fa riferimento mediante gli identificatori. Ogni deve essere dichiarata di un determinato tipo;

Tipi – sono semplici (elementari) e strutturati;

Oggetti – sono istanze di classi;

Metodi – sono rappresentazioni delle operazioni che possono essere eseguite• sulle variabili.

BASI DI DATI

  1. Un sistema di archiviazione è detto Base dei Dati se:
    • Non c’è ridondanza nei dati.
    • Ogni nuovo inserimento, aggiornamento e cancellazione di dati mantiene la consistenza nel dati.
  2. Modelli dei dati per Basi dei dati:
    • Relazionale;
    • Gerarchico;
    • Reticolare;
    • Ad oggetti.
  3. Modello relazionale – i dati sono organizzati in tabelle, chiamate relazioni.
  4. Ogni tabella è costituita da un certo numero di colonne (gli attributi dellarelazione, cioè i valori appartenenti ai domini) e di righe (le n-uple del prodottocartesiano, dette genericamente tuple della relazione).
  5. Schema di Relazione – per distinguere il significato di una relazione dai valori della tuple che costituiscono a ogni istante una relazione si introduce il concetto di Schema di Relazione. È la semplice indicazione

dell’elenco degli attributi della relazione, preceduto dal nome della relazione.

Data Base – è un insieme di relazioni.

5. Data Base Intensionale - è quello costituito da tutti gli schemi di relazione.

6. Data Base Estensionale – è quello costituito da tutte le relazioni, cioè da tutte le tuple che a un certo istante fanno parte delle relazioni del data base.

Chiave – un attributo si chiama chiave, perché determina, da solo, l’univocità.

8. Chiave primaria – deve sempre avere valori non nulli. In uno schema di relazione gli attributi individuati con la sottolineatura denotano solo la chiave primaria.

In uno schema di relazione:

  • gli attributi chiave si indicano mediante sottolineatura;
  • esiste sempre una chiave, cioè esiste almeno un attributo che svolge il ruolo di chiave;
  • è possibile che esistano più chiavi, cioè raggruppamenti di attributi.

che individuano univocamente le tuple delle relazioni.

Operazioni insiemistiche sulle relazioni – poiché le relazioni sono insiemi di tuple, è del tutto naturale che su di esse si possano eseguire le tipiche operazioni insiemistiche, quali l'unione, la intersezione e la differenza. I risultati di queste operazioni sono ancora relazioni. Affinché sia possibile applicare tali operazioni, è però necessario che le relazioni siano definite sugli stessi attributi.

Operazione di Selezione – si applica ad una relazione specificando una opportuna "condizione di selezione".

Operazione di Proiezione – si esegue su una relazione specificando alcuni dei nomi degli attributi che compaiono nel corrispondente schema di relazione e, quindi, nella stessa relazione.

Operazione di Join – è definita su due o più relazioni.

Linguaggio SQL – è stato realizzato per l'interrogazione, la definizione

e la14. manipolazione delle basi sei dati. SQL è un linguaggio:

  • di interrogazione per basi di dati relazionali che rappresenta uno standard per i programmi di basi di dati relazionali;
  • dichiarativo cioè specifica l'interrogazione ma non la modalità con cui eseguirla.

DBMS:15.

  • Analizza l'interrogazione e formula una richiesta nel suo linguaggio procedurale interno per la gestione della base di dati;
  • Traduce, tramite un compilatore, l'interrogazione SQL in una scritta nel linguaggio procedurale interno;
  • Permette la definizione dei dati e la manipolazione e cioè la modifica delle basi di dati.

INFORMATICA

INTRODUZIONE ALL'INFORMATICA

9. Informatica – è la scienza che tratta l'elaborazione delle informazioni, cioè, ricercare soluzioni a determinati problemi.

10. Classificazione di problemi

  • Problemi che ammettono una sola soluzione;
  • Problemi che ammettono in generale più soluzioni.

soluzioni:

  • Problemi in cui non si sa se esistono soluzioni. Per un dato problema, l'obiettivo consiste nel determinare tutte le possibili soluzioni ad esso, cioè, determinare un metodo di soluzione ed applicarlo ai dati del problema.

11. Algoritmi - sono metodi che hanno le caratteristiche di:

  • Non ambiguità, ogni istruzione è univocamente interpretabile;
  • Eseguibilità, ogni istruzione è eseguibile;
  • Terminazione, il metodo perviene al risultato dopo un tempo finito.

12. Un Algoritmo è una procedura che risolve un dato problema in termini di:

  • Azioni;
  • Ordine di esecuzione delle azioni.

L'ordine di esecuzione di un algoritmo si chiama controllo dell'algoritmo. L'algoritmo deve poter essere tradotto in una successione di istruzioni di un qualsiasi linguaggio di programmazione.

13. Un Algoritmo può essere rappresentato con un diagramma di flusso costituito da simboli quali:

  • Ovale
    • – con la parola “inizio” e “fine”;
    • Rettangolo – “simbolo di azione”, indica qualsiasi tipo di operazione;
    • Rombo – “simbolo decisionale” e viene posto nei punti dove la linea di esecuzione delle azioni può prendere diverse direzioni a seconda del verificarsi di alcune condizioni;
    • Cerchietti – “simboli di connessione” e vengono messi all’inizio e alla fine , se il diagramma rappresenta solo una parte dell’algoritmo;
    • Linee di flusso – connettono tra loro i simboli, sono orientate con frecce che indicano l’ordine con cui vengono eseguite le azioni.

    14. Gli elementi che fanno parte del trattamento delle informazioni sono:

    • I problemi;
    • Le informazioni;
    • Metodo di soluzione;
    • Un esecutore;
    • Le interfacce.

    15. La complessità è la misura dell’efficienza di un Algoritmo e può essere riferita o alla memoria

    Richiesta per eseguire il programma o altempo di esecuzione di un programma e, si esprime con una funzione matematica del tipo:

    • Costante: quando il tempo di esecuzione del programma è indipendente dalla dimensione del problema;
    • Logaritmica: quando il tempo di esecuzione è proporzionale al logaritmo della dimensione del problema;
    • Lineare: quando il tempo di esecuzione è proporzionale alla dimensione del problema;
    • Polinomiale: quando il numero di istruzioni da eseguire è espresso da un polinomio di grado K;
    • Esponenziale: quando il numero di istruzioni da eseguire è esprimibile da una funzione esponenziale della dimensione del problema.

    16. I problemi che ammettono soluzioni si distinguono in:

    • Trattabili – hanno una complessità intrinseca al massimo polinomiale di ordine inferiore alla decina;
    • Intrattabili – hanno una complessità intrinseca esponenziale o polinomiale di ordine superiore.
    riferisce alla fase di caricamento del programma. • La CPU preleva le istruzioni dal programma memorizzato nella memoria centrale e le esegue una alla volta. Ciò si riferisce alla fase di decodifica ed esecuzione delle istruzioni. • Durante l'esecuzione delle istruzioni, la CPU può accedere alla memoria centrale per leggere o scrivere dati. Ciò si riferisce alla fase di accesso alla memoria. • Alla fine dell'esecuzione del programma, i risultati possono essere memorizzati nella memoria centrale o inviati ai dispositivi di output. Ciò si riferisce alla fase di scrittura dei risultati. • Infine, il programma viene rimosso dalla memoria centrale. Ciò si riferisce alla fase di scaricamento del programma. 17. Architettura di Von Neumann: è un'architettura di elaboratore che prevede l'utilizzo di una memoria centrale in cui sono memorizzati sia i dati che le istruzioni del programma. La CPU preleva le istruzioni dalla memoria centrale, le decodifica ed esegue, e può accedere alla memoria centrale per leggere o scrivere dati. Questa architettura è ampiamente utilizzata nei moderni computer. 18. Architettura di Harvard: è un'architettura di elaboratore che prevede l'utilizzo di due memorie separate, una per le istruzioni e una per i dati. La CPU preleva le istruzioni dalla memoria delle istruzioni e i dati dalla memoria dei dati. Questa architettura è utilizzata in alcuni tipi di microcontrollori e DSP (Digital Signal Processor). 19. Architettura RISC (Reduced Instruction Set Computer): è un'architettura di elaboratore che utilizza un set di istruzioni ridotto. Le istruzioni sono semplici e di lunghezza fissa, il che semplifica l'implementazione dell'hardware e accelera l'esecuzione delle istruzioni. Questa architettura è utilizzata in molti processori moderni. 20. Architettura CISC (Complex Instruction Set Computer): è un'architettura di elaboratore che utilizza un set di istruzioni complesso. Le istruzioni possono essere di lunghezza variabile e possono eseguire operazioni complesse in un'unica istruzione. Questa architettura è utilizzata in molti processori x86. 21. Architettura pipelined: è un'architettura di elaboratore che utilizza una tecnica chiamata pipelining per migliorare l'efficienza dell'esecuzione delle istruzioni. In questa architettura, le istruzioni vengono divise in fasi e ogni fase viene eseguita in parallelo. Ciò consente di eseguire più istruzioni contemporaneamente e di ridurre il tempo di esecuzione complessivo del programma. Questa architettura è utilizzata in molti processori moderni.
Dettagli
Publisher
A.A. 2011-2012
28 pagine
3 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher flaviael di informazioni apprese con la frequenza delle lezioni di Fondamenti di informatica 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 Roma La Sapienza o del prof Scaringella Angela.