Ordinateurs, Structure et Applications GIF-1001 Cours 12a, Le BIOS et UEFI Etienne Tremblay Université Laval, Hiver 2014 GIF-1001 Cours 12, p.1 Le BIOS • • • BIOS signifie Basic Input Output System Le BIOS est une mémoire non-volatile, contenant un programme qui s’exécute au démarrage de votre ordinateur. Le BIOS est sur la carte mère. Les premiers BIOS étaient soudés à la carte mère et inchangeables (en mémoire ROM). Cependant, les BIOS modernes sont configurables et souvent en mémoire FLASH. GIF-1001 Cours 12, p.2 Les rôles de BIOS • Le BIOS a plusieurs fonctions: – Self-test de l’ordinateur (POST) – Lancer le système d’exploitation – Acquérir et maintenir l’information de base sur les périphériques du système. – Fournir une librairie de fonctions au système d’exploitation afin de contrôler les périphériques (sous la forme d’interruptions). Ces fonctions sont beaucoup moins utilisées avec les systèmes d’exploitation récents. – Dans les ordinateurs modernes, le BIOS a acquis plusieurs autres tâches secondaires, souvent reliées aux périphériques: gestion de la puissance, gestion de la température, support pour le plug N play, etc. GIF-1001 Cours 12, p.3 Le POST • • Le POST est le Power On Self Test Les tests suivants sont effectués dans l’ordre sur les PC compatibles: – 1.Test du microprocesseur lui-même (test des registres en écriture et en lecture) – 2.Test de la ROM contenant le programme de démarrage et le BIOS (vérification du «checksum» de la mémoire) – 3.Initialisation du contrôleur de DMA – 4.Test des 16 premiers K de mémoire RAM – 5.Initialisation du contrôleur d’interruption et des interruptions – 6.Test du temporisateur servant à compter le temps – 7.Test de l’adaptateur d’écran et affichage du curseur – 8.Test de l’ensemble de la mémoire RAM – 9.Test du clavier – 10.Vérification de la présence d’un lecteur de disquette ou d’un disque dur – 11.Test de l’imprimante et des ports de communication – 12.Comparaison des résultats obtenus lors des tests avec la configuration sauvegardée en mémoire CMOS (petite quantité de mémoire dont le contenu est préservé par une batterie au lithium) – 13.«Beep» du haut-parleur GIF-1001 Cours 12, p.4 Lancement du système d’exploitation • • Une fois les tests initiaux complétés, la seconde partie du programme de démarrage va être exécutée: le «boot-strap loader». Le «boot-strap loader» est une courte routine utilisée pour charger un programme à partir du disque. Essentiellement, cette routine tente de lire un enregistrement appelé le «boot record» sur le disque (ou un CD/DVD). Le «boot record» est rangé sur la première piste du disque (de la disquette). Le «boot-strap loader» cherche d’abord sur C: (configurable pour certains BIOS, peut même être sur D: ou E:, c’est-à-dire à partir de CD/ROM). Si cette tentative est réussie, le «boot-strap loader» passe le contrôle au programme qui est rangé dans cet enregistrement. Le rôle de ce programme est d’abord de charger le reste du système d’exploitation. Le processus décrit ci-dessus, le boot strapping, est aussi appelé IPL, ou Initial Program Load. GIF-1001 Cours 12, p.5 BIOS et périphériques • • • Le BIOS fournit une interface avec le matériel de l'ordinateur au système d'exploitation sous la forme d'une librairie d'interruptions. Par exemple, chaque fois qu'une touche du clavier est enfoncée, le processeur utilise une interruption du BIOS pour lire la touche. C'est le même principe pour les autres composantes d'entrées/sorties (ports séries et parallèles, cartes vidéo, cartes de son, contrôleurs de disque, etc.). Les fonctions d’accès aux périphériques du BIOS sont minimalistes: leur but est de permettre le chargement du système d’exploitation. C’est pour cette raison qu’elles sont habituellement remplacées par celles du système d’exploitation qui réécrit la table des vecteurs d’interruption. Le BIOS offre souvent des options à l’usager reliées au démarrage de l’ordinateur ou aux périphériques. GIF-1001 Cours 12, p.6 Exemples d’options du BIOS • • • • Boot Sequence – Cette option permet de définir par ordre de priorité sur quel support/périphérique doit booter votre PC. IDE (Primary, secondary) Master / Slave – Ces options permettent de définir le disque rattaché aux ports IDE de la carte mère. Typematic Rate Delay (Msec) – Cette option permet de définir le temps qui s’écoule avant la répétition d’un caractère. SDRAM RAS-to-CAS Delay – SDRAM est de la mémoire DRAM rapide (Synchronous DRAM) – Les données sont emmagasinées sous la forme de tableaux 2D en mémoire DRAM. Les lignes RAS et CAS du processeur (Row/Colomn Address Strobe) permettent d’aller chercher des données de la DRAM. Lorsque des données sont requises, RAS est activé afin de choisir la rangée, puis CAS est activé afin de choisir la colonne. Il existe un délai minimum entre l’activation de RAS et celle de CAS. GIF-1001 Cours 12, p.7 La RAM CMOS • • • • Le CMOS (complementary metal-oxide semiconductor ) est une technologie de circuit intégré qui une utilise une voltage plus bas que le TTL (3.3V plutôt que 5V) et qui consomme moins de puissance que le TTL. La RAM CMOS est une très petite zone de mémoire (64bytes initialement) qui est maintenue alimentée par une pile (ou un gros condensateur) lorsque l’ordinateur est éteint. Par abus de langage, elle est communément appelée CMOS, simplement. La RAM CMOS contient plusieurs informations relatives au matériel d’un PC telles que les types de disque dur, de clavier, d’écran et de chipset. La RAM CMOS contient aussi la date et le temps du système qui est mis à jour par un RTC (Real Time Clock, un circuit qui compte le temps, alimenté aussi par la pile et consommant peu d’énergie). L’information contenue dans la RAM CMOS est utilisée par le BIOS. GIF-1001 Cours 12, p.8 La RAM CMOS de EMU8086 Adresse (hex) Taille Description 0040h:0010 WORD (MOT) Liste de l'équipement BIOS 0040h:0013 WORD (MOT) Nombre de kilo-octets de mémoire contiguë commençant à l'adresse absolue 0040h:004A WORD (MOT) Nombre de colonnes de l'écran. 0040h:004E WORD (MOT) Page vidéo courante débutant à l'adresse de la mémoire vidéo 0040h:0050 8WORDs 8 MOTS Contient la position de la ligne et colonne pour les curseurs de chacune des huit pages vidéo. 0040h:0062 BYTE (OCTET) Numéro de la page vidéo courante. 0040h:0084 BYTE (OCTET) Nombre de lignes de l'écran, minimum une. Tiré de EMU8086 GIF-1001 Cours 12, p.9 Notes à propos du UEFI • • • Le UEFI (Unified Extensible Firmware Interface) est un programme qui est conçu pour remplacer le BIOS Il tient plus du système d’exploitation que du « Binary Input/Output System » Il offre un contrôle avancé des ressources de l’ordinateur même s’il n’y a pas de système d’opération d’installé – Interface graphique à fenêtre – Accès à internet – Mesures de sécurité et anti-virus intégrés – Détection de logiciels problématiques intégrés (ex. Linux en « dual boot ») GIF-1001 Cours 12, p.10 Petite histoire du UEFI • • • • Intel fournit des spécifications pour le UEFI en 1998 L’initiative est transférée à un consortium dont fait partie AMD, Apple, IBM, Microsoft etc. en 2005 2012: Windows 8 est compatible avec le UEFI, mais le support pour le BIOS est encore là pour ne pas forcer la mise au rancart des PCs à BIOS et les autres joueurs tardent à suivre Fait intéressant, le UEFI comprend des mesures pour rendre le démarrage sécuritaire: Windows 8 est maintenant en mesure de détecter une installation Linux sur un système « dual-boot »: il tolère pour l’instant… GIF-1001 Cours 12, p.11 Architecture simplifiée du UEFI • • • 12 Les couches supérieures communiquent avec le UEFI qui est un système d’opération en soi Le UEFI s’occupe du matériel et des communications avec l’extérieur Il ne s’agit pas d’un BIOS amélioré Références et exercices • • Références – LE BIOS DE VOTRE ORDINATEUR.doc, Demarrage.doc ainsi que LE BIOS.doc – Les systemes d'exploitation.doc et Structure d'acces au materiel.doc Exercices – Décrivez la séquence de démarrage de votre PC. – Qu’elle est la différence entre DRAM, SRAM, RAM et RAM CMOS? GIF-1001 Cours 12, p.13 Ordinateurs, Structure et Applications GIF-1001 Cours 12b, Présentation des systèmes d’exploitation Etienne Tremblay Université Laval, Hiver 2012 GIF-1001 Cours 12, p.14 Définition de système d’exploitation (SE, Operating System, OS) • Un système d’exploitation est un ensemble de programmes qui gèrent les ressources matérielles d’un ordinateur et qui rendent ces ressources disponibles à l’usager, de telle sorte que l’usager peut utiliser effacement son ordinateur. GIF-1001 Cours 12, p.15 Rôles du système d’exploitation • • Les principaux rôles d’un système d’exploitation sont: – Fournir une interface usager conviviale. – Gérer, lire et exécuter des programmes. – Gérer les ressources matérielles de l’ordinateur. Le but d’un système d’exploitation est de facilité l’utilisation de l’ordinateur et de rendre son utilisation efficace. GIF-1001 Cours 12, p.16 Le système d’exploitation: un programme • Le système d’exploitation est un programme. – Il occupe une partie de la mémoire de l’ordinateur. – Il est chargé en mémoire par le BIOS. – Le système d’exploitation est chargé de lancer d’autres programmes. Il doit « abandonner » le contrôle du microprocesseur aux autres programmes pour que ceux-ci puissent être exécutés. – Un système d’exploitation est toujours composé de plusieurs parties. Il comprend un programme pour interfacer avec l’usager, des routines pour traiter les interruptions, des interfaces logicielles pour accéder aux fichiers sur les disques durs, etc. GIF-1001 Cours 12, p.17 Un vision simplifiée des services d’un système d’exploitation (1/2) Usager/ Programmeur Applications et Utilitaires Interface de commandes Gestion des fichiers Noyau du Système d’Exploitation Gestion du réseau Réseau Gestion des Entrées/Sorties Matériel Système d’exploitation GIF-1001 Cours 12, p.18 Un vision simplifiée des services d’un système d’exploitation (1/2) • Un système d’exploitation doit fournir les services suivants: – Une interface de commandes pour l’usager – Un support pour la création de programmes – Une gestion des fichiers – Une gestion des programmes et applications – Une façon de poursuivre le démarrage de l’ordinateur amorcé par le BIOS – Un service des interruptions (Software et Hardware) – Une gestion des entrées/sortie et du matériel qui y est relié. – Des services pour les réseaux et pour le matériel qui y est associé. – Une mesure des statistiques et performances de l’ordinateur. GIF-1001 Cours 12, p.19 Les premiers ordinateurs • Il n’y avait pas de système d’exploitation sur les premiers ordinateurs: – Les premiers ordinateurs étaient constitués d’un microprocesseur, une mémoire, un périphérique d’entrée, quelques voyants/bascules et une imprimante… – Le programmeur introduisait le programme à exécuter dans la mémoire du microprocesseur à partir du périphérique d’entrée (lire lecteur de carte perforée…). Le microprocesseur était déconnecté pendant ce temps! – Des bascules permettaient de lancer l’exécution du programme par le microprocesseur. – Des voyants donnaient les statuts d’erreurs et les résultats du programme. En cas d’erreur, le programmeur regardait directement la mémoire… – Un seul programme était exécuté à la fois. Il fallait s’inscrire sur des listes afin de pouvoir utiliser l’ordinateur. GIF-1001 Cours 12, p.20 Systèmes d’exploitation simples • Les premiers systèmes d’exploitation avaient plusieurs composantes logicielles de plus qu’un simple microprocesseur avec une mémoire. Il s’agissait de systèmes d’exploitation «moniteurs » ou exécutant une seule tâche à la fois: – Le système d’exploitation est chargé en mémoire par du code en ROM (i.e. BIOS). – Le système d’exploitation gère des périphériques. – Le système d’exploitation traite les interruptions du système. – Le système d’exploitation fournit un interpréteur de commande qui traite des requêtes de l’usager – Le système d’exploitation peut charger un programme en mémoire, puis de l’exécuter. Il est responsable de la séquence de tâches exécutées par le microprocesseur. – Le système d’exploitation fournit un ensemble de routines disponible pour la création de programmes. – Le système d’exploitation gère les fichiers et les accès disques. GIF-1001 Cours 12, p.21 Systèmes d’exploitation multi-tâches • Les systèmes d’exploitation modernes exécutent plusieurs programmes « simultanément » et possèdent plusieurs caractéristiques additionnelles: – Le SE détermine la séquence de programmes à exécuter selon plusieurs facteurs (priorité, utilisation d’entrées/sorties, conflit de ressources, etc.) – Le SE offre des protections et des niveaux de sécurité au niveau des accès aux ressources de l’ordinateur. – Le SE gère une mémoire et des ressources pouvant être communes à plusieurs processus. – Le SE établit des statistiques sur le système. – Le SE gère la communication avec d’autres ordinateurs. GIF-1001 Cours 12, p.22 Références et exercices • • Références – Irv Englander: Section 13.1, 13.2 (début) et 13.8 – William Stallings: Section 8.1 – Les systemes d'exploitation.doc et Structure d'acces au materiel.doc Exercices – Qu’est-ce qu’un système d’exploitation? GIF-1001 Cours 12, p.23