• Aucun résultat trouvé

Examen L3 SI, S51 Architecture III - Session 2

N/A
N/A
Protected

Academic year: 2022

Partager "Examen L3 SI, S51 Architecture III - Session 2 "

Copied!
32
0
0

Texte intégral

(1)

Département d'Informatique Université de Toulon

Examen L3 SI, S51 Architecture III - Session 2

Aucun document autorisé - 20 juin 2017 - Durée: 2h Le barême est donné à titre indicatif

Exercice 1: ( 5 points)

l. Que signifie qu'un système soit préemptif?

2. Qu'appelle-t-on ordonnancement de processus dans un système d'exploitation?

3. Citez 4 types d'ordonnancement et décrire leur principe de fonctionnement.

4. Peut-on mélanger segmentation et pagination?

5. Donnez le schéma d'organisation et décrivez le fonctionnement d'une mémoire organisée en modules de bancs entralacés.

6. Quel est le principe de la mémoire cache set-associative?

7. A quoi servent les préfixes de discrimination tag (donner un exemple concret).

8. Dans un système de mémoire avec cache, quel problème peut apparaître avec la mémoire centrale si une donnée est modifiée dans le cache par le CPU? Proposez une solution (et donnez son nom).

9. Le nom d'un répertoire est-il défini dans l'inode du répertoire ou dans l'inode du répertoire qui le contient?

Exercice 2: (3 points)

Soit des processus qui parviennent à l'ordonnanceur suivant le tableau défini ci-dessous : Numéro de processus Date d'arrivée Nb de cycles d'exécution

1

o

10

2

o

10

3 10 5

4 10 20

5 15 5

6 25 10

Donnez l'ordre d'exécution pour un fonctionnement en PCTE et en Round Robin, pour un quantum de temps de 5 cycles (priorité aux nouveaux arrivants par rapport au recyclage). Dans chacun des cas donnez également le temps d'attente moyen ainsi que le nombre de changements de contexte.

Exercice 3: ( 4 points)

Un système d'exploitation utilise 3 niveaux de priorité numérotés par ordre décroissant, 1 est plus prioritaire que 2 qui est plus prioritaire que 3. Un processus se voit affecté un niveau fixe. Une file de processus est attachée à chaque niveau. Chaque file est gérée en FIFO avec un tourniquet de quantum de 4s. Un tourniquet de niveau n n'est activé que si toutes les files plus prioritaires sont vides.

l. Donner l'assignation des tâches au CPU pour :

Tâche 1 2 3 4 5 6 7

Durée 13 4 7 1 2 8 4

Date d'arrivée o 4 4 6 9 12 20

Priorité 3 2 1 2 1 3 1

2. Supposons maintenant que la priorité n'est plus fixe mais flottante. A chaque processus est dorénavant associé un compteur Cuc qui compte le nombre de secondes de !'UC consommées par le processus. Toutes les 3 secondes (1:i, 1;,, ... ), le système d'exploitation recalcule les priorités des processus selon les règles suivantes : tout processus dont Cuc = O monte d'un niveau dans une file plus prioritaire, alors que ceux ayant disposé de !'UC au moins 2 secondes en descendent avec ré-initialisation de Cuc à O. La priorité des processus nouvels arrivant ne sont pas recalculées.

Donner la nouvelle assignation (ne pas hésiter à détailler les étapes et traitements réalisés).

Nota : L'ordre de priorité des traitements de mise en fin de file à chaque quantum est : arrivé, puis tourniquet, puis montée et enfin descente.

S51 - Examen 1/6 20/06/2017

(2)

Département d'Informatique Université de Toulon

Exercice 4: (2 points)

Soit une technique de gestion de mémoire de type "virtuelle paginée" avec une pagination à quatre niveaux.

Supposons qu'une adresse virtuelle est codée sur 32 bits, que la taille d'une page est de 4 Ki octets, qu'une adresse physique est codée sur 24 bits et que la taille d'un mot mémoire est d'un octet.

l. Quel est le nombre de pages virtuelles maximum d'un processus?

2. Quelle est la taille maximale ( en kiB) de la mémoire physique?

3. Expliquer comment se fait la conversion d'adresse virtuelle en adresse physique.

Exercice 5: (2 points)

Le tableau suivant donne les paramètres de différents caches :

m : nombre de bits d'une adresse mémoire physique; C : taille du cache en octet; E : nombre de ligne de cache par partition (cache line); B: nombre de blocs par ligne (en octet); S: le nombre de partitions (cache set); t: le nombre de bits de tag; s: le nombre de bits d'indice de partition (set); b: le nombre de bits de décalage (offset) dans le bloc.

Remplissez les champs manquant de ce tableau.

Cache I m e B E

li s

s b

(1) 32 8 1 21 8 3

(2) 32 2048 128 23 7 2

(3) 32 1024 2 8 64 1

(4) 32 1024 2 16 23 4

Exercice 6: ( 4 points)

Soit un système à faible mémoire avec un adressage virtuel sur 16 bits (n = 16), un adressage physique sur 12 bits (m = 12) et des pages de 128 octets (P = 128). Pour les caractéristiques des différents éléments de traduction et d'accélération voir les tableaux tab. 1 pour la TLB, tab. 2 pour la table des pages, et tab. 3 pour le cache, ainsi que leur légende.

Question 6.1:

Indiquez sur la représentation d'une adresse virtuelle suivante les champs utilisés pour déterminer : - Le tag TLB (TLBT),

