• Aucun résultat trouvé

TP d’introduction ` a la programmation syst` eme en C

N/A
N/A
Protected

Academic year: 2022

Partager "TP d’introduction ` a la programmation syst` eme en C"

Copied!
1
0
0

Texte intégral

(1)

L3 Info UFR Sciences&Techniques I5TC1

TP d’introduction ` a la programmation syst` eme en C

Dans chacun des exercices ci-dessous, vous prendrez soin de g´erer correctement les erreurs (utiliser syst´ematiquementperrorapr`es chaque fonction syst`eme)

Exercice 1-Entr´ees/sorties format´ees

Lire une date sous la forme jour, mois, ann´ee (trois entiers) et jour de la semaine (chaine de caract`eres) et afficher cette date sous la forme:

- version fran¸caise: JJ-MM-AA - version anglaise: MM/JJ/AA

- version ”´ecole primaire”: jour JJ mois 20YY Exercice 2-Allocation dynamique d’espace m´emoire

Reprendre l’exercice 1 en construisant dans une chaine de caract`eres la version format´ee de la date,

1. En utilisant des variables de la formechar nom[xx];

2. en utilisant des variables de typechar *nomet les fonctionsmallocetsizeof.

Exercice 3-Manipulations de fichiers

Ecrire un programme C qui demande une liste de renseignements pour cr´eer des comptes´ utilisateurs sur un cluster de machines: nom du compte, r´epertoire de login, groupe. les informations correspondantes sont stock´ees dans un fichier `a raison d’une ligne par compte.

Ecrire ce programme:´

1. En utilisant les sorties format´ees (fprintf), les informations sur chaque ligne sont s´epar´ees par des doubles points ”:”.

2. En utilisant les op´erations d’E/S de bas niveau (open, readet write, close). Est-il n´ecessaire d’avoir un s´eparateur de champs?

3. En utilisant les op´erations d’E/S de haut niveau (fopen,freadetfwrite,fclose). Est-il n´ecessaire d’avoir un s´eparateur de champs?

Exercice 4-Test de fork Ecrire un programme C dans lequel on lance un programme fils´ (par fork). Le processus p`ere et le processus fils doivent chacun afficher leur propre pid et celui de leur p`ere (en utilisantgetpidetgetppid).

Exercice 5-Fork et fichier Ecrire un programme C dans lequel on lance un programme´ fils (par fork). Le processus p`ere et le processus fils doivent chacun ´ecrire dans un meme fichier cinq message successifs de la forme:

”message numero xxx du processus p`ere de pid yyy”

ou

”message numero xxx du processus fils de pid yyy”.

1

1. Comment sont g´er´ees l’ouverture et la fermeture du fichier?

2. V´erifier que les zones tampon (buffer) du fichier sont transmises du p`ere au fils au moment du fork.

Pour les plus rapides:

Exercice 6-Variables d’environnement

1. Afficher depuis un programme C la valeur d’une variable d’environnement dont le nom est fourni par l’utilisateur (getenv).

2. Initialiser, depuis un programme C, une variable d’environnement (setenv). Quelle est la port´ee et la dur´ee de vie d’une telle variable?

Exercice 7-Informations sur un fichierUtiliser la structurestatet les fonctionsstatou fstatpour afficher des informations sur un fichier donn´e.

2

Références

Documents relatifs

Code situ´e sur disque (en langage source, en langage machine) Un programme peut donner lieu ` a plusieurs processus possibles par exemple : un mˆeme programme ex´ecut´e avec

Donner en utilisant avec pr´ ecision l’algorithme de triangulation du cours un syst` eme triangul´ e ayant les mˆ emes solutions que E. Trianguler ce syst` eme d’´ equations`.

Etape 2 ´ : Utilisons la deuxi` eme ´ equation pour faire monter l’ordre des suivantes... R´ esolvons le syst` eme

On suppose que pour l’ann´ ee 2013 chaque client choisira le contrat de type A avec probabilit´ e 0,2, de type B - avec probabilit´ e 0,7, de type C – avec probabilit´ e 0,1,

– au standard POSIX pthread largement mis en oeuvre sur les systèmes UNIX/Linux – à l’API WIN32 threads fournie par Microsoft ©Windows pour les processus légers Les pages man

nous a conduit a etudier les P-processus : on veut decrire le déroulement dans le temps d’un processus de sedimentation, dans un domaine S c jR2 du plan

● C'est un des rôles du système d'exploitation d'amener en mémoire centrale l'image mé- moire d'un processus avant de l'élire et de lui allouer le processeur. Le système

Exécutez puis commentez le résultat de l’exécution de ce code.. Que représente la valeur de returnWait et celle