index

Il corso di Architettura dei Calcolatori e Sistemi Operativi si divide in due parti principali. Nella prima parte si introducono le istruzioni macchina, il linguaggio assembler, e la loro traduzione da C, oltre alle tecniche di assemblaggio e collegamento. Si studiano i circuiti logici e l'algebra di Boole, con particolare attenzione alle funzioni combinatorie e ai circuiti come ALU, registri e memorie. Si approfondisce anche la microarchitettura del processore, inclusi concetti come pipeline e memorie cache. Nella seconda parte si affronta la programmazione di sistema con un focus su parallelismo, thread e programmazione concorrente. Si esplora la struttura e il funzionamento dei sistemi operativi, con argomenti come la gestione dei processi, la memoria virtuale, il file system e la gestione delle periferiche.

  1. Introduzione al corso
  2. Architettura dei calcolatori
    1. Linguaggio Assembly
      1. Istruzioni RISC-V
      2. Conversione da C ad Assembly
      3. Processo di compilazione
    2. Reti logiche
      1. Circuiti combinatori
        1. Blocchi combinatori
      2. Circuiti sequenziali
        1. Blocchi sequenziali
        2. Memoria
    3. Architettura RISC-V
      1. Pipelining nel processore RISC-V
      2. Gerarchia della memoria
        1. Memoria virtuale
      3. Prestazioni dell'architettura RISC-V
      4. Input e Output a livello hardware
      5. BUS del calcolatore
  3. Sistema operativo
    1. Gestione dei processi
      1. Thread
      2. Programmazione concorrente
    2. Linux
      1. Meccanismi hardware
      2. Stato dei processi
      3. Servizi di sistema
      4. Scheduler
      5. Gestione della memoria virtuale
        1. Gestione della memoria fisica
        2. Memoria del sistema operativo
      6. File system