- L'indice de la TLB (TLBI),

Le numéro de page virtuelle (NPV),

Le décalage (offset) dans la page virtuelle (OPV).

l!i 14 ¡;¡ 12 11 10 !) 8 6 4 2 o

A<lrC'SSf' I

virtuelle' '---'---'---''---'---'---'---'---'---'---'---_L_--'---'---'---'---'

Question 6.2:

Indiquez sur la représentation d'une adresse physique suivante les champs utilisés pour déterminer : Le tag de cache (CT),

L'indice de cache (CI),

Le décalage (offset) de cache (CO), Le numéro de page physique (PPN),

Le décalage (offset) dans la page physique (OPP).

S51 - Examen

11 10 !) Il 7 6 4 :J 2 o

Adrcsso I

physique

2/6 20/06/2017

(3)

Département d'Informatique Université de Toulon

Question 6.3:

Dans cette question, on simule le processus de traduction d'adresse virtuelle en une adresse physique puis son accès au cache. Les tableaux ci-après représentent l'état courant de la TLB (tab. 1), de la table des pages (tab. 2) et du cache (tab. 3).

Pour les adresses virtuelles suivantes, indiquez l'entrée de la TLB accédée, l'adresse physique et la valeur de l'octet retourné par le cache, ou le cas échéant, si il y a défaut de TLB ( TLB miss), un défaut de page (page miss) ou un défaut de cache (cache miss). Les adresses virtuelles sont: Ox07d4, Ox07db, Ox015e et Ox0040.

I

Set

li

Tag

I

NPP

I

Valide

li

Tag

I

NPP

I

Valide

li

Tag

I

NPP

I

Valide

li

Tag

I

NPP J Valide

I

o

Ox03 -

o

Ox09 OxOD 1 OxOO -

o

Ox07 Ox02 1

1 Ox03 Ox2D 1 Ox02 -

o

Ox04 -

o

OxOA -

o

2 Ox02 -

o

Ox08 -

o

Ox06 -

o

Ox07 OxOD 1

3 Ox07 -

o

Ox03 OxOD 1 OxOA Ox34 1 OxOl Ox02 1

TABLE 1 - TLB : 4 entrées, 4-way set associative

NPV NPP Valide

OxOO -

o

OxOl Ox33 1 Ox02 Ox05 1 Ox03 Ox02 1

Ox04 -

o

Ox05 Oxl6 1

Ox06 -

o

Ox07 Ox02 1

NPV NPP Valide Ox08 Oxl3 1 Ox09 Oxl7 1 OxOA Oxl6 1

OxOB -

o

OxOC -

o

OxOD Ox2D 1 OxOE Oxll 1 OxOF OxOD 1

TABLE 2 - Table des pages : seules les 16 premières entrées sont représentées.

Idx Tag Valide Bloc O Bloc 1 Bloc 2 Bloc 3 OxO Oxl9 1 Ox99 Oxll Ox23 Oxll

Oxl Oxl5

o

- - - -

Ox2 OxlB 1 OxOO Ox02 Ox04 Ox08

Ox3 Ox36

o

- - - -

Ox4 Ox32 1 Ox43 Ox6D Ox8F Ox09 Ox5 OxOB 1 Ox66 Ox72 OxFO OxlD

Ox6 Ox31

o

- - - -

Ox7 OxCD 1 Oxll OxC2 OxDF Ox03 Ox8 Ox24 1 Ox3A OxOO Ox51 Ox89

Ox9 Ox2D

o

- - - -

OxA Ox2D 1 Ox93 Ox15 OxDA Ox3B

OxB OxOB

o

- - - -

OxC Ox12

o

- - - -

OxD Ox06 1 Ox04 Ox96 Ox34 Ox15 OxE Oxl3 1 Ox83 Ox77 OxlB OxD3

OxF Oxl4

o

- - - -

TABLE 3 - Cache : 16 entrées, blocs de 4 octets, direct mapped

S51 - Examen 3/6 20/06/2017

(4)

Département d'Informatique Université de Toulon

S51 - Examen 4/6 20/06/2017

(5)

o: Cli

>-'

tr:l

:X:

li'

s

ro ;:I

Tâche 7 Tâche 6 Tâche 5 Tâche 4 Tâche 3 Tâche 2 Tâche 1

-

Cli O)

Tâche 7 Tâche 6 Tâche 5 Tâche 4 Tâche 3 Tâche 2 Tâche 1

tv o

-

o O)

-

tv o >-' --:¡

Tâche 7 Tâche 6 Tâche 5 Tâche 4 Tâche 3 Tâche 2 Tâche 1

ro, t:l

'O li' ...,

""'"

ro

s

ro ;:I c-,-

0...

...;¡

;:I

8' ...,

li'

s

c-,-

i::

ro

e 2.

...,

~. ""'"

ro, o.. ro

2

i::

o

;:I

(6)

en º'

>-'

tr:1 X ¡i,

8 (1)

::i

Tâche 7 Tâche 6 Tâche 5 Tâche 4 Tâche 3 Tâche 2 Tâche 1

-

a, a,

Tâche 7 Tâche 6 Tâche 5 Tâche 4 Tâche 3 Tâche 2 Tâche 1

tv o

-

o a,

-

o tv >-' -J

Tâche 7 Tâche 6 Tâche 5 Tâche 4 Tâche 3 Tâche 2 Tâche 1

t:J

(1),

'O ¡i,

....

CT (1)

a

(1)

::i CT

