Système d exploitation



Documents pareils
DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Partie 7 : Gestion de la mémoire

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

<Insert Picture Here> Solaris pour la base de donnés Oracle

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

Ordonnancement temps réel

Windows Server Chapitre 1: Découvrir Windows Server 2008

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Métriques de performance pour les algorithmes et programmes parallèles

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Informatique pour scientifiques hiver Plan général Systèmes d exploitation

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Introduction aux systèmes temps réel. Iulian Ober IRIT

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

IV- Comment fonctionne un ordinateur?

Initiation au HPC - Généralités

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Concept de machine virtuelle

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Guide d'installation et de configuration de Pervasive.SQL 7 dans un environnement réseau Microsoft Windows NT

IFT Systèmes d exploitation - TP n 1-20%

1 Mesure de la performance d un système temps réel : la gigue

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

Cours de Systèmes d Exploitation

Oracle Maximum Availability Architecture

Structure fonctionnelle d un SGBD

Problèmes liés à la concurrence

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Leçon 1 : Les principaux composants d un ordinateur

Guide pour l Installation des Disques Durs SATA et la Configuration RAID

Le Network File System de Sun (NFS)

Support de cours système d exploitation

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Système de Gestion de Fichiers

Matériel & Logiciels (Hardware & Software)

Introduction aux SGBDR

Exécutif temps réel Pierre-Yves Duval (cppm)

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

White Paper - Livre Blanc

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Tutoriel déploiement Windows 7 via serveur Waik

Temps Réel. Jérôme Pouiller Septembre 2011

GESTION DE LA MEMOIRE

Modélisation des interfaces matériel/logiciel

SYSTÈME DE GESTION DE FICHIERS

Gestion des sauvegardes

Audit activité base Oracle / SAP

Systèmes d exploitation Gestion de processus

Tests de performance du matériel

Ordinateurs, Structure et Applications

GPA770 Microélectronique appliquée Exercices série A

Oracle 11g Optimisez vos bases de données en production (ressources matérielles, stockage, mémoire, requêtes)

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Cours A7 : Temps Réel

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

PERFORMANCE BASE DE DONNÉES

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Installation Guide Serveur d impression et de stockage multifonctions à 2 ports USB 2.0 haute vitesse Manuel de l utilisateur

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Annexe 6. Notions d ordonnancement.

Guide d installation logicielle

Gestion répartie de données - 1

La technologie Java Card TM

On appelle variable condition une var qui peut être testée et

Un ordinateur, c est quoi?

imvision System Manager

LIVRE BLANC Pratiques recommandées pour l utilisation de Diskeeper sur les réseaux SAN (Storage Area Networks)

Cours de Base de Données Cours n.12

Tsoft et Groupe Eyrolles, 2005, ISBN :

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Le stockage. 1. Architecture de stockage disponible. a. Stockage local ou centralisé. b. Différences entre les architectures

Manuel de l utilitaire Computer Setup (F10) HP Compaq Business Desktops Modèles d220 et d230

Performances. Gestion des serveurs (2/2) Clustering. Grid Computing

Cours Programmation Système

NFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007

Boîtier disque dur SATA 3,5 pouces Fonction économie d énergie

Cours de Génie Logiciel

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

EX4C Systèmes d exploitation. Séance 14 Structure des stockages de masse

Atelier : Virtualisation avec Xen

Cours Bases de données 2ème année IUT

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

Génie Logiciel avec Ada. 4 février 2013

DEPLOIEMENT MICROSOFT WINDOWS

Guide d installation

Technologie de déduplication de Barracuda Backup. Livre blanc

Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Transcription:

Système d exploitation Chapitre 1 : Computer system overview Address register I/O (I/OAR, p.30) Cache Slot (p.48) Cache Memory (p.47-51) Direct Memory Access (DMA) (51-52) Hit ratio (45) Instruction Cycle (31, 35-38) Instruction Register (IR) (31) Interrupt (34-43) Interrupt- driven I/O (52) Memory Address register (MAR, p.29) Module I/O (29-30) Multicore (53-56) Processor (28) Program- counter(p- C) (31,40) Programmed I/O 51-52) Register (29-31) Secondary Memory (47) System Bus (29) Main Mémory (29-30, 48-49) Questions : 1. Liste et définis brièvement les 4 éléments principaux d un ordinateur (28-29) - Processeur : Contrôle les opérations de l ordinateurs et effectue ses traitements de données. Souvent référencé au CPU - Mémoire principale : Stocke les données et les programmes. Mémoire volatile : quand on éteind l ordinateur, le contenu de la mémoire est perdu. - Module I/O : Déplace les données entre l ordinateur et l environnement externe, consistant en une variété de périphériques mémoires, de communications ou de terminaux. - Bus système : Permet la communication entre processeur, mémoire principale et module I/O 3. Quels sont les 2 grandes étapes d un cycle d instruction? (31) La recherche de la prochaine instruction et son exécution. 4. Qu est ce qu un interrupt? (34) Il s agit de mettre en pause une certaine séquence du processeur par un module (I/O, mémoire ). Cela permet d améliorer l utilisation du processeur en mettant en pause les séquences qui attentent par exemple un dispositif I/O et allouant les ressources autres part, permettant d éviter le gaspillage. 1

5. Comment sont gérées les interruptions multiples? (42-43) Il y a 2 approches : - Soit on désactive les autres interruptions quand une interruption est en cours. Cela veut dire que le processeur ignore n importe quel signal de requête d interruptions. - Soit on définit des priorités pour les interruptions et on autorise les interruptions de hautes priorités à stopper celles de basses priorités 6. Quels caractéristiques distinguent les différents éléments de la hiérarchie de la mémoire? (44) Diminution du cout par bit ; Augmentation de la capacité ; Amélioration du temps d accès ; diminution de la fréquence d accès à la mémoire par le processeur. 7. Qu est ce que la mémoire cache? (48) Elle est prévue pour fournir un temps d accès à la mémoire approchant les mémoires les plus rapide et en même temps le support d un grande taille de mémoire qui a le prix des types de mémoires semiconductrices les moins chers. Le cache contient une copie d une portion de la mémoire principale. Quand le processeur essaye de lire une byte ou un mot de la mémoire, on regarde d abord si il est dans le cache. Si c est le cas, il est donné au processeur, sinon, un bloc de la mémoire principale est lu dans le cache et ensuite le byte ou le mot est donné au processeur. Cela permet d améliorer la vitesse des opérations. 8. Quelle est la différence entre un système multiprocesseur et multicoeur? (55) Dans un multicoeur les processeurs sont associés sur une seule pièce de silicone (un «die»), pas dans un multiprocesseur. 9. Quels sont les questions clés dans le design de la mémoire cache? (50) Taille du cache ; Taille du bloc ; Fonction de mapping (cartographie) ; Algo de replacement ; Politique d écriture ; Nombre de niveau du cache 10. En général, quels sont les stratégies pour exploiter les localités spatiales et temporelles? (62) Pour les localités temporelles, on garde les instructions récemment utilisées et les données dans la mémoire cache en faisant une hiérarchie. Pour les localités spatiales, on utilise des blocs de cache plus gros et on intègre un mécanisme de préchargement des objets dont on va avoir besoin dans la logique de contrôle du cache. 2

