Vue normale

Reçu avant avant-hier

QCM En Informatique Générale – Partie 1

Par :Thomas
18 novembre 2018 à 00:26

QCM en informatique générale avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions et réponses sur l’informatique générale comprennent divers sujets. Et sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Quel est le rôle principal du processeur dans un ordinateur ?

A Stocker les données

B Exécuter les instructions du programme

C Afficher les informations à l’écran

D Connecter l’ordinateur à Internet

B
Le processeur, ou CPU (Central Processing Unit), est l’unité centrale de traitement qui exécute les instructions des programmes. Il effectue les calculs et prend les décisions nécessaires pour faire fonctionner les applications.

 

2. Le cerveau de tout système informatique est _________?

A CPU

B Mémoire

C Unité de contrôle

D Unité arithmétique et logique – ALU

E Aucune de ces réponses n’est vraie.

A
Le cerveau de tout système informatique est le CPU(Unité centrale de traitement). Le processeur est une puce contenant des millions de transistors. Le travail du CPU consiste à effectuer les calculs nécessaires au bon fonctionnement de l’ordinateur.

 

3. Quel est le rôle d’un système d’exploitation ?

A Exécuter les applications

B Gérer le matériel et les ressources de l’ordinateur

C Créer des fichiers de données

D Gérer la sécurité du réseau

B
Le système d’exploitation est responsable de la gestion du matériel (comme la mémoire, le disque dur, les périphériques) et des ressources pour assurer que les programmes puissent s’exécuter correctement et de manière efficace.

 

4. Qu’est-ce qu’une adresse IP ?

A Une unité de mesure de la vitesse de connexion

B Un identifiant unique pour un appareil sur un réseau

C Un protocole de communication utilisé sur Internet

D Une méthode de sécurité pour les réseaux sans fil

B
Une adresse IP (Internet Protocol) est une suite de chiffres qui identifie de manière unique un appareil sur un réseau. Elle permet aux appareils de se localiser et de communiquer entre eux sur Internet.

 

 
5. Quelle est la fonction de la mémoire vive (RAM) dans un ordinateur ?

A Stocker les fichiers à long terme

B Exécuter les applications

C Stocker temporairement les données utilisées par le processeur

D Connecter l’ordinateur à Internet

C
La mémoire vive (RAM) est utilisée pour stocker temporairement les données et instructions qui sont utilisées par le processeur pendant l’exécution des applications. Plus la RAM est grande, plus l’ordinateur peut gérer de données simultanément.

 

6. Quelle est la principale fonction d’un pare-feu (firewall) ?

A Crypter les données sensibles

B Bloquer les logiciels malveillants

C Filtrer le trafic réseau pour empêcher les connexions non autorisées

D Gérer les mots de passe des utilisateurs

C
Un pare-feu est un dispositif de sécurité réseau qui filtre et contrôle le trafic entrant et sortant d’un réseau pour empêcher les attaques, les intrusions et les connexions non autorisées.

 

7. Quel langage de programmation est principalement utilisé pour le développement web côté serveur ?

A Python

B JavaScript

C HTML

D PHP

D
PHP est un langage de programmation principalement utilisé pour le développement côté serveur des sites web. Il permet de générer dynamiquement des pages web et d’interagir avec les bases de données.

 

 
8. ASCII signifie _______?

A American standard code for information interchange

B All purpose scientific code for information interchange

C American security code for information interchange

D American Scientific code for information interchange

E Aucune de ces réponses n’est vraie.

A
ASCII(American standard code for information interchange) est le format le plus courant pour les fichiers texte dans les ordinateurs et sur Internet. Dans un fichier ASCII, chaque caractère alphabétique, numérique ou spécial est représenté par un nombre binaire de 7 bits.

 

9. Quel est le type de mémoire le plus rapide ?

A Mémoire cache

B Disque dur (HDD)

C Mémoire flash (SSD)

D Mémoire RAM

A
La mémoire cache est la plus rapide car elle est directement connectée au processeur et utilisée pour stocker temporairement les données les plus fréquemment accédées, ce qui permet une exécution très rapide des processus.

 

10. GUI signifie _______?

A Graph Use Interface

B Graphical Universal Interface

C Graphical User Interface

D Graphical Unique Interface

E Aucune de ces réponses n’est vraie.

C
GUI(Graphical User Interface) est une interface graphique qui permet aux utilisateurs d’interagir avec des périphériques via des éléments graphiques tels que des images et des animations, à l’inverse de la console.

 

11. Quel est le rôle d’un logiciel antivirus ?

A Optimiser la performance de l’ordinateur

B Protéger l’ordinateur contre les logiciels malveillants

C Organiser les fichiers sur l’ordinateur

D Gérer la connexion à Internet

B
Un logiciel antivirus est conçu pour détecter, prévenir et éliminer les virus et autres types de logiciels malveillants afin de protéger les données et la sécurité de l’ordinateur.

 

12. Qu’est-ce qu’une base de données relationnelle ?

A Une base de données sans structure

B Une base de données qui organise les données sous forme de tables interconnectées

C Un système de stockage de fichiers non structurés

D Une base de données exclusivement utilisée pour les images

B
Une base de données relationnelle organise les données sous forme de tables, qui peuvent être reliées entre elles par des clés primaires et étrangères, permettant des relations entre les différentes données.

 

13. Quel est le rôle de HTML dans le développement web ?

A Il gère les bases de données

B Il est utilisé pour les calculs mathématiques dans les pages web

C Il permet d’ajouter des animations aux pages web

D Il structure le contenu d’une page web

D
HTML (HyperText Markup Language) est utilisé pour structurer le contenu d’une page web. Il définit les éléments de la page (titres, paragraphes, images, liens, etc.), mais ne gère pas la mise en forme, ce qui est réservé à CSS (Cascading Style Sheets).

 

14. Un chatbot est un exemple de ____________

A Système expert

B Intelligence artificielle

C Application mobile

D Système de gestion de bases de données

B
Un chatbot est un programme qui utilise des techniques d’intelligence artificielle pour simuler une conversation avec un utilisateur. Ces systèmes peuvent comprendre des questions et répondre de manière appropriée, souvent avec des algorithmes de traitement du langage naturel.

 

15. Qu’est-ce que le cloud computing ?

A Un logiciel antivirus

B Un type de virus informatique

C L’utilisation de serveurs distants pour stocker et gérer des données

D Un type de disque dur

C
Le cloud computing fait référence à l’utilisation de serveurs distants (via Internet) pour stocker, gérer et traiter des données, au lieu de le faire localement sur un ordinateur personnel. Des exemples incluent Google Drive, Dropbox et iCloud.

 

L’article QCM En Informatique Générale – Partie 1 est apparu en premier sur WayToLearnX.

QCM En Informatique Générale – Partie 2

Par :Thomas
17 novembre 2018 à 12:50

QCM en informatique générale avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions et réponses sur l’informatique générale comprennent divers sujets. Et sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Toute donnée ou instruction entrée dans la mémoire d’un ordinateur est considérée comme _____?

A Stockage

B Sortie

C Entrée

D Information

E Aucune de ces réponses n’est vraie.

C
Tout ce qui est envoyé à l’ordinateur, que ce soit une information que vous tapez sur un clavier, un fichier que vous ouvrez, ou même une commande d’un programme, est appelé « entrée ». Ces entrées sont ensuite traitées par l’ordinateur pour donner des résultats (sorties), comme l’affichage d’un message ou l’exécution d’une tâche.

 

2. Le temps pendant lequel une tâche est traitée par l’ordinateur est appelé _______?

A Temps d’exécution

B Temporisation

C Temps réel

D Temps d’attente

E Aucune de ces réponses n’est vraie.

A
Le temps d’exécution fait référence au temps total qu’un programme informatique met pour accomplir une tâche, depuis le moment où il commence à s’exécuter jusqu’à ce qu’il termine. Cela inclut toutes les étapes de traitement, comme le calcul, l’accès aux données, et la gestion des ressources.

 

3. Lequel des circuits suivants est utilisé comme « Périphériques de mémoire » sur les ordinateurs?

A Bascules

B Comparator

C Attenuator

D Aucune de ces réponses n’est vraie.

A
Les bascules sont utilisés comme éléments de stockage de données pour stocker un seul bit (chiffre binaire) de données; l’un de ses deux états représente un « un » et l’autre un « zéro ». Ce type de stockage de données peut être utilisé pour le stockage d’un état, et un tel circuit est décrit comme une logique séquentielle en électronique.

 

4. Lequel des énoncés suivants est faux?

A Photoshop est un outil de conception graphique par Adobe

B Linux est un logiciel libre et open source

C Linux est vendu par Microsoft

D Windows XP est un système d’exploitation

E Aucune de ces réponses n’est vraie.

C
Linux est un System gratuit et open source, il n’est pas vendu par Microsoft ni par aucune autre société.

 

 
5. Pour indiquer à Excel que nous voulons entré une formule dans une cellule, nous devons commencer par un opérateur tel que _______?

A $

B #

C =

D +

E @

C
Dans Excel, toutes les formules commencent par le signe égal (=). Ce signe indique à Excel que ce qui suit est une formule ou une fonction à calculer. Par exemple, pour additionner deux nombres, vous écririez =A1+B1.

 

6. Une erreur est aussi appelée _________?

A Bug

B Debug

C Curseur

D Icon

E Aucune de ces réponses n’est vraie.

A
Une erreur dans un programme informatique est appelée « Bug » et le processus de correction des « Bugs » est appelé « Débogage ».

 

7. Lequel des éléments suivants n’est pas un package d’application?

A Open Office

B Adobe Pagemaker

C Microsoft Office

D Red Hat Linux

E Aucune de ces réponses n’est vraie.

D
Red Hat Linux est un système d’exploitation, pas un package d’application. En revanche, Open Office, Adobe Pagemaker, et Microsoft Office sont des suites d’applications utilisées pour des tâches comme la bureautique, etc.

 

 
8. Microsoft Word est un exemple de _________?

A Système d’exploitation

B Dispositif de traitement

C Logiciel applicatif

D Périphérique d’entrée

E Logiciel système

C
Microsoft Word ou MS-WORD (souvent appelé Word) est un programme de traitement de texte graphique avec lequel les utilisateurs peuvent taper des textes. Il est fabriqué par la société informatique Microsoft. Son but est de permettre aux utilisateurs de taper et de sauvegarder des documents.

 

9. La taille du mémoire des ordinateurs mainframe et de technologie avancée s’exprime en _________?

A Octets

B Kilo Octets

C Bits

D Mega Octets

E Aucune de ces réponses n’est vraie.

D
Les ordinateurs mainframe et de technologie avancée ont généralement une grande capacité de mémoire, et celle-ci est souvent mesurée en mégaoctets (Mo), gigaoctets (Go) ou même téraoctets (To). Les mégaoctets sont une unité courante pour exprimer des tailles de mémoire relativement importantes.

 

10. La communication offerte par TCP est _________?

A Full-duplex

B Half-duplex

C Semi-duplex

D Octet par octet

E Aucune de ces réponses n’est vraie.

A
En effet, TCP (Transmission Control Protocol) permet une communication bidirectionnelle simultanée entre deux hôtes, c’est-à-dire que les deux parties peuvent envoyer et recevoir des données en même temps. C’est pourquoi on parle de communication full-duplex.

 

L’article QCM En Informatique Générale – Partie 2 est apparu en premier sur WayToLearnX.

QCM En Informatique Générale – Partie 3

Par :Thomas
16 novembre 2018 à 14:16

QCM en informatique générale avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions et réponses sur l’informatique générale comprennent divers sujets. Et sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Quel est le rôle du disque dur (HDD) dans un ordinateur ?

A Exécuter des programmes

B Stocker de manière permanente les données et les programmes

C Augmenter la vitesse de traitement des données

D Gérer les périphériques externes

B
Le disque dur est utilisé pour le stockage permanent des données. Contrairement à la RAM, qui est volatile, les informations sur un disque dur sont conservées même après l’arrêt de l’ordinateur.

 

2. Que signifie l’acronyme « HTTP » ?

A Hyper Text Transfer Protocol

B High Tech Transfer Program

C Hyper Type Transfer Protocol

D High Time Transfer Protocol

A
HTTP est le protocole de communication utilisé pour transférer des documents sur le Web. Il permet la récupération de pages web via des navigateurs.

 

3. Qu’est-ce qu’un « virus informatique » ?

A Un programme utile qui protège l’ordinateur

B Un programme qui permet de naviguer sur Internet

C Un programme malveillant qui peut endommager un ordinateur

D Un périphérique externe

C
Un virus informatique est un programme malveillant conçu pour se propager d’un ordinateur à un autre et endommager les fichiers, les programmes ou le système de l’ordinateur.

 

4. Quel est l’outil utilisé pour naviguer sur Internet ?

A Un antivirus

B Un navigateur web

C Un moteur de recherche

D Un serveur

E Aucune de ces réponses n’est vraie.

B
Un navigateur web est un logiciel qui permet d’accéder à des sites Internet. Les navigateurs populaires incluent Google Chrome, Mozilla Firefox et Safari.

 

 
5. Qu’est-ce qu’un fichier « ZIP » ?

A Un programme de traitement de texte

B Un format de fichier compressé

C Un type de virus informatique

D Un périphérique de stockage

E Aucune de ces réponses n’est vraie.

B
Un fichier ZIP est un format de compression qui permet de réduire la taille d’un ou plusieurs fichiers pour faciliter leur stockage ou leur transfert. Un logiciel de décompression est nécessaire pour l’ouvrir.

 

6. Quel est le rôle de la carte mère d’un ordinateur ?

A Gérer la mémoire de l’ordinateur

B Exécuter les programmes

C Connecter et permettre la communication entre les composants matériels

E Gérer l’affichage à l’écran