o.. ,...:¡

::i

o'

a

¡i,

s

CT

e (1)

e

2.

;ii

~-

CT (1),

o..

(1)

S3

e

o

::i

(7)

Département d'Informatique Université de Toulon

Examen L3 SI, S52 - Réseaux - Session 2

Aucun document autorisé - 21 juin 2017 - Durée: 2h

Exercice 1: ( 6 points)

Répondez de façon concise mais précise aux questions suivantes :

l. Quelle est la différence entre les protocoles TCP et UDP et les avantages/inconvénients de l'un par rapport à l'autre?

2. Qu'est ce que le MTU, à quoi sert-il, quel(s) protocole(s) l'utilise(nt) et comment?

3. A quoi sert le protocole ICMP? Quel est son lien avec les protocoles TCP et UDP?

4. Indiquez pour chacune de ces adresses si elle correspond à une adresse mac, IPv4, IPv6 ou si elle est invalide : 11:22:33:aa:bb:cc

4.3.2.1

123.234.83.256 : : 1

5. Un module IP d'une station B reçoit un datagramme IP en provenance d'une station A dont le checksum est faux. Que fait le module IP de la station B? Celui de la station A?

6. Le module TCP de la station A envoie un segment à la station B, ce segment se perd dans le réseau. Que font les modules TCP des stations A et B?

Exercice 2: (5 points)

Réseaux, sous-réseaux et préfixes.

Soit un administrateur réseau qui doit administrer le réseau de son entreprise. Celui-ci gère pour son entreprise l'adresse 123.234.27.12/30.

Question 2.1:

l. Quel est le masque du réseau (en notation pointée)?

2. Quelle serait la classe de l'adresse?

3. Quelle est l'adresse du réseau?

4. Quelle est l'adresse de broadcast de ce réseau?

5. Combien de machines au maximum ce réseau peut-il contenir?

Question 2.2:

L'entreprise évolue et l'administrateur va devoir finalement gérer un parc de 99 machines. Quel est le préfixe minimal (valeur de préfixe la plus grande) que nécessitera cette nouvelle situation?

Question 2.3:

L'entreprise obtient finalement un préfixe 20 et donc l'adresse 123.234.27.12/20. L'administrateur décide alors de découper son réseau en trois sous-réseaux indépendants selon le type de poste : un sous-réseau de 16 machines pour la direction, un sous-réseau de 40 machines pour l'administration et un réseau de 100 machines pour les utilisateurs.

Sachant que les trois sous-réseaux sont ordonnés dans cet ordre, pour ces trois réseaux, donnez : L'adresse de réseau la plus petite et son plus petit préfixe qui convient,

L'adresse de la première et de la dernière machine de ce réseau, L'adresse de broadcast de ce réseau.

S52 - Examen 1/4 21/06/2017

1-

(8)

Département cl 'Informatique U ni versi té ele Toulon

Exercice 3: (3 points)

Soit la capture partielle c11 hexadécimal duuc trame échangée sur le réseau local.demo.

08 00 27 a8 f5 5f 08 00 27 63 16 3a 08 00 45 00 00 fb e8 c9 40 00 40 06 cc eO co a8 02 01 co a8 01 01 af 36 00 50 b8 3c 9a Of 46 d8 eo

ªª

80 18

le 84 15 16 00 00 01 01 08 Oa 00 01 72 c9 00 01 96 86 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30

