Skip to Main Content (Press Enter)

Logo UNIFE
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture

UNI-FIND
Logo UNIFE

|

UNI-FIND

unife.it
  • ×
  • Home
  • Corsi
  • Insegnamenti
  • Professioni
  • Persone
  • Pubblicazioni
  • Strutture
  1. Insegnamenti

006211 - SISTEMI OPERATIVI

insegnamento
ID:
006211
Tipo Insegnamento:
Obbligatorio
Durata (ore):
60
CFU:
6
SSD:
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Url:
Dettaglio Insegnamento:
INGEGNERIA ELETTRONICA E INFORMATICA/Percorso Comune Anno: 2
Anno:
2024
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone

Dati Generali

Periodo di attività

Secondo Semestre (24/02/2025 - 05/06/2025)

Syllabus

Obiettivi Formativi

Obiettivi del corso sono descrivere le funzioni e l'architettura del sistema operativo e introdurre quindi la programmazione di Shell e la programmazione di sistema nel linguaggio C.

Le principali conoscenze acquisite saranno:
- le funzioni di base di un sistema operativo;
- l'architettura di un sistema operativo;
- i componenti fondamentali di un sistema operativo;
- i principali sistemi operativi (Unix e Windows);
- shell come strumento di rapid application development;
- le system call del sistema operativo Unix.

Le principali abilità (ossia la capacità di applicare le conoscenze acquisite) saranno:
- identificare i vincoli di progetto alla base della realizzazione dei principali sistemi operativi;
- saper utilizzare la Shell di Bourne come linguaggio di programmazione;
- saper realizzare applicazioni concorrenti multi processo in Unix.

Prerequisiti

Si deve avere un'ottima padronanza del linguaggio di programmazione C e una buona conoscenza del linguaggio Java, acquisite nei corsi di Fondamenti di Informatica e di Object Oriented Programming.

Metodi didattici

Il corso è organizzato nel seguente modo:

- Lezioni in aula su tutti gli argomenti del corso. Le lezioni saranno anche registrate e i video caricati sul Classroom del corso.

- Esercitazioni nel laboratorio di informatica per la programmazione in shell e per la programmazione di sistema. Ogni studente avrà a disposizione una macchina per svolgere singolarmente le esercitazioni assegnate, sotto la supervisione del docente o del tutor.

- Ricevimento studenti su appuntamento, inviare richiesta al docente via mail. L'ufficio del prof. Stefanelli si trova in fondo al corridoio di sinistra del primo piano (piano giallo) del Dipartimento di Ingegneria.

Verifica Apprendimento

L’obiettivo della prova d’esame consiste nel verificare il livello di raggiungimento degli obiettivi formativi precedentemente indicati. Gli obiettivi formativi saranno verificati mediante due prove d'esame scritte e una prova orale (che si può dare solo dopo aver superato entrambe le prove scritte).

Le prove scritte sono svolte all'elaboratore (i PC del laboratorio). Una prova scritta richiede di risolvere un esercizio programmazione di sistema Unix (linguaggio C con System Call) e la seconda prova un esercizio di programmazione in Shell di Bourne. Il voto della prova scritta sarà calcolato a partire da quanto ottenuto nella prova di programmazione di sistema (voto da Insufficiente a 30), con la prova in Shell che servirà ad arrotondare tale punteggio (influendo all'incirca più o meno 2 punti). Il servizio Web di pubblicazione degli esiti degli esami ci vincola a esprimere il risultato dell'esercizio di Shell in giudizi. La corrispondenza voto-giudizi è la seguente:
Ins. --> Ins.
-2 --> Suff.
-1 --> Discreto
- --> Buono
+1 --> Distinto
+2 --> Ottimo

Le 2 prove scritte sono indipendenti e possono anche essere svolte in sessioni diverse.
Il tempo previsto per le prove scritte è circa 1,5 ore per la parte di programmazione di sistema e circa 1 ora per la parte di Shell.
Nella prova scritta di Shell NON si può consultare alcun materiale, né appunti, né libri, né altro.
Nella prova scritta di Programmazione di Sistema in C si possono consultare solo libri e copie delle dispense (NON si può consultare il codice di esercizi e prove di esame risolte).
Si può decidere di sostenere nuovamente una qualunque delle due prove scritte per migliorare il voto. In caso di consegna di una prova verrà automaticamente cancellato il voto di quella svolta in una precedente sessione di esame.

La prova orale potrà essere sostenuta SOLO DOPO il superamento di entrambe le 2 prove scritte. Nella prova orale si andrà a verificare la conoscenza dei componenti e architetture dei sistemi operativi e servirà per definire il punteggio finale (incidendo circa 3 punti in più o in meno). Se non si supera la prova orale, la si potrà sostenere in un altro appello senza bisogno di sostenere nuovamente gli scritti. Gli scritti non "scadono", quindi l'orale può essere sostenuto anche (molto) tempo dopo aver superato lo scritto, anche se si suggerisce agli studenti di non lasciar passare troppo tempo tra scritti e orale.

L'esame può anche essere sostenuto in lingua inglese.

Testi

Tutto il materiale didattico (Slides presentate a lezione ed esercizi) è presente sul sito Classroom il cui link è indicato su questo sito, nella sezione "materiale didattico".

Testi suggeriti per la parte sull'architettura e i principali componenti dei sistemi operativi:

A. Silberschatz, P.Galvin, G. Gagne, “Sistemi Operativi, Concetti ed esempi”, Pearson, 10a edizione.

A. Tanenbaum, H. Bos, "I Moderni Sistemi Operativi". Pearson, 2019.

Ancilotti, Boari, Ciampolini, Lipari, "Sistemi operativi", seconda edizione, McGraw-Hill, 2008

Sulla programmazione di sistema UNIX un libro di testo molto dettagliato è:

W.R. Stevens, "Advanced Programming in the UNIX Environment, 3rd Edition", Addison-Wesley, 2013

Non dimenticate di utilizzare il man sulle macchine Unix e la documentazione texinfo, accessibile tramite terminale digitando il comando info (esempio, "info ps" per avere informazioni sul ps).

Contenuti

Il corso prevede 60 ore di didattica tra lezioni ed esercitazioni. In particolare sono previste 40 ore di lezione in aula e 20 ore di esercitazioni guidate in laboratorio.

La Shell di Bourne come linguaggio di programmazione (10 ore + 10 ore di laboratorio): i principali comandi Unix; la ridirezione di ingresso e uscita, il piping dei comandi, le strutture di controllo della Shell, i file comandi.

La programmazione di sistema Unix (10 ore + 10 ore di laboratorio): le system call del sistema operativo Unix per la gestione dei file, dei segnali, per la gestione dei processi e la loro comunicazione con le pipe.

L'architettura e i componenti del Sistema Operativo (16 ore): la memoria virtuale, lo scheduling, la gestione dell'I/O, il file system, la protezione.

Casi di studio (4 ore): i principali sistemi operativi (Unix, Windows, Linux).

Lingua Insegnamento

ITALIANO

Corsi

Corsi

INGEGNERIA ELETTRONICA E INFORMATICA 
Laurea
3 anni
No Results Found

Persone

Persone

STEFANELLI Cesare
AREA MIN. 09 - Ingegneria industriale e dell'informazione
Gruppo 09/IINF-05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI
Settore IINF-05/A - Sistemi di elaborazione delle informazioni
Docenti di ruolo di Ia fascia
No Results Found
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 25.5.0.1