Chapitre 2 : Operating system overview Batch system (multiprogrammed) (73-78) Execution Context / Process state (84-85) Job Control language (JCL) (74) Kernel/noyau (71) Memory Management (78) Microkernel (91) Monitor (73) Monolithic Kernel (91) Multithreading (91-92) Operating system (68-70) Privileged Instruction (75) Round robin technique (90) Scheduling in Serial processing (72) Scheduling in multiprocessor (97) Time- sharing (system) (78-81) Virtual Machine (94-96) Multitasking (76) Questions : 1. Quels sont les 3 objectifs dans le design d un système d exploitation? (68) Facilité : l OS rend l ordinateur plus simple à utiliser Efficacité : l OS permet d utiliser plus efficacement les ressources systèmes Evolution : L os doit être construit de façon à permettre un développement, tests et introduction de nouvelles fonctions systèmes sans interférer avec le service. 2. Qu est ce qu un processus? (82) On peut le désigner comme : - Un programme en cours d exécution - Une instance d un programme en cours d exécution sur un ordinateur - Une entité qui peut être assignée et exécutée sur un processeur - Une activité caractérisée par un seul thread séquentiel d exécution, un état et un groupe de ressources systèmes. 3. Si l on exclu la coordination systématique et la coopération entre les activités d un logiciel système, quels sont les 4 causes principales d erreurs de programmation? (83-84) - Synchronisation incorrecte - Exclusion mutuelle ratée : Plus d un utilisateur ou programme essaye d utilisé une ressource partagée au même instant. - Opération non- déterministe : le résultat d un programme ne devrait normalement que dépendre des inputs et non de l activité des autres programmes. - Deadlocks : Plusieurs programmes sont interrompus et s attendent mutuellement. 3

4. Quels sont les différentes questions de sécurités liées à un OS? (86) - Isolation des processus : l OS doit empêcher des processus indépendant d interagir avec la mémoire, les données et les instructions des autres. - Allocation et gestion automatique : les programmes doivent être alloués dynamiquement à travers la hiérarchie de la mémoire. - Support de la programmation modulaire : les programmeurs doivent être capable de définir les modules des programmes et de créer, détruire, ou réduire/augmenter la taille des modules dynamiquement. - Protection et contrôle de l accès : l OS doit permettre que des portions de mémoires soient accessibles de différentes façons par différents utilisateurs en toute sécurité. - Stockage à long terme : beaucoup de programmes ont besoin de moyens pour stockés des informations à long terme, même après que l ordi ait été éteint. 5. Quelle est la distinction entre une adresse physique et virtuelle? (87) 6. Quels facteurs l allocation des ressources et le scheduling policy doivent- ils considérer? (89) - Justice : D un coté, on veut que tous les processus qui sont en compétition pour l utilisation d une certaine ressource aient les mêmes chances d y accéder. - Différente réactivité : De l autre, l OS peut avoir besoin de faire de la discrimination entre différentes classes avec différentes exigences. Ces décisions doivent être faites dynamiquement. - Efficacité : l OS doit essayer de maximiser le débit, minimiser le temps de réponse et d accueillir autant d utilisateurs que possibles. 7. Quelle est la différence entre un kernel monolithic et un microkernel. (91) Un kernel monolithic est un large kernel, avec du scheduling, un système de fichiers, le réseau, les drivers, Tandis qu un microkernel n assigne que quelques fonctions essentielles au kernel, comme les spaces adresses, l IPC et du scheduling basique. Les autres services sont fournis par les processus. 8. Qu est ce que le multithreading? (91) C est une technique dans lequel un processus exécutant une application, est divisé en threads fonctionnant en concurrence. 9. Quels sont les différentes questions de design à se poser pour un OS SMP? (92) - Performance : Si le travail peut être organisé tel quel certaines portions peuvent être exécutée en parallèle, alors un système avec plusieurs processeurs aura de meilleurs performance qu un avec un seul processeur. - Disponibilité : Vu que tous les processeurs peuvent exécuter les mêmes fonctions, le plantage d un processeur n arrêtera pas le système. Les performances seront juste réduites. - Croissance incrémentée : Un utilisateur peut augmenter la performance d un système en ajoutant un processeur supplémentaire - Mise à l échelle : les vendeurs peuvent offrir une large gamme de produits à différents prix/performance basés sur le nombre de processeurs configurés dans le système. 4

Chapitre 3 : Process Descriptions and Control Blocked/Exit/New/Ready/Running/Suspend/State (137-139) Child/Parent Process (135) Mode switch (159) Preempted process (139) Privileged/System/User Mode (155) Process Control Block (129-130, 150, 153-154) Process Image (148) Process switch (157-158) Swapping (141-144) Trace of process (131) Trap (158) Questions : 1. Qu est ce que le Process Control Block? (129-130) Une structure de données contenant diverses informations sur les processus, comme par exemple son identifier, son état, sa priorité, son PC, etc 2. Quels évènements communs mènent à la création d un processus? (134) Quand un nouveau processus doit être ajouté à ceux déjà gérés, l OS construit la structure de données utilisée pour gérer les processus et alloue les adresses dans la mémoire principale 3. Quels sont les différents états de la figure 3.6? (137) Running : Processus qui est en cours d exécution Ready : Processus qui est prêt à être exécuté quand l opportunité lui sera donnée Blocked/Waiting : Processus qui ne peut pas être exécuté avant que certains évènements adviennent New : Processus qui vient juste d être créé mais qui n est pas encore exécutable Exit : Processus qui ne fait plus parti de l ensemble des processus exécutable car il a terminé ou a été annulé pour une certaine raison. 4. Quel est le role du dispatcher? (131) Il permet au processeur de passer d un processus à un autre. 5. Qu est ce que le swapping et quel est son but? (141) Cela consiste à bouger une partie ou tout les processus en état bloqué de la mémoire principale vers le disque (on les fait alors passer en état suspendu). Cela améliore la performance car libère de la mémoire. 6. Pourquoi le figure 3.9b à 2 états bloquants? (143) Car il y a une mémoire principale et une mémoire secondaire 7. Pourquoi y a- t- il besoin de 2 modes (utilisateur et kernel)? Car il est nécessaire de protéger l OS et les opérations clés du système, comme les process control blocks, d interférences faites par des programmes utilisateurs. Dans le mode kernel, le logiciel à un contrôle totale sur le 5

