0% ont trouvé ce document utile (0 vote)
8 vues4 pages

Commandes Linux et Gestion des Processus

Le document présente une solution pré-examen sur le système Linux pour l'embarqué, comprenant des exercices sur les commandes Linux, la gestion des processus et la mémoire. Il inclut des questions sur les commandes de base, les différences entre processus légers et lourds, ainsi qu'un code C illustrant l'ajout d'éléments à un tableau dynamique. Enfin, il aborde la création de processus et l'affichage d'informations sur ceux-ci.

Transféré par

Nesrine Boudjenah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
8 vues4 pages

Commandes Linux et Gestion des Processus

Le document présente une solution pré-examen sur le système Linux pour l'embarqué, comprenant des exercices sur les commandes Linux, la gestion des processus et la mémoire. Il inclut des questions sur les commandes de base, les différences entre processus légers et lourds, ainsi qu'un code C illustrant l'ajout d'éléments à un tableau dynamique. Enfin, il aborde la création de processus et l'affichage d'informations sur ceux-ci.

Transféré par

Nesrine Boudjenah
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université des Sciences Techniques Houari Boumediene

Faculté du génie Electrique

Département d’électronique

Module: Système Linux pour l’embarqué

Solution Pré-examen N°2

Exercice N°1 : (14 points)

1. Donner la syntaxe en entier de la commande Linux a exécuter pour avoir le contenu (liste de
noms des fichiers et dossiers) du répertoire de travail actuel.
 ls
2. Donner la syntaxe en entier de la commande Linux pour créer un nouveau dossier à
l’intérieur du répertoire de travail actuel.
 mkdir nom_dossier
3. On se propose de changer le répertoire de travail actuel vers le répertoire
‘/home/User/Documents’ à partir de n’importe lequel des répertoires de travail.
 cd /home/User/Documents
4. Donner la syntaxe en entier de la commande Linux avec arguments à exécuter pour avoir le
contenu (liste de noms des fichiers et dossiers) du répertoire de travail actuel, avec tous les
détails concernant les autorisations d’accès.
 ls –l –a
5. Donner la commande qui permet d’afficher le tampon des messages kernel sous Linux.
 dmesg
6. Donner la syntaxe en entier de la commande Linux pour afficher uniquement les 3 dernières
lignes du flux des messages affiches au niveau du terminal.
 tail –n 3
7. Quel est le rôle de la fonction getpid()?
 Obtenir le PID du processus en cours d’execution
8. Quelle est la différence entre la fonction getpid() et getppid()?
 getpid permet d’obtenir le PID du processus actuellement en cours d’exécution, alors
que le getppid permet d’obtenir le PID du processus père au processus qui est
actuellement en cours d’execution.

Veuillez choisir la réponse appropriée, alors que plusieurs réponses sont parfois possible pour

Dr. Mohamed Amine BELKADI Année universitaire 2023/2024


certaines questions (Indiquer juste le numéro de la réponse et les lettres correspondantes Ex : 6.c,

e/7.g) :

9. Peut-on modifier le contenu du noyau Windows?


 Oui.
 Non.
[Link]érences entre processus légers et lourds :
 Le fork fait une copie de toutes variables du processus père.
 On doit impérativement créer une nouvelle fonction pour créer un nouveau
processus lourd.
[Link] processus légers est créé par l’appel de la fonction fork() :
 Oui.
 Non.
[Link] ressources sous Linux sont accessibles à travers des fichiers.
 Vrai.
 Faux.
[Link] commande make permet :
 Changer de répertoire de travail.
 Permet de faire une allocation mémoire.
 Permet la compilation un projet sous Linux.
 Définît la fonction qui est appelée à la fin de l’exécution d’un module kernel.
[Link] fonction open :
 Permet de lire un fichier.
 Permet de se connecter à un pilote.
 Libère de la mémoire.
 Permet de créer des tableaux dynamiques.
 Permet de créer des tableaux statiques.
 Permet une réallocation mémoire.
 Est appelée cote kernel a la connexion d’un utilisateur au pilote.

Exercice N°2 : (4 points)

Dr. Mohamed Amine BELKADI Année universitaire 2023/2024


#include <stdio.h>
#include <stdlib.h>
#define N 4

int size;
float *tab;
float add[4] = {2.5, 6.1, 778.63, 9.6};

void ajouter(float a) {
++size;
tab = (float *) realloc(tab, size * sizeof(float));
tab[size - 1] = a;
}

void display() {
for(int i = 0; i < size; i++)
printf("%f\n", tab[i]);
}

int main()
{
size = 0;
tab = (float *) malloc(sizeof(float));
for(int i = 0; i < N; i++)
ajouter(add[i]);
printf("Elements rajoutés\n");
display();

return 0;
}

Dr. Mohamed Amine BELKADI Année universitaire 2023/2024


Exercice N°3 : (2 points)

Père Père
i=0 i=1

fork() fork()

printf("Processus pere\n "); printf("Processus pere\n ");

Fils1
Fils2
i=1
printf("Processus fils, process_id(pid)
fork()
= %d\n",getpid());
printf("Processus fils, process_id(pid)

= %d\n",getpid());

Fils3

printf("Processus issue d_un processus fils!, process_id(pid) = %d, pere id = %d


\n",getpid(),getppid());

Dr. Mohamed Amine BELKADI Année universitaire 2023/2024

Vous aimerez peut-être aussi