commit c4e189e3706a9b87961a488e8b10c170bd8dd0c9 Author: s03529 Date: Thu Apr 3 02:05:41 2025 +0200 iniziale diff --git a/fonts/Ubuntu-B.ttf b/fonts/Ubuntu-B.ttf new file mode 100644 index 0000000..b173da2 Binary files /dev/null and b/fonts/Ubuntu-B.ttf differ diff --git a/fonts/Ubuntu-BI.ttf b/fonts/Ubuntu-BI.ttf new file mode 100644 index 0000000..72a5a99 Binary files /dev/null and b/fonts/Ubuntu-BI.ttf differ diff --git a/fonts/Ubuntu-C.ttf b/fonts/Ubuntu-C.ttf new file mode 100644 index 0000000..602a3ee Binary files /dev/null and b/fonts/Ubuntu-C.ttf differ diff --git a/fonts/Ubuntu-L.ttf b/fonts/Ubuntu-L.ttf new file mode 100644 index 0000000..ed0f5bc Binary files /dev/null and b/fonts/Ubuntu-L.ttf differ diff --git a/fonts/Ubuntu-LI.ttf b/fonts/Ubuntu-LI.ttf new file mode 100644 index 0000000..c6cec55 Binary files /dev/null and b/fonts/Ubuntu-LI.ttf differ diff --git a/fonts/Ubuntu-M.ttf b/fonts/Ubuntu-M.ttf new file mode 100644 index 0000000..ca9c03a Binary files /dev/null and b/fonts/Ubuntu-M.ttf differ diff --git a/fonts/Ubuntu-MI.ttf b/fonts/Ubuntu-MI.ttf new file mode 100644 index 0000000..e8d186c Binary files /dev/null and b/fonts/Ubuntu-MI.ttf differ diff --git a/fonts/Ubuntu-R.ttf b/fonts/Ubuntu-R.ttf new file mode 100644 index 0000000..d748728 Binary files /dev/null and b/fonts/Ubuntu-R.ttf differ diff --git a/fonts/Ubuntu-RI.ttf b/fonts/Ubuntu-RI.ttf new file mode 100644 index 0000000..4f2d2bc Binary files /dev/null and b/fonts/Ubuntu-RI.ttf differ diff --git a/fonts/Ubuntu-Th.ttf b/fonts/Ubuntu-Th.ttf new file mode 100644 index 0000000..5cfec48 Binary files /dev/null and b/fonts/Ubuntu-Th.ttf differ diff --git a/fonts/UbuntuMono-B.ttf b/fonts/UbuntuMono-B.ttf new file mode 100644 index 0000000..7bd6665 Binary files /dev/null and b/fonts/UbuntuMono-B.ttf differ diff --git a/fonts/UbuntuMono-BI.ttf b/fonts/UbuntuMono-BI.ttf new file mode 100644 index 0000000..6c5b8ba Binary files /dev/null and b/fonts/UbuntuMono-BI.ttf differ diff --git a/fonts/UbuntuMono-R.ttf b/fonts/UbuntuMono-R.ttf new file mode 100644 index 0000000..fdd309d Binary files /dev/null and b/fonts/UbuntuMono-R.ttf differ diff --git a/fonts/UbuntuMono-RI.ttf b/fonts/UbuntuMono-RI.ttf new file mode 100644 index 0000000..18f81a2 Binary files /dev/null and b/fonts/UbuntuMono-RI.ttf differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..5c4b744 --- /dev/null +++ b/index.html @@ -0,0 +1,11 @@ + + + + I monitor + + + +
+ + + diff --git a/script.js b/script.js new file mode 100644 index 0000000..d5c2060 --- /dev/null +++ b/script.js @@ -0,0 +1,37 @@ +var counter = 0; + +async function reloadSlide() { + const req = await fetch(`./slide/${counter}.html`) + if(req.status != 200) return false; + container.innerHTML = await req.text(); + return true; +} + +async function nextSlide() { + counter++; + if(!await reloadSlide()) counter--; +} + +async function previousSlide() { + counter--; + if(!await reloadSlide()) counter++; +} + +document.body.addEventListener('click', nextSlide); + +document.addEventListener( + "keydown", + (event) => { + if(event.key === "ArrowRight") { + nextSlide(); + return; + } + if(event.key === "ArrowLeft") { + previousSlide(); + return; + } + }, + false, +); + +nextSlide(); diff --git a/slide/1.html b/slide/1.html new file mode 100644 index 0000000..4f5fe8e --- /dev/null +++ b/slide/1.html @@ -0,0 +1,9 @@ + +

I monitor

+ +

Pietro Tessarolo

+

Enrico Vrabie

+

Manuel Nichele

+

Lorenzo Viola

+
+
diff --git a/slide/2.html b/slide/2.html new file mode 100644 index 0000000..2b50f8a --- /dev/null +++ b/slide/2.html @@ -0,0 +1,12 @@ +Cos'è un monitor? + +

