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

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