SISTEMI DI ELABORAZIONE DELL'INFORMAZIONE (m)

2oMODULO

A. A. 1997-98

Dott. Marco Ronchetti

Oggetto e obiettivi del corso

Il corso fornirà una introduzione teorica e pratica ai sistemi operativi, esaminandone le varie componenti. Verranno introdotti i concetti fondamentali e gli strumenti di base necessari per programmare un sistema mutiutente, con cenni alla sua gestione. Durante il corso ci saranno esercitazioni su macchine Unix e lo sviluppo di un piccolo progetto finale che utilizza diverse system calls.

Programma

RAPPRESENTAZIONE DEI DATI INTRODUZIONE AL LINGUAGGIO C

Assumendo la conoscenza di un linguaggio di programmazione imperativo, passeremo in rassegna brevemente i costrutti del C, con particolare attenzione a strutture, puntatori, arrays, stringhe, passaggio di parametri a funzioni. Saranno discusse le funzioni per l'I/O e per il trattamento di stringhe.
Come esercizio saranno discusse le liste linkate e le tabelle hash. Il linguaggio C sarà poi utilizzato nel corso per illustrare le system calls di Unix.

INTRODUZIONE AI SISTEMI OPERATIVI

Sviluppo storico e concetti di base. Sistemi batch, time sharing, paralleli, distribuiti, real time. Funzioni di un sistema operativo. Monotasking, multitasking vero e cooperativo. System calls: Kernel mode e User mode. Cenni di reti.

GESTIONE DELLA MEMORIA

FILE SYSTEM PROCESSI INTERPROCESS COMMUNICATION

Testi consigliati

Modalità e svolgimento dell'esame

L'esame consiste nello svolgimento di un progetto finale e di un orale. Il progetto finale va sviluppato in C: si deve scrivere un sistema di gestione dati basato su più processi concorrenti che accedono ad informazioni condivise, curando le problematiche derivate dalla concorrenza.