processeur et toutes ses instructions, registres et mémoires. Ce niveau de contrôle n est pas nécessaire ni désirable pour les programmes utilisateurs. 8. Quelles sont les étapes faites par un OS pour créer un nouveau processus? (156) - Assigner un identifier unique au processus : une nouvelle entrée est ajouté à la table des processus. - Allouer de l espace pour le processus : l OS doit savoir l espace nécessaire via l adresse space et la pile utilisateur. Ces valeurs peuvent être assignées par défaut (basé sur le type de processus) ou elles peuvent être indiquées par l utilisateur à la création. - Initialiser le process control block - Faire les liens appropriés - Créer ou étendre d autres structures de données 9. Quelle est la différence entre un interrupt et un trap? Dans un trap, l OS détermine si l erreur ou la condition d exception est fatale. Dans un interrupt, c est le processeur qui regarde si il n y a pas de signal d interrupt. 10. Quels sont les méchanismes pour interrompres l exécution d un processus? (158) - Le processeur mets le PC à l adresse de départ du programme de gestion des interrupts - Le processeur passe du mode utilisateur au mode kernel pour que le traitement des interrupts puissent inclure des instructions privilégiées. 11. Quels sont les différences entre un mode switch et un processus switch? (159) Un mode switch peut arriver sans changer l état du proccessus qui est actuellement dans l état Running Chapitre 4 : Threads Kernel- level thread (KLT) (188-189) Lightweight process (LWP) (202-203) Multithreading (179-182) User- level Thread (ULT) (184-188) Questions : 2. Quelles sont les opérations basiques associées à un changement de l état du thread? (182) - Spawn : Typiquement, quand un nouveau processus arrive, un thread est créé pour ce processus. - Block : Quand un thread a besoin d attendre un évènement, il va bloqué (sauver ses registres, PC et pointeurs) - Unblock : Quand l évènement se produit, le thread est bougé dans la file «Ready» - Finish : Quand un thread à terminé, ses registres et piles sont désalloués. 3. Quels sont les états des threads Windows? (199-200) - Ready : un thread Ready est prêt à être exécuté 6

- Standby : Le thread sera le prochain a être exécuté sur un processuer particulier. - Running : L exécution commence - Waiting : Un thread qui soit est bloqué par un évènement, soit attend pour un but de synchronisation, soit un sous- système de l environnement à suspendu le thread lui- même. - Transition : Le thread est prêt à être exécuté mais les ressources ne sont pas encore disponibles - Terminated 4. Cite 4 exemples généraux de l utilisation de threads dans un system multiprocessing à un utilisateur (181-182) - Travaille en avant/arrière plan - Traitement asynchrone : les éléments asynchrones peuvent être implémentés sous forme de threads - Vitesse d exécution : Un processus multithread peut calculer des données en même temps qu il lit les prochaines données. Dans un système multiprocesseur, plusieurs threads venant du même processus sont capable d être exécuté en même temps. - Structure de programme modulaire : les programmes qui impliquent une variété d activités, de sources ou de destinations d inputs/d outputs seraient plus simple à concevoir et à implémenter en utilisant des threads 5. Quelles ressources sont généralement partagées par tous les threads d un processus? (184) La même adresse spatiales, des fichiers ouverts, et encore d autres. 6. Quelles sont les avantages/désavantages des ULT par rapport aux KLT? (188) Avantages : On peut rester un user- mode, latence moins forte Désavantages : Impossible de planifier en même temps plusieurs threads du même processus sur les processeurs multiples ; si un thread d un processus est bloqué, on ne peut pas planifier un autre thread du même processus. 7. Que veux dire Jacketing? (188) Convertir un appel système bloquant en un non- bloquant Chapitre 5 : Concurrency : Mutual exclusion and Synchronization Binary/ Semaphore (233, 235, 243, 244) Busy waiting or Spin waiting (232) Concurrent processes interaction (225-227) Coroutine (266) Critical resource and section (226) Deadlock (226, 233) General or Counting semaphore (235, 242) Monitor (246) Mutual exclusion (226, 257) Mutex (233, 235-236) Race condition (220, 224) Semaphore (233) Starvation (220, 226, 233) Strong/weak semaphore (236) Message passing (253) 7

