Laboratorio di Sistemi Operativi

Questa pagina rac­coglie in­for­mazioni e link utili per il corso di Lab­o­ra­torio di Sis­temi Op­er­a­tivi, tenuto in col­lab­o­razione con il prof. Ivan Scagnetto, nel­l’Anno Ac­ca­d­e­mico 2016/2017, e che è in corso per l’Anno Ac­ca­d­e­mico 2019/2020, per il corso di laurea tri­en­nale in In­for­matica al­l’U­ni­ver­sità di Udine. Tutto il ma­te­riale è disponi­bile anche sulla pi­attaforma di e-learning del­l’Ate­neo.

Orario di rice­vi­mento

Non è fis­sato alcun orario di rice­vi­mento par­ti­co­lare. Per ac­cor­darsi basta un’email. Sono nel­l’uf­ficio Nodo Sud 4, al sec­ondo piano (vedi la mappa del di­par­ti­mento).

Slide delle lezioni

Di se­guito sono disponi­bili le slide delle lezioni della sec­onda e terza parte del corso (lin­guaggio C e pro­gram­mazione di sis­tema in am­bi­ente Unix).

Ma­te­riale di ap­pron­fondi­mento

Il corso copre gli ar­go­menti di base in maniera per forza di cose in­tro­dut­tiva. Per ap­pro­fondire l’u­ti­lizzo del lin­guaggio C es­istono varie risorse sia car­tacee che on­line.

Lin­guaggio C

  • Il libro Modern C di Jens Gust­edt, scar­i­ca­bile lib­era­mente dal sito del­l’au­tore, è una delle fonti più ag­gior­nate da cui im­parare il lin­guaggio C e le cor­rette tec­niche per il suo uti­lizzo.
  • Su Stack­Over­flow trovate una lista di libri di testo di tutti i liv­elli.
  • com­p.c.lang FAQ: una lista di Fre­quently Asked Ques­tions sul lin­guaggio C.
  • Testo dello stan­dard ISO/IEC 9899 (del­l’ul­tima bozza pub­blica, in re­altà).
  • Un pros­egui­mento nat­u­rale e forte­mente con­sigliato è l’ap­prendi­mento del lin­guaggio C++. Un buon punto di partenza è il libro di Bjarne Strous­trup (l’ideatore del lin­guag­gio): C++. Lin­guag­gio, li­breria stan­dard, prin­cipi di pro­gram­mazione.

Pro­gram­mazione di sis­tema in am­bi­ente Unix

  • GaPiL – Guida alla Pro­gram­mazione in Linux: un’­opera scritta col­lab­o­ra­ti­va­mente (in ital­iano), scar­i­ca­bile lib­era­mente, sulla pro­gram­mazione di sis­tema in am­bi­ente Unix (e Linux in par­ti­co­lare), che ap­pron­fondisce molto la mag­gior parte degli ar­go­menti trat­tati nel corso.
  • The Linux Pro­gram­ming In­ter­face: A Linux and UNIX System Pro­gram­ming Hand­book, di Michael Ker­risk, ag­gior­nata e com­pleta guida alle API dei sis­temi Unix in gen­erale, e Linux in par­ti­co­lare.