version initiale
200
Systemes/CoursSysteme.md
Normal file
|
@ -0,0 +1,200 @@
|
|||
---
|
||||
title: Cours système
|
||||
---
|
||||
|
||||
# Objectifs du cours
|
||||
|
||||
savoir ce qu’est un système d’exploitation (OS)
|
||||
|
||||
les différents OS
|
||||
|
||||
Qu’est-ce qu’un 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 d’accéder au matériel de façon transparente. un programme n’a pas à savoir s’il é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 l’usage de la machine (ex : minimise les déplacements des têtes de lecture sur les disques, gestion de l’energie 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 d’accès
|
||||
|
||||
- protège les utilisateurs entre eux
|
||||
|
||||
- protège le système (pas possible d’effacer 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 l’ordonnancement, évite la famine, doit gérer le taux d’utilisation des ressources
|
||||
|
||||
- mono ou multi processeurs;
|
||||
|
||||
- systèmes répartis / distribués
|
||||
|
||||
- systèmes embarqués
|
||||
|
||||
- temps réel : garanti un délai maximal d’exé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 l’OS
|
||||
|
||||
- tout ce qui n’est pas un appel système fonctionnera dans l’espace 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 l’occasion)
|
||||
|
||||
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 à l’Ensibs
|
||||
|
||||
- machines double boot Linux (centos / Windows 10)
|
||||
|
||||
- compte obligatoire
|
||||
|
||||
- Home repertoire sur serveur, sauvegardé.
|
||||
|
||||
- quotas disques et d’impression
|
||||
|
||||
- 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
41332
Systemes/Data/00000012.csv
Normal file
10545
Systemes/Data/20140808.gpx
Executable file
7178
Systemes/Data/20140809.gpx
Executable file
BIN
Systemes/Png/c1.png
Normal file
After Width: | Height: | Size: 303 KiB |
BIN
Systemes/Png/c2.png
Normal file
After Width: | Height: | Size: 435 KiB |
BIN
Systemes/Png/c3.png
Normal file
After Width: | Height: | Size: 484 KiB |
BIN
Systemes/Png/m1.png
Normal file
After Width: | Height: | Size: 128 KiB |
BIN
Systemes/Png/m2.png
Normal file
After Width: | Height: | Size: 222 KiB |
BIN
Systemes/Png/m3.2.png
Normal file
After Width: | Height: | Size: 218 KiB |
BIN
Systemes/Png/m3.png
Normal file
After Width: | Height: | Size: 685 KiB |
BIN
Systemes/Png/s1.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
Systemes/Png/s2.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
Systemes/Png/s3.png
Normal file
After Width: | Height: | Size: 71 KiB |
97
Systemes/README.md
Normal 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
|
@ -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)
|