Questions : 1. Quelles sont les questions de design pour lesquelles le concept de concurrence est pertinent? (219, 220) - Dans les applications multiples : La programmation multiple a été inventée pour permettre au temps de traitement d être partagé dynamiquement parmi plusieurs applications actives. - Dans les applications structurées : Certaines applications peuvent être programmées efficacement comme en tant qu un groupe de processus concurrent. - Dans la structure de l OS : Ces mêmes avantages s appliquent aux programmes du systèmes. 2. Quand est qu une «race condition» se produit? (220) Quand plusieurs threads ou processus lisent et écrivent des données partagées et qu au final le résultat dépend du temps pris par leur exécution. 3. Quelle est la condition requise pour l exécution d un processus concurrent? (224) - L OS doit être capable de garder la trace des différents processus - L OS doit allouer et désallouer différentes ressources pour chaque processus actif - L OS doit protéger les données et les ressources physiques de chaque processus contre les interférences des autres. - Le fonctionnement d un processus et de l output qu il produit, doit être indépendant de sa vitesse d exécution et de la vitesse d exécution des autres (race condition) 4. Quels sont les degrés de conscience entre les processus? (225) - Aucune conscience : Ils sont indépendants et ne sont pas prévus pour travailler ensemble. - Conscient indirectement : ils ne sont pas nécessairement conscient mais partage l accès à un même objet. - Conscient directement : ils sont capables de communiquer entre eux par leur ID et sont construit pour travailler ensemble sur une certaine activitée. 5. Quels sont les 3 problèmes de contrôle associés aux processus en concurrence? (226) - Mutual exclusion : si plusieurs processus ont besoin d avoir un accès à une ressource non- partageable. - Deadlock : un processus attend l autre et l autre attend ce processus - Starvation : un processus n a jamais accès à la ressource 6. Quelle sont les conditions requise pour le support des exclusions mutuelles? (229) - Mutual exclusions doivent être appliquées : un seul processus est autorisé à aller dans la section critique - Un processus qui s arrête dans la section non- critique ne doit pas interférer avec les autres processus - Pas de deadlock ni de starvation - Quand il n y a pas de processus dans la section critique, n importe quelle processus voulant entrer doit être autorisé à entrer sans délai. - Aucun hypothèse à faire à propos de la vitesse relative du processus ou du nombre de processeurs 8

- Un processus ne peut rester dans la section critique que pendant un temps fini. 7. Quelles opérations peuvent être faites sur un sémaphore? (234) - Initialisation à une valeur non- négative - semwait opération : on décrémente la valeur du sémaphore ; si la valeur devient négative, le processus qui exécute l opération est bloqué - semsignal opération : on incrémente la valeur ; si la valeur devient plus grande ou égale à 0, le processus bloqué par semwait est débloqué. 8. Quels sont les faits qui restent inconnus quand un sémaphore est utilisé? (234-235) - Il est impossible de savoir avant qu un processus décrémente un sémaphore s il va bloquer ou pas. - Sur un système avec un seul processeur, il est impossible de savoir quel processus va continuer lorsqu un processus à incrémenter un sémaphore et qu un autre est réveillé. - Quand on signale un sémaphore, on ne sait pas nécessairement s il y a un autre processus qui attend. 9. Quelle est la différence entre un sémaphore fort et faible? (236) Un fort est défini par une polique FIFO : le premier qui attendait le processus sera le premier à l avoir. Ce n est pas le cas pour le faible. 10. Qu est ce qu un moniteur? (247) Un moniteur est un module logiciel consistant en une ou plusieurs procédures, une séquence d initialisation et des données locales. Il a les caractéristiques suivantes : - Les variables locales sont accessibles uniquement par les procédures du moniteur - Un processus entre dans le moniteur en invoquant une de ses procédures. - Seul un processus peut s exécuté dans le moniteur. Chapitre 6 : Concurrency : Deadlock and Starvation Banker s algorithm (291) Circular wait (287) Consumable resource (284-285) Deadlock avoidance (290) Deadlock detection (296) Deadlock prevention (288) Hold and wait (287) Joint progress diagram (280) Pipes (303) Resource allocation graph (286) Reusable resource (283-284) Spinlock (307-308) 9

Questions : 1. Qu est ce qu un graph d allocation des ressources? (286) C est un graph qui représente l état des ressources et processus du système, avec chaque processus et ressource représenté par un node. 2. Quelles sont les conditions nécessaires et suffisantes pour les deadlocks? (287) - Mutual exclusion : seulement un processus peut utiliser la ressource - Hold and wait : Un processus peut détenir des ressources allouées pendant qu il attend l affectation des autres. - No preemption : Aucun ressource ne peut être enlevée de force par un processus qui l a détient. - Circular wait : Une chaine fermée de processus existe, tel que chaque processus détient au moins une ressource nécessaire au processus suivant de la chaine. 3. Comment la circulair wait diffère des autres conditions nécessaires pour les deadlocks? (287) Car les 3 premières conditions sont nécessaires, mais pas suffisante pour assurer un deadlock. 4. Comment la condition hold- and- wait peut- elle être empêchée? (289) En obligeant le processus à prendre toutes les ressources requises en une fois et en le bloquant tant que toutes ces ressources là ne sont pas disponibles en même temps. 5. Donne 2 façons par laquelle la condition no- preemption peut être évitée (289) - Si un processus détenant quelques ressources se voit refusé une requête, ce processus doit relâcher les ressources qu il détenait. - Si un processus souhaite une ressource déjà détenue par une autre processus, l OS doit dire au premier processus de relâcher les ressources qu il détenait. 6. Comment la circulair wait peut être évitée? (289) En définissant un ordre linéaire d allocation des types de ressources. Si un processus allouent des ressources de type R, il peut alors demander seulement les ressources de ce type. 7. Que réfléchit l état du system? Que veux dire un safe state? (291) L état du système réfléchit les allocations en cours des ressources du système. Un safe state veut dire qu il y a au moins une séquence d allocation des ressources à traiter qui n aura pas comme résultat un deadlock. 10

Chapitre 7 : Memory Management Buddy system (337-338) Compaction (334) Dynamic partitioning (334) Dynamic run- time loading (357) External fragmentation (334) Fixed partitioning (330) Frame (327, 341) Internal fragmentation (332) (Dynamic) Linking (357-358) Logical/Physical/ Relative address (340) Memory management (326) Paging / Page (table) (341) Partitioning (330) Physical organization (329) Protection (328) Relocation (327, 339) Segmentation (345) Sharing (329) (Absolute) Loading (354-357) Questions : 1. En quoi la mémoire principale est différente dans un système multiprogrammes que dans un uniprogramme? (326) Dans un système uniprogramme, la mémoire principale est divisée en 2 parties : une pour l os, et une pour le programme en exécution. Dans un système multiprogrammes, la partie utilisateur de la mémoire doit être divisée pour pouvoir gérer les multiples processus. 2. Pourquoi la capacité de transférer les processus est- elle importante? (327) Car il est important de pouvoir bouger de place des processus actifs de la mémoire principale pour maximiser l utilisation des processeurs en fournissant une grande nombre de processus prêt à être exécuté. Ce transfert à lieu également pour ne pas qu un processus transféré sur le disque soit remis après dans la même région de la mémoire. 3. Quels sont les raisons d autoriser plusieurs processus à avoir accès à la même région de la mémoire? (329) Si ces processus exécutent le même programme, l accès à la même région de la mémoire permet la coopération de certaines taches. 4. Quels sont les désavantages du partitionnement à tailles différentes par rapport au partitionnement à tailles égales? (334) - Le nombre de partitions spécifiées à la génération du système limite le nombre de processus actifs dans le système. - Parce que les tailles des partitions sont spécifiées à la génération du système, les petits «travaux» n utiliseront pas l espace de partition efficacement. 5. Que veux dire «compaction»? (334) 11