C
La carte mère est le composant central de l’ordinateur. Elle permet de relier entre eux tous les autres composants comme le processeur, la mémoire RAM, le disque dur et les périphériques.

 

7. Qu’est-ce que le BIOS dans un ordinateur ?

A Un type de système d’exploitation

B Un logiciel de gestion des fichiers

C Un programme qui permet de configurer les composants matériels avant le démarrage du système d’exploitation

D Un périphérique externe

E Aucune de ces réponses n’est vraie.

C
Le BIOS (Basic Input/Output System) est un programme intégré dans la carte mère qui permet d’effectuer des tests matériels et de configurer certains paramètres avant le démarrage du système d’exploitation.

 

 
8. Que signifie l’acronyme « USB » ?

A Universal Serial Bus

B Unified System Base

C Universal Service Block

D Un System Bus

A
L’USB (Universal Serial Bus) est un standard de connexion permettant de connecter des périphériques externes à un ordinateur (clés USB, souris, imprimantes, etc.) via un port USB.

 

9. Quel est le rôle d’un « routeur » dans un réseau informatique ?

A Convertir les signaux analogiques en numériques

B Connecter plusieurs ordinateurs à Internet via un réseau local

C Protéger l’ordinateur des virus

D Stocker les données sur le réseau

B
Un routeur est un appareil qui permet de connecter un réseau local à Internet. Il permet aussi de gérer les connexions entre différents dispositifs sur le réseau local.

 

10. Qu’est-ce qu’un « logiciel open source » ?

A Un logiciel dont le code source est librement accessible et modifiable

B Un logiciel gratuit et sans licence

C Un logiciel payant avec des fonctionnalités avancées

D Un logiciel uniquement disponible en ligne

A
Un logiciel open source est un logiciel dont le code source est disponible publiquement, permettant à n’importe qui de l’étudier, le modifier et le redistribuer selon ses besoins.

 

L’article QCM En Informatique Générale – Partie 3 est apparu en premier sur WayToLearnX.

QCM En Informatique Générale – Partie 4

Par :Thomas
15 novembre 2018 à 16:38

QCM en informatique générale avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions et réponses sur l’informatique générale comprennent divers sujets. Et sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Qu’est-ce qu’un « système de fichiers » ?

A Un type de virus

B Un système permettant d’organiser, stocker et récupérer des fichiers sur un disque

C Un programme de traitement de texte

D Un outil pour améliorer la sécurité des fichiers

B
Un système de fichiers est la méthode utilisée pour organiser et gérer les fichiers et répertoires sur un support de stockage (comme un disque dur). Les systèmes de fichiers courants incluent NTFS, FAT32 et ext4.

 

2. Quelle est la principale différence entre un disque dur (HDD) et un disque SSD ?

A Le disque SSD est plus lent que le disque HDD

B Le disque HDD est plus rapide que le disque SSD

C Le disque SSD utilise des puces mémoire pour stocker les données, tandis que le disque HDD utilise des disques magnétiques

D Le disque HDD est plus cher que le disque SSD

C
Les disques SSD (Solid State Drive) utilisent des puces mémoire pour stocker les données, ce qui les rend plus rapides, plus durables et plus silencieux que les disques durs HDD (Hard Disk Drive), qui utilisent des disques magnétiques rotatifs.

 

3. Qu’est-ce que le « phishing » ?

A Un type de programme antivirus

B Une technique de vol de données personnelles par des faux sites ou emails

C Un type de malware qui dégrade les performances d’un ordinateur

D Un type de logiciel utilisé pour crypter les fichiers

B
Le phishing est une méthode utilisée par des cybercriminels pour tromper les utilisateurs en leur faisant croire qu’ils interagissent avec des entités légitimes (banques, entreprises) afin de voler leurs informations personnelles (mots de passe, numéros de carte bancaire).

 

4. Quel protocole est utilisé pour envoyer des emails ?

A FTP

B HTTP

C SMTP

D DNS

C
Le protocole SMTP (Simple Mail Transfer Protocol) est utilisé pour l’envoi d’emails. Il définit les règles permettant de transférer des messages entre serveurs de messagerie.

 

 
5. Qu’est-ce que Python ?

A Un logiciel antivirus

B Un langage de programmation utilisé pour écrire des programmes

C Un système d’exploitation

D Un outil de compression de fichiers

B
Python est un langage de programmation populaire, connu pour sa simplicité et sa lisibilité. Il est utilisé dans de nombreux domaines, y compris le développement web, l’analyse de données et l’intelligence artificielle.

 

6. Qu’est-ce qu’une « adresse MAC » ?

A Un identifiant unique attribué à un réseau sans fil

B Un identifiant unique attribué à un périphérique réseau, tel qu’une carte réseau

C Un type de malware

D Une adresse email

B
L’adresse MAC (Media Access Control) est un identifiant unique attribué à chaque carte réseau (wifi ou Ethernet) d’un appareil. Elle permet de l’identifier sur un réseau local.

 

7. Qu’est-ce qu’une « extension de fichier » ?

A Un type de fichier compressé

B Une partie du nom de fichier qui indique son format ou son type

C Un programme utilisé pour modifier un fichier

D Un type de virus informatique

B
L’extension de fichier est la partie du nom d’un fichier qui suit le dernier point (ex : .txt, .jpg, .mp3). Elle indique le type de fichier et le programme qui peut l’ouvrir.

 

 
8. Que fait une « clé USB » ?

A Permet d’afficher des documents sur un écran

B Permet de transférer et stocker des données

C Permet d’accélérer la connexion Internet

D Permet de protéger l’ordinateur contre les virus

B
Une clé USB (Universal Serial Bus) est un périphérique de stockage portable. Elle permet de transférer facilement des fichiers entre différents ordinateurs et de stocker des données de manière temporaire ou permanente.

 

9. Qu’est-ce qu’un « logiciel de traitement de texte » ?

A Un programme permettant d’écrire, modifier et imprimer des documents

B Un logiciel permettant de créer des images

C Un programme de gestion de base de données

D Un logiciel de navigation Internet

A
Un logiciel de traitement de texte, comme Microsoft Word ou Google Docs, permet aux utilisateurs de créer, modifier et formater des documents texte.

 

10. Quel est le rôle de « DNS » (Domain Name System) ?

A Stocker des fichiers à distance

B Traduire les noms de domaine en adresses IP

C Créer des sites web

D Protéger les utilisateurs contre les malwares

B
Le DNS (Domain Name System) est un système qui traduit les noms de domaine (par exemple, www.exemple.com) en adresses IP (par exemple, 192.168.0.1) afin que les ordinateurs puissent se connecter entre eux sur Internet.

 

L’article QCM En Informatique Générale – Partie 4 est apparu en premier sur WayToLearnX.

QCM En Informatique Générale – Partie 5

Par :Thomas
20 juin 2022 à 18:37

QCM en informatique générale avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions et réponses sur l’informatique générale comprennent divers sujets. Et sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Qu’est-ce qu’un « moteur de recherche » ?

A Un logiciel qui protège les données des utilisateurs

B Un programme permettant de naviguer sur Internet

C Un site web permettant de rechercher des informations sur Internet

D Un type de connexion sans fil

C
Un moteur de recherche, comme Google, Bing ou Yahoo, est un site web qui permet aux utilisateurs de rechercher des informations, des images, des vidéos, et plus encore sur Internet.

 

 
2. Que signifie l’acronyme « URL » ?

A Uniform Resource Locator

B Universal Resource Library

C User Resource Locator

D Uniform Reading Locator

A
L’URL (Uniform Resource Locator) est l’adresse d’un site web ou d’une ressource sur Internet. Par exemple, « https://www.example.com » est une URL qui permet d’identifier de manière unique une page web.

 

 
 
3. Quel est l’objectif principal du « cloud computing » ?

A Fournir des services antivirus en ligne

B Offrir une connexion Internet rapide

C Permettre de stocker et de traiter des données sur des serveurs distants

D Créer des logiciels de traitement de texte

C
Le cloud computing permet de stocker et de traiter des données sur des serveurs distants via Internet, plutôt que sur un appareil local. Cela permet un accès plus flexible et sécurisé aux données.

 

 
4. Quel est le rôle principal d’un « serveur » dans un réseau informatique ?

A Permettre la communication entre deux ordinateurs

B Gérer les connexions Wi-Fi

C Fournir des services, comme l’hébergement de sites web ou de fichiers

D Protéger les données contre les virus

C
Un serveur est un ordinateur ou un programme qui fournit des services à d’autres ordinateurs (clients) dans un réseau. Par exemple, un serveur web héberge des sites web, et un serveur de fichiers stocke et partage des fichiers.

 

 
5. Qu’est-ce qu’un « réseau local » (LAN) ?

A Un réseau de télécommunications à l’échelle d’un pays

B Un réseau privé limité à un petit espace géographique, comme une maison ou un bureau

C Un réseau reliant plusieurs pays

D Un réseau qui utilise uniquement le Wi-Fi

B
Un réseau local (LAN, Local Area Network) est un réseau qui relie des ordinateurs et périphériques dans une zone géographique restreinte, comme une maison ou un bureau, permettant ainsi une communication rapide et sécurisée entre eux.

 

 
6. Qu’est-ce que « Wi-Fi » ?

A Un type de virus informatique

B Une technologie sans fil permettant la connexion à Internet

C Un type de disque dur externe

D Un logiciel de gestion des réseaux

B
Le Wi-Fi est une technologie de communication sans fil qui permet aux appareils de se connecter à Internet ou à un réseau local sans utiliser de câbles.

 

 
 
7. Qu’est-ce que le « Big Data » ?

A Un format de fichier compressé

B Des données très volumineuses et complexes que les outils traditionnels ne peuvent pas traiter facilement

C Un type de mémoire de stockage

D Un protocole de communication

B
Le Big Data fait référence à de grandes quantités de données qui, en raison de leur volume, complexité ou rapidité d’arrivée, nécessitent des technologies et des outils spécialisés pour être traitées et analysées, comme Hadoop et Spark.

 

 
8. Qu’est-ce qu’un « cookie » sur Internet ?

A Un logiciel malveillant

B Un petit fichier stocké sur l’ordinateur pour mémoriser les préférences des utilisateurs

C Un type de virus informatique

D Une adresse IP dynamique

B
Un cookie est un fichier texte qui est placé sur un appareil par un site web. Il permet au site de mémoriser les préférences de l’utilisateur, les informations de connexion, ou encore le suivi des sessions de navigation.

 

 
 
9. Quel est le rôle d’un « compresseur de fichiers » ?

A Protéger les fichiers contre les virus

B Réduire la taille d’un fichier pour économiser de l’espace de stockage

C Convertir les fichiers en un autre format

D Créer une copie de sécurité des fichiers

B
Un compresseur de fichiers, comme WinRAR ou 7-Zip, permet de réduire la taille d’un ou plusieurs fichiers afin de faciliter leur stockage ou leur transfert. Cela permet également d’économiser de l’espace sur le disque dur.

 

 
10. Qu’est-ce que le « streaming » ?

A Un type de fichier compressé

B La diffusion en temps réel de contenus audio, vidéo ou autres

C Un système de stockage en ligne

D Une méthode de sécurité pour crypter les fichiers

B
Le streaming permet de diffuser des contenus (comme des vidéos ou de la musique) en temps réel via Internet sans avoir besoin de les télécharger complètement. Des exemples incluent YouTube, Netflix ou Spotify.

 

 

L’article QCM En Informatique Générale – Partie 5 est apparu en premier sur WayToLearnX.

QCM En Informatique Générale – Partie 6

Par :Thomas
20 juin 2022 à 19:47

QCM en informatique générale avec la correction pour la préparation des concours, des tests, aux examens et aux certifications. Ces questions et réponses sur l’informatique générale comprennent divers sujets. Et sont tirés d’un vrai concours écrit et certaines parties sont tirés d’un entretien orale. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son concours.
 
 

1. Quel est l’usage principal de « Linux » ?

A Un navigateur web

B Un système d’exploitation open source

C Un logiciel de traitement de texte

D Un programme de compression de fichiers

B
Linux est un système d’exploitation open source, ce qui signifie que son code source est librement accessible et peut être modifié par les utilisateurs. Il est utilisé sur une variété de dispositifs, des serveurs aux ordinateurs de bureau.

 

 
2. Que signifie l’acronyme « RAM » ?

A Random Access Memory

B Rapid Application Management

C Read Access Memory

D Read Algorithmic Memory

A
La RAM (Random Access Memory) est la mémoire vive d’un ordinateur. Elle permet de stocker temporairement les données et instructions des programmes en cours d’exécution pour un accès rapide.

 

 
3. Qu’est-ce qu’un « API » ?

A Une application mobile

B Un logiciel pour coder des programmes

C Un ensemble de règles permettant à des logiciels de communiquer entre eux

D Un périphérique de stockage

C
Une API (Application Programming Interface) est un ensemble de règles et d’outils qui permet à différents logiciels de communiquer entre eux. Par exemple, une API permet à une application d’obtenir des informations à partir d’un autre service en ligne, comme les prévisions météo.

 

 
 
4. Qu’est-ce que le « cloud » (nuage) en informatique ?

A Un logiciel de protection contre les virus

B Une technologie permettant de stocker des données et d’utiliser des services via Internet

C Un système d’exploitation

D Un type de connexion réseau câblée

B
Le « cloud » ou cloud computing désigne l’utilisation de serveurs distants pour stocker et traiter des données, plutôt que de le faire localement sur un ordinateur personnel. Des services comme Google Drive et Dropbox en sont des exemples.

 

 
5. Qu’est-ce qu’un « malware » ?

A Un type de programme de sécurité

B Un programme malveillant conçu pour nuire à l’ordinateur ou voler des informations

C Un fichier compressé

D Un outil pour protéger les fichiers contre la corruption

