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

46863 - SISTEMI OPERATIVI E LABORATORIO

insegnamento
ID:
46863
Tipo Insegnamento:
Obbligatorio
Durata (ore):
80
CFU:
10
Url:
Dettaglio Insegnamento:
INFORMATICA/Percorso Comune Anno: 2
Anno:
2024
  • Dati Generali
  • Syllabus
  • Corsi
  • Persone

Dati Generali

Periodo di attività

Primo Semestre (19/09/2024 - 17/12/2024)

Syllabus

Obiettivi Formativi

L'obiettivo del corso è fornire allo studente le conoscenze fondamentali dei sistemi operativi, trattando sia gli aspetti teorici sia le tecniche di base e avanzate di programmazione di un sistema operativo.

Le principali conoscenze acquisite saranno:
- struttura di un sistema operativo
- organizzazione di un sistema operativi multi processo
- concetto di processo e di processore virtuale e il cambio di contesto
- concetto e realizzazione della memoria virtuale
- struttura dei dispositivi di IO

Le principali abilità acquisite saranno:
- capacità di programmare sistemi concorrenti e multi-tasking
- analisi delle prestazioni dei sistemi operativi
- uso del sistema operativo Linux
- programmazione multi-thread e multi-processo

Prerequisiti

Si consiglia di avere frequentato il corso di "Architettura degli Elaboratori" e di aver acquisito la capacita' di utilizzare i linguaggi di programmazione C e Java forniti dai corso di "Programmazione e laboratorio" e "Linguaggi di Programmazione".

Metodi didattici

Il corso prevede 80 ore (10 CFU) di didattica divise in 50 ore di lezioni di teoria e 30 ore di lezioni di laboratorio. Il corso è organizzato mediante lezioni frontali ed esercitazioni in laboratorio assistite dal docente. Verranno fornite video-lezioni registrate.

Verifica Apprendimento

L'esame è suddiviso in:
- prova in laboratorio, che prevede lo svolgimento di esercizi su programmazione di sistema Unix (linguaggio C con System Call), programmazione multi-thread in Java e programmazione in Shell di Bourne;
- prova orale su tutti gli argomenti del corso.

Le 3 parti della prova in laboratorio sono indipendenti e possono anche essere svolte in sessioni diverse. Il voto della parte di laboratorio è la media pesata delle 3 prove (voto massimo per ciascuna prova 30): 50% programmazione di sistema, 25% shell, 25% Java. Il superamento della parte di laboratorio prevede l'ottenimento di almeno 18/30 in ciascuna prova. E' consentito consultare libri e copie delle dispense (non si può consultare il codice di esercizi e prove di esame risolte) solo per la parte di programmazione di sistema in C, per la parte di shell è consentito accedere al solo man, per la parte di Java è consentito accedere al solo javadoc. Il tempo previsto per la prova è di circa 3.5 ore, suddiviso tra le tre prove di C, shell e Java in modo proporzionato alla difficoltà di ciascuna prova.

E' possibile sostenere la prova orale solo se si è superata la prova in laboratorio. Il voto finale è determinato a partire dal voto della prova in laboratorio, che può essere sia aumentato che diminuito (al più +/-2 punti) in sede di orale a seconda delle conoscenze dimostrate.

Testi

1. Sistemi operativi 2/ed - Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari - McGraw-Hill
2. I moderni Sistemi Operativi 3/ed - Andrew S. Tanenbaum - Pearson Prentice Hall

Contenuti

- Introduzione ai sistemi operativi: organizzazione, evoluzione e funzioni principali di un sistema operativo.
- Processi, Thread and Scheduling: concetto di processo e di thread, gestione dei processi, context switch, algoritmi di scheduling, sincronizzazione di processi, creazione e terminazione di processi, comunicazione tra processi. Gestione di processi e thread in Unix e Linux.
- Gestione della memoria: tecniche di gestione della memoria (a partizioni fissi e variabili, pagina, segmentata) gestione degli spazi virtuali, indirizzamento multi-livello, gestione della memoria in Unix/Linux. Algoritmi di rimpiazzamento.
- Organizzazione del file-system: concetto di file e directory, organizzazione di file e directory, operazioni sui file, controllo degli accessi, organizzazione del file-system in Unix e Linux.

Lingua Insegnamento

ITALIANO

Corsi

Corsi

INFORMATICA 
Laurea
3 anni
No Results Found

Persone

Persone (2)

FOGLI MATTIA
Gruppo 01/INFO-01 - INFORMATICA
Settore INFO-01/A - Informatica
AREA MIN. 01 - Scienze matematiche e informatiche
Ricercatori a tempo determinato - Tipo A
GIANNELLI Carlo
Gruppo 01/INFO-01 - INFORMATICA
Settore INFO-01/A - Informatica
AREA MIN. 01 - Scienze matematiche e informatiche
Docenti di ruolo di IIa fascia
No Results Found
  • Utilizzo dei cookie

Realizzato con VIVO | Designed by Cineca | 25.5.0.1