L OS déplace de temps en temps les processus de sorte qu ils soient contigus et que la mémoire libre reste assemblée en un morceau. 6. Quelle est la distinction entre adresse relative, logique et physique? (340) Une adresse logique est une référence à la location de la mémoire, indépendante de l affectation des données dans la mémoire. Une adresse relative est un exemple particulier d adresse logique, dans laquelle l adresse est exprimée comme un emplacement relatif à un certain point, généralement une valeur dans un registre du processeur. Une adresse physique est l emplacement actuel dans la mémoire principal. 7. Quelles sont les différences entre une page, une frame et un segment? (341, 345) Page = Morceau d un processus Frame = Morceau disponible de la mémoire Segment = Morceau d un programme Chapitre 8 : Virtual memory Associative Mapping (371) Demand Paging (381) Fetch Policy (381) Internal Fragmentation (363, 374) Locality (Principe) (364) Page Fault (370) Page (Re)placement policy (382) Prepaging (381) Resident Set (362) Resident Set Management (390) Segmentation (345-346) Slab Allocation (406) Thrashing (364) Translation lookaside Buffer (TLB) (369-370) Virtual Memory (363) Working Set (392) Real Memory (363) Questions : 1. Qu est ce que la mémoire réelle et virtuelle? (363) La mémoire réelle est la mémoire principale où s exécutent les processus. La mémoire virtuelle est la mémoire beaucoup plus grande qui est allouée sur le disque. 2. Expliquez le «trashing» (364) Il s agit du phénomène où l OS «jette» une partie d un processus se trouvant en mémoire pour amener une autre partie du processus et ce, alors que la partie allait être utilisée. Il va donc devoir aller rechercher cette partie du processus. C est ce phénomène, répété trop souvent, que l on appelle «trashing» 3. Pourquoi est- ce que le principe de localité est- il crucial dans l utilisation de la mémoire virtuelle? (364) 12

Car il permet de faire des suppositions intelligentes à propos de l utilité future des pièces d un processus, ce qui permet d éviter le trashing. 4. Quels éléments se trouve normalement dans une page table? (366) - Le numéro de frame de la page correspondante dans la mémoire principale - Un bit de présence (P) qui indique si la page est dans la mémoire principale ou pas. - Un bit de modification (M) qui indique si le contenu de la page correspondante a été modifiée depuis la dernière fois où elle est été chargée dans la mémoire principale. - D autres bits de contrôle si, par exemple, la protection ou le partage est géré au niveau des pages. 5. Quel est le but principal du TLB? (370) Eviter de doubler le temps d accès à la mémoire en utilisant un cache à haute vitesse. 6. Qu est ce que le «prepaging»? Quand est- il plus efficace que le «demand paging»? (381) Avec le prepaging, d autres pages que celles demandées par une page fault sont chargées. Il exploite au mieux les caractéristiques de la plupart des appareils de mémoires secondaires, comme par exemple les disques. Il est donc plus efficace si les pages d un processus sont stockées de façon adjacente dans la mémoire secondaire, car il amène un certain nombre de pages en un seul coup. Il faut cependant que la plupart des pages amenées soit référencées. 7. Quelle est la différence entre une gestion du «resident set» et la politique de «page replacement»? (382) Resident set management : 2 concepts : - Combien de page frames vont être allouées pour chaque processus actif. - Est- ce que l ensemble des pages considérées pour le remplacement doit être limité à celle du processus qui à causé la page fault ou doit englobé toutes les page frames dans la mémoire principale? Page replacement : 1 concept : - Selon l ensemble des pages considérées, quel(s) page(s) doit être sélectionnée(s) pour le remplacement. 8. Pourquoi la solution optimale de «page replacement» n est- elle pas possible à implémenter? (383) La solution optimale serait de sélectionner la page pour lequel le temps vers la prochaine référence est la plus longue. C est impossible à implémenter car il faudrait que l OS ait une connaissance parfaite des évènements futurs. 9. Qu est ce qui est accompli par «page buffering»? (389) Le page buffering part simplement de l algorithme FIFO pour le remplacement de page. Mais pour améliorer les performances, la page remplacée n est pas perdue mais plutôt assignée à une des 2 listes : la liste des pages libres si la page n a pas encore été modifiée, ou la liste des pages modifiée sinon. La page n est par contre pas déplacée physiquement dans la mémoire principale ; c est l entrée de la page dans la table qui est supprimée et placée dans la liste. La page remplacée reste donc en mémoire. Donc si le processus référence cette page, il est renvoyé au resident set du processus à moindre cout. En fait, les listes de pages libres et modifiées agissent comme des caches de pages. La liste des pages modifiées à également une autre fonction utile : les pages modifiées sont écrites en clusters plutôt qu une à la fois. Cela réduit significativement le nombre d opérations I/O et donc le temps d accès au disque. 13