Que pouvez-vous dire ele cette trarne (donnez le maximum d'information)? Un rappel ele quelques formats ele trames ct dcntôtcs est donné en fin du sujet.

Exercice 4: (1 points)

Soient la capture ele la figure 1 réalisée lors d'échanges dc trames entre deux machines du réseau NetDemo juste après leur allumage. Expliquez de manière concise mais précise chacun des échanges de cette capture. ce qui se passe ct pourquoi.

FIGURE 1 Capture d'une série d'échanges.

Exercice 5: (5 points)

Analyse ele trames.

La figure 3 représente la capture d'un message sur le réseau présenté figure 2. Cette capture est réalisée par un boîtier analyseur placé sur un des brins du réseau.

Question 5.1:

Sur quel brin du réseau se trouve le boîtier analyseur? (Donnez l'adresse dc sous réseau du brin)

Question 5.2:

A partir dc l'exemple dc capture dc la figure 3, vous devez reconstituer toutes les autres captures que nous aurions eu le long du parcours du message dc la source jusqu'au destinataire. Pour cela, pour chacune dc ces judicieuses captures :

l. Indiquez sur quel brin (sous-réseau) vous placez l'analyseur pour faire cette capture,

2. Complétez les différents champs mis en gras ct entourés sur la figure 3 par rapport à cette nouvelle capture.

Plus précisément :

(a) Indiquez si le champ existe pour cette capture,

(b) S'il existe, donnez sa valeur exacte sauf pour le champ checksum pour lequel vous indiquerez simplement s'il est différent ou non dc celui dc la capture initiale (fig. 3).

Question 5.3:

Une application sur la machine 192.168.201.3 souhaite envoyer un ping ICMP à toutes les machines du réseau 192.168.201.0/24 en une seule opération :

l. Donnez le contenu ele tous les champs que vous considérez comme judicieux dc la trame qui sort dc cette machine,

2. Puis, même question que la question 5.2.

S52 - Examen 21/06'2017

8

(9)

Département d'Informatique Université de Toulon

2.60:8c:7b:4.e4

Be, a9, 5, 1f 168.203 1

FIGURE 2 - Schéma du réseau.

IEEE 802.3 / Ethernet V2 Header Frame length : 102

I

Destination Address 02-60-8C- 7B-04-E4

I

Source Address : 02-60-8C-D9-D8-C6 Format Frame : Ethernet DIX V2

Ethertype : Ox800 (IP)

Frame Checksum : Good (Frame Checksum Sequence : 00 00 00 00) IP - Internet Protocol

Version : 4, Header length : 20 Type of service : Oxlü (Normal)

Total length : 84 bytes

I

Identification

I

: 2440

Fragment Control : Ox4000 (Don't fragment, fragment offset = O)

I

Time to Live

I

: 63 hops

Protocol : 6 (TCP)

I

Checksum : OxlAB2 (Checksum good)

I

Source Address : 192.168.203.4

I

Destination Address : 192.168.202.4 TCP - Transport Control Protocol

Source port : 23 (Telnet) Destination port : 1031 Sequence number : 2770047865

Ack number : 2808384002

Data Offset : OxAO (header lenght = 40) Flags Oxl8 (Ack

+

Push)

Window : 17280

I

Checksum

I

: Ox919 (Checksum Good) Urgent pointer : o

FIGURE 3 - Capture initiale sur le réseau.

Rappel de quelques entêtes de protocoles

Préambule Adresse Adresse Type dc Données

Destination Source trame / FCS

fanion I SFD longueur Données utiles I Bourrage

des données

8 octets 6 octets 6 octets 46 octets :5 :5 1500 octets 4 octets 2 octets

64 octets ~ ~ 1518 octets F[GURE 4 - Trarne Ethernet

S52 - Examen 3/4 21/06/2017

(10)

Département dInforrnatiquo Université dc Toulon

Adresse destination (32 bits) (a) Datagrammc IPv4

FIGURE 5 Datagrarnrncs IP

Vers. I Traffic Class I Flow label

Longueur charge utile

I

Next Header I Limite de saut Adresse source (128 bits)

Adresse destination (128 bi1S)

(b) Datagrammc IPv6

o

8

Type matériel

I

Typed'@ de protocole Long. l'@ physique

I

Long. l'@ du protocole

I

Operation

@ physique source (octets 0-3)

@ physique source ( octets 4-5)

I

@ IP source ( octets 0-1)

@IP source ( octets 2-3)

I

@ physique cible ( octets 0-1}

@ physique cible ( octets 2-5)

@IP cible ( octets 0-3)

16 31

FIGCRE 6 Datagramme ARP

Bit O - 7

I

Bit

s -

15

I

Bit 15 - 23

I

Bit 24 - 31 Type de message

I

Code

I

Somme de contrôle

Bourrage ou données

Données ( optionnel et de longueur variable) FIGURE 7 Datagrarnme ICMP au dessus d'IP

IG 32

Port UDP Source Port UDP destination longueur du message UDP Somme dc contrôle

Données

FIGURE 8 Paquet UDP

10 2.J 31

Port TCP source Port TCP destination uuuióro dc séquence

numéro daccusó dc réception

lg. curète j réserve' I bits code taille dc la fenêtre dc réception somme dc contrôle pointeur d'urgence

options éventuelles

I bourrago

données

nom code nom code

IPv4 Ox0800 ATALK Ox809B X25 Ox0805 IPX Ox8137 ARP Ox0806 NctilEUI Ox8191 RARP Ox8035 IPv6 Ox86DD AARP Ox80F3 ppp Ox880B

TABLE 1 Ethernet frame types

nom code nom code icmp OxOl igp Ox09 igrnp Ox02 chaos OxlO ggp Ox03 udp Oxll ipv4 Ox04 ipv6 Ox29

tep Oxü6 smp Ox79 TABLE 2 Internet protocols

FIGURE 9 Paquet TCP

S52 - Examen 4'4 21,06/2017

ÀO

(11)

Université du Sud Toulon-Var, UFR des Sciences et Techniques, Département d'Informatique LICENCE SCIENCES POUR L'INGENIEUR: PARCOURS INFORMATIQUE- L3-2016/17

EXAMEN DE 152 - GENIE LOGICIEL - Durée 2h - Documents non autorisés - Session2

METHODE MERISE : ETUDE DE CAS

Il faut respecter l'énoncé mais une certaine latitude est laissée pour ce quin

y

est pas précisé.

L'objet de cet exercice est une étude simplifiée des activités d'entretien et de réparation de voitures effectuées par un garage.

Première partie

On considère qu'un véhicule n'a qu'un propriétaire mais que ce dernier peut avoir plusieurs véhicules.

Lorsqu'un client se présente pour la première fois, le garage lui attribue un numéro qui sera stocké dans le fichier client avec son nom, son adresse et son numéro de téléphone.

Si le véhicule amené par le client n'est pas enregistré, on saisit son numéro d'immatriculation, son numéro de série et sa date de mise en circulation.

Le garage effectue des prestations qui peuvent nécessiter des pièces. Pour chacune de ces pièces on mémorise sa référence, son libellé, son prix et sa quantité en stock. On peut changer une certaine quantité d'une pièce donnée (par exemple deux plaquettes de frein). Une prestation est décrite par son code, sa désignation et son montant hormis le prix des pièces qu'elle nécessite. Par exemple, le montant du remplacement des plaquettes de frein représentera celui de la main-d'œuvre.

Lorsque les différentes prestations nécessaires au véhicule ont été réalisées, le client vient le chercher et on lui remet une facture spécifiée par un numéro, sa date d'émission et le nom du réceptionnaire, c'est-à-dire l'employé qui a géré la prise en charge du véhicule.

Travail à réaliser

On utilisera au mieux les possibilités de la méthode Merise.

1) A partir de cet énoncé, donner un dictionnaire de données élémentaires.

2) En utilisant la démarche décrite en cours, donner la matrice simplifiée complétée des dépendances

fonctionnelles (DF), puis recopier les DF non réflexives, montrer comment certaines DF peuvent être obtenues par transitivité, puis les éliminer pour donner l'ensemble des DF utiles pour la construction du modèle conceptuel de données (MCD).

3) En déduire le MCD.

Seconde partie

Le garage emploie des secrétaires, des réceptionnaires et des mécaniciens.

Le client prend rendez-vous auprès d'une secrétaire.

Lorsque la voiture est déposée, un réceptionnaire accueille le client, c'est-à-dire qu'il enregistre les informations utiles et lui propose un devis en fonction de ces informations. Après le départ du client, il confie la voiture à des mécaniciens qui déterminent plus précisément les prestations à effectuer.

Dans le cas où il y a un dépassement du devis, le réceptionnaire appelle le client pour l'informer. S'il est d'accord ces travaux supplémentaires seront effectués sinon seul ce qui était initialement prévu sera fait.

Le mécanicien effectue les prestations demandées.

Le réceptionnaire prévient le client quand sa voiture est prête, fait la facture et la remet au client lorsqu'il vient reprendre son véhicule.

C'est le réceptionnaire qui commande auprès du fournisseur les pièces si nécessaire.

Travail à réaliser

I) Proposer un modèle organisationnel des flux du domaine (MOF).

