version initiale

This commit is contained in:
ber 2020-10-04 15:56:06 +02:00
commit 6a2d703d18
17 changed files with 803114 additions and 0 deletions

200
Systemes/CoursSysteme.md Normal file
View file

@ -0,0 +1,200 @@
---
title: Cours système
---
# Objectifs du cours
savoir ce quest un système dexploitation (OS)
les différents OS
Quest-ce quun OS ?
- but :
- Mettre à disposition les ressources matérielles de l'ordinateur
- Servir d'interface entre l'utilisateur et l'ordinateur
- Faire abstraction des spécificités du matériel (ex : réseau et raid); notion de machine virtuelle sur machine physique
- tourne en permanence, depuis le démarrage, tant que celui ci est allumé.
- permet daccéder au matériel de façon transparente. un programme na pas à savoir sil écrit sur une clé usb ou sur un disque dur via le réseau (ex: swap)
- initialise les ressources, pilote les périphériques
- gère les ressources (accès mémoire, processeur, ...)
- optimise lusage de la machine (ex : minimise les déplacements des têtes de lecture sur les disques, gestion de lenergie sur les portables, ...)
- veille à la sécurité des applications et des données
- doit être robuste (ne plante pas, supporte les arrêts brutaux (panne de courant), tolère les pannes matérielles; ex : passage en mode read only des DD)
# Préhistoire
- 1950 : machines énormes à base de relais, puis lampes; utilisation en langage machine directement; pas de distinction entre concepteurs, administrateurs et utilisateurs; apparition des cartes perforées
- 1960 : utilisation de transistors pour les machines et de bandes magnétiques pour le stockage
- 1970 : remplacement des bandes magnétiques par des disques dur. apparition du multitaches
- 1980 1ers Ordinateurs personnels / MS-Dos
# Différents type de systèmes
- On en trouve partout (ordis, imprimantes, téléphones, télé, box adsl, ...)
- spécialisés pour un matériel ou non (imprimante, console de jeu, magnétoscope, ...)
- mono ou multi utilisateurs:
- suppose de pouvoir protéger les données de chacun
- nécessite la notion de droits daccès
- protège les utilisateurs entre eux
- protège le système (pas possible deffacer des fichiers système)
- mono ou multi taches
- suppose de pouvoir protéger les processus les uns des autres
- nécessite la notion de protection de la mémoire (seul le noyau peut accéder à tout; les processus ne peuvent physiquement pas sortir de leurs pages mémoire )
- gère lordonnancement, évite la famine, doit gérer le taux dutilisation des ressources
- mono ou multi processeurs;
- systèmes répartis / distribués
- systèmes embarqués
- temps réel : garanti un délai maximal dexécution quelles que soient les conditions
- Il existe des centaines de systèmes; Windows, Linux, Irix, VMS, Aegis, ...
# Le noyau
- espace mémoire protégé+ensemble de programmes qui forment la base minimale de lOS
- tout ce qui nest pas un appel système fonctionnera dans lespace utilisateur
## Types de noyau
- monolithique: tout est dans le noyau (système de fichiers, pilotes, etc) Linux, FreeBSD (pas tout a fait; bouts de code noyau chargable dynamiquement : les modules)
- micro-noyau: seulement le strict minimum (ordonnanceur+mémoire virtuelle) Minix
# UNIX
1969
1971 : premiere distribution multitache, multi utilisateurs
1973 : premiere version portable en C (créé pour loccasion)
Bien que ce soit un système ancien, il a toujours été considéré comme un modèle de système d'exploitation.
Ses points forts sont
- son indépendance vis a vis des constructeurs.
- sa modularité
- son aspect communiquant. L'histoire d'Unix est très liée à celle d'Internet
Néanmoins Il a quelques points faibles:
- peu de convivialité de son interface; Ce n'est plus vrai aujourd'hui.
- manque de standard. Il existe de multiples versions pas toujours très compatible.
# DOS/Windows
1981 : 1er pc monotache, mono utilisateur
1985 : Windows 1.0; multitache, mono utilisateur
1993 : Windows NT; multitache, multicompte, mais un seul utilisateur a
la fois
2009 : Windows seven; multi tache, multicompte
2015 : Windows 10
# Linux
Linux est un système d'exploitation de type UNIX, multi-tâches et multi-utilisateurs pour machines à processeurs 32 et 64 bits, ouvert sur les réseaux et les autres systèmes d'exploitation.
La principale singularité de Linux est d'être un logiciel libre, développé de façon collaborative et pour une grande part bénévole par des milliers de programmeurs répartis dans le monde.
Ce modèle de développement joue un grand rôle dans la qualité du résultat obtenu, qui est considéré comme très supérieurs à des systèmes commerciaux similaires.
la vente liée d'ordinateurs pré-installés avec windows freine son déployement auprès du grand public
1991
pourquoi
historique
différentes distributions (debian, ubuntu, redhat, fedora, ...)
differents dérivés (mac OSX, android); tourne sur une multitude de
machines, du téléphone portable aux supercomputers (10.649.600 processeurs)
(voir top500.org)
architecture en couche
interface graphique
lignes de commande
arborescence, répertoire de travail
commandes utiles, éditeurs
# Environnement de travail à lEnsibs
- machines double boot Linux (centos / Windows 10)
- compte obligatoire
- Home repertoire sur serveur, sauvegardé.
- quotas disques et dimpression
- réseau filaire et wifi
- connexion extérieure via renater (utilisation limitée aux
usages pédagogique)
# Ent
- courrier
- emplois du temps
- espaces partagés
- scolarité (notes)
- consommation (quotas disques, impression, quota mails)
- cours en ligne
- Bibliothèque
- assistance
- ...
# Presentation Linux
- arbre des répertoires
- répertoires principaux
- commandes de base : ls cd pwd cp rm cat less ssh ...
- méta caracteres : . .. ~ / * ? \
- redirections ! > < |