10. Quelle est la corrélation entre la portée du remplacement et la taille du «resident set»? (391) Un resident set fixe implique une politique de remplacement local : pour maintenir la taille de l ensemble, une page qui est effacée de la mémoire principale doit être remplacée par une autre page du même processus. A contrario, une allocation variable peut clairement employer une politique de remplacement global. Ce remplacement provoque l augmentation d une page de l allocation d un processus et la diminution d une page pour l autre. 11. Quelle est par défaut l espace d adresse virtuelle d un processus utilisateur sur un Windows 32- bit? (407) De 0x00010000 à 0x7FFEFFFF. 12. Expliquez le défaut de l approche par fréquence de «page fault» (PFF) (395) L approche PFF n est pas très performante pendant la période transitoire durant laquelle il y a un déplacement vers un nouvel endroit. Pendant cette transition, la succession rapide de page fault provoque une grosse augmentation du resident set du processus avant que les pages de l ancienne position ne soient exclues. Ce pic soudain de la demande en mémoire peut produire la désactivation et la réactivation de processus non- nécessaire, ce qui correspond à de trop nombreuses permutations. Chapitre 9 : Uniprocessor Scheduling Dispatcher (420) Exponential averaging (430) Fair- share Scheduling (440) Fairness (421) First- come- first- served (427) Long/Medium/Short- term Scheduler (417-420) Multilevel feedback (434) Predictability (421) Response time (421) Round robin (427-429) Throughput (421) Time slicing (427) Turnaround time (TAT) (425) Waiting time (438-439) Questions : 1. Décrivez brièvement les 3 types de «processor scheduling» (417-420) Long terme : Détermine quels programmes sont autorisés par le système pour le traitement. Il contrôle également le degré de multiprogramming. Une fois admis, le programme devient un processus et est ajouté à la file pour le scheduler de court terme. Moyen terme : fait partie de la fonction d échange. La décision d échanger est basée sur le besoin de gérer les degrés de multiprogramming. Dans un système sans mémoire virtuelle, la gestion de la mémoire est également une caractéristique. Court- terme : Aussi connu sous le nom de dispatcher. C est celui qui exécute le plus et décide quel processus sera le prochain à être exécuté. Il est invoqué quand un évènement qui peut conduire au blocage du processus courant ou qui peut fournir une opportunité de préempter un processus en marche en faveur d un autre, arrive. 2. Quelle est l exigence de performance habituelle dans un OS interactif? (422) 14

Un temps de réponse adéquat. 3. Quelle est la différence entre TAT et response time? (424) Response time : Temps entre la soumission de la requête et la réponse reçue. TAT : Temps total passé dans le système par l objet (temps d attente + temps de service) 6. Pour quels processus le FCFS a- t- il de meilleures performances? (440) Pour les longs processus 7. Quelle est la question principale du design du «round- robin scheduling»? Pourquoi- est important? (428) La longueur du quantum de temps. Si il est très court, les processus courts vont bouger à travers le système très vite mais il risque d avoir une surcharge dans la gestion de l horloge, la programmation et l envoi de fonction. Le quantum de temps doit être légèrement plus grand que le temps requis pour une interaction normale. 8. Quelle est la différence entre «shortest process next» et «shortest remaining time»? (431-432) SPN, on prend le processus qui a un temps d exécution estimé le plus court, et on l exécute en entier. SRT, on prend le processus dont le temps d exécution restant estimé est le plus court, mais si en nouveau processus arrive avec un temps plus court, on exécute le nouveau. 9. Pourquoi la moyenne exponentielle est- elle meilleure que la simple? (431) Car elle suit l évolution du comportement d un processus plus rapidement que la simple. 10. Quelle est la caractéristique commune entre SPN, SRT et HRRN? (433) On est obligé d estimé le temps de service attendu pour pouvoir les utiliser. 11. Y a- t- il un moyen par lequel de courtes taches puissent être meilleures sans avoir à estimer leur temps de service attendu? (433-434) Oui, en utilisant la méthode du feedback. On se base sur le temps d exécution du processus jusqu à présent. Plus le processus dure longtemps (et est interrompu), plus il se trouve dans une file à basse priorité. Les processus courts sont donc favorisés par rapport au plus long et plus vieux processus. Chapitre 10 : Multiprocessor and Real- time Scheduling (A)Periodic/Hard real- time/soft real- time task (463) Deadline scheduling (468-469) Deterministic operating system (463) Fail- soft operation (464-465) Gang scheduling (459) Load sharing (457-458) (Unbounded) Priority inversion (475) Rate monotonic scheduling (472-473) Real- time scheduling (467) Responsiveness (464) Granularity (452) Questions : 1. Comment sont classés les systèmes multiprocesseurs? (451) Thread scheduling (457) 15

- Multiprocesseur distribué : collection de systèmes relativement autonomes, chaque processeur a sa propre mémoire principale et ses propres chaines I/O. - Processeurs fonctionnellement spécialisés : Controlés et au service d un processeur maitre. - Multiprocesseur couplé : Ensemble de processeurs partageant la même mémoire principale et sous le contrôle intégrale d un OS. 2. Listez et définissez brièvement 4 techniques pour le thread scheduling (457) - Load sharing : Les processus ne sont pas assignés à un processeur en particulier. Une liste globale de threads prêts est maintenue, et chaque processeur sélectionne un thread de la liste. - Gang sharing : Un ensemble de threads en relation est assigné à un ensemble de processeurs et vont être exécutés en même temps, un thread par processeur. - Assignement à un processeur dédié : Opposé du load sharing. Assignements des threads aux processeurs. A chaque programme est alloué, pour toute la durée de son exécution, un nombre de processeurs égal au nombre de threads dans le programme. - Scheduling dynamique : Le nombre de threads dans un processus peut être modifié pendant son exécution. 3. Listez et définissez brièvement 3 versions du load sharing. (458) - First- come- first- served : Quand une tache arrive, chacun de ses threads est places consécutivement à la fin de la liste partagée. Quand un processeur est libre, il prend le prochain thread ready, qu il exécute jusqu à la fin ou jusqu à ce qu il bloque. - Le plus petit nombre de threads en premier : La liste partagée est organisée comme une liste prioritaire, avec la plus grande priorité donnée aux threads venant de la tache qui contient le plus petit nombres de threads non- réalisés. - Modèle «preemptive» : même chose que la précédente, sauf que si une tache avec un plus petit nombre de threads non réalisés arrive, l autre tache va être interrompue et la nouvelle va être exécutée. 4. Quelle est la différence entre hard et soft real- time tasks? (463) Hard : doit arrivé à la deadline, sinon erreur fatale au système. Soft : Ne doit pas arrivé obligatoirement à la deadline, même si c est le but recherché. Si la deadline est dépassée, la tache continue son exécution. 5. Quelle est la différence entre les real- time tasks périodiques et apériodiques? (463) Apériodique : A une deadline de départ ou d arrivée, ou a une contrainte sur le départ et l arrivée Périodique : La deadline doit être «une fois par période T» ou «exactement T unités plus loin». 6. Listez les composants typiques qu un système real- time possède pour remplir les critères de déterminismes, réponses, contrôle utilisateur, reliability et de fail- soft opération. (465) - Changement rapide de processus ou de threads - Petite taille (associé à «fonctionnalité minimum») - Don de répondre vite à une interruption externe 16

