Scheda programma d'esame
SISTEMI DI ELABORAZIONE
PERICLE PERAZZO
Anno accademico2023/24
CdSINGEGNERIA ELETTRONICA
Codice989II
CFU6
PeriodoPrimo semestre
LinguaItaliano

ModuliSettore/iTipoOreDocente/i
SISTEMI DI ELABORAZIONEING-INF/05LEZIONI60
GIOVANNI NARDINI unimap
PERICLE PERAZZO unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Lo studente che supera con successo il corso conoscerà i concetti di base relativi al funzionamento interno dei sistemi operativi, della schedulazione di processi, della programmazione concorrente e distribuita, della sicurezza di rete e di sistema. Inoltre, gli studenti acquisiranno conoscenze su sistemi operativi basati su Unix e sulla loro programmazione, con particolare riferimento alle primitive di sistema offerte da tali sistemi.

Knowledge

The student who successfully passes the course will know the basic concepts related to the internal functioning of operating systems, process scheduling, concurrent and distributed programming, network and system security. In addition, students will acquire knowledge on Unix-based operating systems and their programming, with particular reference to the system primitives offered by such systems.

Modalità di verifica delle conoscenze

La verifica finale prevede:

- Lo sviluppo in gruppo di un progetto software con specifiche assegnati dai docenti anno per anno. I gruppi devono essere composti da tre studenti. Gli studenti dovranno discutere il loro progetto durante un ricevimento. Il progetto non prevede un voto, ma la sua sufficienza è prerogativa per accedere alla prova orale finale.

- Una prova orale finale, in cui gli studenti saranno valutati sulla base della loro conoscenza e della loro abilità nel discutere tutto il contenuto del corso.

Assessment criteria of knowledge

The final verification includes:

- The team development of a software project with specifications assigned by teachers year by year. Teams should consist of three students. Students will have to discuss their project during a reception. The project does not include a vote, but its sufficiency is the prerogative to access the final oral exam.

- A final oral exam, in which students will be evaluated on the basis of their knowledge and their ability to discuss all the content of the course.

Capacità

Gli studenti acquisiranno le capacità necessarie a sfruttare le caratteristiche di sistemi operativi basati su Unix in fase di progetto di nuove applicazioni.

Skills

Students will acquire the skills necessary to exploit the characteristics of Unix-based operating systems when designing new applications.

Modalità di verifica delle capacità

Il progetto è valutato in base alla sua attinenza alle specifiche, e in base al corretto uso delle tecniche di programmazione spiegate a lezione.

Durante la prova orale lo studente sarà valutato in base alle sue capacità di analizzare le problematiche e le funzionalità dei sistemi operativi e delle applicazioni basate su sistemi Unix.

Assessment criteria of skills

The project is evaluated on the basis of its relevance to the specifications, and on the correct use of the programming techniques explained in class.

During the oral exam the student will be evaluated on the basis of his ability to analyze the problems and functionalities of operating systems and applications based on Unix systems.

Comportamenti

Si porrà particolare attenzione sull’accuratezza e sulla precisione nella discussione delle problematiche connesse con l’utilizzo di sistemi operativi in ambienti basati su Unix, e delle librerie di sistema da essi offerte.

Behaviors

Particular attention will be paid to accuracy and precision in discussing the issues associated with the use of operating systems in Unix-based environments, and the system libraries they offer.

Modalità di verifica dei comportamenti

Durante la discussione del progetto sarà valutata la correttezza rispetto alle specifiche e delle tecniche di programmazione spiegate a lezione.

Assessment criteria of behaviors

During the discussion of the project will be evaluated the correctness with respect to the specifications and programming techniques explained in class.

Prerequisiti (conoscenze iniziali)

Programmazione in C.

Prerequisites

C programming.

Indicazioni metodologiche

Corso erogato dal vivo.

Attività di apprendimento:

    seguire le lezioni

    studio individuale

    lavoro di laboratorio

Frequenza: consigliata

Metodi di insegnamento:

    lezioni frontali

    laboratori

Teaching methods

Course delivered live.

Learning activities:

    attend the lessons

    individual study

    laboratory work

Frequency: recommended

Teaching methods:

    frontal lessons

    laboratories

Programma (contenuti dell'insegnamento)

Concetti di base sui sistemi operativi. Processi e thread. Algoritmi di scheduling. Programmazione concorrente. Comunicazione tra processi. Modello a memoria condivisa e a scambio di messaggi. Programmazione distribuita. Fondamenti di reti di calcolatori. Sicurezza di sistema. Crittografia. Autenticazione e firma digitale.

Architettura dei sistemi Unix, utilizzo della shell di Unix, primitive per unbuffered I/O, I/O standard library, primitive per interagire con il File System, primitive per la gestione dei processi, primitive per comunicazioni inter-processo, primitive per comunicazioni inter-piattaforma tramite socket.

Syllabus

Operating system basics. Processes and threads. Scheduling algorithms. Concurrent programming. Communication between processes. Shared memory and message exchange model. Distributed programming. Fundamentals of computer networks. System security. Cryptography. Authentication and digital signature.

Architecture of Unix systems, use of the Unix shell, primitives for unbuffered I/O, I/O standard library, primitives to interact with the File System, primitives for process management, primitives for inter-process communications, primitives for inter-platform communications via sockets.

Bibliografia e materiale didattico

“Modern Operating Systems (4th ed.)”, Andrew S. Tanenbaum and Herbert Bos. 2014. Prentice Hall Press, USA.

“Computer Networks (5th ed.)”, Andrew S. Tanenbaum and David J. Wetherall. 2010. Prentice Hall Press, USA.

“Advanced Programming in the UNIX environment”, W. R. Stevens and S. A. Rago. Addison-Wesley.

Altro materiale fornito dai docenti (slide).

Bibliography

“Modern Operating Systems (4th ed.)”, Andrew S. Tanenbaum and Herbert Bos. 2014. Prentice Hall Press, USA.

“Computer Networks (5th ed.)”, Andrew S. Tanenbaum and David J. Wetherall. 2010. Prentice Hall Press, USA.

“Advanced Programming in the UNIX environment”, W. R. Stevens and S. A. Rago. Addison-Wesley.

Other material provided by teachers (slides).

Indicazioni per non frequentanti

Studiare su libri di testo, relativamente ai capitoli toccati dal programma del corso, e sulle slide fornite dai docenti.

Non-attending students info

Study on textbooks, relative to the chapters touched by the course program, and on the slides provided by the teachers.

Modalità d'esame

Discussione progetto di gruppo ed esame orale.

Assessment methods

Team project discussion and oral exam.

Ultimo aggiornamento 04/09/2023 11:37