diff --git a/0.objectifs/index.html b/0.objectifs/index.html index f12718ffe7c20baa946b25e6b6565ac475849cc6..6bbdaded48ac82dd30264c42cba744e2e05cd25a 100644 --- a/0.objectifs/index.html +++ b/0.objectifs/index.html @@ -22,7 +22,7 @@ var link = document.createElement( 'link' ); link.rel = 'stylesheet'; link.type = 'text/css'; - link.href = window.location.search.match( /print-pdf/gi ) ? '../../../css/print/pdf.css' : '../../../css/print/paper.css'; + link.href = window.location.search.match( /print-pdf/gi ) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; document.getElementsByTagName( 'head' )[0].appendChild( link ); </script> </head> diff --git a/1.processes/index.html b/1.processes/index.html index cd578c22948ac07fd70d42377c4b561ca0ffac88..47041426db546e4fc32f078e5109089072cce5a0 100644 --- a/1.processes/index.html +++ b/1.processes/index.html @@ -14,11 +14,9 @@ <link rel="stylesheet" href="../../../dist/reveal.css"> <link rel="stylesheet" href="../../../dist/theme/white.css" id="theme"> - <!-- Higlight theme with a fallback on local monokai in case of connexion pb --> - <!-- TODO: the monokai fallback cannot be included has it conflicts on the struct keyword with other themes - check another way to make a fallback --> - <!-- <link rel="stylesheet" href="../../../plugin/highlight/monokai.css" id="highlight-theme"> --> - <link rel="stylesheet" href="https://highlightjs.org/static/demo/styles/googlecode.css" id="highlight-theme"> + <!-- Higlight theme --> + <link rel="stylesheet" href="../css/googlecode.css" id="highlight-theme"> + <!-- Add my own theme on top of classical reveal.js theme --> <link rel="stylesheet" href="../css/mytheme.css"> @@ -28,7 +26,7 @@ var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; - link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.css' : '../../../css/print/paper.css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; document.getElementsByTagName('head')[0].appendChild(link); </script> <!--[if lt IE 9]> diff --git a/2.signals/index.html b/2.signals/index.html index e150fbed979ad2995a625659b5889ef014609159..025cb6a90bbc4f7d3b0f86e8c4668f32536ab529 100644 --- a/2.signals/index.html +++ b/2.signals/index.html @@ -10,13 +10,22 @@ <link rel="stylesheet" href="../../../dist/reveal.css"> <link rel="stylesheet" href="../../../dist/theme/white.css" id="theme"> - <!-- Higlight theme with a fallback on local monokai in case of connexion pb --> - <!-- <link rel="stylesheet" href="../../../plugin/highlight/monokai.css" id="highlight-theme"> --> - <link rel="stylesheet" href="https://highlightjs.org/static/demo/styles/googlecode.css" id="highlight-theme"> + <!-- Higlight theme --> + <link rel="stylesheet" href="../css/googlecode.css" id="highlight-theme"> + <!-- Add my own theme on top of classical reveal.js theme --> <link rel="stylesheet" href="../css/mytheme.css"> + <!-- Printing and PDF exports --> + <script> + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; + document.getElementsByTagName('head')[0].appendChild(link); + </script> + <!-- TODO: move in mytheme --> <style> .reveal p { diff --git a/3.sharedmem/index.html b/3.sharedmem/index.html index 902603e6c9c827f20e6ab5f2b67ed4edaa0ebaf4..91dfdf4314e0b6312f4e6bf2cc34eb96c6c1a32b 100644 --- a/3.sharedmem/index.html +++ b/3.sharedmem/index.html @@ -10,13 +10,21 @@ <link rel="stylesheet" href="../../../dist/reveal.css"> <link rel="stylesheet" href="../../../dist/theme/white.css" id="theme"> - <!-- Higlight theme with a fallback on local monokai in case of connexion pb --> - <link rel="stylesheet" href="../../../plugin/highlight/monokai.css" id="highlight-theme"> - <link rel="stylesheet" href="https://highlightjs.org/static/demo/styles/googlecode.css" id="highlight-theme"> + <!-- Higlight theme --> + <link rel="stylesheet" href="../css/googlecode.css" id="highlight-theme"> <!-- Add my own theme on top of classical reveal.js theme --> <link rel="stylesheet" href="../css/mytheme.css"> + <!-- Printing and PDF exports --> + <script> + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; + document.getElementsByTagName('head')[0].appendChild(link); + </script> + <!-- TODO: move in mytheme --> <style> .reveal p { @@ -55,7 +63,7 @@ <body> <div class="reveal"> <div class="slides"> - + <section> <h1>Mémoires partagées</h1> <author>Guillaume Chanel</author> @@ -66,7 +74,7 @@ <section> <h1>Memory-mapped file (Fichier en mémoire partagée)</h1> </section> - + <section> <h2>Rappel</h2> <div class="text-block"> @@ -88,19 +96,19 @@ <li>partager des pages (données, instructions) entre plusieurs processus;</li> <li>accéder aux données directement en mémoire (i.e. par pointeurs) plutôt que dans un fichier (i.e. par curseur)</li> </ul> - + <p><strong>Un tel fichier ne sera pas chargé intégralement en mémoire mais page par page au fur et a mesure des fautes de page du processus.</strong></p> </div> </section> - + <section> <h2>Principe du "file mapping"</h2> <p style="text-align:left; font-size: 0.8em;margin-bottom: 0px;">Deux processus peuvent partager un segment en y associant des espaces d’adressage virtuel différents:</p> <img src="img/shared_mem_mmap.svg" alt="Shared memory" height="500px"> </section> - + <section> <h2>Le "file mapping" en pratique</h2> <div class="text-block" style="font-size: 0.8em"> @@ -117,12 +125,12 @@ </ul> </div> </section> - + <section> <h2>open / close</h2> <div style="font-size: 0.9em;"> <p>On peut ouvrir un fichier avec l'appel système suivant:</p> - + <pre><code data-noescape data-trim> int open(const char *pathname, int flags); </code></pre> @@ -131,7 +139,7 @@ <li><code>flags</code> est un champ de bit indiquant le mode d'accès au fichier (<code>O_RDONLY, O_WRONLY, O_RDWR</code>);</li> <li>retourne un entier représentant le fichier (descripteur de fichier), soit -1 en cas d'erreur (vérifier <code>errno</code>).</li> </ul> - + <p>On doit fermer un fichier avec l'appel système suivant:</p> <pre><code class="c" data-noescape data-trim> int close(int fd); @@ -144,7 +152,7 @@ <br> <small>Note: la description de la fonction open est incomplète. Une <a href="http://cui.unige.ch/~chanel/prez/presentations/sys-exploitation/7.io/7.io.html#/ouvrir-un-canal-open">description complète</a> sera présentée plus tard.</small> </section> - + <section> <h2>mmap</h2> <pre><code data-noescape data-trim> @@ -160,7 +168,7 @@ </ul> <img src="img/mmap.svg" alt="File mapping" style="border: none; box-shadow: none"> </section> - + <section> <h2>mmap</h2> <pre><code data-noescape data-trim> @@ -182,10 +190,10 @@ </ul> </div> </section> - + <section> <h2>Exercice</h2> - + <div class="text-block"> <p>L'objectif de cet exercice est de créer un processus qui:</p> <ul> @@ -195,14 +203,14 @@ <p>On simule ainsi l'exécution d'un code externe un peu comme cela est fait pour une librairie partagée</p> </div> </section> - + <section> <h2>Exercice</h2> <p style="font-size: 0.8em;">Le programme à charger est fournit en assembleur. Il faut le compiler avec <code>nasm</code> (voir Makefile).</p> <pre style="font-size: 12px;"><code class="x86asm" id="ex-code-asm"></code></pre> <pre style="font-size: 12px;"><code class="makefile" id="ex-code-asm-makefile" data-line-numbers="1-7|8-9"></code></pre> </section> - + <section> <h2>Exercice</h2> <p style="text-align: left;">Il faut donc:</p> @@ -221,14 +229,14 @@ </ul> <p style="text-align: left; color: darkgray;">Pour aller plus loin: votre programme C devra rechercher les informations du segment et du point d'entrée directement dans le fichier executable.</p> </section> - + <section> <h2>Exerice - correction</h2> <pre style="font-size: 12px; height: 550px;"><code class="c" id="ex-code-asm-c"></code></pre> </section> - + </section> - + <section data-markdown="shared_mem.md" data-separator-vertical="^\r?\n--\r?\n$"></section> diff --git a/4.sockets/index.html b/4.sockets/index.html index c126c12f8d11c491c6b417af8c14866df981aa07..380e8552f0e003872a69f4ac9aeca9165547c76d 100644 --- a/4.sockets/index.html +++ b/4.sockets/index.html @@ -14,9 +14,8 @@ <link rel="stylesheet" href="../../../dist/reveal.css"> <link rel="stylesheet" href="../../../dist/theme/white.css" id="theme"> - <!-- Higlight theme with a fallback on local monokai in case of connexion pb --> - <!-- <link rel="stylesheet" href="../../../plugin/highlight/monokai.css" id="highlight-theme"> --> - <link rel="stylesheet" href="https://highlightjs.org/static/demo/styles/googlecode.css" id="highlight-theme"> + <!-- Higlight theme --> + <link rel="stylesheet" href="../css/googlecode.css" id="highlight-theme"> <!-- Add my own theme on top of classical reveal.js theme --> <link rel="stylesheet" href="../css/mytheme.css"> @@ -26,7 +25,7 @@ var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; - link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.css' : '../../../css/print/paper.css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; document.getElementsByTagName('head')[0].appendChild(link); </script> <!--[if lt IE 9]> diff --git a/5.drivers/index.html b/5.drivers/index.html index 63b9d322a1d813b696af35273aaaac0a939bce83..1cd776aadcb3d2c5d909bf82581c40054c2b6022 100644 --- a/5.drivers/index.html +++ b/5.drivers/index.html @@ -14,11 +14,8 @@ <link rel="stylesheet" href="../../../dist/reveal.css"> <link rel="stylesheet" href="../../../dist/theme/white.css" id="theme"> - <!-- Higlight theme with a fallback on local monokai in case of connexion pb --> - <!-- TODO: the monokai fallback cannot be included has it conflicts on the struct keyword with other themes - check another way to make a fallback --> - <!-- <link rel="stylesheet" href="../../../plugin/highlight/monokai.css" id="highlight-theme"> --> - <link rel="stylesheet" href="https://highlightjs.org/static/demo/styles/googlecode.css" id="highlight-theme"> + <!-- Higlight theme --> + <link rel="stylesheet" href="../css/googlecode.css" id="highlight-theme"> <!-- Add my own theme on top of classical reveal.js theme --> <link rel="stylesheet" href="../css/mytheme.css"> @@ -28,7 +25,7 @@ var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; - link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.css' : '../../../css/print/paper.css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; document.getElementsByTagName('head')[0].appendChild(link); </script> <!--[if lt IE 9]> diff --git a/6.files/index.html b/6.files/index.html index 39c02abfd2fcc78b6e85119bf986b6f6b881c1c8..73a7d60084fc63a6df754791ed6ed919c13edef7 100644 --- a/6.files/index.html +++ b/6.files/index.html @@ -23,7 +23,7 @@ var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; - link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.css' : '../../../css/print/paper.css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; document.getElementsByTagName('head')[0].appendChild(link); </script> <!--[if lt IE 9]> diff --git a/7.io/index.html b/7.io/index.html index 6863ff425fb98aa7472b7cbe361bbaab839fed0f..6d43afb242bf31ac91f353d7450ba4a0792e6e40 100644 --- a/7.io/index.html +++ b/7.io/index.html @@ -22,7 +22,7 @@ var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; - link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.css' : '../../../css/print/paper.css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; document.getElementsByTagName('head')[0].appendChild(link); </script> <!--[if lt IE 9]> diff --git a/8.pipes/index.html b/8.pipes/index.html index 4122fa1421c3d5be9ad0dbcd5f60974eeb7987c3..7b33702c4ff34b37e7daad3bd2af58f0584e60da 100644 --- a/8.pipes/index.html +++ b/8.pipes/index.html @@ -13,22 +13,22 @@ <link rel="stylesheet" href="../../../dist/reveal.css"> <link rel="stylesheet" href="../../../dist/theme/white.css" id="theme"> <link rel="stylesheet" href="../../../plugin/highlight/zenburn.css" id="highlight-theme"> - + <!-- Add my own theme on top of classical reveal.js theme --> <link rel="stylesheet" href="../css/mytheme.css"> - + <!-- Printing and PDF exports --> <script> var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; - link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.css' : '../../../css/print/paper.css'; + link.href = window.location.search.match(/print-pdf/gi) ? '../../../css/print/pdf.scss' : '../../../css/print/paper.scss'; document.getElementsByTagName('head')[0].appendChild(link); </script> <!--[if lt IE 9]> <script src="../../../lib/js/html5shiv.js"></script> <![endif]--> - + <!-- Include example directly in slide --> <script type="text/javascript"> window.onload=function() { @@ -46,7 +46,7 @@ hljs.highlightBlock(element); }); }); - + fetch('examples/pipes/consumer.c').then(function(response) { response.text().then(function(text) { element = document.getElementById('ex-pipes-consumer'); @@ -54,7 +54,7 @@ hljs.highlightBlock(element); }); }); - + fetch('examples/pipes/producer.c').then(function(response) { response.text().then(function(text) { element = document.getElementById('ex-pipes-producer'); @@ -62,7 +62,7 @@ hljs.highlightBlock(element); }); }); - + } </script> </head> @@ -70,15 +70,15 @@ <body> <div class="reveal"> <div class="slides"> - + <section id="title-slide"> <h1 class="title">Pipes et FIFO</h1> <p class="author">Guillaume Chanel</p> <p class="author">Remerciements à Jean-Luc Falcone</p> </section> - + <!-- ######################## FIFO - PIPES ######################## --> - + <section id="pipes-et-fifo" class="slide level2"> <h2>Rappel sur les pipes et FIFO</h2> <div class="text-block"> @@ -91,7 +91,7 @@ </ul> </div> </section> - + <section> <h2>Tubes anonymes</h2> <p>On peut créer un canal de communication anonyme en utilisant:</p> @@ -103,7 +103,7 @@ <li>Pas d'accès aléatoire possible.</li> </ul> </section> - + <section id="concepts" class="slide level2"> <h2>Concepts generaux des pipes</h2> <div class="text-block"> @@ -130,7 +130,7 @@ <p>Deadlock: si il y a plusieurs rendez-vous un processus peut en attendre un autre a une endroits alors que l'autre processus l'attends a un autre</p> </aside> </section> - + <section id="commande-shell-mkfifo1" class="slide level2"> <h2>Pipe nommé: Commande <code>mkfifo(1)</code></h2> <div class="text-block"> @@ -146,17 +146,17 @@ <pre><code data-trim class="shell"> $ mkfifo -m 0640 /tmp/fifo1 $ ls -lh /dev > /tmp/fifo1 - + $ more /tmp/fifo1 # Dans un autre shell </code></pre> </fieldset> - + <aside class="notes"> <p>Insiter sur le fait que le processus ls est bloqué dans que aucun processus n'est connecté à la sortie du pipe</p> </aside> </section> - - + + <section id="fonction-posix-mkfifo2" class="slide level2"> <h2>Fonction POSIX <code>mkfifo(2)</code></h2> <p>On peut créer un FIFO avec l'appel système:</p> @@ -168,7 +168,7 @@ <li>Pas d'accès aléatoire possible.</li> </ul> </section> - + <section id="exemple-prod" class="slide level2"> <h2>Exemple - <a href="examples/pipes/producer.c">producer</a></h2> <pre><code id="ex-pipes-producer" class="c" style="font-size:70%;height:50vh;max-height:100vh">Include example there (see script)</code></pre> @@ -177,14 +177,14 @@ <p>A noter que si c'est au consomateur de supprime le fifo</p> </aside> </section> - + <section id="exemple-cons" class="slide level2"> <h2>Exemple - <a href="examples/pipes/consumer.c">consumer</a></h2> <pre><code id="ex-pipes-consumer" class="c" style="font-size:70%;height:50vh;max-height:100vh">Include example there (see script)</code></pre> </section> </div> </div> - + <!-- Initialize reveal.js with common configuration --> <!-- TODO find a way to have chalkboard script included from the config to avoid redundancy in each presentation --> <script src="../../../plugin/reveal.js-plugins/chalkboard/plugin.js"></script>