B
Un malware (ou logiciel malveillant) est un programme conçu pour nuire à un système informatique, voler des informations personnelles ou causer des dommages. Les virus, chevaux de Troie et ransomwares sont des types de malwares.

 

 
6. Que signifie l’acronyme « IP » dans une adresse IP ?

A Internet Protocol

B Internet Protection

C Internet Package

D Integrated Program

A
« IP » signifie « Internet Protocol ». C’est un système qui permet d’identifier de manière unique chaque appareil connecté à Internet via une adresse numérique.

 

 
 
7. Que signifie « HTTP » dans une URL ?

A HyperText Transfer Protocol

B High Transmission Protocol

C Hyper Tool Technology Platform

D High Text Transfer Protocol

A
HTTP (HyperText Transfer Protocol) est le protocole utilisé pour transférer des fichiers sur le web. Il est utilisé pour accéder à des pages web via des navigateurs.

 

 
8. Qu’est-ce qu’un « firewall » (pare-feu) dans un réseau informatique ?

A Un outil permettant de crypter des données

B Un système de sécurité qui bloque ou filtre les connexions non autorisées

C Un type de serveur web

D Un système d’exploitation

B
Un firewall (pare-feu) est une barrière de sécurité qui surveille et contrôle les connexions réseau entrant et sortant d’un ordinateur ou d’un réseau. Il bloque les connexions non autorisées et protège contre les attaques.

 

 
 
9. Quel est l’objectif principal d’un « algorithme » ?

A Identifier et corriger les erreurs dans le code

B Exécuter des programmes

C Résoudre un problème en suivant une série d’étapes précises

D Stocker des données de manière sécurisée

C
Un algorithme est une série d’instructions définies permettant de résoudre un problème spécifique ou d’accomplir une tâche, comme trier des données ou calculer une somme.

 

 
10. Qu’est-ce qu’un « système de gestion de base de données » (SGBD) ?

A Un système permettant de manipuler et organiser des données

B Un programme de sécurité pour protéger les bases de données

C Un langage de programmation pour coder des bases de données

D Un fichier compressé pour les bases de données

A
Un SGBD (Système de Gestion de Base de Données) est un logiciel utilisé pour créer, gérer et manipuler des bases de données. Des exemples de SGBD sont MySQL, PostgreSQL et Oracle.

 

 

L’article QCM En Informatique Générale – Partie 6 est apparu en premier sur WayToLearnX.

Exercice Corrigé Ordonnancement Des Processus – Partie 1

Par :Thomas
24 octobre 2024 à 11:50

L‘ordonnancement du processus est à la base des systèmes d’exploitation multiprogrammés. En répartissant l’unité centrale entre les processus, le système d’exploitation peut rendre l’ordinateur plus productif. Dans ce chapitre, nous présentons des exercices corrigés sur les concepts de base de l’ordonnancement, l’idée d’allocation de ressources et discutons en détail de l’ordonnancement de l’unité centrale. FCFS, SJF, Round-Robin, Priorité et les autres algorithmes d’ordonnancement devraient être familiers à vous.

 

Exercice 1: Stratégies d’ordonnancement

1.1) Expliquez pourquoi certains systèmes d’exploitation ont un ou plusieurs processus inactifs.

Les processus inactifs, souvent appelés « processus zombie » ou « processus idle », sont présents dans de nombreux systèmes d’exploitation pour plusieurs raisons.

Si aucun processus n’est dans l’état « prêt », le processus inactif du système se voit attribuer l’unité centrale. Le processus inactif du système est toujours actif mais avec la priorité la plus basse, permet au planificateur de garantir qu’il y a toujours un processus prêt à s’exécuter, même lorsque aucun autre processus n’est disponible. Cela évite des situations où l’unité centrale (UC) serait inoccupée. En créant un processus inactif pour chaque cœur de processeur, les systèmes d’exploitation modernes assurent une gestion efficace des ressources et optimisent l’utilisation de l’UC.

En résumé, les processus inactifs sont essentiels pour la performance, la réactivité et l’efficacité des systèmes d’exploitation.

1.2) Expliquez la différence entre l’ordonnancement préemptif et l’ordonnancement non préemptif.

Ordonnancement préemptif: Permet à un processus en cours d’exécution d’être interrompu pour donner la priorité à un autre processus. Utilisé dans les systèmes multitâches pour assurer une réactivité élevée. Par exemple, un processus avec une priorité plus élevée peut prendre le contrôle du CPU à tout moment.

Ordonnancement non préemptif: Un processus en cours d’exécution doit se terminer ou libérer le CPU volontairement avant qu’un autre processus puisse être exécuté. Utilisé dans des systèmes où la prévisibilité est essentielle, comme certains systèmes embarqués.

En résumé, l’ordonnancement préemptif permet des interruptions pour un meilleur contrôle, tandis que l’ordonnancement non préemptif laisse les processus terminer leur exécution sans interruption.

1.3) Citez un inconvénient de l’ordonnancement préemptif.

Un inconvénient de l’ordonnancement préemptif est l’augmentation de l’overhead du système. Les interruptions fréquentes pour passer d’un processus à un autre peuvent entraîner un coût en termes de temps de gestion et de ressources, ce qui peut nuire à la performance globale, surtout si les processus sont courts et que le temps de commutation devient significatif par rapport à leur temps d’exécution.

1.4) Citez un inconvénient de l’ordonnancement non préemptif.

Un inconvénient de l’ordonnancement non préemptif est le risque de starvation. Si un processus à faible priorité est bloqué par des processus à priorité plus élevée, il peut ne jamais obtenir l’accès au CPU, entraînant des délais d’exécution imprévus et une mauvaise réactivité du système.

1.5) Expliquer comment fonctionne l’ordonnancement par queues à plusieurs niveaux (Multilevel Queues).

Il fonctionne avec plusieurs files d’attente. Chaque file d’attente a une priorité différente ou un multiplex temporel. Chaque nouveau processus est inséré dans la file d’attente supérieure, ce qui lui confère la priorité la plus élevée. Pour chaque file d’attente, le système Round Robin est utilisé. Si un processus abandonne volontairement l’unité centrale, il est réinséré dans la même file d’attente. Si un processus a utilisé toute sa tranche de temps, il est inséré dans la file d’attente immédiatement inférieure, avec une priorité plus faible.

1.6) Décrivez ce que signifie « Partage équitable » (fair share).

Une méthode d’ordonnancement est équitable lorsque chaque processus se voit attribuer l’unité centrale à un moment donné.

1.7) Laquelle des méthodes suivantes est la méthode d’ordonnancement équitable ?

A Ordonnancement en fonction des priorités

B Premier arrivé, premier servi (First Come First Served)

C Round Robin avec quantum de temps

D Ordonnancement EDF (Earliest Deadline First: Échéance la plus proche d’abord)

E Partage équitable

C, E

Les méthodes d’ordonnancement équitables sont les suivantes:

  • C. Round Robin avec quantum de temps: Cette méthode alloue des tranches de temps égales à chaque tâche, ce qui favorise l’équité.
  • E. Partage équitable: Cette méthode vise à garantir que tous les utilisateurs ou toutes les tâches reçoivent une part équitable des ressources.

 

1.8) Laquelle des méthodes suivantes est la méthode d’ordonnancement préemptif ?

A Premier arrivé, premier servi

B Round Robin avec quantum de temps

C Partage équitable

D Ordonnancement par queues à plusieurs niveaux (Multilevel Queues)

B, D

Les méthodes d’ordonnancement préemptif sont les suivantes:

  • Round Robin avec quantum de temps: Cette méthode permet aux tâches d’être préemptées après l’expiration de leur tranche de temps, ce qui garantit la réactivité.
  • Multilevel Queues: Cette méthode peut également préempter des tâches en fonction de leur priorité et de leur comportement, ce qui permet des ajustements dynamiques.

 

1.9) Laquelle des méthodes suivantes est la méthode d’ordonnancement non-préemptif ?

A Premier arrivé, premier servi

B Round Robin avec quantum de temps

C Partage équitable

D Ordonnancement par queues à plusieurs niveaux (Multilevel Queues)

A, C

Les méthodes non préemptives sont les suivantes:

  • Premier arrivé, premier servi: Une fois qu’une tâche commence à s’exécuter, elle est exécutée jusqu’à son terme.
  • Partage équitable: Typiquement non préemptive, car elle se concentre sur la distribution des ressources sans interrompre les tâches en cours.

 

 
Exercice 2: Ordonnancement
+-----------+-----------+----------+
| Processus | Temps CPU | Priorité |
+-----------+-----------+----------+
|     A     |    5 ms   |    15    |
+-----------+-----------+----------+
|     B     |   10 ms   |     5    |
+-----------+-----------+----------+
|     C     |    3 ms   |     4    |
+-----------+-----------+----------+
|     D     |    9 ms   |    12    |
+-----------+-----------+----------+
|     E     |    8 ms   |     7    |
+-----------+-----------+----------+

Cinq processus doivent être traités sur un seul système CPU/core. Tous les processus se trouvent au point temporel 0, dans l’état « prêt ». Les priorités élevées sont caractérisées par des valeurs élevées.

2.1) Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour Round Robin (quantum de temps q = 1 ms), FCFS et l’ordonnancement par priorités.

La colonne Priorité du tableau n’est pertinente que pour l’ordonnancement par priorités (Priority-Driven Scheduling) et non pour Round Robin ou FCFS.

2.2) Calculez les durées d’exécution moyennes et les temps d’attente moyens des processus.

  • Round Robin (RR): Chaque processus reçoit un quantum de temps fixe (q = 1 ms). Si le processus n’a pas terminé à la fin de son quantum, il est préempté et remis à la fin de la file d’attente. Ce cycle continue jusqu’à ce que tous les processus soient terminés.
  • First Come First Served (FCFS): Les processus sont exécutés dans l’ordre de leur arrivée. Le premier processus dans la file d’attente est servi jusqu’à sa terminaison, puis le suivant est exécuté.
  • Priority-Driven Scheduling: Chaque processus se voit attribuer une priorité. Les processus avec une priorité plus élevée sont exécutés avant ceux avec une priorité plus basse. Si un processus de priorité plus élevée arrive, il peut préempter le processus en cours.

Le temps CPU est le temps dont le processus a besoin pour accéder au CPU afin de terminer son exécution.

Durée d’exécution = durée de vie = période de temps entre la création et la fin d’un processus = (temps CPU + temps d’attente).

+------------------------------------------+----+----+----+----+----+
| Durée d'exécution                        |  A |  B |  C |  D |  E |
+------------------------------------------+----+----+----+----+----+
| Round Robin                              | 20 | 32 | 13 | 25 | 30 |
+------------------------------------------+----+----+----+----+----+
| FCFS(First Come First Served)            | 5  | 15 | 18 | 24 | 32 |
+------------------------------------------+----+----+----+----+----+
| Ordonnancement par priorités             | 5  | 29 | 32 | 11 | 19 |
+------------------------------------------+----+----+----+----+----+
RR   (20 + 32 + 13 + 25 + 30) / 5  = 24   ms
FCFS (5 + 15 + 18 + 24 + 32)  / 5  = 18,8 ms
PS   (5 + 29 + 32 + 11 + 19)  / 5  = 19,2 ms

Temps d’attente = temps pendant lequel un processus est dans l’état prêt.

Temps d’attente = temps d’exécution – temps CPU.

+------------------------------------------+----+----+----+----+----+
| Temps d'attente                          |  A |  B |  C |  D |  E |
+------------------------------------------+----+----+----+----+----+
| Round Robin                              | 15 | 22 | 10 | 19 | 22 |
+------------------------------------------+----+----+----+----+----+
| FCFS(First Come First Served)            | 0  | 5  | 15 | 18 | 24 |
+------------------------------------------+----+----+----+----+----+
| Ordonnancement en fonction des priorités | 0  | 19 | 29 | 5  | 11 |
+------------------------------------------+----+----+----+----+----+
RR   (15 + 22 + 10 + 19 + 22) / 5 = 17,6 ms
FCFS (0 + 5 + 15 + 18 + 24)   / 5 = 12,4 ms
PS   (0 + 19 + 29 + 5 + 11)   / 5 = 12,8 ms
 

L’article Exercice Corrigé Ordonnancement Des Processus – Partie 1 est apparu en premier sur WayToLearnX.

Exercice Corrigé Ordonnancement Des Processus – Partie 2

Par :Thomas
24 octobre 2024 à 23:34

L‘ordonnancement du processus est à la base des systèmes d’exploitation multiprogrammés. En répartissant l’unité centrale entre les processus, le système d’exploitation peut rendre l’ordinateur plus productif. Dans ce chapitre, nous présentons des exercices corrigés sur les concepts de base de l’ordonnancement, l’idée d’allocation de ressources et discutons en détail de l’ordonnancement de l’unité centrale. FCFS, SJF, Round-Robin, Priorité et les autres algorithmes d’ordonnancement devraient être familiers à vous.

 

Exercice 1: First Come First Serve (FCFS)

Rappel: Dans l’ordonnancement FCFS

  • Le processus qui arrive en premier dans la file d’attente est le premier à se voir attribuer l’unité centrale.
  • En cas d’égalité, le processus dont l’identifiant est le plus petit est exécuté en premier.
  • L’ordonnancement est toujours non préemptif par nature.
  • Les jobs sont exécutés selon le principe du premier arrivé, premier servi.
  • Il s’agit d’un algorithme d’ordonnancement préemptif et non préemptif.
  • Facile à comprendre et à implémenter.
  • Son implantation est basée sur la file d’attente FIFO.
  • Peu performant car le temps d’attente moyen est élevé.

