Insegnamento SISTEMI OPERATIVI

Nome del corso di laurea Ingegneria informatica ed elettronica
Codice insegnamento A003144
Curriculum Ingegneria informatica
Docente responsabile Carla Binucci
Docenti
  • Carla Binucci
Ore
  • 54 Ore - Carla Binucci
CFU 6
Regolamento Coorte 2022
Erogato Erogato nel 2024/25
Erogato altro regolamento
Attività Caratterizzante
Ambito Ingegneria informatica
Settore ING-INF/05
Anno 3
Periodo Primo Semestre
Tipo insegnamento Obbligatorio (Required)
Tipo attività Attività formativa monodisciplinare
Lingua insegnamento ITALIANO
Contenuti - Strutture dei sistemi operativi.
- Processi.
- Scheduling della CPU.
- Sincronizzazione dei processi.
- Memoria centrale. Memoria virtuale.
- Memoria secondaria.
- File system.
- Introduzione all’ambiente Linux lato utente.
Testi di riferimento - Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Sistemi operativi Concetti ed esempi - 9/Ed., Pearson Education, 2014
Obiettivi formativi L'obiettivo principale dell'insegnamento consiste nel fornire agli studenti le seguenti conoscenze:
- Conoscenza dei concetti fondamentali alla base del funzionamento dei moderni sistemi operativi.
- Conoscenze di base su Linux - lato utente.

Le principali abilità saranno funzionali a:
- risolvere problemi relativi alla gestione delle risorse di un calcolatore (Processore, Memoria Primaria e Secondaria)
- interagire con il sistema operativo Linux a livello utente
Prerequisiti Al fine di comprendere appieno alcuni degli argomenti trattati nell'insegnamento, e' fortemente consigliato aver sostenuto l'esame di Fondamenti di Informatica. Diversi argomenti trattati nel modulo richiedono la conoscenza di principi di programmazione in C
Metodi didattici Il corso è organizzato con lezioni frontali ed esercitazioni sugli argomenti del corso.
Altre informazioni
Modalità di verifica dell'apprendimento Esame scritto di natura teorica e applicativa.
- Durata: circa 120 minuti
- Struttura: domande teoriche ed esercizi
- Punteggio: 30/30

Obiettivo: verificare le conoscenze acquisite in merito ai concetti teorici dell'insegnamento e la capacità di applicare tali concetti a casi pratici

Per informazioni sui servizi di supporto agli studenti con disabilità e/o DSA visita la pagina http://www.unipg.it/disabilita-e-dsa
Programma esteso - Introduzione: Generalità su cosa è e cosa fa un sistema operativo; strutture dei sistemi operativi.

- Processi: Concetto di processo; Scheduling dei processi; operazioni sui processi, comunicazione fra processi.

- Sincronizzazione dei processi: Problema della sezione critica; Hardware per la sincronizzazione; Lock mutex; Semafori; problemi tipici di sincronizzazione.

- Scheduling della CPU: Concetti fondamentali; Criteri di scheduling; Algoritmi di scheduling; Scheduling per sistemi multiprocessore; Esempi di sistemi operativi.

- Stallo dei processi (cenni): Modello di sistema; caratterizzazione delle situazioni di stallo.

- Memoria centrale: Spazi di indirizzi logici e fisici; Avvicendamento dei processi; Allocazione contigua della memoria; Paginazione; Struttura della tabella delle pagine; Esempi di architetture.

- Memoria virtuale: Paginazione su richiesta; Algoritmi di sostituzione delle pagine; Allocazione dei frame; Trashing.

- Thread (cenni): Concetto di thread; Thread a livello utente e thread a livello kernel; Scheduling della cpu in presenza di thread.

- Memoria secondaria: Scheduling del disco; Gestione dell’area di avvicendamento.

- File system: Concetto di file; Metodi di accesso; Struttura delle directory e del disco; Protezione; Realizzazione delle directory; Metodi di allocazione: contigua, concatenata, FAT, indicizzata, i-node unix; Gestione dello spazio libero.

- Introduzione a Linux: Introduzione a Linux; uso della shell e primi comandi da terminale; Principali system call per la gestione dei processi.


Obiettivi Agenda 2030 per lo sviluppo sostenibile 4,9
Condividi su