Infos Produits. Le mode 64-bit en AIX. Le 64-bit est, depuis un certain temps, un sujet de discussion entre les fabricants de machines et les



Documents pareils
Automatisation des sauvegardes

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

Systèmes d exploitation

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

Intel Corporation Nicolas Biguet Business Development Manager Intel France

I00 Éléments d architecture

La mémoire. Un ordinateur. L'octet. Le bit

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

PPE 1 PRISE EN MAIN DE VMWARE VSPHERE 5.5 & CONFIGURATION D UNE MACHINE VIRTUELLE

Licence Sciences et Technologies Examen janvier 2010

Architecture matérielle des systèmes informatiques

Chapitre 10 Arithmétique réelle

Le Ro le Hyper V Premie re Partie Configuration et Prise en main du gestionnaire Hyper-V

ASR1 TD7 : Un microprocesseur RISC 16 bits

Windows 7 - Installation du client

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

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

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

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

Manuel de System Monitor

Fiche technique CPU 314SC/DPM (314-6CG13)

IV- Comment fonctionne un ordinateur?

Conversion d un entier. Méthode par soustraction

Les liaisons SPI et I2C

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Fiche technique CPU 315SN/PN (315-4PN33)

Structure d un programme

Architecture des ordinateurs

Virtualisation des ressources serveur. Exemple : Systèmes partitionnés sous HP-UX et Oracle

Parallélisme et Répartition

Partie 7 : Gestion de la mémoire

Systèmes informatiques

Introduction à la Programmation Parallèle: MPI

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

TP 1. Prise en main du langage Python

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Cours Informatique 1. Monsieur SADOUNI Salheddine

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

CM2 L architecture MIPS32

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Rappels d architecture

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Fiche Pratique. Présentation du problème. Installation du logiciel. Etape 1. MAJ le 17/10/2011

UE Programmation Impérative Licence 2ème Année

Gestion de parc Windows depuis Unix. Pascal Cabaud & Laurent Joly

Compilation (INF 564)

Programmation C. Apprendre à développer des programmes simples dans le langage C

Architecture des ordinateurs

Architecture des ordinateurs Introduction à l informatique

Concept de machine virtuelle

Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Traitement de données

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Introduction aux Machines Virtuelles avec VMKit

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

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

1 Recherche en table par balayage

Bases de programmation. Cours 5. Structurer les données

Le système GNU/Linux IUP NTIC /11/05

Comment tester la vitesse d un réseau Ethernet

Les Virtual LAN. F. Nolot. Master 1 STIC-Informatique 1

Codage d information. Codage d information : -Définition-

Utilisation des ressources informatiques de l N7 à distance

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Logiciel de Base. I. Représentation des nombres

Architecture des ordinateurs

V- Manipulations de nombres en binaire

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Windows Server Chapitre 1: Découvrir Windows Server 2008

IFT2880 Organisation des ordinateurs et systèmes

Informatique Générale

RADIO VERROUILLAGE VIDEO-PORTIERS. SOLUTIONS VIDEO ip. CONSEIL et FORMATION CONTRÔLE D ACCES. Logiciel. Architectures réseaux.

Compilation croisée sous Linux et Windows

Atelier : Virtualisation avec Xen

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Tests de performance du matériel

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Mise à jour : February 4, / 93

INFO-F-404 : Techniques avancées de systèmes d exploitation

Conception de circuits numériques et architecture des ordinateurs

Manuel d administration de Virtual Box MANUEL D UTILISATION VIRTUAL BOX

L offre Stockage et serveurs System x / BladeCenter F.Libier, Business Partner Technical Manager

Chapitre 2 : Abstraction et Virtualisation

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Chapitre 3 : Système de gestion de fichiers

Session 8: Android File System


Algorithme. Table des matières

Cours de Système : Gestion de Fichiers

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Plan du cours. Historique du langage Nouveautés de Java 7

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

Architectures web/bases de données

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Chapitre I Notions de base et outils de travail

Introduction au langage C

Transcription:

Le mode 64-bit en AIX Thomas ANCEL Le 64-bit est, depuis un certain temps, un sujet de discussion entre les fabricants de machines et les utilisateurs. Dans certains domaines, le 64-bit est considéré comme le must. Il est clair que le 64-bit permet d augmenter la puissance de calcul par rapport au 16-bit ou au 32-bit. Toutefois, les avantages diffèrent entre les environnements. Architecture machine 64-bit Toutes les machines gèrent les données en fragments de taille fixe. A l origine, toutes les parties d une machine travaillaient avec des données de même taille (on parlait alors de wordlength ou de largeur). Etant donné que c est sur cette taille caractéristique que reposent les capacités d une machine, les systèmes étaient classés comme 8-bit, 16-bit ou 32-bit, et il était clair qu il était mieux de pouvoir traiter des tailles de données plus grandes. Sur les systèmes modernes, définir la taille est plus difficile et n a pas forcément la même signification. Aujourd hui, les architectures ont tendance à utiliser différentes tailles de données en différents endroits. Comment peut-on définir la taille d une machine qui a une unité de calcul entier sur 32-bit, une unité de calcul flottant sur 64 bit, un espace d adressage virtuel de 52-bit et un bus mémoire de 256-bit? Etant donné que la plus petite taille, typiquement les entiers, est le facteur limitant, cette machine serait considérée comme 32-bit. D un point de vue opérationnel, une machine peut être considérée 64-bit quand : Elle peut gérer des données codées sur 64-bit (8 octets). Le jeu d instructions du processeur inclut les instructions permettant de déplacer et de faire des opérations arithmétiques avec des entiers de 64-bit (les nombres à virgule flottante sont déjà exploités par des registres 64-bit sur les processeurs 32-bit). 1