2) Proposer un modèle organisationnel des traitements (MOT) en prenant en compte les activités essentielles à accomplir depuis l'arrivée du client avec son véhicule jusqu'au paiement de la facture.

METHODEUML

1) Rappeler la définition (brièvement) et la représentation de chacune des relations suivantes: agrégation, composition, généralisation-spécialisation.

2) Pour chacune des 4 notions suivantes : agrégation, composition, généralisation-spécialisation, relation sans propriété particulière, donner un exemple qui l'illustre et dessiner les 4 diagrammes de classes correspondants.

(12)

Département d'Informatique Université de Toulon

153 - Systèmes d'exploitation, processus - Examen Session 2

Aucun document autorisé - durée 2h Jeudi 29 juin 2017

Ne pas oublier de commenter et expliquer/justifier si des choix sont faits. Bien décrire les objets et le rôle de ceux-ci (et utiliser des noms explicites si possible). Le barème est donné à titre indicatif.

Exercice 1: (1,5 points)

Soient un programme A et une variable X initialisée à l. Répondez aux 4 questions suivantes : l. Un nouveau processus est-il créé si le programme A fait un appel :

(a) à l'instruction fork?

2. Un nouveau processus est-il créé si le programme A fait un appel : (a) à l'instruction exec?

3. Si le programme A contient la séquence d'instructions suivante: fork(); printfC"%d\n" ,X);

que sera-t-il affiché dans le terminal à l'exécution du programme?

(a) rien (b) une fois "l"

( c) deux fois "l"

4. Si le programme A contient la séquence d'instructions suivante : execlp("echo", "echo", "Hi", NULL); printf("%d\n" ,X);

que sera-t-il affiché dans le terminal?

(a) rien (b) juste "Hi"

(c) juste "l"

(d) autre

Exercice 2: (1,5 points)

Soient les structures suivantes :

struct structurel { short m;

char t [1] ;

};

struct structure2 { long *m;

long t;

float *X;

};

struct structure3 { long m;

float t [255] ;

struct structurel s[2];

};

Indiquez pour chacune de ces structures si celle-ci est compatible en tant que structure d'un message pour un objet IPC de type file de messages? Justifiez votre réponse.

I53 - Examen

1/5

29/06/2017

(13)

Département d'Informatique Université de Toulon

Exercice 3: ( 4 points)

Soit le programme suivant :

#define N 1 int main(void) {

int i, pid, pidinit;

pidinit = getpid();

printf("pere de pid initial for (i= O; i< N; i++) {

pid=fork();

printf("boucle num %d pid:%d\n", i, getpid());

%d\n",pidinit); I I (a)

li (b) }

if ( !pid) {

execl("lbinlshl", "sh", "-c", "echo fils", (char *) NULL);

} else {

execl("lbinlshl", "sh", "-c", "echo i", (char *) NULL);

if (fork O) { i += fork() * 2;

} }

while(wait(NULL) != -1); li (d) return O;

li (c)

}

l. Donnez les affichages obtenus à l'écran par l'exécution du programme précédent (vous supposerez que la valeur de "pidinit" obtenue lors de l'exécution du programme est l'entier 123, et vous supposerez que les numéros des processus fils sont générés par ordre continûment croissant). Remarque : il y a bien sûr plusieurs ordres d'affichage possibles (et corrects) pour cette question.

2. Même question mais cette fois-ci, N

=

2.

3. Toujours pour N

=

2, indiquez combien de processus ont été créés en tout et donnez un arbre montrant les relations de filiation entre ces processus.

4. Expliquez à quoi sert l'instruction (d) ?

Exercice 4: ( 3 points)

Soit un système composé de 4 processus PO, Pl, P2 et P3 et de 4 types de ressources RO, Rl, R2, R3.