- Multitaches avec des outils de communications entre processus tels que les sémaphiores, les signaux et les events - Utilisation de fichiers séquentiels spéciaux qui peuvent accumuler des données à un taux très rapide. - Preemptive scheduling basé sur la priorité - Minimisation des intervalles durants lesquels une interruption est désactivée - Primitives pour repousser des taches à un certain temps et pour mettre en pause/reprendre les taches. - Alarmes spéciales et timeout. 7. Listez et définissez brièvement 4 classes d algorithmes real- time scheduling. (467) - Static table- driven approaches : Fait une analyse statique de la faisabilité des processus. Il en résulte un planning qui détermine, au départ, quand une tache doit démarrer son exécution - Static priority- driven preemptive approaches : A nouveau, une analyse statique est faite, mais elle est cette fois utilisée pour assigner une priorité aux taches. - Dynamic planning- bases approaches : La faisabilité est déterminée lors de l exécution plutôt qu au départ. Une tache qui arrive est acceptée seulement si on est sur de la faire terminer à temps. Il en résulte également un planing. - Dynamic best effort approaches : Pas d analyse faite. Le système essaye de remplir toutes les deadlines à temps mais arrête chaque processus dont la deadline est passée. 8. Quelles informations peuvent être utiles dans un real- time scheduling? (468-469) - Ready time : le temps à laquelle la tache devient prête à être exécutée. - Début de la deadline - Fin de la deadline - Processing time : Temps requis pour exécuter la tache - Ressources requises - Priorité - Structure de la sous tache : Une tache peut être décomposée en une sous- tache obligatoire et une optionnelle. Seul l obligatoire possède une hard deadline. Chapitre 11 : Management and Disck Scheduling Block/Stream- oriented device (504) Circular Buffer (506) Direct Memory Acess (DMA) (499) Disk Access time (507) Disk cache (523) Interrupt- driven I/O (497) I/O Buffer (504) I/O Channel /Processor (498) Logical/Device I/O (502) Programmed I/O (497) Redudant array of independent disks (RAID) (514-515) Rotational delay (507-508) 17

Seek time (507-508) Transfer Time (507-508) Questions : 1. Listez et définissez brièvement 3 techniques pour l exécution d I/O (497) - I/O programmé : Le processeur lance une commande I/O au nom du processus, à un module I/O. Le processus devient alors occupé et attend que l opération soit terminée avant de procéder. - Interrupt- driven I/O : Le processeur lance une commande I/O au nom du processus. 2 possibilités. Si l instruction I/O est non- bloquante, le processeur continue d exécuter les instructions du processus qui à lancé la commande I/O. Sinon, la prochaine instruction que le processeur exécute provient de l OS, qui va mettre le processus courant dans un état bloquant et planifier un autre processus. - DMA ; Un module DMA contrôle l échange de données entre la mémoire principale et un module I/O. Le processeur envoie une requête pour le transfert d un bloc de donnée vers le module DMA et est interrompu seulement après que le bloc ait été entièrement transféré. 2. Quelle est la différence entre I/O logique et I/O périphérique? (502) Le module I/O logique traite avec le dispositif comme une ressource logique et n est pas concerné par les détails du contrôle du dispositif. Il gère à la place les fonctions I/O générales au nom des processus utilisateurs, les autorisant à traiter avec le dispositif en terme d identifiant et de commandes simples comme open, close, read et write. Les opérations demandées et les données sont converties en séquences d instructions et de chaines de commandes I/O dans l I/O périphérique. 3. Quelle est la différence entre un périphérique block- oriented et stream- oriented? Donnez quelques exemples de chaque. Block- oriented : Stocke les informations en bloc généralement de taille fixe, et fait le transfert bloc par bloc. Exemple : Disque et clé USB. Stream- oriented : Transfère les données comme un stream de bytes, sans vraiment de structure. Exemple : Imprimantes, souris, ports de communications, 4. Pourquoi vous vous attendez à améliorer les performances avec un double buffer par rapport à un simple? (506) 5. Qu est ce que le seek time, rotational delay, access time, transfer time? (507) Seek time : Le temps qu il faut positionner la tête sur le bon circuit. Rotationnal delay : le temps qu il faut au début du secteur pour atteindre la tête. Access Time : Le temps qu il faut pour être en position de lire ou écrire. Transfer time : Temps requis pour le transfert. 6. Qu est ce que le «arm- stickiness»? Comment l éviter? (513-514) C est lorsque le «bras» ne bouge pas pendant une période de temps considérable. Pour éviter cela, la file de requête du disque peut être segmentée, avec un segment traité complètement à la fois. 18

7. Définissez brièvement les 7 niveaux du RAID. (515-522) Chapitre 12 : File Management Access Method (546) Bit Table (568) Bloc (564) Chained File allocation (566) Contiguous File allocation (565) Database (543) Disk Allocation table (567) Field (542) File (543) File allocation (563-567) File directory (556) File management system (544) Indexed file (551-552) Indexed file allocation (567) Indexed sequential file (550-551) Inode (574) Key Field (550) Naming (558) Pathname (558) Pile (549) Record (543) Sequential File (550) Volume (570) Working Directory (559) Hashed/Direct File (552) Questions : 1. Quelle est la différence entre un champ et un record? (542-543) Un champ contient une seule donnée, comme le nom d un employé. Il est caractérisé par sa longueur et son type de donnée. Il peut être de taille fixe ou variable. Il peut être divisé en 2 ou 3 sous- champs : la valeur, le nom du champ et parfois la longueur du champ. Un record et une collection de champs liés qui peuvent être traité comme une seule unité par certains programmes. 2. Quelle est la différence entre un fichier et une base de données? (543) Un fichier est une collection de records similaires. Il est traité comme une seule entité par les utilisateurs et les applications, et peut être référence par un nom. Les fichiers ont des noms de fichiers et peuvent être créés et supprimés. On peut appliquer un contrôle d accès sur eux. Une base de données est une collection de données liées. Les relations entre ces éléments sont explicites et elle est désignée pour être utilisée par un certain nombre d application différents. Elle contient un ou plusieurs types de fichiers. 3. Quelles sont les opérations que l on peut faire sur un fichier? (543-544) 19

