Principes des Systèmes d'Exploitation : Mémoire, E/S, Fichiers et Sécurité
Classé dans Informatique
Écrit le en français avec une taille de 25,15 KB
MÉMOIRE VIRTUELLE
1. Pourquoi est-il nécessaire de trouver des fragments de mémoire principale contigus pour l'exécution?
Cela est rendu possible par la combinaison de la traduction dynamique d'adresses et l'utilisation de tables de pages ou de segments.
2. Qu'est-ce que le vol de pages?
Un fragment est éjecté avant d'être utilisé, ce qui nécessite de le recharger presque immédiatement. Cela conduit à des échanges excessifs (phénomène de vol de pages).
3. Pourquoi le principe de localité est-il important en mémoire virtuelle?
Pour éviter le vol de pages, en essayant de deviner les fragments à utiliser.
4. Quel est le rôle du bit modifié (ou "dirty bit") dans la pagination et la segmentation?
Il indique si la page a été modifiée.
5. Quel est l'avantage d'utiliser un tampon de traduction d'adresses (TLB)?
Il sert de mémoire cache pour les entrées de la table des pages.
6. Quels sont les objectifs des algorithmes de gestion de la mémoire?
Ils visent à optimiser l'utilisation de la mémoire.
7. Existe-t-il un moyen d'empêcher le remplacement des pages du système d'exploitation de base?
Le blocage des pages (DM Block).
8. Expliquez l'algorithme de l'horloge pour le remplacement de pages.
Il nécessite d'associer un bit supplémentaire à chaque cadre de page, appelé bit d'utilisation.
- Lorsqu'une page est chargée pour la première fois dans un cadre de mémoire, le bit d'utilisation est effacé.
- Lorsqu'on fait référence à la page, le bit est mis à 1.
- Lorsqu'il est temps de remplacer une page, le premier cadre rencontré dont le bit d'utilisation est à 0 est remplacé.
- Lors du parcours, tous les bits d'utilisation qui sont à 1 sont modifiés à 0.
9. Quels sont les critères pour suspendre un processus?
Ceux qui ont échoué, ceux qui ont besoin d'informations et/ou d'une ressource non disponible actuellement.
10. Qu'est-ce qui génère la charge du processeur pour la gestion de la mémoire virtuelle?
Les interruptions.
GESTION DES E/S
1. Dans quelle technique d'E/S le processeur doit-il vérifier la fin de l'opération?
L'entrée/sortie programmée.
2. Expliquez les avantages du module d'accès direct à la mémoire (DMA) par rapport aux E/S série et aux E/S avec interruptions.
Il peut prendre le contrôle du transfert de données vers et depuis la mémoire via le bus système. Le module DMA n'utilise le bus que lorsque le processeur n'en a pas besoin. Il peut également forcer le processeur à suspendre temporairement son fonctionnement ; c'est ce qu'on appelle le vol de cycles.
3. Que signifie l'expression « le DMA vole des cycles de processeur »?
Cela signifie que le DMA force le processeur à suspendre temporairement son opération.
4. Expliquez les deux objectifs de la conception des services d'E/S.
- Efficacité : Éviter le goulot d'étranglement que constituent les E/S.
- Uniformité : Gérer tous les dispositifs de manière uniforme. Utiliser une approche hiérarchique et modulaire pour la conception des fonctions d'E/S.
5. Quelles sont les différences entre le double tampon et le tampon circulaire?
- Double tampon : Utilisé pour les dispositifs orientés blocs ou flux, permettant de traiter un bloc pendant qu'un autre est rempli.
- Tampon circulaire : Utilisé lorsque plus de deux tampons sont nécessaires, formant une file d'attente circulaire de tampons.
6. En ce qui concerne l'enregistrement, quand le transfert de données est-il réellement effectué?
Lorsqu'il y a des E/S avec le module DMA.
7. Quels sont les inconvénients des politiques de planification de disque basées sur la priorité? Pour quel type d'applications ne sont-elles pas souhaitables?
Les requêtes à faible priorité peuvent attendre trop longtemps. Non recommandé pour les systèmes de bases de données.
8. Quelles sont les fonctions de RAID? Pour quel type d'applications est-il adapté?
- RAID 0 : N'inclut pas de redondance. Utilisé dans les supercalculateurs pour la performance.
- RAID 1 : La redondance est assurée par duplication de données (mise en miroir).
- RAID 2 : Utilise la technique d'accès parallèle avec codes de correction d'erreurs (ECC). Tous les disques sont impliqués dans l'exécution de l'application d'E/S.
- RAID 3 : Ne nécessite qu'un seul disque de parité dédié.
- RAID 4 : Technique d'accès indépendant avec un disque de parité dédié.
- RAID 6 : Effectue deux calculs de parité différents, stockés sur des blocs distincts de disques différents.
9. Expliquez le fonctionnement du cache disque.
Il est situé dans un tampon de la mémoire principale pour les secteurs du disque. Lorsqu'une demande pour un secteur spécifique est faite, les caches sont vérifiés en premier.
10. Quels algorithmes de remplacement peuvent être utilisés pour la planification du cache disque? Pourquoi?
Le moins fréquemment utilisé (LFU) : L'implémentation associe un compteur à chaque bloc ; à chaque référence, le compteur est incrémenté. Lors du remplacement, le bloc avec la plus faible valeur de compteur est choisi.
GESTION DES FICHIERS
1. Nommez trois exigences minimales pour la gestion des fichiers système.
- Chaque utilisateur doit être en mesure de créer, supprimer et modifier des fichiers.
- Chaque utilisateur peut avoir un accès contrôlé aux fichiers des autres utilisateurs.
- Chaque utilisateur peut contrôler quels types d'accès seront autorisés à leurs fichiers.
2. Quelles sont les fonctions de base du superviseur d'E/S?
À ce niveau, les structures de contrôle gèrent les E/S avec les dispositifs, la planification et l'état des fichiers. Il gère la sélection du dispositif pour les E/S en fonction du fichier sélectionné. Il optimise également l'accès aux disques et bandes pour une performance optimale. À ce niveau, il attribue les tampons d'E/S et gère les réserves de la mémoire secondaire.
3. Donnez un exemple où les critères de choix d'une organisation de fichiers sont opposés.
Par exemple, un accès rapide aux informations peut être incompatible avec la gestion de très gros fichiers ou des mises à jour fréquentes.
4. Si l'on souhaite accéder à un enregistrement particulier dans un fichier de pile, comment s'effectue la recherche?
L'accès aux enregistrements se fait par recherche exhaustive.
5. Qu'est-ce qui rend l'accès aux fichiers séquentiels indexés plus pratique?
Un index pour faciliter l'accès aléatoire et un fichier de débordement.
6. Quelle est la structure organisationnelle des répertoires la plus couramment utilisée? Quels sont ses avantages par rapport aux autres structures?
La structure arborescente ou hiérarchique : un répertoire peut contenir d'autres répertoires et des fichiers. Elle minimise la difficulté d'attribuer des noms uniques.
7. Concernant le regroupement d'enregistrements, quelle est la différence entre les blocs de longueur variable avec et sans sections?
- Avec sections : Une partie de l'enregistrement peut occuper un bloc.
- Sans sections : L'enregistrement n'est pas divisé en parties.
8. À quoi sert la table d'allocation de fichiers? A-t-elle la même structure pour les différents systèmes de fichiers? Pourquoi?
Elle permet d'enregistrer les sections allouées à un fichier. Non, elle n'a pas la même structure sur les différents systèmes d'exploitation. Par exemple, FAT est utilisé sous Windows et un autre modèle sous Linux.
9. Pourquoi l'allocation chaînée ne peut-elle pas appliquer le principe de localité?
Parce que les blocs d'un fichier peuvent être dispersés sur le disque, ce qui nuit au principe de localité.
10. Quelle est une fonction clé du système de gestion de fichiers?
La gestion de l'espace disque.
SYSTÈMES DISTRIBUÉS
1. Dans un processus client/serveur, que proposent le client et le serveur?
Le client propose une interface utilisateur et demande des services. Le serveur fournit ces services et gère les ressources partagées (par exemple, une base de données).
2. Dans la communication client/serveur, qu'est-il nécessaire de partager et de prendre en charge?
Le client et le serveur partagent les mêmes protocoles de communication et prennent en charge les mêmes applications.
3. Qu'est-ce qui est essentiel au succès de l'environnement client/serveur?
C'est la manière dont le client interagit avec le système dans son ensemble.
4. Expliquez comment fonctionne une application de base de données dans un schéma client/serveur.
Le serveur est un serveur de base de données. L'interaction entre le client et le serveur s'effectue par des transactions. Le serveur est chargé de maintenir la base de données.
5. Quelles sont les différences entre les architectures client/serveur basées sur le processus serveur et celles basées sur le client?
- Basé sur le serveur : C'est le type de configuration client-serveur de base. Les postes de travail sont chargés de fournir une interface graphique à l'utilisateur.
- Basé sur le client : La plupart des processus de l'application peuvent être exécutés sur le client. Le serveur exécute des routines de validation et le traitement de la base de données.
6. Quels sont les avantages d'utiliser un client lourd (fat client)?
Il permet de décharger une grande partie du traitement sur les ordinateurs de bureau, rendant les serveurs d'applications plus efficaces.
7. Quand dit-on qu'il y a une cohérence dans le cache de fichiers?
Lorsque les caches contiennent des copies exactes des données distantes, assurant que toutes les copies sont à jour.
8. Que signifie le terme « middleware »?
Il s'agit d'interfaces de programmation standard et de protocoles qui se situent entre les applications et les logiciels de communication et du système d'exploitation.
9. Qu'ont en commun les clusters et le multiprocesseur symétrique (SMP)?
Les deux permettent l'accès à des processus parallèles. Cependant, les clusters sont généralement plus complexes et coûteux à gérer que les systèmes SMP.
10. Pourquoi est-il nécessaire d'utiliser RAID dans certains systèmes de stockage?
Pour réduire le risque de perte de données due à une panne de disque.
SÉCURITÉ INFORMATIQUE
Types de menaces
En général, il y a un flux d'informations provenant d'une source (comme un fichier ou une région de la mémoire principale) vers une destination (comme un autre fichier ou un utilisateur). Il y a quatre catégories de menaces :
- Interruption
- Interception
- Altération
- Invention
Interruption : Un élément d'équipement est détruit ou devient inaccessible ou inutile. Il s'agit d'une menace pour la disponibilité. Les exemples incluent la destruction d'un élément matériel (comme un disque dur), la coupure d'une ligne de communication ou la désactivation du système de gestion de fichiers.
Interception : Un tiers non autorisé accède à un élément. C'est une menace à la confidentialité. La partie non autorisée peut être une personne ou un programme informatique. Les exemples comprennent l'interception des communications téléphoniques, la saisie des données à partir d'un réseau et la copie illicite de fichiers ou programmes.
Altération : Un tiers non autorisé non seulement accède à un élément, mais le dénature. Il s'agit d'une menace à l'intégrité. Les exemples comprennent la modification des valeurs dans un fichier de données, la modification d'un programme pour qu'il se comporte différemment et la modification du contenu des messages transmis sur un réseau.
Invention : Une partie non autorisée insère de faux objets dans le système. C'est aussi une menace pour l'intégrité. Des exemples incluent l'insertion de faux messages sur un réseau ou l'ajout d'enregistrements falsifiés à un fichier.
PROTECTION
- L'introduction de la multiprogrammation conduit à la possibilité de partage des ressources entre les utilisateurs.
- Le partage s'étend non seulement au processeur, mais aussi à :
- La mémoire
- Les dispositifs d'E/S, tels que les disques et les imprimantes
- Les programmes
- Les données
- La capacité de partager des ressources introduit le besoin de protection.
- Un système d'exploitation spécifique peut prévoir différents niveaux de protection pour les différents objets, utilisateurs ou applications.
- Il est nécessaire que le système d'exploitation équilibre le besoin de partager (ce qui augmente l'utilité du système) avec la nécessité de protéger les ressources des utilisateurs individuels.
- Un système d'exploitation peut fournir une protection dans les limites suivantes :
Pas de protection
Appropriée lors de l'exécution de procédures délicates à des moments différents.
Isolation
Cette approche implique que chaque processus fonctionne séparément de l'autre, sans partage ni communication. Chaque processus dispose de son propre espace d'adressage, de ses fichiers et autres objets.
Partage total ou à la discrétion du propriétaire
Le propriétaire d'un objet le déclare public ou privé. Dans le cas d'un fichier, n'importe quel processus peut y accéder. Dans le cas d'un segment de mémoire, seul le processus propriétaire peut y accéder.
Partage par limitation de l'accès
Le système d'exploitation vérifie la licence de chaque utilisateur pour un accès spécifique à un objet particulier. Le système d'exploitation agit comme un tuteur ou un gardien entre les utilisateurs et les objets, s'assurant que seul l'accès autorisé se produit.
Capacités et droits dynamiques
Cette protection étend la notion de contrôle d'accès, incluant la création dynamique de droits de partage pour les objets.
Utilisation limitée d'un objet
Cette forme de protection ne limite pas seulement l'accès à un objet, mais aussi l'étendue de l'utilisation de cet objet.
Par exemple, vous pouvez autoriser un utilisateur à consulter un document sensible, mais pas à l'imprimer.
Un autre exemple : Vous pouvez autoriser un utilisateur à accéder à une base de données pour établir des relevés statistiques, mais pas pour déterminer des valeurs de données spécifiques.
Protection de la mémoire
- Dans un environnement de multiprogrammation, la protection de la mémoire principale est critique.
- Elle s'intéresse à la sécurité et au bon fonctionnement des différents processus actifs.
- Elle empêche un processus d'écrire par inadvertance dans l'espace mémoire d'un autre processus, car cela pourrait empêcher ce dernier de fonctionner correctement.
- La mémoire virtuelle est utilisée pour la séparation de l'espace mémoire des différents processus.
- La segmentation, la pagination, ou une combinaison des deux fournit un moyen efficace de gestion de la mémoire principale.
- Pour un isolement total, le système d'exploitation veille à ce que chaque segment ou chaque page soit accessible uniquement aux processus auxquels il est affecté.
- Ce type de partage est plus efficace dans un système qui prend en charge la segmentation ou une combinaison de segmentation et de pagination.
Les mesures prises pour contrôler l'accès dans les systèmes informatiques peuvent être regroupées en deux catégories :
- Celles associées à l'utilisateur.
- Celles qui sont associées aux données.
Contrôle d'accès orienté utilisateur
- La technique habituelle de contrôle d'accès utilisateur dans un système en temps partagé ou un serveur est la connexion de l'utilisateur, ce qui nécessite :
- Un ID (utilisateur)
- Un mot de passe.
- Ce système ID/mot de passe est une méthode de contrôle d'accès utilisateur remarquablement peu fiable.
- Le dialogue de connexion doit se faire via des médias sécurisés.
- Les écoutes deviennent une menace potentielle.
- Dans un environnement distribué, nous avons deux approches de contrôle d'accès :
- Approche centralisée
- Approche décentralisée
Approche centralisée
Avec une approche centralisée, le réseau fournit un service d'authentification pour déterminer qui est autorisé à utiliser le réseau et à quoi il est autorisé à se connecter.
Approche décentralisée
L'approche décentralisée de contrôle d'accès considère le lien de communication réseau comme transparent, et la procédure normale de connexion est effectuée par le serveur de destination.
Contrôle d'accès orienté données
- Ce contrôle d'accès consiste à associer à chaque utilisateur un profil qui spécifie les opérations et les accès aux fichiers autorisés.
- Le système d'exploitation peut appliquer les règles de base en fonction du profil de l'utilisateur.
- Le système de gestion de base de données contrôle l'accès aux documents ou parties d'un enregistrement.
- Un système de gestion de base de données doit prendre des décisions sur chaque tentative d'accès individuelle.
- Les décisions dépendent du profil de l'utilisateur, des informations divulguées et des parties spécifiques des données accessibles.
STRATÉGIES POUR LES MOTS DE PASSE
- La formation des utilisateurs
- Mots de passe générés par ordinateur
- Inspection réactive des mots de passe
- Inspection proactive des mots de passe
La formation des utilisateurs
On peut informer les utilisateurs sur l'importance d'utiliser des mots de passe difficiles à deviner et leur donner des lignes directrices pour le choix des mots de passe.
Cette stratégie de formation des utilisateurs est peu susceptible d'être fructueuse dans la plupart des installations, en particulier là où il y a de grandes populations d'utilisateurs ou un volume important de transactions. De nombreux utilisateurs ignorent les lignes directrices. D'autres ne savent pas comment évaluer la force d'un mot de passe. Par exemple, beaucoup de gens croient (à tort) qu'inverser un mot ou retirer la dernière lettre rend un mot de passe difficile à deviner.
Mots de passe générés par ordinateur
Également problématique. Si les mots de passe sont suffisamment aléatoires, les utilisateurs risquent de ne pas pouvoir s'en souvenir. Même si le mot de passe est prononçable, ils peuvent trouver difficile de le mémoriser et être tentés de l'écrire. En général, les mots de passe générés par ordinateur ont un historique de faible acceptation par les utilisateurs.
Inspection réactive des mots de passe
C'est celle où le système exécute périodiquement ses propres tentatives de devinette de mots de passe pour trouver ceux qui sont faciles à deviner. Le système annule tous les mots de passe qu'il parvient à deviner et en informe l'utilisateur. Cette tactique présente un certain nombre d'inconvénients. Premièrement, si le travail est fait correctement, elle consomme beaucoup de ressources.
Inspection proactive des mots de passe
C'est l'approche la plus prometteuse pour améliorer la sécurité des mots de passe.
Dans ce schéma, l'utilisateur est autorisé à choisir son propre mot de passe. Cependant, au moment de la sélection, le système vérifie si le mot de passe est admissible et, si ce n'est pas le cas, il le rejette.
- L'astuce du vérificateur de mot de passe dynamique est d'établir un équilibre entre l'acceptation par les utilisateurs et la robustesse.
- Si le système rejette trop de mots de passe, les utilisateurs se plaignent qu'il est très difficile d'en choisir un. Si le système utilise un algorithme simple pour définir ce qui est considéré comme acceptable, il fournit un guide pour les techniques de devinette de mots de passe.
La première méthode est une simple application de règles. Par exemple, on peut appliquer les règles suivantes :
- Tous les mots de passe doivent avoir au moins R caractères.
- Les R premiers caractères doivent inclure au moins une lettre majuscule, une minuscule, des chiffres numériques et de la ponctuation.
Ces règles peuvent être combinées avec des avertissements à l'utilisateur. Bien que cette méthode soit meilleure que de simplement demander aux utilisateurs, elle peut ne pas être suffisante pour contrecarrer les tentatives de devinette de mots de passe.
Une autre approche possible est de collecter un grand dictionnaire de "mauvais" mots de passe possibles. Lorsqu'un utilisateur choisit un mot de passe, le système vérifie s'il figure dans cette liste et le refuse le cas échéant.
L'inconvénient de cette méthode est le temps et l'espace supplémentaire nécessaires.
MÉTHODES ANTIVIRUS
La solution idéale à la menace du virus est la prévention :
Tout d'abord, ne pas permettre au virus de pénétrer le système. En règle générale, c'est impossible à atteindre, même si la prévention peut réduire le nombre d'attaques de virus réussies.
La meilleure méthode est de pouvoir effectuer les opérations suivantes :
- Détection : Une fois l'infection produite, déterminer qu'elle a eu lieu et localiser le virus.
- Identification : Une fois la détection effectuée, identifier précisément le virus qui a infecté un programme. Éliminer le virus de tous les systèmes infectés, afin d'empêcher l'organisme nuisible de se propager davantage.
- Élimination : Après avoir identifié le virus spécifique, éliminer toute trace du virus du programme infecté et le restaurer à son état initial.
[STEP93] identifie quatre générations de logiciels antivirus :
- Première génération : simples scanners de signatures.
- Deuxième génération : robots d'exploration heuristiques.
- Troisième génération : pièges à activité.
- Quatrième génération : une protection complète.
- Un scanner de première génération exige la signature pour identifier les virus.
- Un scanner de deuxième génération ne dépend pas d'une signature spécifique.
- Les programmes de troisième génération sont des programmes résidant en mémoire qui permettent d'identifier un virus par ses actions plutôt que par la structure d'un programme infecté.
- Les programmes de quatrième génération sont des suites logicielles qui combinent une variété de techniques antivirus utilisées conjointement.
SYSTÈMES DE CONFIANCE
- Une exigence très pertinente est de protéger les données ou les ressources en fonction des niveaux de sécurité.
- Lorsque l'on définit plusieurs catégories ou niveaux de données, l'exigence est connue sous le nom de sécurité multi-niveaux.
- Pas de lecture vers le haut : Un sujet peut lire un objet uniquement à partir d'un niveau de sécurité inférieur ou égal (propriété de sécurité simple).
- Pas d'écriture vers le bas : Un sujet peut écrire un objet uniquement à un niveau de sécurité supérieur ou égal (propriété *).
- Le moniteur de référence est un élément de contrôle dans le matériel et le système d'exploitation d'un ordinateur : il réglemente l'accès des sujets aux objets en fonction de paramètres de sécurité. Il s'appuie sur une base de données de sécurité du noyau, qui énumère les privilèges d'accès de chaque personne et les attributs de protection de chaque objet, et applique les règles de sécurité.
- Médiation complète : Les règles de sécurité s'appliquent à toutes les tentatives d'accès.
- Isolation : Le moniteur de référence et sa base de données sont protégés contre les modifications non autorisées.
- Vérifiabilité : L'exactitude du moniteur de référence doit être prouvée, démontrant mathématiquement qu'il applique les règles de sécurité, assure l'isolation et la médiation complète.
- Les événements de sécurité importants, tels que les violations de sécurité et les changements autorisés à la base de données de sécurité du noyau, sont détectés et enregistrés dans le journal d'audit.