Elle génère des adresses codées sur 64 bits : - pour les adresses effectives (générées et utilisées par les instructions) - et les adresses physiques (utilisées par les cartes mémoire connectées sur la machine). Donc c les deux ux grands s avanta tages es de e l a archi hitectur cture e 64-b 4-bit t sont t : la a possib ibili ilité té de e fair ire e des es calcul uls s avec c de plus s gros s enti tiers et t la capacité té d a adr dres esser r un plus s grand espace e mémoir ire. Il faut noter que c est l espace d adressage virtuel qui gouverne la quantité de mémoire disponible pour les applications. Ces adresses virtuelles ne sont pas spécifiées au niveau du processeur. Elles sont gérées par le système d exploitation (le Virtual Memory Manager d AIX). De la même manière, l accès aux fichiers très larges n est pas une caractéristique du processeur mais du système d exploitation. Système d exploitation 64-bit Créer une machine 64-bit n est pas tellement complexe en soi, même s il faut, pour exploiter les processeurs 64-bit, que toutes les parties du système supportent le 64-bit. Concevoir un système d exploitation 64-bit est bien plus complexe, surtout dans le monde UNIX où la portabilité et les standards sont des aspects clef. Ce qu il faut retenir, au niveau d AIX, c est qu à partir d AIX 4.3 deux modèles existent pour les processus utilisateur : le modèle 32-bit et le modèle 64-bit. Attention! Il ne faut pas confondre modèle de processus et noyau. Le noyau 64-bit n est disponible qu à partir d AIX 5L, version 5.1 et suivantes. Les versions précédentes ne supportent que le noyau 32-bit (UP ou MP, selon le nombre de processeurs de la machine). Voici un schéma des quatre combinaisons de support du 32-bit ou du 64-bit, au niveau du noyau et du matériel. A B C D processus utilisateur 32 64 32 64 32 64 noyau matériel 32 64 32 32 32 64 64 64 Si le matériel est 32-bit : les processus 64-bit ne peuvent pas s exécuter (schéma A) et, bien sûr, le noyau 64-bit ne peut pas non plus tourner sur ce type de matériel (schéma B). Si le matériel est 64-bit : les processus 32-bit et 64-bit peuvent s exécuter, quel que soit le type de noyau utilisé (schémas C et D). Dans le cas du noyau 32-bit, cela est rendu possible grâce à une extension du noyau. 2

Choix du noyau En général : Si l application principale ou les applications sont en mode 64-bit, il est préférable d utiliser le noyau 64-bit. De même, pour les applications 32-bit il est préférable d utiliser le noyau 32-bit. Toutefois, la surcharge occasionnée par le fait de tourner des applications 64-bit sur le noyau 32-bit (le remapping des appels système et la remise en forme des structures de données de ces appels) est très faible. De la même manière, la surcharge créée pour faire tourner des applications 32-bit sur le noyau 64-bit est aussi très faible. Les applications 64-bit développées sur AIX 4.3 sont compatibles, au niveau des sources, avec AIX 5L, version 5.1 et suivantes ; toutefois, elles ne sont plus compatibles quand elles ont été converties en code binaire. Ces programmes doivent donc être recompilés avant leur exécution sur AIX 5L, version 5.1 et suivantes (tant pour le noyau 32-bit que pour le noyau 64-bit). Cela veut dire que : Les programmes exécutables 64-bit pour AIX 4.3 doivent être recompilés depuis le code source pour fonctionner sur AIX 5L version 5.1. Refaire l édition de liens n est pas suffisant. On ne peut pas faire d édition de liens entre les modules objet ou libraries 64-bit pour AIX 4.3 et les modules objet ou libraries 64-bit pour AIX 5L version 5.1. Les modules 64-bit pour AIX 4.3 doivent être recompilés. L extension 64-bit pour le noyau 32-bit L extension 64-bit du noyau disponible en AIX 4.3 permet : de compiler des programmes 64-bit avec le noyau 32-bit, d exécuter les programmes 64-bit sur le noyau 32-bit si le matér tériel supporte le mode 64-bit. Cette extension est installée par le fileset bos.64bit. Ce fileset installe, entre autres, le fichier etc/methods/cfg64 qui permet d activer, ou de désactiver, l environnement 64-bit à l aide les menus SMIT. Ces menus ajoutent une ligne load64bit dans le fichier /etc/inittab : load64bit:2:wait:/etc/methods/cfg64 >/dev/console 2>&1 # Enable 64-bit execs Cela permet de charger l extension noyau au démarrage de la machine. 3