- Retrieve_all : Récupérer tous les records d un fichier. - Retrieve_one : Récupérer un seul record. - Retrieve_next : Récupérer le prochain record (dans une logique de séquence des records récupérer récemment) - Retrieve_next : Récupérer le précédent record. - Insert_One : Insérer un nouveau record dans le fichier. Il peut être nécessaire que le nouveau record soit insérer à une position particulière pour préserver un certain lien dans le fichier. - Delete_one : Supprimer un record existant. Certaines structures données devront peut- être être modifiée pour préserver un certain lien dans le fichier. - Update_one : Récupérer un record, modifie un ou plusieurs de ses champs et réécrit le record modifié dans le fichier. - Retrieve_few : Récupérer un nombre de records 4. Quels sont les différents niveaux dans l architecture du système de fichiers? (545-546) - Au plus bas level, les drivers des périphériques communiquent directement avec les périphériques ou leur contrôleur. Ils sont responsables du démarrage des opérations I/O d un périphérique et du traitement des requêtes I/O. Sont habituellement considérés comme faisant partie de l OS. - Le niveau suivant est le basic file system, ou le niveau de l I/O physique. C est l interface primaire de l OS avec l environnement extérieur. Il gère les blocs de données qui sont échangés avec le système de disque. Ainsi, il est préoccupé par le placement de ces blocs dans l appareil de stockage secondaire et par le buffering de ces blocs dans la mémoire principale. Souvent considérés comme faisant partie de l OS. - Le superviseur basique I/O est responsable pour tous les fichiers du lancement et de la terminaison de l I/O. A ce niveau, les structures de controles sont maintenues au traitement avec les périphériques I/O, avec le scheduling et avec le statut des fichiers. Le superviseur choisit le périphérique sur lequel le fichier I/O va être enclenché. Il va aussi gérer les plannings d accès au disque pour optimiser les performances. Fait partie de l OS. - Logical I/O permet aux utilisateurs et aux applications d accéder aux records. Il échange donc avec les records des fichiers. - Le niveau le plus proche de l utilisateur est souvent appelé l access method. Il fournit une interface standard entre les applications et les systèmes de fichiers et les périphériques qui renferment les données. 5. Liste et définis brièvement les 5 organisations de fichiers (549-552) - La pile : Données sont mises dans l ordre d arrivée. Chaque record contient une partie de données. Le but de la pile est simplement d accumuler la masse de donnée et de la sauver. Les records peuvent avoir différents champs, ou les mêmes champs dans un ordre différent. Et donc chaque champ doit s auto- décrire, avec un nom de champ et une valeur. - Fichier séquentiel: Structure la plus commune. Ici, un format fixe est utilisé pour les records. Tous les records doivent avoir la même longueur, avec le même nombre de champs de longueur fixe dans un ordre particulier. Seul la valeur du champ à besoin d être stocké car le nom des champs et la taille sont des attributs de la structure. Un champ particulier, habituellement le premier de chaque enregistrement, est désigné comme le champ clé. Ce champ sert à identifié les records, ainsi sa valeur est différente pour chaque. De plus, les records sont stockés dans l ordre des clés, soit alphabétiquement, soit numériquement. 20

- Fichier séquentiel indexé : 2 ajouts par rapport à la non- indexée : un index au fichier pour supporter l accès aléatoire et un fichier d overflow. L index permet d accéder rapidement à proximité d un record recherché. Le fichier d overflow est similaire à un fichier log mais est intégré de la façon que l enregistrement dans ce fichier est localisé grâce à un pointeur venant de l enregistrement précédant. Plusieurs niveaux d indexation peuvent être utilisés. - Fichier indexé : Le problème des fichiers séquentiels est que si la recherche est faite sur un champ autre que le champ clé, ils sont inefficaces. Ici, le fichier indexé emploie un index pour chaque type de champs sujet à une recherche. 2 types d index sont utilisés : un index exhaustif, qui contient une entrée pour chaque record dans le fichier principal, organisé comme un fichier séquentiel, et un index partiel, contenant les entrées des records ou ù les champs intéressants existent. - Fichier direct ou hashé : Exploite la capacité des disques d accéder directement à n importe quel bloc d une adresse connue. Un champ clé est également nécessaire pour chaque record, mais il n y a pas de tri séquentiel ici. 6. Combien de temps en moins faut- il en moyenne pour trouver un record dans un fichier indexé séquentiellement par rapport à un fichier séquentiel? (551) Pour un fichier avec 1.000.000 de records, on passe de 500.000 accès à seulement 1.000, du moins, avec un seul index de 1.000 entrées. 7. Quelles sont les opérations que l on peut faire sur un répertoire? (557) Recherche, créer un fichier, supprimer un fichier, faire une liste du répertoire, et modifier le répertoire. 8. Quel est le principal avantage d un répertoire structuré comme un arbre? (557-558) 2 fichiers situés à un niveau différent de l arbre peuvent avoir le même nom. 9. En terme de droits d accès, liste les différentes classes d utilisateurs. (561) - Utilisateur spécifique : Utilisateurs individuel qui est désigné par un UID. - Groupes d utilisateurs : Ensemble d utilisateurs qui ne sont pas définis individuellement. - Touts : Tous les utilisateurs ayant accès au système. Fichier public. 10. Liste et définis brièvement 3 méthodes de blocage. (561-562) - Blocage fixé : Record de taille fixe utilisés, et un nombre entier de records sont stockés dans le bloc. Il peut y avoir de l espace inutilisé à la fin de chaque bloc (fragmentation interne). - Blocage de taille variable enjambé : Records de taille variable utilisés et sont «tassé» en bloc sans espace inutilisé. Ainsi, certains records peuvent apparaitre dans 2 blocs, avec la continuation indiquée par un pointeur vers le bloc successeur. - Blocage de taille variable non- enjambé : Peut y avoir de l espace gaspillé dans la plupart des blocs vu l incapacité d utilisé un pointeur vers un bloc si le prochain record est trop grand que l espace restant. 11. Quels sont les éléments basiques d une matrice d accès? (573) - Sujets : Entité capable d accéder aux objets. Equivaut généralement avec le concept de processus. N importe quel utilisateur ou application a en fait accès à un objet par les moyens d un processus qui représente cet utilisateur ou cette application. - Objets : N importe quel truc auquel l accès est contrôlé. (Fichiers, portions de fichiers, programmes, ) 21

- Droit d accès : La façon dont un objet peut être accessible par un sujet. (Lecture, écriture, exécution, ) 22