743696
Systemes/Data/00000012.TSV Executable file

File diff suppressed because it is too large Load diff

41332
Systemes/Data/00000012.csv Normal file

File diff suppressed because it is too large Load diff

10545
Systemes/Data/20140808.gpx Executable file

File diff suppressed because it is too large Load diff

7178
Systemes/Data/20140809.gpx Executable file

File diff suppressed because it is too large Load diff

BIN
Systemes/Png/c1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 303 KiB

BIN
Systemes/Png/c2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 KiB

BIN
Systemes/Png/c3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

BIN
Systemes/Png/m1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

BIN
Systemes/Png/m2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 KiB

BIN
Systemes/Png/m3.2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

BIN
Systemes/Png/m3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 KiB

BIN
Systemes/Png/s1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

BIN
Systemes/Png/s2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
Systemes/Png/s3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

97
Systemes/README.md Normal file
View file

@ -0,0 +1,97 @@
# TRAITEMENT DE DONNEES
Vous trouverez un résumé des quelques commandes linux que l'on a vu la semaine dernière sur :
* <http://juliend.github.io/linux-cheatsheet/>
* <http://www.epons.org/commandes-base-linux.php>
____________
On dispose de 2 fichiers d'acquisition de données sur un voilier.
Le premier, "Data/00000012.TSV" contient les données au format NMEA 0183.
Les données se présentent de la manière suivante :
~~~~
$IIGLL,4806.070,N,00420.408,W,103219,A,A*4D
$IIZDA,103219,08,08,2014,,*50
$IIVTG,341,T,,M,4.1,N,7.6,K,A*06
$IIXTE,A,A,0.20,R,N,A,*24
$IIRMB,A,0.21,R,,,,,,,0.20,2,,A,A*7D
$IIDPT,6.1,,*45
$IIDBT,20.0,f,6.1,M,,*4C
$IIVLW,157.0,N,58.89,N*42
$IIVHW,333.4,T,337,M,3.94,N,7.29,K*49
$IIMWV,17,R,9.8,N,A*14
$IIVWR,17,R,9.8,N,5.0,M,18.1,K*5D
$IIMWD,,,0,M,6.1,N,3.1,M*25
$IIXDR,C,15.8,C,AirTemp*2A
$IIMTW,21.2,C*12
$IIVWT,28,R,6.1,N,3.1,M,11.3,K*5D
$IIHDG,337,,,,*50
$IIHDM,337,M*3B
$IIHDT,333.4,T*25
~~~~
Chaque ligne contient une trame, son type est indiqué par le premier mot clé.
Les trames qui vont nous interesser sont :
* __VHW__ : vitesse surface
* __MWV__ : vent apparent
* __DPT__ : profondeur
Pour plus d'information sur le format NMEA :
* <https://fr.wikipedia.org/wiki/NMEA_0183>
* <https://gpsd.gitlab.io/gpsd/NMEA.html>
## Travail demandé
Je veux pouvoir tracer sur un même graphique, à l'aide de gnuplot :
1) la vitesse surface du bateau
2) la profondeur
3) la vitesse du vent apparent
4) filtrer les données afin de les rendre plus lisible (fonction _smooth_ de gnuplot)
Exemples de sortie :
![](Png/s1.png)
![](Png/s2.png)
___
Travailler à partir du fichier tsv n'est pas ideal, car on n'a pas de référence temporelle; On a 2 systemes différents, un GPS et une centrale de navigation qui sortent leurs informations a des vitesses différentes; le GPS respecte la norme NMEA, une série de trames par seconde, alors que la centrale NKE préfère sortir les informations le plus rapidement possible
~~~~bash
cat Data/00000012.TSV | cut -d, -f1|sort|uniq -c|sort -n
41013 $IIRMB
41085 $IIHDG
41146 $IIHDM
41220 $IIMWV
41243 $IIVWR
41285 $IIMTW
41287 $IIVTG
41292 $IIXTE
41317 $IIXDR
41318 $IIVWT
41332 $IIGLL
41363 $IIHDT
41388 $IIVHW
41416 $IIVLW
41419 $IIDBT
41429 $IIMWD
41509 $IIZDA
41630 $IIDPT
~~~~
On voit donc qu'on n'a pas le même nombre de trames de chaque type.
Le fichier CSV lui contient toutes les données en tableau, chaque ligne étant horodatée.
* Mêmes questions en partant du fichier 00000012.csv
* que s'est il passé entre 20h43 et 20h44 ?
* ou était-ce ?
![](Png/s3.png)
Envoyez moi ce que vous avez fait à bertrand.orvoine@univ-ubs.fr