1.1) Considérons les processus suivants avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour FCFS, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+------------------------------------------+
| ID du processus | Temps d'arrivée | Temps de rafale/temps d'exécution du CPU |
+-----------------+-----------------+------------------------------------------+
| P1              | 0               | 2                                        |
+-----------------+-----------------+------------------------------------------+
| P2              | 1               | 3                                        |
+-----------------+-----------------+------------------------------------------+
| P3              | 2               | 5                                        |
+-----------------+-----------------+------------------------------------------+
| P4              | 3               | 4                                        |
+-----------------+-----------------+------------------------------------------+
| P5              | 4               | 6                                        |
+-----------------+-----------------+------------------------------------------+

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale


 

Temps moyen de rotation = 2+4+8+11+16/5 = 41/5 = 8.2 
Temps moyen d'attente   = 0+1+3+7+10/5  = 21/5 = 4.2 

1.2) Considérons les processus suivants P1, P2, P3 arrive pour être exécuté dans le même ordre, avec un temps d’arrivée de 0 avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour FCFS, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0               | 24              |
+-----------------+-----------------+-----------------+
| P2              | 0               | 3               |
+-----------------+-----------------+-----------------+
| P3              | 0               | 5               |
+-----------------+-----------------+-----------------+

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 0               | 24                |
+-----------+-----------------+-------------------+
| P2        | 24              | 27                |
+-----------+-----------------+-------------------+
| P3        | 27              | 30                |
+-----------+-----------------+-------------------+
Temps d'attente total = 0 + 24 + 27 = 51 ms
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = 51 / 3 
                      = 17 ms
					  
Temps de rotation total = 24 + 27 + 30 = 81 ms
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = 81 / 3 
                        = 27 ms
						
Débit = 3 jobs/30 sec = 0.1 jobs/sec

1.3) Considérons les processus suivants P1, P2, P3, P4 arrive pour être exécuté dans le même ordre, avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour FCFS, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0               | 8               |
+-----------------+-----------------+-----------------+
| P2              | 1               | 4               |
+-----------------+-----------------+-----------------+
| P3              | 2               | 9               |
+-----------------+-----------------+-----------------+
| P4              | 3               | 5               |
+-----------------+-----------------+-----------------+

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 0               | 8 – 0 = 8         |
+-----------+-----------------+-------------------+
| P2        | 8 – 1 = 7       | 12 – 1 = 11       |
+-----------+-----------------+-------------------+
| P3        | 12 – 2 = 10     | 21 – 2 = 19       |
+-----------+-----------------+-------------------+
| P4        | 21 – 3 = 18     | 26 – 3 = 23       |
+-----------+-----------------+-------------------+
Temps d'attente total = 0 + 7 + 10 + 18 = 35 ms
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = 35 / 4
                      = 8.75 ms
					  
Temps de rotation total = 8 + 11 + 19 + 23 = 61 ms
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = 61 / 4
                        = 15.25 ms
						
Débit = 4 jobs/26 sec = 0.15385 jobs/sec
 
Exercice 2: Shortest Job First (SJF)

Rappel: Dans l’ordonnancement SJF

  • Les processus qui ont le temps d’exécution le plus court sont ordonnancés en premier.
  • Si deux processus ont le même temps de rafale, l’algorithme FCFS est utilisé pour les départager.
  • Il s’agit d’un algorithme d’ordonnancement non préemptif et préemptif.
  • La meilleure approche pour minimiser le temps d’attente.
  • Facile à mettre en œuvre dans les systèmes de traitement par lots où le temps CPU nécessaire est connu à l’avance.
  • Impossible à mettre en œuvre dans les systèmes interactifs où le temps CPU requis n’est pas connu.
  • Le processeur doit connaître à l’avance la durée du processus.
  • Le mode préemptif de SJF est appelé SRTF.

2.1) Considérons les processus suivants P1, P2, P3, P4, P5 arrive pour être exécuté, avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour la politique d’ordonnancement SJF non préemptive, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 3               | 1               |
+-----------------+-----------------+-----------------+
| P2              | 1               | 4               |
+-----------------+-----------------+-----------------+
| P3              | 4               | 2               |
+-----------------+-----------------+-----------------+
| P4              | 0               | 6               |
+-----------------+-----------------+-----------------+
| P5              | 2               | 3               |
+-----------------+-----------------+-----------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 4 – 1 = 3       | 7 – 3 = 4         |
+-----------+-----------------+-------------------+
| P2        | 15 – 4 = 11     | 16 – 1 = 15       |
+-----------+-----------------+-------------------+
| P3        | 5 – 2 = 3       | 9 – 4 = 5         |
+-----------+-----------------+-------------------+
| P4        | 6 – 6 = 0       | 6 – 0 = 6         |
+-----------+-----------------+-------------------+
| P5        | 10 – 3 = 7      | 12 – 2 = 10       |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (3 + 11 + 3 + 0 + 7) / 5 
                      = 24 / 5
                      = 4.8 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (4 + 15 + 5 + 6 + 10) / 5 
                        = 40 / 5
                        = 8 unités

2.2) Considérons les processus suivants P1, P2, P3, P4, P5 arrive pour être exécuté, avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour la politique d’ordonnancement SJF préemptive, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 3               | 1               |
+-----------------+-----------------+-----------------+
| P2              | 1               | 4               |
+-----------------+-----------------+-----------------+
| P3              | 4               | 2               |
+-----------------+-----------------+-----------------+
| P4              | 0               | 6               |
+-----------------+-----------------+-----------------+
| P5              | 2               | 3               |
+-----------------+-----------------+-----------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 1 – 1 = 0       | 4 – 3 = 1         |
+-----------+-----------------+-------------------+
| P2        | 5 – 4 = 1       | 6 – 1 = 5         |
+-----------+-----------------+-------------------+
| P3        | 4 – 2 = 2       | 8 – 4 = 4         |
+-----------+-----------------+-------------------+
| P4        | 16 – 6 = 10     | 16 – 0 = 16       |
+-----------+-----------------+-------------------+
| P5        | 9 – 3 = 6       | 11 – 2 = 9        |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (0 + 1 + 2 + 10 + 6) / 5 
                      = 19 / 5
                      = 3.8 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (1 + 5 + 4 + 16 + 9) / 5
                        = 35 / 5
                        = 7 unités

2.3) Considérons les processus suivants P1, P2, P3, P4, P5, P6 arrive pour être exécuté, avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour la politique d’ordonnancement SRTF (Shortest Remaining Time First), et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0               | 7               |
+-----------------+-----------------+-----------------+
| P2              | 1               | 5               |
+-----------------+-----------------+-----------------+
| P3              | 2               | 3               |
+-----------------+-----------------+-----------------+
| P4              | 3               | 1               |
+-----------------+-----------------+-----------------+
| P5              | 4               | 2               |
+-----------------+-----------------+-----------------+
| P6              | 5               | 1               |
+-----------------+-----------------+-----------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 19 – 7 = 12     | 19 – 0 = 19       |
+-----------+-----------------+-------------------+
| P2        | 12 – 5 = 7      | 13 – 1 = 12       |
+-----------+-----------------+-------------------+
| P3        | 4 – 3 = 1       | 6 – 2 = 4         |
+-----------+-----------------+-------------------+
| P4        | 1 – 1 = 0       | 4 – 3 = 1         |
+-----------+-----------------+-------------------+
| P5        | 5 – 2 = 3       | 9 – 4 = 5         |
+-----------+-----------------+-------------------+
| P6        | 2 – 1 = 1       | 7 – 5 = 2         |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (12 + 7 + 1 + 0 + 3 + 1) / 6
                      = 24 / 6
                      = 4 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (19 + 12 + 4 + 1 + 5 + 2) / 6
                        = 43 / 6
                        = 7.17 unités

2.4) Considérons les processus suivants P1, P2, P3 arrive pour être exécuté, avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour la politique d’ordonnancement SRTF (Shortest Remaining Time First), et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0               | 9               |
+-----------------+-----------------+-----------------+
| P2              | 1               | 4               |
+-----------------+-----------------+-----------------+
| P3              | 2               | 9               |
+-----------------+-----------------+-----------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 13 – 9 = 4      | 13 – 0 = 13       |
+-----------+-----------------+-------------------+
| P2        | 4 – 4 = 0       | 5 – 1 = 4         |
+-----------+-----------------+-------------------+
| P3        | 20 – 9 = 11     | 22- 2 = 20        |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (4 + 0 + 11) / 3
                      = 15 / 3
                      = 5 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (13 + 4 + 20) / 3
                        = 37 / 3
                        = 12.33 unités

2.5) Considérons les processus suivants P1, P2, P3, P4 arrive pour être exécuté, avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) pour la politique d’ordonnancement SRTF (Shortest Remaining Time First), et calculez le temps d’attente du processus P2.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0               | 20              |
+-----------------+-----------------+-----------------+
| P2              | 15              | 25              |
+-----------------+-----------------+-----------------+
| P3              | 30              | 10              |
+-----------------+-----------------+-----------------+
| P4              | 45              | 15              |
+-----------------+-----------------+-----------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

Donc:

Temps moyen d’attente du processus P2 = 55 – 15 = 40 unités

Temps moyen de rotation du processus P2 = 40 – 25 = 15 unités

 

L’article Exercice Corrigé Ordonnancement Des Processus – Partie 2 est apparu en premier sur WayToLearnX.

Exercice Corrigé Ordonnancement Des Processus – Partie 3

Par :Thomas
26 octobre 2024 à 06:39

L‘ordonnancement du processus est à la base des systèmes d’exploitation multiprogrammés. En répartissant l’unité centrale entre les processus, le système d’exploitation peut rendre l’ordinateur plus productif. Dans ce chapitre, nous présentons des exercices corrigés sur les concepts de base de l’ordonnancement, l’idée d’allocation de ressources et discutons en détail de l’ordonnancement de l’unité centrale. FCFS, SJF, Round-Robin, Priorité et les autres algorithmes d’ordonnancement devraient être familiers à vous.

 

Exercice 1: Ordonnancement Round Robin

Rappel: Dans l’ordonnancement Round Robin

  • L’unité centrale est attribuée au processus sur la base de la méthode FCFS pour une durée déterminée.
  • Cette durée fixe est appelée « time quantum » ou « time slice ».
  • À l’expiration du quantum de temps, le processus en cours est préempté et envoyé dans la file d’attente des processus prêts.
  • Le processeur est alors attribué au processus suivant.
  • Il s’agit toujours d’un processus préemptif par nature.

1.1) Considérons les 5 processus suivants avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) en utilisant l’algorithme d’ordonnancement Round Robin avec un quantum de temps = 2 unités, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+------------------------------------------+
| ID du processus | Temps d'arrivée | Temps de rafale/temps d'exécution du CPU |
+-----------------+-----------------+------------------------------------------+
| P1              | 0               | 5                                        |
+-----------------+-----------------+------------------------------------------+
| P2              | 1               | 3                                        |
+-----------------+-----------------+------------------------------------------+
| P3              | 2               | 1                                        |
+-----------------+-----------------+------------------------------------------+
| P4              | 3               | 2                                        |
+-----------------+-----------------+------------------------------------------+
| P5              | 4               | 3                                        |
+-----------------+-----------------+------------------------------------------+

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 13 – 5 = 8      | 13 – 0 = 13       |
+-----------+-----------------+-------------------+
| P2        | 11 – 3 = 8      | 12 – 1 = 11       |
+-----------+-----------------+-------------------+
| P3        | 3 – 1 = 2       | 5 – 2 = 3         |
+-----------+-----------------+-------------------+
| P4        | 6 – 2 = 4       | 9 – 3 = 6         |
+-----------+-----------------+-------------------+
| P5        | 10 – 3 = 7      | 14 – 4 = 10       |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (8 + 8 + 2 + 4 + 7) / 5 
                      = 29 / 5
                      = 5.8 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (13 + 11 + 3 + 6 + 10) / 5 
                        = 43 / 5
                        = 8.6 unités

1.2) Considérons les 6 processus suivants avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) en utilisant l’algorithme d’ordonnancement Round Robin avec un quantum de temps = 2 unités, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0               | 4               |
+-----------------+-----------------+-----------------+
| P2              | 1               | 5               |
+-----------------+-----------------+-----------------+
| P3              | 2               | 2               |
+-----------------+-----------------+-----------------+
| P4              | 3               | 1               |
+-----------------+-----------------+-----------------+
| P5              | 4               | 6               |
+-----------------+-----------------+-----------------+
| P6              | 6               | 3               |
+-----------------+-----------------+-----------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 8 – 4 = 4       | 8 – 0 = 8         |
+-----------+-----------------+-------------------+
| P2        | 17 – 5 = 12     | 18 – 1 = 17       |
+-----------+-----------------+-------------------+
| P3        | 4 – 2 = 2       | 6 – 2 = 4         |
+-----------+-----------------+-------------------+
| P4        | 6 – 1 = 5       | 9 – 3 = 6         |
+-----------+-----------------+-------------------+
| P5        | 17 – 6 = 11     | 21 – 4 = 17       |
+-----------+-----------------+-------------------+
| P6        | 13 – 3 = 10     | 19 – 6 = 13       |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (4 + 12 + 2 + 5 + 11 + 10) / 6
                      = 44 / 6
                      = 7.33 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (8 + 17 + 4 + 6 + 17 + 13) / 6
                        = 65 / 6
                        = 10.84 unités

1.3) Considérons les 6 processus suivants avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) en utilisant l’algorithme d’ordonnancement Round Robin avec un quantum de temps = 3 unités, et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 5               | 5               |
+-----------------+-----------------+-----------------+
| P2              | 4               | 6               |
+-----------------+-----------------+-----------------+
| P3              | 3               | 7               |
+-----------------+-----------------+-----------------+
| P4              | 1               | 9               |
+-----------------+-----------------+-----------------+
| P5              | 2               | 2               |
+-----------------+-----------------+-----------------+
| P6              | 6               | 3               |
+-----------------+-----------------+-----------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 27 – 5 = 22     | 32 – 5 = 27       |
+-----------+-----------------+-------------------+
| P2        | 23 – 6 = 17     | 27 – 4 = 23       |
+-----------+-----------------+-------------------+
| P3        | 30 – 7 = 23     | 33 – 3 = 30       |
+-----------+-----------------+-------------------+
| P4        | 29 – 9 = 20     | 30 – 1 = 29       |
+-----------+-----------------+-------------------+
| P5        | 4 – 2 = 2       | 6 – 2 = 4         |
+-----------+-----------------+-------------------+
| P6        | 15 – 3 = 12     | 21 – 6 = 15       |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (22 + 17 + 23 + 20 + 2 + 12) / 6
                      = 96 / 6
                      = 16 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (27 + 23 + 30 + 29 + 4 + 15) / 6 
                        = 128 / 6
                        = 21.33 unités
 
Exercice 2: Ordonnancement par priorité (Priority Scheduling)

Rappel: Dans l’ordonnancement par priorité

  • Parmi tous les processus disponibles, l’unité centrale est attribuée au processus ayant la priorité la plus élevée.
  • En cas d’égalité, le processus est départagé par l’ordonnancement FCFS.
  • L’ordonnancement par priorité peut être utilisé en mode préemptif ou non préemptif.
  • Le temps d’attente pour le processus ayant la priorité la plus élevée sera toujours nul en mode préemptif.
  • Le temps d’attente pour le processus ayant la priorité la plus élevée peut ne pas être nul en mode non préemptif.

L’ordonnancement par priorité en mode préemptif et non préemptif se comporte exactement de la même manière dans les conditions suivantes:

  • L’heure d’arrivée de tous les processus est la même
  • Tous les processus deviennent disponibles

Avantages:

  • Il prend en compte la priorité des processus et permet aux processus importants de s’exécuter en premier.
  • L’ordonnancement par priorité en mode préemptif est le mieux adapté aux systèmes d’exploitation en temps réel.

Inconvénients:

  • Les processus moins prioritaires risquent d’être affamés par l’unité centrale.
  • Il n’y a aucune idée du temps de réponse et du temps d’attente.

2.1) Considérons les 5 processus suivants avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) en utilisant l’algorithme d’ordonnancement par priorité non préemptive, et calculez le temps d’attente moyen et le temps moyen de rotation. (Le chiffre le plus élevé correspond à une priorité plus importante).

+-----------+-----------------+-----------------+----------+
| Processus | Temps d'arrivée | Temps de rafale | Priorité |
+-----------+-----------------+-----------------+----------+
| P1        | 0               | 4               | 2        |
+-----------+-----------------+-----------------+----------+
| P2        | 1               | 3               | 3        |
+-----------+-----------------+-----------------+----------+
| P3        | 2               | 1               | 4        |
+-----------+-----------------+-----------------+----------+
| P4        | 3               | 5               | 5        |
+-----------+-----------------+-----------------+----------+
| P5        | 4               | 2               | 5        |
+-----------+-----------------+-----------------+----------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 4 – 4 = 0       | 4 – 0 = 4         |
+-----------+-----------------+-------------------+
| P2        | 14 – 3 = 11     | 15 – 1 = 14       |
+-----------+-----------------+-------------------+
| P3        | 10 – 1 = 9      | 12 – 2 = 10       |
+-----------+-----------------+-------------------+
| P4        | 6 – 5 = 1       | 9 – 3 = 6         |
+-----------+-----------------+-------------------+
| P5        | 7 – 2 = 5       | 11 – 4 = 7        |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (0 + 11 + 9 + 1 + 5) / 5
                      = 26 / 5
                      = 5.2 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (4 + 14 + 10 + 6 + 7) / 5
                        = 41 / 5
                        = 8.2 unités

2.2) Considérons les 5 processus suivants avec un temps de rafale (temps d’exécution de l’unité centrale). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) en utilisant l’algorithme d’ordonnancement par priorité préemptive, et calculez le temps d’attente moyen et le temps moyen de rotation. (Le chiffre le plus élevé correspond à une priorité plus importante).

+-----------+-----------------+-----------------+----------+
| Processus | Temps d'arrivée | Temps de rafale | Priorité |
+-----------+-----------------+-----------------+----------+
| P1        | 0               | 4               | 2        |
+-----------+-----------------+-----------------+----------+
| P2        | 1               | 3               | 3        |
+-----------+-----------------+-----------------+----------+
| P3        | 2               | 1               | 4        |
+-----------+-----------------+-----------------+----------+
| P4        | 3               | 5               | 5        |
+-----------+-----------------+-----------------+----------+
| P5        | 4               | 2               | 5        |
+-----------+-----------------+-----------------+----------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 15 – 4 = 11     | 15 – 0 = 15       |
+-----------+-----------------+-------------------+
| P2        | 11 – 3 = 8      | 12 – 1 = 11       |
+-----------+-----------------+-------------------+
| P3        | 1 – 1 = 0       | 3 – 2 = 1         |
+-----------+-----------------+-------------------+
| P4        | 5 – 5 = 0       | 8 – 3 = 5         |
+-----------+-----------------+-------------------+
| P5        | 6 – 2 = 4       | 10 – 4 = 6        |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (11 + 8 + 0 + 0 + 4) / 5
                      = 23 / 5
                      = 4.6 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (15 + 11 + 1 + 5 + 6) / 5
                        = 38 / 5
                        = 7.6 unités
 

L’article Exercice Corrigé Ordonnancement Des Processus – Partie 3 est apparu en premier sur WayToLearnX.

Exercice Corrigé Ordonnancement Des Processus – Partie 4

Par :Thomas
26 octobre 2024 à 15:10

L‘ordonnancement du processus est à la base des systèmes d’exploitation multiprogrammés. En répartissant l’unité centrale entre les processus, le système d’exploitation peut rendre l’ordinateur plus productif. Dans ce chapitre, nous présentons des exercices corrigés sur les concepts de base de l’ordonnancement, l’idée d’allocation de ressources et discutons en détail de l’ordonnancement de l’unité centrale. FCFS, SJF, Round-Robin, Priorité et les autres algorithmes d’ordonnancement devraient être familiers à vous.

 

Exercice 1: Pourcentage d’inactivité du CPU

Considérons trois processus, arrivant tous au temps zéro, avec un temps d’exécution total de 10, 20 et 30 unités respectivement. Chaque processus passe les premiers 20 % de son temps d’exécution à faire des E/S, les 70 % suivants à faire des calculs et les derniers 10 % à refaire des E/S. Le système d’exploitation utilise un algorithme d’ordonnancement basé sur l’algorithme d’ordonnancement Shortest Remaining Time First (SRTF) et planifie un nouveau processus soit lorsque le processus en cours est bloqué sur les E/S, soit lorsque le processus en cours termine sa rafale de calcul. Supposons que toutes les opérations d’E/S puissent se chevaucher autant que possible. Quel est le pourcentage d’inactivité de l’unité centrale (CPU) ?

A 0%

B 10.6%

C 30.0%

D 89.4%

B

D’après la question, nous avons:

Rafale = Temps d’exécution

+--------------+------------------+------------+------------+------------+
|              | Totale du Rafale | Rafale E/S | Rafale CPU | Rafale E/S |
+--------------+------------------+------------+------------+------------+
| Processus P1 | 10               | 2          | 7          | 1          |
+--------------+------------------+------------+------------+------------+
| Processus P2 | 20               | 4          | 14         | 2          |
+--------------+------------------+------------+------------+------------+
| Processus P3 | 30               | 6          | 21         | 3          |
+--------------+------------------+------------+------------+------------+

L’algorithme d’ordonnancement utilisé est celui du SRTF « plus court temps restant en premier ».


Pourcentage de temps d’inactivité de l’unité centrale (CPU)
= (5 / 47) x 100
= 10.638%
L’option correcte est donc (B).

 

 
Exercice 2: SRTF « plus court temps restant en premier »

Considérons les 4 processus suivants avec un temps de rafale (temps d’exécution). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) en utilisant l’algorithme d’ordonnancement SRTF « plus court temps restant en premier », et calculez le temps d’attente moyen et le temps moyen de rotation.

+-----------+-----------------+--------------------------------------+
| Processus | Temps d'arrivée |           Temps de rafale            |
|           |                 |------------+------------+------------+
|           |                 | Rafale E/S | Rafale CPU | Rafale E/S |
+-----------+-----------------+------------+------------+------------+
| P1        | 0               | 3          | 2          | 2          |
+-----------+-----------------+------------+------------+------------+
| P2        | 0               | 2          | 4          | 1          |
+-----------+-----------------+------------+------------+------------+
| P3        | 2               | 1          | 3          | 2          |
+-----------+-----------------+------------+------------+------------+
| P4        | 5               | 2          | 2          | 1          |
+-----------+-----------------+------------+------------+------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 11 – (3+2) = 6  | 11 – 0 = 11       |
+-----------+-----------------+-------------------+
| P2        | 7 – (2+1) = 4   | 7 – 0 = 7         |
+-----------+-----------------+-------------------+
| P3        | 7 – (1+2) = 4   | 9 – 2 = 7         |
+-----------+-----------------+-------------------+
| P4        | 11 – (2+1) = 8  | 16 – 5 = 11       |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (6 + 4 + 4 + 8) / 4
                      = 22 / 4
                      = 5.5 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (11 + 7 + 7 + 11) / 4
                        = 36 / 4
                        = 9 unités
 
Exercice 3: Ordonnancement par priorité (Priority Scheduling)

Considérons les 3 processus suivants avec un temps de rafale (temps d’exécution). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle) en utilisant l’algorithme d’ordonnancement par priorité, et calculez le temps d’attente moyen et le temps moyen de rotation. (Un chiffre plus bas signifie une priorité plus élevée).

+-----------+-----------+----------+--------------------------------------+
| Processus | Temps     | Priorité |            Temps de rafale           |
|           | d'arrivée |          |------------+------------+------------+
|           |           |          | Rafale E/S | Rafale CPU | Rafale E/S |
+-----------+-----------+----------+--------------------------------------+
| P1        | 0         | 2        | 1          | 5          | 3          |
+-----------+-----------+----------+--------------------------------------+
| P2        | 2         | 3        | 3          | 3          | 1          |
+-----------+-----------+----------+--------------------------------------+
| P3        | 3         | 1        | 2          | 3          | 1          |
+-----------+-----------+----------+------------+------------+------------+

Maintenant, on sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+-----------------+-------------------+
| Processus | Temps d'attente | Temps de rotation |
+-----------+-----------------+-------------------+
| P1        | 10 – (1+3) = 6  | 10 – 0 = 10       |
+-----------+-----------------+-------------------+
| P2        | 13 – (3+1) = 9  | 15 – 2 = 13       |
+-----------+-----------------+-------------------+
| P3        | 6 – (2+1) = 3   | 9 – 3 = 6         |
+-----------+-----------------+-------------------+
Temps moyen d'attente = (Temps d'attente total) / (Nombre total de processus) 
                      = (6 + 9 + 3) / 3
                      = 18 / 3
                      = 6 unités
					  
Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus) 
                        = (10 + 13 + 6) / 3
                        = 29 / 3
                        = 9.67 unités
 
Exercice 4:

Un algorithme d’ordonnancement du CPU détermine l’ordre d’exécution des processus programmés. Étant donné que n processus doivent être ordonnancés sur un processeur, combien y a-t-il d’ordonnances différentes possibles ? Donnez une formule en fonction de n.

Pour n processus, le nombre d’ordonnances différentes possibles est donné par la formule:

n! (n factorial = n * n – 1 * n – 2 * … * 2 * 1)

Cela signifie que pour chaque processus, vous pouvez le placer dans une position de la file d’attente, et en répétant cela pour tous les processus, vous obtenez toutes les permutations possibles.

 
Exercice 5:

Considérons les 6 processus suivants avec un temps de rafale (temps d’exécution). Dessinez l’ordre d’exécution des processus à l’aide d’un diagramme de Gantt (ligne temporelle). Si la politique d’ordonnancement du CPU est First Come First Serve (FCFS) et qu’il y a une unité du temps d’attente pour le changement de contexte dans l’ordonnancement des processus, déterminez l’efficacité de l’algorithme.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0               | 3               |
+-----------------+-----------------+-----------------+
| P2              | 1               | 2               |
+-----------------+-----------------+-----------------+
| P3              | 2               | 1               |
+-----------------+-----------------+-----------------+
| P4              | 3               | 4               |
+-----------------+-----------------+-----------------+
| P5              | 4               | 5               |
+-----------------+-----------------+-----------------+
| P6              | 5               | 2               |
+-----------------+-----------------+-----------------+

Ici, δ représente le temps d’attente pour le changement de contexte.

Maintenant,
Temps inutile / Temps perdu = 6 x δ = 6 x 1 = 6 unités
Temps total = 23 unités
Temps utile = 23 unités – 6 unités = 17 unités

Efficacité (η)
= Temps utile / Total Total
= 17 unités / 23 unités
= 0.7391
= 73.91%

 

L’article Exercice Corrigé Ordonnancement Des Processus – Partie 4 est apparu en premier sur WayToLearnX.

Exercice Corrigé Ordonnancement Des Processus – Partie 5

Par :Thomas
26 octobre 2024 à 18:46

L‘ordonnancement du processus est à la base des systèmes d’exploitation multiprogrammés. En répartissant l’unité centrale entre les processus, le système d’exploitation peut rendre l’ordinateur plus productif. Dans ce chapitre, nous présentons des exercices corrigés sur les concepts de base de l’ordonnancement, l’idée d’allocation de ressources et discutons en détail de l’ordonnancement de l’unité centrale. FCFS, SJF, Round-Robin, Priorité et les autres algorithmes d’ordonnancement devraient être familiers à vous.

 

Exercice 1:

Considérons les processus suivants, la durée du temps d’utilisation du CPU (temps de rafale) étant exprimée en millisecondes:

+-----------+-----------------+----------+
| Processus | Temps de rafale | Priorité |
+-----------+-----------------+----------+
| P1        | 10              | 3        |
+-----------+-----------------+----------+
| P2        | 1               | 1        |
+-----------+-----------------+----------+
| P3        | 2               | 3        |
+-----------+-----------------+----------+
| P4        | 1               | 4        |
+-----------+-----------------+----------+
| P5        | 5               | 2        |
+-----------+-----------------+----------+

On suppose que les processus sont arrivés dans l’ordre P1, P2, P3, P4, P5, tous au temps 0.

A. Dessinez quatre diagrammes de Gantt illustrant l’exécution de ces processus en utilisant l’ordonnancement FCFS, SJF, par priorité non préemptive (un numéro de priorité plus petit implique une priorité plus élevée), et RR – Round Robin (quantum = 1).

Les quatre diagrammes de Gantt sont:

B. Quel est le temps d’exécution (ou temps de rotation) de chaque processus pour chacun des algorithmes d’ordonnancement de la question A ?

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

+-----------+--------+--------+---------+--------------+
| Processus |  FCFS  |   RR   |   SJF   | Par priorité |
+-----------+--------+--------+---------+--------------+
| P1        | 10     | 19     | 19      | 16           |
+-----------+--------+--------+---------+--------------+
| P2        | 11     | 2      | 1       | 1            |
+-----------+--------+--------+---------+--------------+
| P3        | 13     | 7      | 4       | 18           |
+-----------+--------+--------+---------+--------------+
| P4        | 14     | 4      | 2       | 19           |
+-----------+--------+--------+---------+--------------+
| P5        | 19     | 14     | 9       |  6           |
+-----------+--------+--------+---------+--------------+

C. Quel est le temps d’attente de chaque processus pour chacun des algorithmes d’ordonnancement de la question A ?

Temps d’attente = Temps de rotation – Temps de rafale

+-----------+--------+--------+---------+--------------+
| Processus |  FCFS  |   RR   |   SJF   | Par priorité |
+-----------+--------+--------+---------+--------------+
| P1        | 0      | 9      | 9       | 6            |
+-----------+--------+--------+---------+--------------+
| P2        | 10     | 1      | 0       | 0            |
+-----------+--------+--------+---------+--------------+
| P3        | 11     | 5      | 2       | 16           |
+-----------+--------+--------+---------+--------------+
| P4        | 13     | 3      | 1       | 18           |
+-----------+--------+--------+---------+--------------+
| P5        | 14     | 9      | 4       |  1           |
+-----------+--------+--------+---------+--------------+

D. Lequel des ordonnancements de la question A permet d’obtenir le temps d’attente moyen le plus court (sur l’ensemble des processus) ?

SJF (hortest Job First).
 
Exercice 2:

Supposons que les processus suivants arrivent pour être exécutés aux moments indiqués. Chaque processus s’exécutera pendant la durée indiquée. Pour répondre aux questions, utilisez un ordonnancement non préemptif et basez toutes vos décisions sur les informations dont vous disposez.

+-----------------+-----------------+-----------------+
| ID du processus | Temps d'arrivée | Temps de rafale |
+-----------------+-----------------+-----------------+
| P1              | 0.0             | 8               |
+-----------------+-----------------+-----------------+
| P2              | 0.4             | 4               |
+-----------------+-----------------+-----------------+
| P3              | 1.0             | 1               |
+-----------------+-----------------+-----------------+

A. Quel est le délai d’exécution moyen (ou temps moyen de rotation) de ces processus avec l’algorithme d’ordonnancement FCFS ?

On sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus)

Temps moyen de rotation = 10.53 unités

B. Quel est le délai d’exécution moyen (ou temps moyen de rotation) de ces processus avec l’algorithme d’ordonnancement SJF ?

On sait que:

Temps de rotation = Temps fin d’exécution – Temps d’arrivée

Temps moyen de rotation = (Temps de rotation total) / (Nombre total de processus)

Temps moyen de rotation = 9.53 unités

C. L’algorithme SJF est censé améliorer les performances, mais remarquez que nous avons choisi d’exécuter le processus P1 au temps 0 parce que nous ne savions pas que deux processus plus courts arriveraient bientôt. Calculez le délai d’exécution moyen (ou temps moyen de rotation) si l’unité centrale est laissée inactive pendant la première unité, puis si l’ordonnancement SJF est utilisé. N’oubliez pas que les processus P1 et P2 sont en attente pendant cette période d’inactivité, et que leur temps d’attente peut donc augmenter.

Temps moyen de rotation = 6.86 unités
 
Exercice 3:

Considérons l’algorithme d’ordonnancement par priorité préemptive suivant, basé sur des priorités changeant dynamiquement. Les numéros de priorité les plus grands impliquent une priorité plus élevée. Lorsqu’un processus est en attente de l’unité centrale (dans la file d’attente des processus prêts mais non en cours d’exécution), sa priorité change à un taux α ; lorsqu’il est en cours d’exécution, sa priorité change à un taux β. Tous les processus reçoivent une priorité de 0 lorsqu’ils entrent dans la file d’attente. Les paramètres α et β peuvent être définis de manière à obtenir de nombreux algorithmes d’ordonnancement différents.

A. Quel est l’algorithme qui résulte de β > α > 0 ?

B. Quel est l’algorithme qui résulte de α < β < 0 ?

A. Quand β > α > 0

Dans ce cas, la priorité d’un processus en cours d’exécution augmente plus rapidement (β) que celle d’un processus en attente (α). Étant donné que les processus en cours d’exécution gagnent de la priorité plus rapidement, ils tendent à préempter les processus en attente qui n’ont pas été exécutés. Par conséquent, cette configuration favorise les processus qui utilisent activement le CPU, leur permettant de continuer à s’exécuter sans être interrompus tant qu’ils sont en cours d’exécution. Cela conduit à un comportement similaire à l’Ordonnancement Premier Arrivé, Premier Servi (First-Come, First-Served – FCFS), car une fois qu’un processus commence à s’exécuter, il est moins susceptible d’être préempté par d’autres en attente dans la file d’attente.

B. Quand α < β < 0

Dans ce scénario, les deux taux sont négatifs, ce qui signifie qu’au fil du temps, les priorités des processus en attente et en cours d’exécution diminuent. Cependant, comme β (le taux pour les processus en cours d’exécution) est moins négatif que α (le taux pour les processus en attente), les processus en cours d’exécution perdent de la priorité plus lentement que ceux en attente. En conséquence, les processus en cours d’exécution sont susceptibles de conserver leur priorité plus élevée pendant un certain temps, tandis que les processus en attente diminueront leur priorité plus rapidement. Ce comportement ressemble à un ordonnancement Dernier Entré, Premier Sorti (Last-In, First-Out – LIFO), car les processus les plus récents en attente seront priorisés par rapport aux processus plus anciens, ce qui conduit à une situation où les processus ajoutés le plus récemment sont plus susceptibles d’être programmés ensuite.

Résumé

  • A. β > α > 0 → FCFS
  • B. α < β < 0 → LIFO
 
Exercice 4:

Supposons qu’un algorithme d’ordonnancement (au niveau de l’ordonnancement CPU à court terme) favorise les processus qui ont utilisé le moins de temps processeur récemment. Pourquoi cet algorithme favorise-t-il les programmes liés aux E/S tout en ne laissant pas les programmes liés aux CPU dans un état de starvation permanent ?

L’algorithme d’ordonnancement qui favorise les processus ayant utilisé le moins de temps processeur récemment va privilégier les programmes liés aux E/S pour plusieurs raisons, tout en évitant de rendre les programmes liés aux CPU définitivement affamés.

Favoriser les programmes liés aux E/S

  • Courtes périodes d’utilisation du CPU: Les programmes liés aux E/S nécessitent généralement moins de temps CPU et passent plus de temps en attente d’opérations d’entrée/sortie. Ils ont donc des périodes d’utilisation du CPU relativement courtes, ce qui les rend plus susceptibles d’avoir moins de temps CPU accumulé.
  • Utilisation récente du CPU: L’algorithme favorise les processus ayant utilisé le moins de temps CPU récemment. Comme les programmes liés aux E/S utilisent le CPU pendant des périodes plus courtes, ils auront souvent une priorité plus élevée dans la file d’attente des processus.

Prévention de la starvation des programmes liés aux CPU

  • Changement de contexte fréquent: Les programmes liés aux E/S libèrent régulièrement le CPU pour effectuer leurs opérations d’E/S. Cela crée des occasions pour le planificateur d’allouer du temps CPU aux processus liés aux CPU.
  • Mécanismes d’équité: La plupart des algorithmes d’ordonnancement modernes intègrent des mécanismes pour garantir que tous les processus, y compris ceux liés aux CPU, reçoivent du temps CPU. Même s’ils consomment plus de temps CPU, ils ne seront pas définitivement affamés, car les programmes liés aux E/S cèdent souvent le CPU.

Conclusion

En résumé, cet algorithme d’ordonnancement favorise les programmes liés aux E/S en raison de leur utilisation courte du CPU tout en s’assurant que les programmes liés aux CPU continuent de recevoir du temps CPU périodiquement, évitant ainsi la starvation.

 
Exercice 5:

Expliquez les différences dans le degré de discrimination des algorithmes d’ordonnancement suivants en faveur des processus courts :

A. FCFS
B. RR
C. Queues multiples à rétroaction (Multilevel Feedback Queues)

Voici une explication des différences dans le degré de discrimination des algorithmes d’ordonnancement en faveur des processus courts:

A. FCFS (First-Come, First-Served)

  • Discrimination: FCFS désavantage les jobs courts.
  • Raison: Les jobs courts qui arrivent après des jobs longs doivent attendre que ces derniers soient terminés, ce qui entraîne des temps d’attente plus longs pour les jobs courts.

B. RR (Round Robin)

  • Discrimination: RR traite tous les jobs de manière égale.
  • Raison: Chaque travail reçoit des tranches de temps CPU égales. Cependant, les jobs courts peuvent quitter le système plus rapidement, car ils sont susceptibles de terminer leur exécution pendant leur première ou deuxième tranche de temps, surtout s’ils arrivent tôt dans le cycle.

C. Multilevel Feedback Queues

  • Discrimination: Les files d’attente à rétroaction multiple favorisent également les jobs courts.
  • Raison: Cet algorithme fonctionne de manière similaire à RR, mais il utilise plusieurs niveaux de priorité. Les jobs qui utilisent moins de temps CPU peuvent être déplacés vers des niveaux de priorité plus élevés, leur permettant d’obtenir plus de temps CPU et de terminer plus rapidement.

Résumé:

  • FCFS: Désavantage les jobs courts.
  • RR: Traite tous les jobs également, mais permet aux jobs courts de partir plus rapidement.
  • Multilevel Feedback Queues: Favorise activement les jobs courts en leur donnant une meilleure priorité.
 
Exercice 6:

Les questions suivantes se réfèrent à l’ordonnanceur Round Robin basé sur Java.

A. S’il y a actuellement un thread T1 dans la file d’attente de l’ordonnanceur avec une priorité de 4 et un autre thread T2 avec une priorité de 2, est-il possible pour le thread T2 de s’exécuter pendant le quantum de temps de T1 ? Expliquez.

B. Expliquez ce qui se passe si la méthode stop() du thread en cours d’exécution est invoquée pendant son quantum de temps.

C. Expliquez ce qui se passe si l’ordonnanceur sélectionne un thread à exécuter dont la méthode suspend() a été invoquée.

A. Est-il possible que le thread T2 s’exécute pendant le quantum de temps de T1 ? Expliquez.

Oui, si le thread T1 se bloque pour une raison quelconque (comme une opération d’E/S), la JVM programmera un autre thread. Dans ce cas, ce serait le thread T2.

B. Que se passe-t-il si le thread actuellement en cours d’exécution a sa méthode stop() invoquée pendant son quantum de temps ?

Le reste de son quantum de temps sera partagé par tous les autres threads dans la file d’attente en utilisant l’algorithme d’ordonnancement par défaut de la JVM.

C. Que se passe-t-il si le planificateur sélectionne un thread à exécuter qui a eu sa méthode suspend() invoquée ?

Le reste de son quantum de temps sera également partagé par tous les autres threads dans la file d’attente en utilisant l’algorithme d’ordonnancement par défaut de la JVM.

 
Exercice 7:

Le planificateur UNIX traditionnel impose une relation inverse entre les numéros de priorité et les priorités : plus le numéro est élevé, plus la priorité est faible. Le planificateur recalcule les priorités des processus une fois par seconde en utilisant la fonction suivante :

Priorité = (utilisation récente du CPU / 2) + base

base = 60 et l’utilisation récente du CPU fait référence à une valeur indiquant à quelle fréquence un processus a utilisé le CPU depuis que les priorités ont été recalculées. Supposons que l’utilisation récente du CPU pour le processus P1 est de 40, pour le processus P2 est de 18, et pour le processus P3 est de 10.

A. Quelles seront les nouvelles priorités pour ces trois processus lorsque les priorités seront recalculées ?

B. Sur la base de ces informations, le planificateur UNIX traditionnel augmente-t-il ou abaisse-t-il la priorité relative d’un processus liés aux CPU ?

Réponse:
A. Les priorités assignées aux processus sont respectivement 80, 69 et 65.
B. Le planificateur abaisse la priorité relative des processus liés aux CPU.

Explication:
 
Calcul des Priorités:

 
Interprétation des Résultats:

Les valeurs des priorités calculées (80, 69, 65) signifient que P1 a la priorité la plus faible (80) et P3 la plus élevée (65).

Dans le contexte du planificateur UNIX, un numéro de priorité plus élevé indique une priorité plus faible. Ainsi, P1, qui est probablement un processus liés aux CPU avec une utilisation élevée, a une priorité plus basse.

Conclusion:

Le planificateur UNIX traditionnel abaisse donc la priorité relative des processus liés aux CPU, car une utilisation intensive du CPU (comme pour P1) conduit à une augmentation du numéro de priorité (donc une diminution de la priorité). Cela encourage le système à donner plus de temps à des processus moins gourmands en CPU.

 

L’article Exercice Corrigé Ordonnancement Des Processus – Partie 5 est apparu en premier sur WayToLearnX.

Exercice Corrigé Système d’Exploitation Linux – Partie 1

Par :Thomas
19 octobre 2024 à 00:06

Les exercices pratiques sur les systèmes d’exploitation comportent des exercices théoriques et pratiques. Pour résoudre les exercices pratiques, vous avez besoin d’un shell UNIX. Un shell très populaire est Bash. Le terminal Apple Mac OS X est suffisant pour la plupart des exercices pratiques. L’invite de commande Windows et Windows PowerShell ne sont pas suffisants pour les exercices.

Pour vous préparer, l’idéal est d’installer sur votre système le système d’exploitation Linux. Une installation dans une machine virtuelle est suffisante. Les distributions faciles à utiliser sont, par exemple, Debian, Ubuntu et CentOS. VirtualBox est une solution de virtualisation gratuite.

Vous pouvez également travailler avec un système vivant sur CD, DVD ou lecteur de mémoire flash USB. Dans ce cas, aucune installation locale n’est nécessaire.

 
 

Exercice 1: Traitement par lots

1.1) Décrivez l’objectif du traitement par lots.

Dans un système d’exploitation, le traitement par lots vise à maximiser l’utilisation de l’unité centrale (CPU) en:

  • Exécutant des tâches en parallèle pour éviter les temps d’inactivité.
  • Organisant les tâches dans des files d’attente pour une exécution optimisée.
  • Allocant dynamiquement les ressources selon les besoins des tâches.
  • Minimisant les changements de contexte pour réduire les interruptions.

Cela permet à l’UC de rester occupée et d’améliorer l’efficacité globale.

1.2) Décrivez pourquoi le traitement par lots provoque un effet d’accélération lorsque plusieurs tâches sont exécutées.

Le traitement par lots provoque un effet d’accélération en:

  • Réduisant les frais généraux grâce à moins de transitions entre les tâches.
  • Optimisant les ressources par le partage de mémoire entre tâches similaires.
  • Planifiant intelligemment pour maximiser l’utilisation du CPU.
  • Minimisant les temps d’inactivité, gardant le CPU active.
  • Améliorant l’efficacité du cache en traitant des données similaires ensemble.

Ces éléments contribuent à une exécution plus rapide des tâches.

1.3) Nommez les conditions préalables qui doivent être remplies pour le traitement par lots avant que l’exécution d’une tâche ne puisse commencer.

Pour que le traitement par lots commence, chaque programme doit être fourni complètement, incluant toutes les données d’entrée nécessaires. Cela garantit que toutes les informations requises sont disponibles pour une exécution fluide et efficace des tâches.

1.4) Citez des tâches pour lesquelles le traitement par lots est bien adapté.

Le traitement par lots est bien adapté à l’exécution de tâches routinières, car il permet de gérer efficacement des opérations répétitives et prévisibles, optimisant ainsi le temps et les ressources nécessaires. Exemple:

  • Sauvegarde de données: Création de sauvegardes régulières de systèmes ou de bases de données.
  • Traitement de données massives: Analyse de grandes quantités de données, comme dans le big data.
  • Mise à jour de bases de données: Exécution de mises à jour régulières sur des ensembles de données.

1.5) Le traitement par lots est toujours ____________

A interactif

B non interactif

B
Le traitement par lots est généralement non interactif, ce qui signifie que les tâches sont exécutées sans intervention de l’utilisateur pendant le processus. Cela permet d’automatiser des opérations répétitives et de traiter des volumes importants de données sans nécessiter d’interaction en temps réel.

 

1.6) Citez une application du mode batch, qui est encore populaire aujourd’hui.

une application populaire du mode batch est l’utilisation de fichiers batch et de shell scripts pour automatiser des tâches dans les systèmes d’exploitation. Ces scripts permettent d’exécuter des commandes ou des programmes en série, facilitant ainsi la gestion des tâches répétitives, comme la sauvegarde de fichiers, la mise à jour de logiciels ou le déploiement d’applications.

1.7) Décrire ce qu’est le spooling.

Le spooling (Simultaneous Peripheral Operations On-Line) est un processus qui gère les opérations d’entrée/sortie en les déchargeant dans des fichiers temporaires ou des files d’attente. Cela permet au processeur de continuer à travailler sur d’autres tâches sans attendre la fin de l’opération I/O, optimisant ainsi l’utilisation des ressources. Un exemple courant est l’impression, où les documents sont d’abord mis en file d’attente avant d’être imprimés.

 
Exercice 2: Temps partagé

2.1) Décrire l’objectif du partage du temps (time sharing) dans les systèmes d’exploitation.

L’objectif du partage du temps dans les systèmes d’exploitation est de permettre à plusieurs utilisateurs ou tâches de partager efficacement les ressources d’un ordinateur, en donnant à chacun un accès équitable et interactif au processeur.

2.2) Décrire comment le partage du temps répartit le temps de calcul entre les processus.

Le partage du temps répartit le temps de calcul entre les processus en utilisant plusieurs techniques:

  • Tranches de temps: Chaque processus se voit attribuer une période fixe, appelée tranche de temps, durant laquelle il peut s’exécuter. Une fois la tranche écoulée, le système d’exploitation suspend le processus et passe au suivant.
  • Planification des processus: Un algorithme de planification détermine l’ordre d’exécution des processus, souvent en fonction de critères tels que la priorité ou le temps d’attente.
  • Changement de contexte: Lorsque le système d’exploitation passe d’un processus à un autre, il effectue un changement de contexte, sauvegardant l’état du processus en cours et chargeant l’état du prochain processus à exécuter.
  • Équité: Les processus sont généralement traités de manière équitable, permettant à chacun d’accéder au processeur sans être bloqué indéfiniment.

Grâce à ces mécanismes, le partage du temps permet une utilisation efficace du processeur et garantit que plusieurs processus peuvent s’exécuter de manière fluide et simultanée.

2.3) Donnez le nom du programme quasi-parallèle ou de l’exécution du processus.

Multitâche ou Multitasking. Cela désigne la capacité d’un système d’exploitation à exécuter plusieurs processus simultanément ou à les faire passer rapidement d’un état à un autre, donnant l’illusion d’une exécution quasi-parallèle.

2.4) Décrire l’objectif de l’exécution du programme ou du processus quasi-parallèle.

L’objectif de l’exécution quasi-parallèle (multitâche) est de maximiser l’utilisation des ressources système, améliorer la réactivité et l’efficacité, et permettre aux utilisateurs d’interagir avec plusieurs applications simultanément sans délai. Cela facilite également la gestion de tâches de fond sans interrompre les activités en cours.

2.5) Décrire ce qu’est l’ordonnancement (scheduling).

L’ordonnancement (scheduling) est le processus par lequel un système d’exploitation détermine l’ordre et la durée d’exécution des processus sur le processeur. Il optimise l’utilisation des ressources, gère les priorités, utilise différents algorithmes (comme FIFO et Round Robin) et vise à assurer équité et réactivité pour les tâches.

2.6) Décrire ce qu’est le swapping.

Le swapping est un processus dans les systèmes d’exploitation où des segments de mémoire (processus ou pages) sont temporairement déplacés entre la mémoire principale et le stockage secondaire (comme un disque) pour libérer de l’espace mémoire. Cela permet de gérer efficacement la mémoire en exécutant plus de processus que ce que la RAM peut contenir simultanément. Le swapping aide à maintenir les performances du système lorsque la mémoire est saturée.

2.7) Décrire comment fonctionne la protection de la mémoire.

La protection de la mémoire empêche les processus d’accéder à la mémoire des autres ou du système d’exploitation. Elle fonctionne par:

  • Segmentation et pagination: Division de la mémoire en segments ou pages pour chaque processus.
  • Table des pages: Mapping des adresses virtuelles aux adresses physiques.
  • Registres de protection: Définition des limites d’accès en mémoire pour chaque processus.
  • Gestion des exceptions: Déclenchement d’une erreur si un accès non autorisé est tenté.
  • Isolation des processus: Chaque processus fonctionne dans son propre espace mémoire.

Cela assure la sécurité et la stabilité du système.

2.8) Décrire le but de la protection de la mémoire.

Le but de la protection de la mémoire est de garantir la sécurité et la stabilité du système en empêchant les processus d’accéder à la mémoire d’autres processus ou du système d’exploitation. Cela protège contre les erreurs et les comportements malveillants, assurant l’intégrité des données et l’isolation des processus.

 
Exercice 3: Fichiers et répertoires

3.1) Créez un répertoire MyRep dans votre répertoire personnel.

$ mkdir ~/MyRep

La commande mkdir (make directory) est utilisée dans les systèmes d’exploitation de type Unix/Linux et Windows pour créer un nouveau répertoire (dossier).

3.2) Naviguez jusqu’au répertoire MyRep et créez à l’intérieur un fichier vide portant le nom File1.txt. N’utilisez pas d’éditeur pour créer le fichier, mais une ligne de commande.

$ cd ~/MyRep && touch File1.txt
  • cd ~/MyRep: Change le répertoire courant vers « MyRep » dans le répertoire personnel.
  • &&: Exécute la prochaine commande seulement si la première réussit.
  • touch File1.txt: Crée un fichier vide nommé « File1.txt » dans « MyRep ».

Si « MyRep » n’existe pas, le fichier ne sera pas créé.

3.3) Vérifiez la taille du fichier File1.txt.

$ ls -lh File1.txt
  • ls: Commande de base pour lister le contenu d’un répertoire.
  • -l: Affiche les détails en format long (permissions, propriétaire, taille, date de modification, etc.).
  • -h: Rend la taille des fichiers lisible par l’homme (par exemple, 1K, 234M, 2G).

3.4) Modifiez l’heure de modification du fichier File1.txt pour qu’elle corresponde à votre date de naissance.

$ touch -t XXXXYYZZAABB File1.txt
  • XXXX spécifie l’année.
  • YY spécifie le mois.
  • ZZ spécifie le jour du mois.
  • AA spécifie l’heure.
  • BB spécifie les minutes.

3.5) Créez un nouveau fichier dans l’interpréteur de commandes File2.txt et insérez dans le nouveau fichier un texte dont le contenu ne se limite pas à une seule ligne. N’utilisez pas d’éditeur pour insérer le texte dans le fichier, mais une ligne de commande.

$ echo -e "Ligne1\nLigne2" > File2.txt
  • echo -e: Affiche une chaîne de texte et active l’interprétation des caractères spéciaux grâce à -e.
  • \n: Représente un saut de ligne.
  • "Ligne1\nLigne2": La chaîne affichée contiendra « Ligne1 » sur une ligne et « Ligne2 » sur la ligne suivante.
  • >: Redirige la sortie de la commande vers un fichier.
  • File2.txt: Nom du fichier où le texte sera enregistré. Si le fichier existe, il sera écrasé.

3.6) Affichez la première ligne du fichier File2.txt dans l’interpréteur de commandes.

$ head -n 1 File2.txt
  • head: Affiche les premières lignes d’un fichier.
  • -n 1: Spécifie que l’on veut afficher seulement la première ligne.
  • File2.txt: Nom du fichier dont on souhaite afficher le contenu.

3.7) Ajoutez le contenu de File2.txt à File1.txt. N’utilisez pas d’éditeur, mais une commande en ligne.

$ cat File2.txt >> File1.txt
  • cat File2.txt: Lit et affiche le contenu du fichier « File2.txt ».
  • >>: Redirige la sortie vers un fichier, en ajoutant le contenu à la fin de celui-ci, sans écraser son contenu existant.
  • File1.txt: Nom du fichier cible où le contenu sera ajouté.

3.8) Créez dans votre répertoire personnel un répertoire portant le nom cours_university.

$ mkdir ~/cours_university

La commande mkdir (make directory) est utilisée dans les systèmes d’exploitation de type Unix/Linux et Windows pour créer un nouveau répertoire (dossier).

3.9) Copiez les fichiers File1.txt et File2.txt du répertoire MyRep dans le répertoire cours_university.