On dispose de 3 exemplaires de RO, 2 exemplaires de Rl, 2 exemplaires de R2, et 1 exemplaire de R3.

Les conditions d'utilisation des ressources sont les suivantes :

PO possède 2 exemplaires de RO, et demande 1 exemplaire de Rl,

Pl possède 1 exemplaire de R2 et demande 1 exemplaire de RO et 1 exemplaire de Rl, P2 possède 1 exemplaire de Rl et 1 exemplaires de R2 et demande 1 exemplaire de R3, P3 possède 1 exemplaire de R3 et demande 2 exemplaires de Rl et 1 exemplaire de R2

Question

4.1:

Donner le graphe d'allocation des ressources pour le système décrit ci-dessus.

I53 - Examen 2/5 29/06/2017

(14)

Département d'Informatique Université de Toulon

Question 4.2:

En appliquant l'algorithme du banquier dites s'il y a interblocage : vous donnerez le contenu de la matrice C des allocations courantes, de la matrice R des demandes de ressources, et du vecteur A du nombre de ressources actuellement disponibles, puis à chaque itération le nouveau contenu du vecteur A.

Exercice 5: ( 4 points)

Nous souhaitons organiser le processus de construction d'un igloo avant que le grand froid n'arrive. Pour cela, nous supposerons que ce problème peut être décomposé en 5 processus concurrents évoluant en parallèle:

Le processus Bloc B qui extrait des blocs de glace de la banquise et les place dans une zone tampon Tl de taille M;

Le processus Charge C qui prend des blocs de glace du tampon Tl et les pose sur le traîneau du livreur;

Le processus livre L qui transporte exactement 10 blocs de glace sur son traîneau entre la zone tampon Tl et une zone tampon T2 ;

Le processus Décharge D qui décharge les blocs de glace du traîneau vers la zone tampon T2 de taille N, placée devant l'igloo en construction;

Le processus Assemble A qui prend des blocs posés la zone de tampon T2 et les assemble pour faire l'igloo;

Question 5.1:

Écrire le pseudo-code (pas un programme C) de chacun de ces 5 processus B, P, F, Cet H afin que la chaîne de fabrication d'un igloo soit opérationnelle et que les différents processus soient synchronisés entre eux et fonctionnent en parallèle. On pourra utiliser les fonctions prédéfinies suivantes :

- découper _bloc O, charger _bloc O, décharger _bloc O,

- mettre_dans_tamponTxO, prendre_dans_tamponTxO (x prenant la valeur du tampon 1 ou 2), - transporter O, assembler O

N'oubliez pas de décrire les différents objets de synchronisation que vous utilisez, leur type, leur initialisation et leur signification.

Question 5.2:

Y a-t-il un risque d'inter blocage? Le site d'extraction des blocs de glace étant assez éloignés de l'igloo et la nuit allant tomber, il a été décidé d'augmenter le nombre de livreurs. Dans cette nouvelle situation, votre réponse change-t-elle? Expliquez votre réponse.

Question 5.3:

Proposez une solution au problème précédent s'il y en a un (pas besoin de pseudo-codes).

Exercice 6: ( 6 points)

Dans le cadre du développement du réseau ferroviaire de la communauté Inuit au Groënland, cette dernière a votre entreprise la gestion de leur nouvelle gamme de trains à grande vitesse "In-Ouïe" à l'aide de statistiques.

L'objectif de cet exercice est d'écrire un programme qui effectuera l'analyse des statistiques de fréquen- tation et de temps de retard des trains. Plus précisément, un processus père (la gare) générera N processus fils (les trains). Chaque train effectuera VOY voyages par jour, pendant D jours.

A la fin de chaque journée, le fils i indiquera au processus père le nombre total de passagers et les temps cumulés de retard pour cette journée.

I53 - Examen 3/5 29/06/2017

(15)

Département d'Informatique Université de Toulon

Le passage de ces valeurs se fera à l'aide de deux zones de mémoire partagée sous forme de tableau, un pour le décompte des voyageurs et un pour le décompte des temps de retard, avec l'élément i des tableaux correspondant aux valeurs du fils i. Au départ, les tableaux seront initialisés à la valeur O.

Question 6.1:

Dans un premier temps nous nous intéressons uniquement à la partir «échange des données statistiques», pas à la synchronisation fine de l'ensemble. Compléter le programme suivant pour inclure TOUTES les instructions manquantes afin qu'il réalise les opérations d'écriture et de lecture dans les zones de mémoire partagée (indiquer les lignes d'insertion de votre code ou tout ré-écrire). Vous pouvez définir des fonctions si besoin. Les tableaux manipulés s'appelleront retards et voyageurs.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

#define N 2

#define VOY 2

#define D 2 int main() {

int i, pid, jour, j;

for (i= O; i< N; i++) {

I* creation des fils *I

pid = fork();

if (! pid) {

I* fils *I

I* deux trains *I

I* deux voyages par jours *I I* nombre de jours d'analyse *I

srand(time(NULL) * getpid());

for (jour= O; jour< D; jour++) { int nb_v, rtd;

sleep(rand0%3);

printf("Train %d: debut du jour %d\n", i, jour);

for (j = O; j < VOY; j++) { nb_v = rand()%10 ;

printf("Train %d, jour %d: depart voyage %d avec %d voyageurs\n", i ,jour, j, nb_v);

sleep(rand()%3);

rtd =rand()% 7 - 3;

printf("Train %d, jour %d: arrivee voyage %d avec retard de %d\n", i, jour, j, rtd);

} }

exit(O);

} }

