Corso di Laurea in Fisica

SISTEMI PER L'ELABORAZIONE DELL'INFORMAZIONE

Prof. G.F.Rossi



Prerequisiti:

Rappresentazione delle informazioni: Codifica dei numeri e conversioni base. Codifica dei caratteri - Architettura della macchina hw: Memoria principale secondaria: Dischi. Altri dispositivi periferici di I/O. (vedere ad es., [1, capp. 2, 3, 4]).

Programma del corso:

Algoritmi [1, capp., 1, 4, 5]. Problemi e algoritmi - Descrizione di algoritmi.Variabili, assegnamento, istruzioni di controllo. Diagrammi di flusso. Cicli - Input/output - Esempi di algoritmi - Sviluppo di algoritmi `top-down'. Sottoschemi.

Semplici strutture dati - vettori e matrici [1, capp. 5,6]. Definizioni. Operazione di selezione. - Ordinamento di vettori. Algoritmi di ordinamento: per selezione, per interscambi - Complessita' computazionale degli algoritmi (cenni).

Introduzione al C [1, capp. 6, 7, 8]. Nozione di tipo di dato. Tipi predefiniti - Dichiarazione di variabili - Assegnamento - Struttura di un programma- Definizione della sintassi: Grammatiche BNF (cenni). Diagrammi sintattici - Espressioni - principali strutture di controllo: if, while, for, do-while, switch - Input/output di base- Tipi semplici definiti da utente - Tipi strutturati: array e struct. Stringhe - Utilita' tipi.

Aspetti avanzati di programmazione in C [1, capp. 7, 9, 10, 17]. Puntatori. Definizione e uso. Array e puntatori - Funzioni e procedure. Definizione e dichiarazione. Chiamata e passaggio parametri. Funzioni predefinite - "Regole di scope" - Programmazione ricorsiva. Definizioni. Funzioni ricorsive in C.Supporto "run-time" (cenni) - Liste. Definizione e realizzazione in C. Allocazione dinamica della memoria.

Introduzione ai Sistemi di Elaborazione. Gerarchia di macchine astratte. Interpretazione e compilazione (cenni). Strumenti di supporto allo sviluppo del software (cenni) [1, cap. 26.2]. Fasi della compilazione (cenni).

Sistema Operativo (S.O). [1, cap. 12]. Funzioni e struttura del S.O. - Gestione CPU: multi-programmazione. "Switch di contesto". Stati d'avanzamento di un processo. Scheduling processi (cenni). Gestione memoria principale. Rilocazione. Partizioni variabili. Paginazione. Segmentazione (cenni). Memoria vituale - Gestione memoria secondaria. Nozione di file. Organizzazione ad albero: directory e "pathname".

Unix. [1, capp. 11, 12.7]. Processi. Suddivisione spazio indirizzi. Creazione, terminazione, sincronizzazione, caricamento dinamico programmi (exec) - File systemi. Tipi di file. Definizione e realizzazione directory. Operazioni su file in Unix: creazione e distruzione, apertura e chiusura, lettura/scrittura e scorrimento. Link (cenni). Allocazione fisica dei file (cenni) - L'interprete comandi (SHELL). Funzioni. Struttura interna. "Pipe", ridirezione I/O, comandi in "background".

Testo di riferimento:

Testi consigliati:


Aggiornato il 18/09/1997