First commit
This commit is contained in:
commit
5c269302ed
59 changed files with 5613 additions and 0 deletions
BIN
content/progsys/TDM_1-appels_systemes/files/tdm1.pdf
Normal file
BIN
content/progsys/TDM_1-appels_systemes/files/tdm1.pdf
Normal file
Binary file not shown.
39
content/progsys/TDM_1-appels_systemes/index.md
Normal file
39
content/progsys/TDM_1-appels_systemes/index.md
Normal file
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
title: Programmation systeme TDM 1
|
||||
date: 2018-09-05
|
||||
categorie: ['Programmation système', 'TDM']
|
||||
tags : ['appels', 'systèmes', 'Python', 'C']
|
||||
---
|
||||
#Différence entre les strace C et Python
|
||||
|
||||
Le strace python est plus volumineux, ce aui semble normal puisque le code est
|
||||
interprété, et charge par conséquent l'ensemble de l'environnement d'execution
|
||||
Python. *(36 lignes pour le C contre 613 pour le Python)*.
|
||||
|
||||
Cependant il y a aussi beaucoup des similitudes, comme l'appel à la libc et les
|
||||
commamdes envoyées au kernel (write).
|
||||
|
||||
On peut donc en déduire que le temps d'exécution pour la version Python est plus
|
||||
grande avec plus d'appels système.
|
||||
|
||||
## temps d'execution comparé avec strace -tt
|
||||
|
||||
- C : début 17:52:29.647826 fin 17:52:29.668778
|
||||
- Python : début 17:50:49.455004 fin 17:50:49.769447
|
||||
|
||||
La différence de temps d'execution apparaît clairement ici
|
||||
|
||||
# Tracer un programme en cours d'exécution
|
||||
|
||||
J'ai essayé de tracer htop lancé dans un autre terminal mais j'ai une erreur
|
||||
(Opération non permise). En passant par root pour lancer mon strace, il
|
||||
fonctionne. L'affichage du strace est continue logique puisque le programme
|
||||
tournant en arrière plan, il continue de faire des appels systèmes (surveillance
|
||||
des processus du sytèmes)
|
||||
|
||||
Il est dont logique que je ne puisse pas stracer le processus 0, même apres
|
||||
avoir modifier la variable sysctl yama.
|
||||
|
||||
# Avec le sleep
|
||||
|
||||
On constate un appel système de plus (nanosleep) avant le write.
|
8
content/progsys/TDM_1-appels_systemes/src/hello_world.c
Normal file
8
content/progsys/TDM_1-appels_systemes/src/hello_world.c
Normal file
|
@ -0,0 +1,8 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main (){
|
||||
printf("Hello World\n");
|
||||
sleep(5);
|
||||
exit(0);
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
#include <stdlib.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main (){
|
||||
printf("Hello World\n");
|
||||
sleep(5);
|
||||
exit(0);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue