os-upec: Add.

This commit is contained in:
Sergiu Ivanov 2018-09-23 00:20:58 +02:00
parent bb4f38c6dc
commit 5978657f85
16 changed files with 234 additions and 2 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -68,7 +68,7 @@ Jump to:
- [[file:cytoscape-intro.org][introduction to Cytoscape]]
- [[file:togit.org][To Git or Not to Git]]
- [[file:h4life.org][Haskell for Life]]
- operating systems and networks
- [[file:os-upec.org][operating systems and networks]]
- basic parsing
#+ATTR_HTML: :alt image of Creative Commons Attribution Alone licence :class ccby

112
en/os-upec.org Normal file
View file

@ -0,0 +1,112 @@
#+TITLE: Introduction to Operating Systems and Networks
#+LANGUAGE: en
#+ATTR_HTML: :alt in French :class lang-lifted
[[file:../fr/os-upec.org][file:../content/imgs/fr.png]]
#+ATTR_HTML: :alt return home :class home
[[file:home.org][file:../content/imgs/home.png]]
The course consists of two parts dealing with operating systems and
networks. The goal of the course is to offer an overview of these
topics. The course is designed for 21 two-hour classes, including at
least 4 laboratory assignments. A written test may be planned after
the first part of the course (operating systems) and another one at
the end.
The course and the slides are in French.
#+ATTR_HTML: :alt image of Creative Commons Attribution Alone licence :class ccby
[[https://en.wikipedia.org/wiki/Creative_Commons_license][file:../content/imgs/ccby.png]]
The materials of this course are distributed under the [[https://en.wikipedia.org/wiki/Creative_Commons_license][Creative
Commons Attribution Alone licence]].
-----
* CM 1. Operating systems, networks, virtualisation
This part introduces basic ideas used in the domains discussed in
the course. The slides are available [[file:../content/courses/os-upec/systemes-reseaux-cm01.pdf][here]].
* CM 2. Linux: directory structure and command line
This part lists the directories from [[http://en.wikipedia.org/wiki/Filesystem%2520Hierarchy%2520Standard][Filesystem Hierarchy Standard]]
and explains them. Some basic file management commands are then
given and explained. The slides are available [[file:../content/courses/os-upec/systemes-reseaux-cm02.pdf][here]].
* TP 1. Lab assignment 1: the command line
The goal of this assignment is to introduce students to the Linux
command line and also to the usual ways of finding information about
available commands and applications. The text of the assignment is
[[file:../content/courses/os-upec/systemes-reseaux-tp01.pdf][here]].
* CM 3. Rights, links, transformations, search
This part deals with three subjects which are very important in
managing a UNIX-type system: file access rights, symlinks and
hardlinks, and transformations. We will a "transformation" a command
that works well in command chains built using pipes. This part of
the course lists a couple useful transformations (e.g., =head=,
=cut=, =xargs=) and finishes by explaining two very often used
search commands: =grep= and =find=. The slides are available [[file:../content/courses/os-upec/systemes-reseaux-cm03.pdf][here]].
Directory permissions work a bit differently from permissions for
regular files. This section does not cover this difference, but
interested students are invited to take a look at [[http://www.hackinglinuxexposed.com/articles/20030424.html][this article]].
* TP 2. Lab assignment 2: the command line 2
This assignment suggests a number of advanced use cases of the
command line and has the goal to help students consolidate the
practical skills in redirection of streams, pipes, and usage of
transformations. The text of the assignment can be found [[file:../content/courses/os-upec/systemes-reseaux-tp02.pdf][here]].
* CM 4. Shell scripts
This section provides a quick overview of the shell scripting
language as a full-fledged programming language. Some basic elements
such as variables, arrays, control structures, and functions are
covered. Several situations are covered in which the code is
evaluated in unintuitive ways. The slides are [[file:../content/courses/os-upec/systemes-reseaux-cm04.pdf][here]].
* TP 3. Lab assignment 3: shell scripts
This assignment considers several typical server administration
tasks, like system monitoring, backup, or local messaging, and
proposes to automate them. The students are also invited to
reimplement a number of basic tools, including a simplified version
of =xargs=. The text of the assignment can be found [[file:../content/courses/os-upec/systemes-reseaux-tp03.pdf][here]].
-----
* CM 5. The OSI model
This section discusses the OSI model: the detailed formal
specification of the organisation of the network stack. An overview
of every layer is provided; the network and the transported layers
are presented in some more detail. A short list of well-known
network protocols concludes the presentation. The slides are
available [[file:../content/courses/os-upec/systemes-reseaux-cm05.pdf][here]].
* CM 6. Network commands
This section briefly introduces some basic concepts behind the
Domain Name System, and particularly the hierarchy of domain names
and DNS servers. Several useful network commands are then listed,
including =ifconfig= and =netcat=. The slides are available [[file:../content/courses/os-upec/systemes-reseaux-cm06.pdf][here]].
* TP 4. Lab assignment 4: network commands
This lab assignment proposes a couple scenarios in which the network
commands shown in the preceding section of the course are
applied. This assignment focusses in particular upon =scp=, =wget=,
and =nc=. The text of the assignment can be found [[file:../content/courses/os-upec/systemes-reseaux-tp04.pdf][here]].
-----
* Course project: a basic network chat
This course project proposes to apply the skills acquired in basic
system administration and networking to implement a primitive text
chatting system. The text of the assignment can be downloaded [[file:../content/courses/os-upec/systemes-reseaux-projet.pdf][here]].
* Local Variables :noexport:
# Local Variables:
# org-link-file-path-type: relative
# eval: (auto-fill-mode)
# ispell-local-dictionary: "en"
# End:

View file

@ -71,7 +71,7 @@ Liens rapides :
- [[file:cytoscape-intro.org][introduction à Cytoscape]]
- [[file:togit.org][To Git or Not to Git]]
- [[file:h4life.org][Haskell for Life]]
- introduction au systèmes d'exploitation et réseaux
- [[file:os-upec.org][introduction au systèmes d'exploitation et réseaux]]
- bases de l'analyse syntaxique
#+ATTR_HTML: :alt image de la licence Creative Commons Attribution Alone :class ccby

120
fr/os-upec.org Normal file
View file

@ -0,0 +1,120 @@
#+TITLE: Introduction à l'infrastructure système et réseau
#+LANGUAGE: fr
#+ATTR_HTML: :alt en anglais :class lang-lifted
[[file:../en/os-upec.org][file:../content/imgs/en.png]]
#+ATTR_HTML: :alt return home :class home
[[file:home.org][file:../content/imgs/home.png]]
Ce cours consiste en deux parties : systèmes d'exploitation et
réseaux. Le but du cours est d'offrir une vue d'ensemble sur les
sujets proposés. Le cours se déroule sur 21 séances, dont au moins 4
seront dédiés aux travaux pratiques sur ordinateur. Le cours comprend
une interrogation écrite après la première partie (système
d'exploitation) et une autre à la fin du cours.
#+ATTR_HTML: :alt image de la licence Creative Commons Attribution Alone :class ccby
[[https://fr.wikipedia.org/wiki/Licence_Creative_Commons][file:../content/imgs/ccby.png]]
Les matériaux de ce cours sont distribués sous la [[https://fr.wikipedia.org/wiki/Licence_Creative_Commons][licence Creative
Commons Paternité]].
-----
* CM 1 : systèmes dexploitation, réseaux, virtualisation
Cette partie introduit les concepts de base utilisés dans ce
cours. Les diapositives se trouvent [[file:../content/courses/os-upec/systemes-reseaux-cm01.pdf][ici]].
* CM 2 : Linux : lorganisation de dossiers et la ligne de commande
Cette partie énumère les dossiers prévus par [[https://fr.wikipedia.org/wiki/Filesystem_Hierarchy_Standard][Filesystem Hierarchy
Standard]] en expliquant la destination de chacun. Ensuite quelques
commandes de base de la ligne de commande Linux sont expliquées. Les
diapositives se trouvent [[file:../content/courses/os-upec/systemes-reseaux-cm02.pdf][ici]].
* TP 1 : ligne de commande
Ce TP vise à familiariser les étudiants avec la ligne de commande
Linux, mais aussi avec les façons habituelles de retrouver
l'information sur les commandes et les applications
disponibles. L'énoncé du TP se trouve [[file:../content/courses/os-upec/systemes-reseaux-tp01.pdf][ici]].
* CM 3 : droits, liens, transformations, recherche
Cette partie s'attaque à trois sujets importants pour la gestion
d'un système de la famille UNIX: les permissions d'accès aux
fichiers, les liens symboliques et matériels et les
transformations. On utilisera le terme « transformation » pour faire
référence aux commandes qui sont bien adaptées à être chaînées avec
d'autres commandes par des pipes. Cette partie du cours présente
quelques transformations utiles (=head=, =cut=, =xargs=, etc.) et
finit par expliquer deux commandes de recherche très souvent
employées : =grep= et =find=. Les diapositives se trouvent [[file:../content/courses/os-upec/systemes-reseaux-cm03.pdf][ici]].
Dans le cas de dossiers, les permissions d'accès contrôlent les
fonctions légèrement différentes de celles qui sont gérées par les
permissions d'accès aux fichiers normaux. Cette différence n'est pas
expliquée dans le cours ; les personnes intéressées sont invitées à
regarder [[http://www.hackinglinuxexposed.com/articles/20030424.html][cet article]] (en anglais).
* TP 2 : ligne de commande 2
Ce TP propose quelques cas d'utilisation avancés de la ligne de
commande afin de permettre aux étudiants d'acquérir des
connaissances pratiques en ce qui concerne la redirection de flux,
le chaînage de commandes, ainsi que l'application de
transformations. L'énoncé du TP se trouve [[file:../content/courses/os-upec/systemes-reseaux-tp02.pdf][ici]].
* CM 4 : scripts shell
Cette partie fait un tour rapide du langage de la ligne de commande
en tant que langage de programmation. Ainsi, les éléments comme
variables, tableaux, structures de contrôle (=if=, =case=, =for=,
=while=, etc.) et fonctions sont abordés. Certaines irrégularités
d'interprétation du code shell sont mises en évidence. Les
diapositives se trouvent [[file:../content/courses/os-upec/systemes-reseaux-cm04.pdf][ici]].
* TP 3 : scripts shell
Ce TP propose d'automatiser quelques tâches typiques que l'on peut
rencontrer dans la gestion d'un serveur Linux : monitoring,
sauvegarde, échange de messages au niveau d'une machine. Les
étudiants seront également amenés à implémenter quelques outils de
base dont une version simplifiée de =xargs=. L'énoncé du TP se
trouve [[file:../content/courses/os-upec/systemes-reseaux-tp03.pdf][ici]].
-----
* CM 5 : le modèle OSI
Cette partie se focalise sur le modèle OSI : la spécification
formelle détaillée de la structure d'une pile réseau. Toutes les
couches de communication sont survolées, une présentation plus
étendue étant faite pour les couches réseau et transport. Une liste
des protocoles les plus connus est donnée à la fin de la
présentation afin d'offrir une vue d'ensemble sur le domaine. Les
diapositives se trouvent [[file:../content/courses/os-upec/systemes-reseaux-cm05.pdf][ici]].
* CM 6 : outils pour le réseau
Cette partie introduit les concepts de base liés au système de noms
de domaine, dont la hiérarchie des noms de domaine et de serveurs
DNS. Quelques outils pratiques de réseau, dont =ifconfig= et
=netcat=, sont ensuite brièvement présentés. Les diapositives se
trouvent [[file:../content/courses/os-upec/systemes-reseaux-cm06.pdf][ici]].
* TP 4 : outils réseau
Ce TP propose de mettre en application les outils pour le réseau
présentés dans la section CM 6 du cours. Des exercices sont
notamment proposés pour l'utilisation des commandes =scp=, =wget= et
=nc=. L'énoncé du TP se trouve [[file:../content/courses/os-upec/systemes-reseaux-tp04.pdf][ici]].
-----
* Projet : messagerie en réseau
Ce projet propose aux étudiants de combiner leur savoir-faire dans
la gestion du système Linux et l'usage d'outils réseau pour réaliser
un système simple de messagerie en réseau. L'énoncé du projet se
trouve [[file:../content/courses/os-upec/systemes-reseaux-projet.pdf][ici]].
* Local Variables :noexport:
# Local Variables:
# org-link-file-path-type: relative
# eval: (auto-fill-mode)
# ispell-local-dictionary: "fr"
# End: