Mirko Morati
March 7, 2017
Contents
1 Ingegneria del software 2
1.1 01/03/17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Grafica al calcolatore 5
2.1 02/03/07 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Storia . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Cos la computer graphics . . . . . . . . . . . . . . . 6
2.1.3 Applicazioni della CG . . . . . . . . . . . . . . . . . . 6
2.1.4 Definizioni . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.5 Applicazione grafica interattiva . . . . . . . . . . . . . 7
2.1.6 Grafica vettoriale vs raster . . . . . . . . . . . . . . . . 7
2.1.7 Colore . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Domande di verifica . . . . . . . . . . . . . . . . . . . . . . . 9
3 Sistemi operativi 10
3.1 03/03/17 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.1 Sistemi Unix . . . . . . . . . . . . . . . . . . . . . . . 10
3.1.2 Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1
1 Ingegneria del software
1.1 01/03/17
Ingegneria del software: studio di metodologie e strumenti per supportare lo
sviluppo di software professionale. Un approccio artigianale non garantisce
la scalabilit del software. Una soluzione scalabile quando riesco ad usarla
per problemi di grandezza superiore a quelli iniziali.
I prodotti software possono essere:
sicurezza
costi di produzione
2
tempi
Efficienza vs efficacia:
sistemi di intrattenimento
affidabilit e prestazioni
specifica e requisiti
3
1.2 FAQ
Che cos un software? Un software linsieme dei programmi informatici e
la documentazione relativa allo sviluppo.
Quali sono le caratteristiche di un buon prodotto software?
Affidabilit: il software deve fare quello che deve fare senza mettere
a rischio privacy, sicurezza . . .
Usabilit
4
2 Grafica al calcolatore
2.1 02/03/07
2.1.1 Storia
1960: William Fetter introduce il termine Computer Graphics per de-
scrivere la ricerca che stava svolgendo, in termini di modellazione 3D
al calcolatore
Negli anni 60-70-80 vengono sviluppati gli algoritmi per creare linee
raster, riempire poligoni, proiettare oggetti 3D su telecamere virtuali
1985: Commodore Amiga uno dei primi home computer con una
GPU
5
1995: Prime schede video per PC con pipeline grafica 3D (S3 Virge)
1999: Nvidia GeForce 256 la prima scheda con transform & lightning
engine
Animazione
Realt virtuale
2.1.4 Definizioni
La disciplina che studia le tecniche e gli algoritmi per la rapp-
resentazione visuale di informazioni numeriche prodotte o sem-
plicemente elaborate dai computer R.Scateni
CG diversa da CV:
6
nella CG si passa da immagini a parametri, a interpretazione
al Calcolatore/images/ditaa1.png
Una caratteristica fondamentale delle applicazioni grafiche interattive
che per la parte di rendering si avvalgono di schede hardware dedicate che
implementano una pipeline di algoritmi (controllate attraverso librerie speci-
fiche).
7
Codifica limmagine mediante primitive di disegno (linee, curve,
aree)
Le immagini possono essere descritte mediante funzioni paramet-
riche e coordinate di punti
Vantaggi:
i dati sono espressi in una forma direttamente comprensibile
(e.g. lo standard SVG)
la codifica compatta rispetto allequivalente raster
posso scalare liberamente limmagine senza che si verifichi
una perdita di risoluzione
Limiti:
per la rappresentazione sulla maggior parte dei display oc-
corre rasterizzare limmagine
Raster
2.1.7 Colore
La rappresentazione del colore una terna di valori (RGB). Nei monitor si
generano i colori nei punti della griglia per sintesi additiva, nella stampa per
sintesi sottrattiva. Non tutti i colori possono essere generati in mescolanza
additiva o sottrattiva di tre colori primari (RGB e CMY(K) cercano di mas-
simizzare i colori rappresentabili). Luso di 3 componenti deriva dalla fisiolo-
gia della visione, che mostra che con 3 colori si possono approssimativamente
8
riprodurre i colori del mondo reale. I colori visibili per derivano da una vari-
azione continua di lunghezza donda delle radiazioni elettromagnetiche in un
intervallo 370-730nm.
360 380 400 420 440 460 480 500 520 540 560 580 600 620 640 660 680 700 720 740 760 780 800
9
3 Sistemi operativi
3.1 03/03/17
3.1.1 Sistemi Unix
Caratteristiche principali:
un sistema modulare
3.1.2 Shell
1. Comandi base Inizio di una sessione:
Login:
Password:
Informazioni sul sistema: ogni utente identificato dal suo login (UID)
ed appartiene ad uno o pi gruppi (GID).
whoami
who
w
id
10
groups
finger
uname
passwd
su
date
(a) Comands
(b) System Calls
(c) Library Function
(d) Administrative Files
(e) Miscellaneous Information
(f) Games
(g) I/O and Special Files
(h) Maintenance Commands
Oltre al man:
. la directory corrente
.. la directory padre di quella corrente
I file che iniziano con . sono nascosti
Path assoluto parte dalla radice (/dir/dir1/...)
Path relativo parte dalla cartella corrente (dir/dir1/...)
Tutti i file fisici sono byte stream. Ci sono 4 tipi di file logici:
11
ogni device di I/O visto come un file
per questo i programmi non sanno se operano su file o device
di I/O, non c differenza
lettura/scrittura su Special File causano operazioni di I/O
sul relativo device
questo crea indipendenza dai dispositivi
Link: collegamento ad un altro file
Soft link: un file che contiene il nome di un altro file.
Hard link: un nome (in una directory) che punta ad un i-node
puntato anche da altri.
non si pu fare hard link di directory
non si pu fare hard link a file su altri file system
un file viene rimosso quando tutti i suoi hard link sono
stati rimossi
File ordinario: tutti gli altri file
12
3. Visualizzazione testo cat file1 file2 ...: concatena i file sullo std-
out
head [-n] file1 file2 ...: visualizza le prime n righe
tail [-+nrf] file1 file2 ...: visualizza le ultime (con + salta le
prime righe) 10 righe
13
6. Permessi
chgrp [-R] gruppo file: cambia il gruppo del file
chown [-R] utente[:gruppo] file: cambia proprietario (e gruppo)
del file. Lopzione -R indica di propagare il comando alle sottodirectory
chmod [-R] protezione file:
-name pattern
14
-type tipo: b (block), c (char), d (directory), l (link), f (regular
file)
-user utente
-group gruppo
-newer file
-atime, mtime, ctime [+/-] giorni
-print
-size [+/-] blocchi
Organizzazione gerarchica
PID (assegnato dal sistema)
Priorit (assegnata dal sistema)
15
u: visualizza info orientate allutente
Stati di un processo:
R: in esecuzione/eseguibile
T: stoppato
S: addormentato
Z: zombie
D: in attesa I/O non interrompibile
interattivo
16
shell script: un file di testo costituito da una sequenza di comandi
.bash_profile
.bash_login
.profile
17
(b) Variabili La shell mantiene un insieme di variabili per la per-
sonalizzazione dellambiente, le assegnazioni vengono aggiunte
allinterno di .bash_profile.
Variabili di ambiente: variabili presenti nellambiente globale
della shell. Se le variabili sono locali, il figlio non le vede a meno
che non usi export.
PWD SHELL PATH HOME
HOST HOSTTYPE USER GROUP
MAIL MAILPATH OSTYPE MACHTYPE
EDITOR TERM LDLIBRARYPAT
Per accedere al valore di una variabile si usa loperatore $. I valori
delle variabili sono sempre stringhe, per valutazioni aritmetiche si
pu usare loperatore $(()) oppure il comando let.
(c) History
18
4 Programmazione e sicurezza delle reti
4.1 07/03/17
Una Protocol Data Unit (PDU) lunit dinformazione o pacchetto scambi-
ata tra due peer entities in un protocollo di comunicazione di unarchitettura
di rete a strati. formato da Protocol Control Information (PCI) e Service
Data Unit (SDU) che rappresentano, rispettivamente, lheader (se messo in
testa, o footer/trailer se messo in coda) e il payload.
man libpcap
Modalit promiscua: la scheda di rete riceve tutti i pacchetti Modalit
live: Wireshark deve essere in esecuzione come root
Wireshark interpreta i campi e li fa vedere in un formato human readable
4.1.1 Esercizi
***nnnn Esercizio 1
19
1. Qual la lunghezza dellheader IP?
20 bytes.
1. Creare un filtro per visualizzare solo i pacchetti che hanno ARP come
protocollo. (Basta scrivere ARP come filtro)
63.6% (173/272)
eth.src == 00:22:19:c7:2b:ee
5.1% (14/272)
eth.dst == ff:ff:ff:ff:ff:ff
83.8% (228/272)
20
4.1.2 Esercizio 2
prova
Pacchetto 1 Pacchetto 2
Src 157.27.252.202 157.27.10.10
Dst 157.27.10.10 157.27.252.202
Protocollo di trasporto UDP UDP
Protocollo di applicazione DNS (UDP usa porta dst 53) DNS (src port UDP 53)
Payload livello applicazione www.polito.it: type A, class IN
21