È un insieme di dati e procedure usate per la gestione di una risorsa o di un dato.

+
+

Esempi:

+ +
+Pietro Tessarolo diff --git a/slide/3.html b/slide/3.html new file mode 100644 index 0000000..6c35e95 --- /dev/null +++ b/slide/3.html @@ -0,0 +1,10 @@ +Diverse proposte + +

I monitor sono stati proposti in diverse occasioni:

+ +

Utilizzeremo il modello di Hoare in questa presentazione.

+
+Pietro Tessarolo diff --git a/slide/4.html b/slide/4.html new file mode 100644 index 0000000..6835bb8 --- /dev/null +++ b/slide/4.html @@ -0,0 +1,15 @@ +La "sintassi" + +

I monitor sono un concetto teorico. Non hanno una sintassi.

+

Una sintassi appropriata è stata proposta da Hoare:

+ + monitorname: monitor;
+ begin ... dichiarazione dei dati locali al monitor;
+ procedure procname (... parametri formali ...);
+ begin ... corpo della procedura ... end;
+ ... dichiarazione di altre procedure locali al monitor;
+ ... inizializzazione dei dati locali al monitor ...
+ end;
+
+
+Pietro Tessarolo diff --git a/slide/5.html b/slide/5.html new file mode 100644 index 0000000..75137f8 --- /dev/null +++ b/slide/5.html @@ -0,0 +1,15 @@ +La "sintassi" + +

Basata sulla sintassi del Simula 67

+

Si tratta comunque di pseudocodice

+ + monitorname: monitor;
+ begin ... dichiarazione dei dati locali al monitor;
+ procedure procname (... parametri formali ...);
+ begin ... corpo della procedura ... end;
+ ... dichiarazione di altre procedure locali al monitor;
+ ... inizializzazione dei dati locali al monitor ...
+ end;
+
+
+Pietro Tessarolo diff --git a/slide/6.html b/slide/6.html new file mode 100644 index 0000000..c8b1bf4 --- /dev/null +++ b/slide/6.html @@ -0,0 +1,16 @@ +La struttura del libro + +

Il libro di testo propone una struttura diversa:

+ + monitor nome_monitor {
+ ... dichiarazione delle variabili locali private
+ ... inizializzazione delle variabili locali
+
+ procedura entry1()
+ { ... }
+ ... dichiarazione di altre procedure entry
+ } +
+

Trattandosi di pseudocodice, anche questa è valida.

+
+Pietro Tessarolo diff --git a/slide/7.html b/slide/7.html new file mode 100644 index 0000000..53a07ca --- /dev/null +++ b/slide/7.html @@ -0,0 +1,22 @@ +Un esempio di monitor + + + single resource: monitor
+ begin
+ busy: Boolean;
+ nonbusy: condition;
+ procedure acquire;
+ begin
+ if busy then nonbusy.wait;
+ busy := true
+ end;
+ procedure release;
+ begin
+ busy := false;
+ nonbusy.signal
+ end;
+ busy := false;
+ end single resource +
+
+Pietro Tessarolo diff --git a/style.css b/style.css new file mode 100644 index 0000000..9482d55 --- /dev/null +++ b/style.css @@ -0,0 +1,113 @@ +@font-face{ + font-family: ubuntu; + src: url('./fonts/Ubuntu-R.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +@font-face{ + font-family: ubuntu-mono; + src: url('./fonts/UbuntuMono-R.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +:root { + --dimensone-titolo: 5vw; + --dimensione-corpo: 2vw; + --dimensione-autore: 2vw; + + --indentazione: 4; +} + + +body { + width: 100vw; + height: 100vh; + margin: 0; + padding: 0; + + background: #FAFAFA; + + text-align: center; + font-family: 'ubuntu'; + +} + +titolo { + position: absolute; + top: 2vw; + left: 50%; + transform: translateX(-50%); + font-size: var(--dimensone-titolo); +} + +corpo { + position: absolute; + top: 50%; + left: 50%; + transform: translateY(-50%) translateX(-50%); + width: 70%; + font-size: var(--dimensione-corpo); +} + +autore { + position: absolute; + bottom: 0; + right: 0; + font-size: var(--dimensione-autore); + margin: 1vw; + color: #666666; +} + +autore::before { + content: "- "; +} + +ul, ol, codeblock { + display: inline-block; + width: auto; + text-align: left; + padding: 0; + margin: 0; +} + +li { + margin-left: 5vw; +} + + +small { + font-size: 2vw; +} + +small p { + margin-top: 5px; + margin-bottom: 5px; +} + +codeblock { + font-family: 'ubuntu-mono'; + background: #EAEAEA; + padding: 2vw 2vw 2vw 2vw; + border-radius: 1vw; +} + +idt { + width: calc(var(--dimensione-corpo) / 2 * var(--indentazione)); + display: inline-block; +} + +name { + color: #111199; + font-style: italic; +} + +kw { + color: #AA5500; + font-weight: 600; +} + +comment { + color: #494949; +}