I* pere *I

I* affichage des stats par jour *I

srand(time(NULL) * getpid());

int total_voy = O, total_rtd = O;

for (jour= O; jour< D; jour++) { sleep(rand()%3);

printf("Gare: statistiques jour %d\n", jour);

for (i= O; i< N; i++) {

printf ("Gare: train %d: %d voyageurs, %d retards\n", i, voyageurs [i], retards [i]);

} }

printf("Gare: total sur %d jours: %d voyageurs, %d retards\n", D, total_voy, total_rtd);

return O;

}

Question 6.2:

Le programme précédent ne possède aucune synchronisation ni pour l'écriture ni pour la lecture des valeurs, que ce soit le nombre de voyageurs ou les temps de retard. Pour remédier à ces problèmes, nous allons introduire deux tableaux de N sémaphores pour synchroniser les phases de lecture et d'écriture. Le sémaphore i des tableaux correspondent au fils i.

Compléter le code afin de mettre en place cette modification.

I53 - Examen 4/5 29/06/2017

(16)

Département d'Informatique Université de Toulon

Question 6.3:

Proposer une solution simple pour permettre de synchroniser la lecture finale du processus père avec la fin de la course.

Question 6.4:

Ces solutions à base de zones de mémoire partagée et de sémaphores fonctionnent mais sont assez com- plexes à mettre en place. Après réflexion, un troisième objet IPC semble être plus adapté à la situation : les files de messages. Dorénavant, les processus enverront un message avec comme type leur numéro de fils+ 1 et comme donnée le numéro du jour, le nombre de passager total de la journée, le retard total cumulé de la journée.

Le processus père lira les messages au fur et à mesure et affichera comme auparavant les statistiques quotidiennes et totales.

Définissez la structure que vous allez utiliser comme message, puis complétez le code initial de la question 1 pour mettre en place cette solution.

Et c'est ainsi qu'on entendit un jour quelqu'un prononcer la phrase : «j'ai ouïe un In-Ouïe Inuit cette nuit, c'est inouï!»

I53 - Examen 5/5 29/06/2017

(17)

Licence Sciences pour !'Ingénieur - 3ème année- parcours EEA Epreuve de « Propagation des ondes électromagnétiques » (EEA53)

2ème session - juin 2017

Durée 2h - Aucun document autorisé - Calculette autorisée

Exercice 1: Onde plane électromagnétique

On considère une onde plane électromagnétique qui se propage suivant l'axe Oz, dans le sens des z croissants, dans un milieu diélectrique parfait linéaire et isotrope. En justifiant toutes les étapes du raisonnement, donner l'expression, en notation réelle, des composantes du champ électrique

Ë (

z,

t)

sachant que l'onde est polarisée rectiligne ment à 45º des axes Ox et Oy, que sa pulsation est

w,

que son nombre d'onde est k, que son amplitude est

Eo

et qu'en z = O et t =Ole champ est orienté orienté dans la quadrant x>O et y>O ..

Exercice 2 : Propagation dans un excellent conducteur

On considère une onde plane électromagnétique dont toutes Ics composantes de ses champs électrique et magnétique contiennent, à différents facteurs près, le terme complexe exp j(wt - kr) {j = imaginaire pur) avec

r

li

k .

Arrivée à l'entrée d'un excellent conducteur l'équation de dispersion devient:

k2 = j

w µo

cr, où u, est la perméabilité magnétique du vide et cr la conductivité du conducteur.

1 - Donner I 'expression de k sachant que

fj =( 1 -

j

)! fi. .

2 - Remplacer k par cette expression dans le terme complexe de propagation. Et réécrire ce terme comme le produit d'une exponentielle réelle par une exponentielle complexe.

3 - Justifier que l'exponentielle réelle correspond à une atténuation de l'onde électromagnétique le long de l'axe parallèle à

r .

4 - On définit la profondeur de pénétration dans le conducteur la distance r =

6

au bout de laquelle l'onde est atténuée d'un facteur lle ou e·1. Donner l'expression de

6

5 - Application numérique : sachant que µ0 = 4n 10·6 [u.s.i]. calculer

6

pour une fréquence électromagnétique de télécommunication de 1 GHz et pour un conducteur métallique classique de conductivité cr = 107 [u.s.i]. Commenter ce résultat.

(18)

Exercice 3: Fréquences de coupure dans guide d'onde

On considère un guide d'onde métallique idéal (conducteur parfait) de section constante le long de son axe principal et dont l'intérieur est rempli d'air que l'on peut assimiler à du vide. On rappelle l'expression générale de l'équation de dispersion du mode« nm » pour un tel guide:

où west la pulsation, c la célérité de la lumière et k le nombre d'onde dans le guide.

1 - En se référant au cas du guide à section rectangulaire expliquer pourquoi on a besoin de deux indices entiers « n » et « m » pour définir un mode de propagation.

2 - En justifiant la réponse, donner la valeur de Vnm qui correspond au cas de la propagation d'une onde plane dans le vide illimité.

3 - A partir de l'équation de dispersion, donner l'expression de ken fonction des autres termes.

4 - En déduire que pour qu'il y ait réellement propagation d'un mode « nm » dans le guide, la fréquence de transmission doit être supérieure à une fréquence minimale fnm, appelée fréquence de coupure du mode« nm».

5 - Donner le nom de la fréquence de coupure la plus petite.

