Scheda programma d'esame
DATA PROCESSING SYSTEMS
NICOLA TONELLOTTO
Academic year2017/18
CourseTELECOMMUNICATIONS ENGINEERING
Code564II
Credits6
PeriodSemester 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
PROGETTAZIONE WEBING-INF/05LEZIONI60
FRANCO MARIA NARDINI unimap
NICOLA TONELLOTTO unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Il corso e’ concepito in due moduli. Nel primo modulo si presenta una trattazione del sistema calcolatore nel suo complesso, si introduce il repertorio delle istruzioni e i vari sottosistemi: processore, memoria e input/output. Durante le lezioni saranno discussi esempi concreti dei vari sottosistemi.

Knowledge

The student who successfully completes the course is expected to acquire: (i) some knowledge of the basic concepts of computer architecture; (ii) ability of using the Unix operating system.

Modalità di verifica delle conoscenze

Esame orale

Assessment criteria of knowledge

The student will be assessed on his/her demonstrated ability to discuss the main course contents using the appropriate terminology. - The student's ability to explain correctly the main topics presented during the course at the board will be assessed. - The student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out under the guidance of the teacher during the course.

Methods:

  • Final oral exam
Capacità

Nel secondo modulo si introduce lo standard de-facto dei sistemi operativi moderni (UNIX). Si spiega come i vari sottosistemi visti nel primo modulo sono resi disponibili e usabili attraverso astrazioni di più alto livello tipiche del sistema operativo stesso. Le domande a cui gli studenti sapranno rispondere sono: 1) come un sistema operativo abilita l’interazione dei sottosistemi visti nel primo modulo? 2) come si interagisce e si gestiscono processi? 3) quali sono le tecniche che abilitano la comunicazione tra processi sulla stessa piattaforma? 4) come si abilita la comunicazione tra piattaforme diverse? 5) come si realizzano e ottimizzano sistemi client-server?

Modalità di verifica delle capacità

Pre-esame orale

Prerequisiti (conoscenze iniziali)

Programmazione C/C++

Fondamenti di Informatica e Sistemi Operativi.

Indicazioni metodologiche

Lezioni frontali ed esercitazioni pratiche al calcolatore

Teaching methods

Delivery: face to face

Learning activities:

  • attending lectures
  • participation in discussions
  • individual study

Attendance: Advised

Teaching methods:

  • Lectures
Programma (contenuti dell'insegnamento)

Primo Modulo

Argomenti:
1) Funzionamento e intercessione di un elaboratore. Componenti, funzioni, interconnessioni, bus.
2) Memoria. Gerarchia di memoria, organizzazione, implementazione, cache.
3) Input/Output. Moduli, interruzioni, accesso diretto alla memoria.
4) Repertorio delle istruzioni. Istruzioni macchia, operandi, operazioni, metodi di indirizzamento.
5) Processore. Organizzazione, registri, ciclo fetch-execute, controllo.
7) Approfondimenti

Secondo Modulo

Argomenti:

1) UNIX overview. Panoramica dei sistemi UNIX: storia, sistema di accesso, files & directory.
2) I/O su file. Descrittori dei file, efficienza nel sistema di I/O, tipi di file, loro accesso, utenti e gruppi.
3) Libreria di standard I/O. Sottosistemi di standard input, output and error, buffering, stream, stream binari, alternative al sistema di standard I/O.
4) Processi (controllo, ambiente, segnali, relazioni). Layout di memoria di un programma C, librerie condivise, variabili d’ambiente, controllo dei processi (fork, exit), relazioni, chiamate a sistema e segnali principali (kill).
5) Comunicazione tra processi. Pipes, (popen, pclose), IPC (Message Queues, Semafori, Memoria condivisa, Sistemi client/server).
6) Comunicazione su rete (sockets, UDP, TCP). Socket, Descrittori del socket, addressing (byte ordering, formato indirizzi, lookups, associazioni), handshaking, trasferimento dati, opzioni socket, async I/O.

Syllabus

COMPUTER ARCHITECTURE AND ORGANIZATION: Functional blocks. Instruction format and addressing modes. Most important instructions. Programs. Subprograms. Bus. Central memory and cache memory. Static and Dynamic RAM. Interfaces. Interrupts. Bus Mastering. PC IBM: Intel x86 processors, commercial RAM chips. ARM processors. OPERATING SYSTEMS: Unix: the kernel, primitives, processes, file system, commands.

Bibliografia e materiale didattico

Struttura e progetto dei calcolatori, di David A. Patterson e John L. Hennessy, edito da Zanichelli (quarta edizione italiana condotta sulla quinta edizione americana)

R. Stevens e S. Rago, Advanced Programming in the UNIX environment, Addison-Wesley

M. Mitchell, J. Oldham e A. Samuel, Advanced Linux Programming, New Riders

Bibliography

G. Bucci, Architettura e organizzazione dei calcolatori elettronici, McGraw-Hill. W. Stallings, Computer Organization and Architecture, Prentice Hall. R. Stevens e S. Rago, Advanced Programming in the UNIX environment, Addison-Wesley. M. Mitchell, J. Oldham e A. Samuel, Advanced Linux Programming, New Riders.

Modalità d'esame

Esame Orale

Updated: 13/07/2017 17:31