66
Systemes/Soluce.md Normal file
View file

@ -0,0 +1,66 @@
## Solution / fichier TSV
~~~~bash
#!/bin/bash
grep VHW Data/00000012.TSV|cut -d, -f6 > /tmp/vitesse.data
grep DPT Data/00000012.TSV|cut -d, -f2 > /tmp/profondeur.data
grep MWV Data/00000012.TSV|cut -d, -f4 > /tmp/vent_apparent.data
gnuplot -persist <<-EOFMarker
plot '/tmp/vitesse.data' with line
replot '/tmp/profondeur.data' with line
replot '/tmp/vent_apparent.data' with line
pause 3
plot '/tmp/vitesse.data' smooth bezier with line
replot '/tmp/profondeur.data' smooth bezier with line
replot '/tmp/vent_apparent.data' smooth bezier with line
EOFMarker
# sortie du graphique dans un fichier image:
gnuplot -persist <<-EOFMarker
set term png
set output "sortie.png"
plot '/tmp/vitesse.data' smooth bezier with line, '/tmp/vent_reel.data' smooth bezier with line, '/tmp/vent_apparent.data' smooth bezier with line
EOFMarker
~~~~
## Solution / fichier CSV
~~~~ bash
#!/bin/bash
gnuplot -persist <<-EOFMarker
set datafile separator ','
set key autotitle columnhead
set style data line
set angles degrees
set grid
set xdata time
set timefmt '%Y-%m-%d %H:%M:%S'
set xlabel 'time'
set xtics rotate by 45 right
set tics font ",10"
set format x "%H:%M"
plot 'Data/00000012.csv' using 1:5
replot 'Data/00000012.csv' using 1:4
replot 'Data/00000012.csv' using 1:5 smooth bezier lw 4 title 'sow lissee'
replot 'Data/00000012.csv' using 1:4 smooth bezier lw 4 title 'depth lissee'
EOFMarker
~~~~
## Que s'est il passé ?
talonnage :
![](Png/c1.png)
![c2](Png/c2.png)
![c3](Png/c3.png)
![](Png/m1.png)
![m2](Png/m2.png)
![m3.2](Png/m3.2.png)
![m3](Png/m3.png)