6 - Donner la gamme de fréquences dite «mono-mode» et expliquer l'intérêt d'utiliser le guide dans cette gamme.

Exercice 4 : Câble coaxial

On utilise un câble coaxial usuel d'impédance caractéristique ?.e = 50 O et dont la vitesse de propagation est v = 2c/3 (c = célérité de la lumière).

1 - Calculer sa capacité par unité de longueur Cet son inductance par unité de longueur L.

2 - On transmet à l'entrée du câble un signal sinusoïdal monochromatique. Pour une fréquence de 50 MHz les tensions d'entrée et de sortie sont en phase. En déduire la longueur du câble à un facteur entier près et la liste des fréquences qui donneraient le même résultat.

(19)

- - -- -r-- -. - T ~-- ~- +

---

---

.

-

-,- I

--r - -+- - · ~ ---- ----. - i--

.... --r----+

/~_-,- ~, -7- - --

<.fi!__ 1-J4- ]7l -·-~

+--~

- ' ---, -- .----,- I-· - -,--- t- -,. ~ ~--

--,-

I

-- ~ --;--- ~

!

-

....; ·- -T" --- ·-·- _ _.. ~ --~

_ _ _ , - ·r- -. --

~--+

'

: -= ~- ~r= ê{-V ~~

'

:.:s ~a ;¿z{(;tf /~ -

~- ~.~ p~} ~1~ ~-1J_>a ~ > #.~t?JZ

- ~--~, -~~,._ ~~l'1 ;t;~

-~ -: -=-~~~ : C2x · J ~~ r-cÀ·1'~~ 1----+-- --: --"--~

'~~~14-{~ - k:¡ * +-+-,-i>---+---'---'---

:t- ~ ~ . or-éwi'"' _

1

k~_,__ :n _ ~ _ , -+--'. , ~,_~_..¡._-;..-

~+--+-- ~--+---

I

I !

~' .J.. c:-

-~---;--.--+---c----.;.;;;;;;,¡;¡;;;;;;;:;===.#,;;;;;;.t;=í:;;;;;==--r---+---;--~-!.""...,".:.r},7;)::--'-~---~n-· ~---,.--~--+-i-

____ __,_ _ __;_-4 -,- _.__ ___.¡._-cA---f-+---"--fc...,~~·---+---+----t---=----·---,-.----+--

--,---

---+- -~- --- - ~

---~---

Q_ .

--I,___-+---_,,_ __ ~----· ~ '

---,·---

-~---·-~-

-,---1

(20)

G -'r t<.Pl·« Z . .

- - -,- -. - -. --,----- ,__ ~ ~ ,¡, - t- - ,-- ..,. - .¡.. - ~

- - ~ f= - £,.._ \

- ¡ ·

-,ì<-~-LÂ-J~ ... - - ~· -

---- - -'--· - --- +---=--

+----

'

.

.. ~ - ...-;.~· . - --·- -. - - ---t- t- -+-- - ·¡-- --- - I f '

- -- - - - - - - - - - - - - -:--- _ .¡.. _ >--+-~---t--·- --i---+ --~-1--- r- -+-

- -~ À= ~= _J,: ,{ .}A~ ;,í:..i;

lt

r : ~ ~ /~ 17 l¡; ~ ;,. ~~ - '- ~e,,;,

-=~-- -- _-t>~;,f °í_ 1&1_' ~ -l~L ~~ ~ :_~. _

r-·

2 ,... - ~r. .u Y'-: L?M.l'A- - -= - 6 - . (

~-r\.()(A .... -. [-- ~-- 1_ -

- ,:,-t ~.

~f~· ~ -

ß--- l.-<.( . .

--~ e .~ - ~· . ~ - -

_-_. - #1}~;;¡.~ -A k ~Öl\~ Ç //\,~ /4z¿_·~Îtr1' - -1,ß,-

(21)

_ ____¡__ __ ~ _ ,¡.. -

I .

- -- -t- ~ -. _! -- ...._ ~---~ - ... _;_

- _...._ -r- ___. +-- "T"---.. -~--· --:-· -

- --+- --,- - -¡---- - -

,._ -· -

--~~---+- --. --~--~: .

- r

--i- T -

;-- +---i-- - -- - -,

---~ - c.

... . - . --- --- . + -

' ~ --·

.. --- -

~--. -+-

; I

----+--.

'"""7 '

----~~~~-~-

e

--·

.-~---

+--·-·

--~ --+--1---

- - - -~ - --- - 1 - t -i-- 1"--- - ~--- -

-- - -- ..- -·-.-- -~ --t- - +- - - ·

---

Références

Documents relatifs

[r]

Voici les niveaux de priorité sur les opérateurs du plus fort au plus faible

construire une petite boîte pour mettre les petits cailloux perdus au cours de la partie qui peuvent être récupérés par un joueur chanceux et la poser à côté du plateau de

(Collagenous OR lymphocytic) colitis 1814 réf.. Qui peut le moins peut

Document 9 – Passage onirique en quatre couloirs,

Un système d'exploitation utilise 3 niveaux de priorité numérotés par ordre décroissant, 1 est plus prioritaire que 2 qui est plus prioritaire que 3. Un processus se voit

Po ur donner le g· oût des connaissances, il faut éviter de aonner trop de connaissances.. Mais notre enseignement doil étre

A l’aide d’un tableur, construit les diagrammes représentant la température et les précipitations sur l’ile Heard.. Quelle est l’étendue