sistemi/s02/20260226.md
... ...
@@ -0,0 +1,59 @@
1
+poniamo di avere una macchina A, se io riesco a creare un servizio B diverso da A ma posso usare B al posto di A allora B si chiama macchina virtuale
2
+
3
+La def di virtuale dipende dallo scopo
4
+
5
+per essere una macchina virtuale deve parlare lo stesso linguaggio della macchina reale
6
+La jwm e la wm di python non centrano niente con questa def di wm
7
+![20260226_2026-02-26_15-24-44](assets/imgs/20260226_2026-02-26_15-24-44.png)
8
+
9
+Vantaggi:
10
+
11
+- consentono di far coesistere so differenti (es progettare app per telefoni)
12
+ Svantaggi:
13
+- soluzione piu lenta di una reale (le istruzioni hw di virtualizzazione)
14
+- difficile condividere risorse
15
+
16
+### ABI vs ISA
17
+
18
+![20260226_2026-02-26_15-28-38](assets/imgs/20260226_2026-02-26_15-28-38.png)
19
+
20
+imma dx: virtualizzazione di sistema
21
+immagine a sx: virtualizzazione a liv di processo
22
+
23
+![20260226_2026-02-26_15-33-39](assets/imgs/20260226_2026-02-26_15-33-39.png)
24
+
25
+Esempi di VM
26
+Quemu e' una piattaforma di transimulation
27
+Qemu: PMV o SVM
28
+
29
+- cross emulation platform
30
+- dynamic translation
31
+
32
+Qemu + KVM: SVM
33
+
34
+- usa le unita di io virtuali QEMU
35
+- usa le istruzioni per virtualizzazione: intel VT-x e AMD SVM (velocita' praticamente uguali)
36
+
37
+quemu non virtualizza ma traduce. Taduce brani di codice per un processore in brani per un altro processore (non traduce tutto il codice ma pezzi che poi salva in cache)
38
+
39
+Velocita' 10-15 volte piu lento
40
+
41
+quando si avvia un installazione del so viene avviato un piccolo linux (se devo installare linux)che serve solo per l'installazione
42
+
43
+## Namespace
44
+
45
+I namespace isolano le risorse in modo che i processi posano vedere la propria versione del sistema.
46
+Ogni namespace isola un tipo di risorse. Es:
47
+
48
+- PID namespace → separate process trees
49
+- NET namespace → separate network interfaces and routing
50
+- MNT namespace → separate filesystem mount points
51
+- UTS namespace → separate hostname
52
+- IPC namespace → separate shared memory/message queues
53
+- USER namespace → separate user IDs
54
+
55
+System call specifiche
56
+
57
+- clone: crea un nuovo processo, con opportune flag vengono creati nuovi namespace e il processo creato fara parte di questi namespace (e.g. CLONE_NEWNET, CLONE_NEWPID…)
58
+- Setns: connette il processo chiamante a namespace esistenti
59
+- Unshare: muove il processo chiamante in un nuovo namespace
sistemi/s02/assets/imgs/20260226_2026-02-26_15-24-44.png
... ...
Binary files /dev/null and b/sistemi/s02/assets/imgs/20260226_2026-02-26_15-24-44.png differ
sistemi/s02/assets/imgs/20260226_2026-02-26_15-28-38.png
... ...
Binary files /dev/null and b/sistemi/s02/assets/imgs/20260226_2026-02-26_15-28-38.png differ
sistemi/s02/assets/imgs/20260226_2026-02-26_15-33-39.png
... ...
Binary files /dev/null and b/sistemi/s02/assets/imgs/20260226_2026-02-26_15-33-39.png differ