rtos.piagentini.it


Questo sito redatto in HTML puro raccoglie gli appunti del corso di Sistemi Opertivi Dedicati tenuto dal Prof. Aldo Franco Dragoni nell'A.A. 2025/2026 dal 25 Febbraio al 31 Maggio 2026

E' concepito per coordinare il gruppo di lavoro POOH allo sviluppo del progetto di corso: l'installazione di una distrubibuzione "custom" di LineageOS (fork di CyanogenMod) su device Android di marca Samsung di fascia alta (linea S) obsoleti dalla quale sia stato "tolto" tutto ciò che non è indispensabile a far girare una semplice interfaccia utente per l'immissione di misure durante campagne di taratura strumentale negli ambienti industriali.

Il sito accoglie anche un fork() della logica del progetto applicato a due progetti "paralleli" coordinati dal gruppo stesso (in collaborazione con altri)

Data la sua natura "lightweight" questo si presta anche per testare il browser (HTML Client) delle distribuzioni di cui sopra, nonchè di quelle utilizzate dagli altri gruppi di progetto.

Durante il corso sarà complementato da un adeguato "Foglio di stile" (Cascading Style Sheet)

Rispetto ai contenuti del corso è stata aggiunta una "Lezione 0" introduttiva a cura di Marco Piagentini ed a cura dello stesso sarà aggiunta una "Lezione 99" con complementi NT-Oriented degli argomenti trattati in ambiente Linux.



Progetti POOH

Il primo progetto è interno al gruppo

i seguenti coordinati dal gruppo


Lezione 0/a> - Fondamenti di Sistemi Operativi

Questa lezione e' da considerarsi "dedicata" a chi ha raggiunto il corso senza aver sostenuto un esame di "Sistemi Operativi" di livello triennale.

Idealmente per frequentare "con frutto"" questo corso sarebbe indispensabile conoscere tutti gli argomenti trattati nel mitologico "Tanenbaum": così è conosciuto il testo "Modern Operating Systems" di Andrew Stuart Tanenbaum, autore del sistema operativo a MicroKernel Unix-Like "Minix" creato a scopo didattico, fonte di ispirazione per Linus Torvalds, nella creazione del kernel di Linux

Molto utile anche la conoscenza di come gli stessi argomenti (ed altri) sono trattati nel "Silberschatz" vale a dire il testo "Operating System Concepts" (Silberschatz, Avi; Galvin, Peter; Gagne, Greg) ormai giunto alla decima edizione (2019)) e disponibile anche in lingua italiana (Sigh!)

In realtà questa "lezione 0" si prefigge di elencare almeno i "puntatori" alle risorse didattiche minime necessarie e di trattarle nella loro essenzialià.

Tralasciando definizioni accademiche, si può pensare ad un "Sistema Operativo" come quel layer software GENERICO che si interpone fra hardware e utente allo scopo di permettere a quest'ultimo una "esperienza utente" uniforme nel passaggio da una piattaforma hardware all'altra.

Per "Esperienza Utente" (UX) si intende non solamente l'interfaccia di utilizzo testuale (CLI - Command Line Interface) o grafico (GUI - Graphic User Interface) ma anche un substrato di programmazione (librerie e/o layer di astrazione) che permette ad uno sviluppatore di non dover includere nel suo progetto TUTTO quanto serve ad interagire con un hardware specifico preoccupandosi SOLO di interagire con il sistema operativo stesso.


Lezione 1 del 25 Febbraio 2026

Bla Bla Bla 1


Lezione 2 del 26 Febbraio 2026

Bla Bla Bla 2


Lezione 3 del 27 Febbraio 2026

Bla Bla Bla 3


Lezione 4 del 4 Marzo 2026

Bla Bla Bla 4


Lezione 5 del 5 Marzo 2026 : Scheduler

Keywords: interrupt, program counter, stack pointer, registri, ISR Interrupt Service Routine, kernel mode,  timeslice,  CFS, EDF, RT, context switch, IPC (Inter Process Communication), orphan, zombie

C Functions: fork() - wait (), schedule(), scheduler_tick(), exec(), execv()

C Libraries: iostream, unistd.h, sys/wait.h


Lezione 6 del 6 Marzo 2026 : Inter Process Communication (IPC)

Keywords: pipe, fifo, memoria condivisa, code di messaggi, segnali, threads, strutture semaforiche, socket, streams

C Libraries: unistd.h, iostream

C Functions: sizeof(),pipe(), mknod(const char  *pathname, mode_t mode, dev_t dev); mkfifo(const char *pathname, mode_t mode)


Lezione 7 dell'11 Marzo : PIPE

Keywords: pipe,

C Libraries: iostream, fcntl.h,unistd.h,string.h,cstring,sys/wait.h

C Functions: strcmp(),execl()

 


Lezione 99 del 31 Maggio 2026 : Marco Piagentini compie 56 Anni e vi parla di Windows NT (quello vero)

Solo per un vostro orientamento sul mercato Business, rimpiangendo i tempi in cui Windows 11 (Windows NT 10.0) era un sistema operativo serio, molto serio (Windows NT 3.1)

Keywords:

OS: Operating System

FS: FileSsyem

CLI: Command Line Interface tools

grep32

PowerShell: Advanced Command Line Interface tools

 


(C) 1981-2026 marco@piagentini.it