Deep Signal 00
WELCOME TO THE MACHINE
Come funziona davvero il software
Welcome to the Machine è il punto di partenza di DEEP SIGNAL. Prima di studiare Go, scendiamo sotto il linguaggio per capire che cosa accade davvero quando un programma viene creato ed eseguito.
Partiamo da bit, byte e rappresentazione dell’informazione, per arrivare a CPU, memoria, codice macchina, processi, thread, concorrenza e parallelismo: le fondamenta su cui costruiremo tutto il percorso successivo.
Questo corso non richiede esperienza precedente di programmazione e può essere seguito anche autonomamente. Ma dentro DEEP SIGNAL ha una funzione precisa: darti il modello della macchina prima di iniziare a progettare software in Go.
A bordo dell’Andromeda, questi concetti non rimangono astratti: diventano il funzionamento reale dei sistemi di bordo che useremo lungo tutto il percorso.
Guarda il video di presentazione
Programma del corso
Sezione 1: Introduzione
- Presentazione
- Benvenuto a bordo
Sezione 2: Il Bit e il Byte
- Il bit
- Dal bit al byte
- Rappresentazione binaria
- Il complemento a due
- Il Bit e il Byte – 1 – Quiz
- Il Bit e il Byte – 2 – Quiz
Sezione 3: La Memoria
- La memoria come sequenza di byte
- L’indirizzo è un numero
- Il Tipo come interpretazione
- La Memoria – Quiz
Sezione 4: La CPU
- Cos’è un programma
- I registri
- L’ALU e il Program Counter
- Il ciclo fetch-decode-execute
- La CPU – Quiz
Sezione 5: Il Linguaggio della Macchina
- Codice = dati
- Il bus
- La larghezza del bus
- Il Linguaggio della Macchina – Quiz
Sezione 6: Il Programma
- Le istruzioni macchina
- Operandi e istruzioni complete
- Assembly Language
- Linguaggi di alto livello
- Codice e dati
- Le variabili
- Le funzioni
- Parametri, argomenti e valore di ritorno
- Il compilatore
- Il Programma – Quiz
Sezione 7: Dal Programma all’Esecuzione
- Il file eseguibile
- Cos’è un Sistema Operativo
- Il caricamento in memoria
- Il processo
- Dal Programma all’Esecuzione – Quiz
Sezione 8: Sistema Operativo e Processi
- Lo scheduling
- Multicore e parallelismo
- Gli interrupt
- La system call
- User mode e kernel mode
- Lo spazio di memoria
- Sistema Operativo e Processi – Quiz
Sezione 9: Dentro il Processo
- I segmenti della memoria del processo
- Il text segment
- Stack
- Stack frame
- Heap
- Dentro il Processo – Quiz
Sezione 10: Multithread
- Processi in parallelo
- Il limite del processo singolo
- Thread
- Memoria condivisa
- Context switch
- Il problema della concorrenza
- Sincronizzazione
- Il contratto con la macchina
- Multithread – Quiz