Commandes utiles Détermination du type matériel Pour déterminer le type de matériel de votre système, utilisez les commandes suivantes, en fonction de la version du système d exploitation : AIX 5L Version 5.2 : getconf HARDWARE_BITMODE AIX 5L Version 5.1 et AIX Version 4.3 : bootinfo -y L utilisateur doit avoir les privilèges root pour passer ces commandes qui retournent 32, si le matériel est de type 32-bit, ou 64, si le matériel est de type 64-bit. Voici un exemple de ce qu affiche la commande sur une partition en AIX 5.2 d une machine p690 : # oslevel; getconf HARDWARE_BITMODE 5.2.0.0 64 Vous pouvez aussi utiliser la commande suivante pour déterminer le type de processeur installé sur la machine : # lsdev -Cc processor proc0 Available 00-00 Processor # lsattr -El proc0 frequency 1002307376 Processor Speed False state enable Processor state False type PowerPC_POWER4 Processor type False Remarque : Les processeurs 64-bit sont les suivants : PowerPC_RS64 PowerPC_RS64 II PowerPC_RS64 III PowerPC_Power3 PowerPC_Power3 II PowerPC_POWER4 Si vous avez besoin, dans une application, de connaître le type matériel, vous pouvez utiliser l appel système sysconf() avec le paramètre _SC_AIX_HARDWARE_BITMODE, comme montré dans l exemple de code suivant : 4

#include <unistd.h> long bit_mode; bit_mode = sysconf(_sc_aix_hardware_bitmode); Si l application s exécute sur une machine 32-bit, la fonction retourne 32 ; elle retourne 64 si l application s exécute sur une machine 64-bit. Détermination du type du noyau Pour déterminer le type de noyau de votre système, utilisez les commandes suivantes, en fonction de la version du système d exploitation : AIX 5L Version 5.2 : getconf KERNEL_BITMODE AIX 5L Version 5.1 et AIX Version 4.3 : bootinfo -K L utilisateur doit avoir les privilèges root pour passer ces commandes qui retournent 32, pour un noyau 32-bit, ou 64, pour un noyau 64-bit. Voici un exemple de ce qu affiche la commande sur une partition en AIX 5.2 d une machine p690 : # oslevel; getconf KERNEL_BITMODE 5.2.0.0 64 Si vous avez besoin, dans une application, de connaître le type de noyau, vous pouvez utiliser l appel système sysconf() avec le paramètre _SC_AIX_KERNEL_BITMODE, comme montré dans l exemple de code suivant : #include <unistd.h> long bit_mode; bit_mode = sysconf(_sc_aix_kernel_bitmode); Si l application s exécute sur le noyau 32-bit, la fonction retourne 32 ; elle retourne 64 si l application s exécute sur le noyau 64-bit. Détermination de la présence de l extension 64-bit du noyau Si le noyau est de type 32-bit, vous pouvez utiliser les commandes suivantes pour vérifier la présence de l extension 64-bit de ce noyau : # genkex grep 64 149bf58 a3ec /usr/lib/drivers/syscalls64.ext Vous pouvez constater que, dans ce cas, l extension /usr/lib/drivers/syscalls64.ext est chargée par le noyau. 5

Détermination du type de processus Pour déterminer le type d un processus, utilisez la commande file sur le fichier exécutable correspondant à ce processus. Voici un exemple de résultat de cette commande : $ cc -o helloworld32 helloworld.c $ cc -q64 -o helloworld64 helloworld.c $ file helloworld* helloworld.c: C program text helloworld32: executable (RISC System/6000) or object module not stripped helloworld64: 64-bit XCOFF executable or object module not stripped Remarque : L option -q64 commande au compilateur de générer un fichier exécutable 64-bit. Même si vous pouvez générer des exécutables 64-bit sur une architecture matérielle 32-bit, vous ne pouvez pas les exécuter sur celle-ci. Changement de noyau Cette opération n est disponible que pour AIX 5L, version 5.1 ou supérieure. Passer du noyau 32-bit au noyau 64-bit # ln -sf /usr/lib/boot/unix_64 /unix # ln -sf /usr/lib/boot/unix_64 /usr/lib/boot/unix # lslv -m hd5 # bosboot -ad /dev/ipldevice # shutdown -Fr Passer du noyau 64-bit au noyau 32-bit # ln -sf /usr/lib/boot/unix_mp /unix # ln -sf /usr/lib/boot/unix_mp /usr/lib/boot/unix # lslv -m hd5 # bosboot -ad /dev/ipldevice # shutdown -Fr Attention! Sur ur les machin hines es monoproces esseur ur,, il faut t remplacer r /usr/lib/boot/unix_mp par r /usr/lib/boot/unix_up. Informations complémentaires Documentation AIX en ligne sur le net : http://publib16.boulder.ibm.com/cgi-bin/ds_form?lang=en_us&viewset=aix Redbooks en ligne sur le site : http://www.redbooks.ibm.com/ 6