$ cp ~/MyRep/* ~/cours_university
  • cp: Commande utilisée pour copier des fichiers ou des répertoires.
  • ~/MyRep/*: Sélectionne tous les fichiers et répertoires dans le répertoire « MyRep » situé dans le répertoire personnel de l’utilisateur.
  • ~/cours_university: Destination où les fichiers seront copiés, qui est le répertoire « cours_university » dans le répertoire personnel.

3.10) Effacer le répertoire MyRep.

$ rm -rf ~/MyRep
  • rm: Commande utilisée pour supprimer des fichiers ou des répertoires.
  • -r: Indique une suppression récursive, permettant de supprimer des répertoires et leur contenu (fichiers et sous-répertoires).
  • -f: Force la suppression sans demander de confirmation, même si le fichier ou le répertoire est protégé en écriture.
  • ~/MyRep: Chemin vers le répertoire « MyRep » situé dans le répertoire personnel de l’utilisateur.
 

L’article Exercice Corrigé Système d’Exploitation Linux – Partie 1 est apparu en premier sur WayToLearnX.

Exercice Corrigé Système d’Exploitation Linux – Partie 2

Par :Thomas
19 octobre 2024 à 16:56

Les exercices pratiques sur les systèmes d’exploitation comportent des exercices théoriques et pratiques. Pour résoudre les exercices pratiques, vous avez besoin d’un shell UNIX. Un shell très populaire est Bash. Le terminal Apple Mac OS X est suffisant pour la plupart des exercices pratiques. L’invite de commande Windows et Windows PowerShell ne sont pas suffisants pour les exercices.

Pour vous préparer, l’idéal est d’installer sur votre système le système d’exploitation Linux. Une installation dans une machine virtuelle est suffisante. Les distributions faciles à utiliser sont, par exemple, Debian, Ubuntu et CentOS. VirtualBox est une solution de virtualisation gratuite.

Vous pouvez également travailler avec un système vivant sur CD, DVD ou lecteur de mémoire flash USB. Dans ce cas, aucune installation locale n’est nécessaire.

 
 

Exercice 1: Classifications des systèmes d’exploitation

1.1) À chaque instant, un seul programme peut être exécuté. Quel est le terme technique pour ce mode de fonctionnement ?

Le terme technique pour ce mode de fonctionnement est « singletasking« . Cela signifie qu’à chaque instant, un seul programme peut être exécuté, contrairement au multitâche où plusieurs programmes peuvent fonctionner simultanément.

1.2) Quelle est la différence entre les systèmes d’exploitation 8 bits, 16 bits, 32 bits et 64 bits ?

Le numéro du bit indique la longueur de l’adresse mémoire avec laquelle le système d’exploitation fonctionne en interne. La différence entre les systèmes d’exploitation 8 bits, 16 bits, 32 bits et 64 bits se résume ainsi:

  • 8 bits: Peut adresser jusqu’à 256 octets. Très ancien (ex.: certains ordinateurs personnels).
  • 16 bits: Peut adresser jusqu’à 65 536 octets (64 Ko). Ex.: MS-DOS.
  • 32 bits: Peut adresser jusqu’à 4 Go de RAM. Ex.: Windows XP, certaines versions de Linux.
  • 64 bits: Peut adresser jusqu’à 16 exaoctets de RAM. Ex.: Windows 10, macOS modernes.

Plus le nombre de bits est élevé, plus le système peut traiter de données et gérer de mémoire.

1.3) Quels sont les critères essentiels des systèmes d’exploitation en temps réel ?

Dans les systèmes d’exploitation en temps réel, le temps de réponse (ou latence courte) et le respect des délais sont cruciaux. Cela signifie que le système doit:

  • Réagir rapidement aux événements, minimisant le temps entre la détection d’un événement et la réponse.
  • Respecter les délais fixés pour chaque tâche, garantissant que les opérations critiques soient exécutées dans un temps prédéfini.

Ces caractéristiques sont essentielles pour garantir le bon fonctionnement d’applications où la temporisation est vitale, comme dans les systèmes de contrôle industriels ou les applications médicales.

1.4) Citez les deux types de systèmes d’exploitation en temps réel.

Les deux types de systèmes d’exploitation en temps réel sont:

  • Systèmes d’exploitation en temps réel dur: Ces systèmes garantissent que les délais sont strictement respectés. Toute tâche doit être terminée dans un délai prédéfini, sinon le système peut échouer. Ils sont utilisés dans des applications critiques, comme le contrôle de processus industriels ou les systèmes embarqués.
  • Systèmes d’exploitation en temps réel souple: Ces systèmes offrent une certaine flexibilité dans le respect des délais. Bien que le temps de réponse soit important, un léger dépassement des délais n’entraîne pas nécessairement une défaillance. Ils sont souvent utilisés dans des applications moins critiques, comme le traitement multimédia.

Ces distinctions permettent de choisir le type de système en fonction des exigences de l’application.

1.5) Citez quatre domaines d’application typiques des systèmes d’exploitation en temps réel et classez chaque domaine d’application dans l’une des catégories de la réponse ci-dessus.

Voici quatre domaines d’application typiques des systèmes d’exploitation en temps réel, classés en fonction des catégories mentionnées:

1. Systèmes d’exploitation en temps réel dur:

  • Contrôle industriel: Utilisé dans les systèmes de contrôle de processus, comme les usines automatisées.
  • Aérospatial: Systèmes de contrôle de vol dans les avions ou les satellites, où la sécurité est critique.

2. Systèmes d’exploitation en temps réel souple:

  • Traitement multimédia: Applications de vidéo et de son en temps réel, comme la diffusion en direct.
  • Jeux vidéo: Systèmes de jeu interactifs qui nécessitent des réponses rapides mais peuvent tolérer de légers délais.

Ces domaines illustrent comment les systèmes en temps réel sont adaptés à des besoins spécifiques en fonction de la criticité des délais.

1.6) Décrire la structure d’un nano-noyau (ou nanokernel).

Un nano-noyau (ou nanokernel) a une structure minimale et modulaire:

  • Noyau minimal: Contient uniquement les fonctions essentielles (gestion de la mémoire, des interruptions).
  • Modularité: Les services supplémentaires (systèmes de fichiers, gestion des périphériques) sont implémentés en tant que modules externes.
  • Communication inter-processus (IPC): Utilise des mécanismes d’IPC pour permettre la communication entre modules et applications.
  • Gestion des ressources: Alloue et libère les ressources de manière sécurisée.

1.7) Décrire la structure d’un noyau monolithique.

Un noyau monolithique est un type de noyau d’un système d’exploitation où toutes les fonctionnalités essentielles sont intégrées dans un seul binaire. Un noyau monolithique a la structure suivante:

  • Code unique: Tout le code (gestion de la mémoire, des processus, des périphériques) est intégré dans un seul binaire.
  • Accès direct: Modules peuvent accéder directement aux ressources matérielles, offrant de bonnes performances.
  • Gestion des processus et de la mémoire: Inclut des fonctions pour la planification, la synchronisation et la gestion de la mémoire.
  • Pilotes inclus: Les pilotes de périphériques sont souvent intégrés, augmentant la taille du noyau.

1.8) Décrire la structure d’un micro-noyau.

Un micro-noyau a une structure minimaliste et modulaire:

  • Fonctionnalités essentielles: Ne contient que la gestion de la mémoire, des processus et la communication inter-processus (IPC).
  • Modularité: Services supplémentaires (systèmes de fichiers, pilotes) fonctionnent en espace utilisateur.
  • IPC: Utilise des mécanismes efficaces pour échanger des messages entre le micro-noyau et les services externes.

1.9) Décrire la structure d’un noyau hybride.

Un noyau hybride combine des éléments des noyaux monolithiques et des micro-noyaux. Voici ses principales caractéristiques:

  • Architecture mixte: Intègre des fonctionnalités essentielles dans le noyau (comme la gestion de la mémoire et des processus), tout en permettant des modules externes pour d’autres services (comme les pilotes).
  • Flexibilité: Les composants critiques fonctionnent dans le noyau pour de meilleures performances, tandis que les services moins critiques peuvent être exécutés en espace utilisateur.
  • Communication: Utilise des mécanismes d’IPC, mais peut également permettre des appels directs pour les composants noyau.

1.10) Linux implémente un _______________.

A noyau monolithique

B micro-noyau

C noyau hybride

A

Linux implémente un noyau monolithique:

  • Intégration: Toutes les fonctions essentielles (gestion des processus, mémoire, pilotes) sont dans un seul binaire.
  • Accès direct: Les modules du noyau accèdent directement au matériel, offrant de bonnes performances.
  • Modularité: Permet le chargement dynamique de modules pour une certaine flexibilité.

 

1.11) MacOS X implémente un _______________.

A noyau monolithique

B micro-noyau

C noyau hybride

C

MacOS X implémente un noyau hybride, appelé XNU (X is Not Unix). Voici ses principales caractéristiques:

  • Architecture mixte: Combine des éléments d’un noyau monolithique et d’un micro-noyau, intégrant des fonctionnalités essentielles tout en permettant des modules externes.
  • Micro-noyau Mach: Utilise le micro-noyau Mach pour la gestion des processus et de la mémoire, tandis que les services comme les pilotes de périphériques sont intégrés dans le noyau.
  • Performances optimisées: Les composants critiques fonctionnent dans le noyau pour des performances élevées, tandis que d’autres services peuvent s’exécuter en espace utilisateur.

 

1.12) Windows NT4/Vista/XP/7/8/10 implémente un _______________.

A noyau monolithique

B micro-noyau

C noyau hybride

C

Les systèmes d’exploitation Windows NT (y compris NT4, XP, Vista, 7, 8 et 10) implémentent un noyau hybride. Voici ses principales caractéristiques:

  • Architecture mixte: Combine des éléments d’un noyau monolithique et d’un micro-noyau, intégrant des fonctionnalités essentielles tout en permettant l’exécution de certains services en espace utilisateur.
  • Noyau NT: Le noyau NT gère les processus, la mémoire, et les pilotes, tout en utilisant des modules pour des fonctionnalités supplémentaires.
  • Performances et modularité: Les composants critiques fonctionnent dans le noyau pour des performances optimales, tandis que d’autres services peuvent être modulaires et s’exécuter en espace utilisateur.

 

1.13) Citez un avantage et un inconvénient des noyaux monolithiques.

Avantages:
  • Moins de changements de contexte ⇒ meilleures performances
  • Stabilité accrue

Inconvénients:

  • Les composants bloqués ne peuvent pas être démarrés séparément dans le noyau et peuvent entraîner le blocage de l’ensemble du système.
  • Les extensions du noyau entraînent un effort de développement important, car pour chaque compilation de l’extension, le noyau complet doit être recompilé.

1.14) Citez un avantage et un inconvénient des micro-noyaux.

Avantages:
  • Les composants peuvent être échangés facilement
  • Meilleure stabilité et sécurité en théorie, car moins de fonctions s’exécutent en mode noyau.

Inconvénients:

  • Ralentissement en raison d’un plus grand nombre de changements de contexte
  • Le développement d’un nouveau (micro)noyau est une tâche complexe.

1.15) Citez un avantage et un inconvénient des noyaux hybrides.

Avantages:
  • Meilleures performances qu’avec les micro-noyaux (parce qu’il y a moins de changements de contexte)
  • La stabilité est (théoriquement) meilleure qu’avec les noyaux monolithiques.

Inconvénients:

  • Le développement d’un nouveau noyau (hybride) est une tâche complexe.
 
Exercice 2: Commandes de base de Linux/UNIX

2.1) Quelle commande permet de consulter les pages de manuel ?

man

2.2) Quelle commande permet d’afficher le répertoire de travail actuel dans l’interpréteur de commandes ?

pwd

2.3) Quelle commande permet de créer un nouveau répertoire ?

mkdir

2.4) Quelle commande permet de naviguer vers un répertoire ?

cd

2.5) Quelle commande permet d’afficher le contenu d’un répertoire dans l’interpréteur de commandes ?

ls

2.6) Quelle commande permet de créer un fichier vide ?

touch

2.7) Quelle commande permet de déterminer le contenu d’un fichier ?

file

2.8) Quelle commande permet de concaténer le contenu de fichiers avec d’autres fichiers et peut également être utilisé pour afficher le contenu d’un fichier ?

cat

2.9) Quelle commande permet d’afficher des lignes à partir de la fin d’un fichier dans l’interpréteur de commandes ?

tail

2.10) Quelle commande permet d’afficher les lignes du début d’un fichier dans l’interpréteur de commandes ?

head

2.11) Quelle commande permet de copier des fichiers ou des répertoires à un autre endroit ?

cp

2.12) Quelle commande permet de déplacer des fichiers ou des répertoires vers un autre emplacement ?

mv

2.13) Quelle commande permet de supprimer des fichiers ou des répertoires ?

rm

2.14) Quelle commande permet de supprimer un répertoire vide ?

rmdir

2.15) Quelle commande permet d’introduire une chaîne dans le shell?

echo

2.16) Quelle commande permet de modifier les permissions du fichier ou du répertoire ?

chmod

2.17) Quelle commande permet de changer le mot de passe d’un utilisateur ?

passwd

2.18) Quelle commande permet de mettre fin à une session (et donc au shell) et permet de spécifier la valeur de retour d’un script shell ?

exit

2.19) Quelle commande permet de redémarrer le système ?

reboot OU shutdown -r now

2.20) Quelle commande permet d’arrêter le système ?

halt OU shutdown

2.21) Quelle commande permet de créer un nouvel utilisateur ?

adduser

2.22) Quelle commande permet de supprimer un utilisateur ?

deluser

2.23) Quelle commande permet de modifier un utilisateur ?

usermod

2.24) Quelle commande permet d’afficher l’appartenance d’un utilisateur à un groupe ?

groups

2.25) Quelle commande permet de créer un nouveau groupe ?

groupadd

2.26) Quelle commande permet de supprimer un groupe ?

groupdel

2.27) Quelle commande permet de modifier un groupe ?

groupmod

2.28) Quelle commande permet de changer l’utilisateur (ownership) associé à un fichier ou à un répertoire ?

chown

2.29) Quelle commande permet de changer le groupe associé à un fichier ou à un répertoire ?

chgrp

2.30) Quelle commande permet de créer un lien ?

ln

2.31) Quelle commande permet de rechercher dans un fichier les lignes qui contiennent un motif de recherche ?

grep

2.32) Quelle commande permet d’afficher la liste des processus en cours dans l’interpréteur de commandes ?

ps

2.33) Quelle commande permet de faire passer au premier-plan(foreground) un processus qui s’exécute dans l’arrière-plan(backgrund) de l’interpréteur de commandes ?

fg

2.34) Quelle commande permet de faire passer un processus en arrière-plan de l’interpréteur de commandes ?

bg

2.35) Quelle commande permet de tuer (terminer) un processus ?

kill

2.36) Quelle commande permet de tuer (terminer) un groupe de processus ?

killall

2.37) Quelle commande permet de spécifier la priorité d’un nouveau processus ?

nice

2.38) Quelle commande permet de modifier la priorité d’un processus existant ?

renice

2.39) Quelle commande permet d’afficher l’arbre des processus dans l’interpréteur de commandes ?

pstree
 

L’article Exercice Corrigé Système d’Exploitation Linux – Partie 2 est apparu en premier sur WayToLearnX.

❌