Primo semestre 2022/23
Registro delle lezioni del primo semestre
Mercoledì 21 Settembre
Introduzione al corso di sistemi operativi con i Pensieri
Giovedì 22 Settembre
Lezione teatrale con la metafora del cuoco.
La recipe è presente qui
~Spero non si rompano sti links 😟
Mercoledì 28 Settembre
Introduzione alle concorrenza.
- Descrizione di un processo (stati possili descrizione in memoria, differenza con programma)
- Introduzione al concetto di Liveness e Safety
Giovedì 29 Settembre
Laboratorio pratico con
- Introduzione alla riga di comando.
- Programmi che non fanno uso di librerie
- Programma che fa lampeggiare (TODO: non so come si chiami quel chip, sarebbe da mettere qui)
qui sono presenti tutti i file utilizzati
Mercoledì 5 Ottobre
Sono stati trattati gli algoritmi per la risoluzione di sezioni critiche, come Dekker e Peterson.
Si possono trovare in Esperimenti_sugli_algoritmi_di_Dekker_e_Peterson gli esempi scritti dal Prof.
Giovedì 6 Ottobre
Abbiamo discusso in classe gli esercizi di lettura di C presenti in Esercizi_di_"lettura"_programmi_in_C
Mercoledì 12 Ottobre
Descrizione di tecniche alternative per l'implementazione di sezioni critiche come
- disabilitazione interrupt
- Spinlock (test&set, divisione, swap)
- Introduzione ai semafori
Giovedì 13 Ottobre
Altri esercizi di lettura
Mercoledì 19 Ottobre
Discussione di problemi con i semafori Publisher/Consumer Buffer limitato
Giovedì 20 Ottobre
Mercoledì 26 Ottobre
Giovedì 27 Ottobre
Il professore deve fare un aggiornamento agli insegnanti della scuola secondaria di secondo grado quindi non fa lezioni.
Mercoledì 2 Novembre
Giovedì 3 Novembre
Mercoledì 9 Novembre
Giovedì 10 Novembre
Mercoledì 16 Novembre
Giovedì 17 Novembre
Mercoledì 23 Novembre
Giovedì 24 Novembre
Mercoledì 30 Novembre
Giovedì 1 Dicembre
Mercoledì 7 Dicembre
Giovedì 8 Dicembre
Mercoledì 14 Dicembre
Giovedì 15 Dicembre
Curiosità
I titoli sono stati generati utilizzando questo script in python, opportunamente riadattato da queto post di StackOverflow
from datetime import date, timedelta
import calendar
import locale
def daterange(start_date, end_date):
for n in range(int((end_date - start_date).days)):
yield start_date + timedelta(n)
locale.setlocale(locale.LC_ALL, 'it_IT.UTF-8') # use italian names for months
start_date = date(2022, 9, 20)
end_date = date(2022, 12, 20)
for single_date in daterange(start_date, end_date):
# print only if wednesday or thursday
wed_or_thur = False
if single_date.weekday() == 2:
wed_or_thur = True
name_of_day = "Mercoledì"
elif single_date.weekday() == 3:
wed_or_thur = True
name_of_day = "Giovedì"
if wed_or_thur:
print("===", end=' ')
print(name_of_day, end=' ')
print(single_date.day, calendar.month_name[single_date.month].capitalize(), end=' ')
print("===")