L'insegnamento si propone di approfondire l'analisi degli aspetti architetturali dei calcolatori. Inoltre sono presentati e discussi alcuni concetti di programmazione di sistema, con particolare riferimento alle primitive di sistema di ambienti Unix.
Ci si aspetta che lo studente che completa l'insegnamento con successo abbia acquisito: (i) conoscenza dei meccanismi funzionali implementati all'interno dei sistemi di elaborazione, quali processori e memorie; e (ii) competenza nella programmazione e nell'uso delle librerie di sistema dei sistemi operativi basati su Unix.
The course focuses on the detailed analysis of the core functionalities of computing systems. Moreover, the course includes some system programming concepts, with special focus on the Unix system libraries.
The student who passes successfully the course is expected to know: (i) the functional mechanisms implemented inside the computing systems, such as processors and memories; and (ii) a good knowledge of system programming using primitives and system calls of the Unix OS.
Nella prova d'esame, lo studente deve essere in grado di illustrare con chiarezza e competenza gli aspetti architetturali di un sistema di elaborazione e delle primitive di sistema operativo. Sarà inoltre valutata la capacità dello studente di illustrare gli argomenti presentati durante l'insegnamento, con chiarezza ed utilizzando teminologie appropriate.
In the final test, the student must be able to illustrate clearly and soundly the different architectural elements of a computing system and the OS system calls. Moreover, part of the evaluation will include the assessment of the student's skills to discuss the course topics with domain knowledge
Ci si aspetta che lo studente che completa il corso di insegnamento con successo abbia acquisito capacità di utilizzare con efficienza e profitto le conoscenze e l'adeguata terminologia per discutere di sistemi di elaborazione e saperne analizzare/sfruttare le caratteristiche in fase di progetto di applicazioni e scelta dei componenti di nuovi sistemi hardware.
The student who passes successfully the course is expected to gain competence on the effective and efficient use of the acquired knowledge to discuss about computer architecture and to analyse/exploit their characteristics in the design of software applications and hardware components.
Durante le esercitazioni in aula saranno assegnati numerosi esercizi di programmazione di complessità crescente, che lo studente dovrà essere in grado di svolgere sotto la guida dei docenti.
During the practical sessions, many system programming exercises with increasing complexity will be presented, discussed and solved by the student under the guidance of the teachers.
Si porrà l'accento sulla necessità di accuratezza e precisione nella presentazione e discussione delle architetture dei sistemi di elaborazione. Si sensibilizzeranno gli studenti sulle problematiche connesse con la progettazione di sistemi operativi, anche in riferimento all'evoluzione delle relative metodologie di progetto e del loro supporto a livello di librerie di sistema.
Special attention will be devoted to accuracy and precision in the presentation and discussion of computing system architectures. Awareness will be raised on the the problems linked to the design of the operating systems, with reference to the evolution of the design approaches and the support of system libraries.
Durante le esercitazioni in aula sarà valutato il grado di accuratezza e precisione delle attività svolte.
During the practical sessions, precision and accuracy level of the activities will be assessed.
Programmazione in C/C++, concetti di base di sistemi operativi.
C/C++ programming, base concepts in operating systems.
Nessuno
None
Nessuno
None
None
Nessuna.
None
Prova finale orale
Final oral examination
Nessuno
None
Sito web dei docenti: http://tonellotto.github.io - http://www.iet.unipi.it/g.nardini/index.html
Teachers web site: http://tonellotto.github.io - http://www.iet.unipi.it/g.nardini/index.html
Nessuna
None