Utilisateur:Silex6/Bac à sable - archive 2 - 2009
serveur informatique - Histoire
[modifier | modifier le code]Les ordinateurs personnels sont apparus au début des années 1980, et leur usage s'est rapidement répandu dans les entreprises et les institutions[1].
Rapidement sont apparus les limitations liées à l'utilisation généralisée d'ordinateurs à usage personnels et isolés les uns des autres: la nécessité pour une entreprise d'acquérir une imprimante pour chaque ordinateur, la difficulté des échanges d'informations numériques entre les différents ordinateurs: chaque usager devait copier les informations sur une disquette puis la transmettre en main propre au destinataire[1].
Les réseaux locaux ont permis des échanges d'informations numériques entre les usagers. Cependant les câbles seuls ne permettent pas l'utilisation en commun d'une imprimante: l'imprimante ne peut pas imprimer deux documents en même temps, or plusieurs usagers sont susceptibles de de vouloir imprimer au même instant. L'imprimante a donc été branchée à un ordinateur autonome qui contrôle son utilisation: un serveur d'impression[1].
les serveurs de fichiers ont facilité les échanges de fichiers entre utilisateurs[2]. Utilisés dans les institutions, ils ont permis à plusieurs utilisateurs d'exécuter un même logiciel. Une seule copie du logiciel est stockée sur le serveur de fichier.
Les logiciels sont typiquement organisés en trois couches: une qui contient les traitements relatifs à l'affichage, une pour ce qui est relatif aux calculs, et la dernière qui est relative au stockage des informations.Les traitements des différentes couches ont été répartis entre deux ordinateurs différents. L'architecture client-serveur était née[3].
L'architecture trois tiers est apparue dans les années 1990 ; il s'agit d'une évolution de l'architecture client-serveur où les traitements des trois couches sont réparties entre un client et deux serveurs[4].
D'après le cabinet Netcraft, il y a en mars 2009 plus de 220 millions de serveurs web dans le monde, et leur nombre est en augmentation constante depuis l'invention du World Wide Web en 1995[5].
Technique
[modifier | modifier le code]Une application distribuée est une application informatique dans laquelle les résultats sont obtenus par la coopération de plusieurs ordinateurs d'un réseau informatique. Un protocole de communication établit les règles selon lesquelles les ordinateurs communiquent et coopèrent[6].
L'architecture client/serveur est un modèle d'organisation d'une application distribuée dans laquelle les traitements sont effectués par l'exécution conjointe de deux logiciels différents et complémentaires placés sur des ordinateurs différents : le client et le serveur. Le client formule des requêtes, puis les transmets au serveur. Le serveur traite les demandes, puis envoie sa réponse au client. Le client affiche la réponse (par exemple, il présente le résultat à l'écran). Un protocole de communication établit le format des requêtes envoyées au serveur, et des réponses de celui-ci[6].
Dans l'architecture client-serveur les clients vont rechercher les informations stockées dans les serveurs. Dans l'architecture pair-à-pair (anglais peer-to-peer abrégé P2P) par contre les clients vont rechercher des informations stockées dans d'autres clients, et les serveurs jouent le rôle d'intermédiaires[7].
En informatique, une base de données (Abr. : « BD » ou « BDD ») est un stock d'informations organisé et structuré de manière à pouvoir être facilement manipulé et stocker efficacement de très grandes quantités d'informations[8].
L'organisation logique des données se fait selon un modèle de données. La structure physique des fichiers comporte des index destinés à accélérer les opérations de recherche et de tri. Le modèle de données relationnel est aujourd'hui le plus utilisé parce qu'il permet l'indépendance entre la structure physique et l'organisation logique des données – contrairement aux modèles hiérarchique et réseau.
Dans le langage courant, le terme base de données est utilisé pour désigner toute source importante de données telle qu'une encyclopédie[9]. Les bases de données sont classées en fonction de leur contenu : bibliographique, texte, numérique, et images.
Le logiciel qui manipule les bases de données est appelé système de gestion de base de données (SGBD). Il permet d'organiser, de contrôler, de consulter et de modifier la base de données. Les opérations sont parfois formulées dans un langage de requête tel que SQL – le plus connu et employé pour les modèles relationnels.
Le modèle de données
[modifier | modifier le code]Les informations sont généralement classées par nature connexes (exemple: dossier médical ; patient ; médecin ; consultations ; médicaments). Les données sont réunies en petits groupes appelés enregistrements. À chaque enregistrement correspond une entité, c'est-à-dire une notion concrète ou abstraite.
Le modèle de données est l'organisation sémantique des différentes entités stockées dans une base de données. (Voir aussi schéma conceptuel.)
- Dans un modèle de données hiérarchique, les différentes entités sont reliées entre elles par des relations
père-fils
selon un diagramme en arbre. - Dans un modèle réseau, les différentes entités sont reliées entre elles par des relations
de-à
, selon une organisation arbitraire.
En 1970, Edgar F. Codd (1923-2003), chercheur chez IBM, propose dans une thèse mathématique d'utiliser les informations présentes dans les enregistrements – en lieu et place des pointeurs – pour assurer les liens entre les informations et de regrouper les enregistrements dans des tables. Ce regroupement est motivé par le fait que le résultat de chaque recherche dans une base de données est une table[10]. Mais IBM – qui travaillait alors sur un autre type de base de données – ne s'y intéresse qu'en 1978, lorsque le concept est repris par Lawrence Ellison qui fonde une startup devenue Oracle Corporation[11][12].
Cette proposition est la base des modèles de données relationnels, modèles utilisés par la quasi-totalité des système de gestion de base de données au début du XXIe siècle[13].
Dans ces modèles, tout comme dans les modèle réseaux, les entités sont reliées par des relations de-à
selon une organisation arbitraire. Cependant contrairement à ce dernier, les informations de relations ne sont pas des pointeurs mais des informations contenues dans les enregistrements sur lesquels le système de gestion de base de données effectue des produits cartésiens.
Le modèle entité-relation est utilisé pour schématiser l'organisation logique (les entités et les relations) dans les bases de données relationnelles[14].
Histoire
[modifier | modifier le code]Les disque durs, mémoire de masse de grande capacité, ont été inventés en 1956. L'invention du disque dur a permis d'utiliser les ordinateurs pour collecter, classer et stocker de grandes quantités d'informations.
Le terme database (base de données) est apparu en 1964 pour désigner une collection d'informations partagées par différents utilisateurs d'un système d'informations militaire[15].
Les premières bases de données hiérarchiques sont apparues au début des années 1960. Les informations étaient découpées en deux niveaux de hiérarchie : un niveau contenait les informations qui sont identiques sur plusieurs enregistrements de la base de données. Le découpage a ensuite été étendu pour prendre la forme d'un diagramme en arbre[15].
Le modèle de données réseau a été créé par Charles Bachman du consortium CODASYL en 1969 pour des applications informatiques pour lesquelles le modèle hiérarchique ne convient pas[15]. Charles Bachman a reçu le prix Turing en 1973 pour ces « contributions exceptionnelles à la technologie des bases de données (sic). »[16].
En 1970, Edgar F. Codd note dans sa thèse mathématique sur l'algèbre relationnelle qu'un ensemble d'entités est comparable à une famille en mathématique et que les jointures sont des produits cartésiens. Cette thèse est à l'origine des bases de données relationnelles[15]. Edgar F. Codd a reçu le prix Turing en 1981.
Le modèle entité-relation a été inventé par Peter Chen en 1975 ; il est destiné à clarifier l'organisation des données dans les bases de données relationnelles[14][17].
Les premières bases de données étaient calquées sur la présentation des cartes perforées : répartis en lignes et colonnes de largeur fixe. Une telle répartition permet difficilement de stocker des objets de programmation ; en particulier, elle ne permettent pas l'héritage entre les entités, caractéristique de la programmation orientée objet.
Apparues dans les années 1990, les base de données orientée objet et les base de données objet-relationnel utilisent un modèle de données relationnel tout en permettant le stockage des objets. Dans ces bases de données les relations d'héritage des objets s'ajoutent aux relations entre les entités du modèle relationnel[18].
Contenu
[modifier | modifier le code]Dans les fichiers de la base de données sont stockés les informations, ainsi que les index, le détail du modèle de données, des listes de contrôle d'accès et un journal des opérations.
Les informations sont placées dans les champs des enregistrements de la base de données. Les enregistrements sont reliés pour former des collections. Dans les bases de données relationnelles, les collections sont des tables avec lignes et colonnes.
Les indexes sont des structures qui accélèrent la recherche, le tri et le regroupement des informations d'une collection par diminution de la complexité algorithmique. Ce sont typiquement des structures en arbre B ou en table de hachage. Les index contiennent les différentes valeurs d'un ou de plusieurs champs des enregistrements d'une collection.
Une clé primaire est un champ ou une combinaison de champs dont les valeurs sont différentes pour chaque enregistrement de la collection. La clé primaire permet de retrouver un et un seul enregistrement de la collection.
Dans une base de données relationnelle, une clé étrangère est un champ ou une combinaison de champs d'une table A qui sont en relation avec une clé primaire dans une table B.
Le détail du modèle de données et les listes de contrôle d'accès sont utilisés par le moteur de base de données pour contrôler et effectuer les opérations de manipulation des données.
Un journal contient la liste des dernières opérations effectuées sur la base de données. Ce journal est utilisé par le moteur de base de données pour annuler les opérations, par exemple en cas de crash informatique, ou si les opérations comportent une erreur.
Dans les bases de données relationnelles l'organisation logique des données est indépendante de leur organisation physique. Ce qui signifie que la position des données dans les fichiers peut être entièrement modifiée sans que leur organisation sous forme d'enregistrements dans des tables ne soit touchée.
L'organisation physique d'une base de données diffère selon le matériel et le système d'exploitation pour lequel le système de gestion de base de données est concu. Les enregistrements sont typiquement regroupés en grappes (anglais cluster), dont la taille est alignée sur une taille optimale pour le matériel (disque durs)[19].
Technologie
[modifier | modifier le code]Dans la technique ISAM (de Indexed Sequential Access Method), la base de données est composée de fichiers qui contiennent des enregistrements de taille fixe d'une part et de fichiers contenant les index d'autre part. Cette technique utilisée les mécanismes de verrouillage du système d'exploitation, elle est aujourd'hui un cas d'école de nombreuses études d'informatique[20].
Online Transaction Processing (abrégé OLTP) ou traitement de transactions en direct, désigne de manière générale un type d'utilisation des bases de données qui donne lieu à de nombreuses modifications simultanées d'une base de données et des opérations de recherche simple. Comme c'est le cas dans les systèmes d'information[21].
À l'opposé du OLTP, le Online Analytical Processing (abrégé OLAP) ou traitement analytique en direct, est un type d'utilisation des bases de données qui donne lieu à de nombreuses et complexes opérations de recherche basées sur des combinaisons de critères multiples et de rares modifications. Comme c'est le cas dans l'aide à la décision, l'exploration de données et les moteur de recherche[21].
Un index permet typiquement de retrouver un enregistrement sur la base de la valeur d'un champ entier de dimension réduite - quelques octets (exemple: numéro de dossier, date). Un index plein texte (anglais fulltext) permet de retrouver un enregistrement sur la base d'une partie du contenu d'un champ - un mot contenu dans le champ, le champ est souvent un BLOB (de Binary Large Object) - un champ de dimension illimitée. Les index plein texte et les BLOB sont utilisés dans les moteur de recherche ainsi que les bases de données multimédia.
SQL est un langage informatique créé en 1974 par IBM. Il est destiné à formuler des ordres de manipulation des bases de données. il se compose d'une part d'un Data Definition Language (abrégé DDL), un langage destiné à manipuler le modèle de données, et d'autre part d'un Data Management Language (abrégé DML), un langage destiné à manipuler les informations contenues dans la base de données. Le langage permet également de manipuler les listes de contrôle d'accès et autoriser ou interdire certaines données à certains utilisateurs - partie appelée Data Control Language (abrégé DCL).
PL/SQL est un langage de programmation procédural créé par Oracle Corporation en 1990. Les programmes écrits dans ce langage peuvent contenir des ordres de manipulation de bases de données en langage SQL, ils sont exécutés par le système de gestion de base de données Oracle Database. D'autres langages du même type sont PL/pgSQL et Transact-SQL.
XML est un langage informatique créé en 1995 par le consortium W3C. Il sert à permettre des échanges de données agrégées telles que par exemple les entités contenues dans les bases de données.
Le système de gestion de bases de données
[modifier | modifier le code]Un système de gestion de base de données est un ensemble de logiciels qui manipulent le contenu des bases de données. Il sert à effectuer les opérations ordinaires telles que rechercher, ajouter ou supprimer des enregistrements (Create, Read, Update, Delete abrégé CRUD), manipuler les indexes, créer ou copier des bases de données.
Les mécanismes du système de gestion de base de données visent à assurer la cohérence, la confidentialité et la pérennité du contenu des bases de données. Le logiciel refusera qu'un usager modifie ou supprime une information si il n'a pas été préalablement autorisé ; il refusera qu'un usager ajoute une information si celle-ci existe dans la base de données et fait l'objet d'une règle d'unicité; il refusera également de stocker une information qui n'est pas conforme aux règles de cohérence telles que les règles d'intégrité référentielle dans les bases de données relationnelles.
Le système de gestion de base de données adapte automatiquement les indexes lors de chaque changement effectué sur une base de données et chaque opération est inscrite dans un journal contenu dans la base de données, ce qui permet d'annuler ou de terminer l'opération même en cas de crash informatique et de garantir la cohérence du contenu de la base de données.
SQL est le langage informatique le plus souvent utilisé pour permettre à un logiciel tiers de coopérer avec un système de gestion de base de données. En 2009, IBM DB2, Oracle Database et Microsoft SQL Server sont les principaux systèmes de gestion de base de données sur le marché.
Utilisations
[modifier | modifier le code]Les bases de données sont utilisées dans de très nombreuses applications informatiques, en particulier en informatique de gestion, en informatique décisionnelle et en gestion des connaissances.
- Un moteur de recherche est un logiciel qui permet de retrouver des ressources (fichiers, documents, pages web) associées à des mots quelconques. La liste des mots et des ressources associées sont stockés dans une base de données.
- Une banque de données est une application informatique qui sert à collecter et permettre la publication d'un ensemble d'informations librement consultables et relatives à un domaine de connaissances. Par exemple des renseignements de bibliographie, de linguistique de justice, de chimie, d'architecture, de cinématographie, de biologie, d'astronomie, de géographie, de médecine ou de jeu. Les renseignements sont souvent stockées dans des bases de données et la banque de données équipée d'un moteur de recherche.
- Un système d'informations est une application informatique qui sert à collecter, classer, regrouper et modifier un ensemble d'informations relatifs à une activité. Les systèmes d'informations sont d'usage courant dans les entreprises et les institutions telles que les douanes, les hôpitaux, la marine, les transports ou l'armée.
- Un enterprise resource planning (ERP) est système d'informations qui sert à la collecte et la maintenance des informations concernant l'activité d'une entreprise (ventes, achats, salaires, ...)
- Un système d'information géographique est un système d'informations qui permet de collecter, manipuler des renseignements de cartographie (coordonnées de routes, de forêts, de plans d'eau) et réaliser des cartes géographiques.
- Un entrepôt de données est une base de données qui est utilisée pour collecter et stocker définitivement des informations historiques qui seront utilisées pour des statistiques et des analyses. Les informations sont souvent collectées à intervalle régulier depuis un système d'informations.
- L'informatique de gestion est un domaine d'activité et de connaissances orienté vers la manipulation de masse de grandes quantités d'informations (gestion de données), un secteur qui utilise des bases de données. les L4G sont des environnement de développement des applications de base de données souvent utilisés en informatique de gestion. Ils sont composés d'un système de gestion de base de données et d'un langage de programmation.
Quelques exemples
[modifier | modifier le code]Il existe de nombreuses applications informatique de collecte de renseignement administratifs tels que par exemple des dossiers médiaux, fiscaux, ou des permis de port d'arme; ces applications font usage des bases de données.
Dans une application informatique de billetterie informatisée, les billets de voyage ou de concert sont enregistrés dans une base de données.
Dans un logiciel de comptabilité ou de trésorerie, les écritures ainsi que le plan comptable sont enregistrés dans une base de données; le bilan est un rapport obtenu par synthèse automatique du contenu de la base de données. De même dans une application informatique de gestion de la production assistée par ordinateur (abr. GPAO), l'état des stocks, les disponibilité du personnel et les délais sont enregistrés dans une base de données, et servent de base pour un rapport de planification.
Dans un logiciel d'aide au diagnostic médical, un ensemble de pathologies et de diagnostics est enregistré dans une base de données. Un moteur de recherche extrait les diagnostics qui correspondent le mieux aux pathologies choisies par l'utilisateur.
Le Système d'information Schengen est une application de base de données utilisée par les services de police et des douanes de l'Espace Schengen, en Europe pour collecter et s'échanger des renseignements judiciaires (mandat d'arrêts, empreintes digitales, interdictions de séjour, ...)
ITIS est une application informatique qui contient un catalogue de taxinomie des espèces vivantes (végétaux, animaux, champignons, microorganismes,...).
La CIA, agence de renseignements aux États-Unis possède une des plus grandes banque de données au monde. Dont le nombre d'informations augmente au rythme de 100 par mois.
Le catalogue de la librairie en ligne amazon est une des plus grandes bases de données au monde avec plus de 250 millions d'ouvrages catalogués. La société Amazon.com est également propriétaire de la banque de données filmographique IMDb.
Dans les système d'information géographique les informations de cartographie sont enregistrées dans une base de données. Des informations de cartographie du ciel sont disponibles dans les catalogues d'étoiles.
Dans les logiciels de forums ou de messagerie électronique, les messages sont souvent enregistrés dans une base de données.
Les logiciels antivirus utilisent souvent une base de données dans laquelle sont enregistrées les empreintes laissées par les virus informatique.
La base de registre est une base de données qui contient les paramètres de configuration des systèmes d'exploitation Windows. Le Object Data Manager est une base de données similaire des systèmes d'exploitation AIX.
Dans un logiciel de gestion électronique de documents, des documents électroniques sont enregistrés dans une base de données. Dans un système de gestion de contenu ce sont des morceaux de page web qui sont enregistrés dans une base de données et dans un logiciel de e-commerce se sont les annonces, ainsi que les annonceurs.
Dans une plate-forme d'apprentissage en ligne, les exercices, les examens, les cursus, ainsi que l'annuaire des enseignants et des apprenants sont enregistrés dans une base de données.
Un progiciel de gestion intégrée tel que SAP ERP (de la société SAP AG) comporte un ensemble de logiciels qui utilisent tous la même base de données. Les différents logiciels de ce type de produit concernent des activités ordinaires des entreprises telles que la facturation, la comptabilité les salaires, le suivi des commandes et des stocks.
Notes et références
[modifier | modifier le code]- (en)« Client or Server Computing History - Gadgets and technologies »
- (en)« Distributed file systems overview »
- PPUR presses polytechniques, 2005 Impact des décisions informatiques: Introduction à l'informatique pour décideur non informaticien, (ISBN 9782880746100), page 19
- (en)« Carnegie Mellon University, Software Technology Roadmap »
- (en)« Netcraft March 2009 Web Server Survey »
- (en) Weijia Jia et Wanlei Zhou, Distributed network systems: from concepts to implementations,Springer - 2005, (ISBN 9780387238395), page 16
- (en) Michael Graves, The Complete Guide to Networking and Network, Cengage Learnin - 2003, (ISBN 9781401833398), chapitre 2
- (en) Business Intelligence Lowdown: Top 10 Largest Databases in the World : la base de données de YouTube contient plus de 100 millions de vidéos
- Définition de base de données
- (en) « DBMS Architecture - an open problem »
- (en) « Edgar Codd, Key Theorist of Databases died »
- (en)« Edgar Codd, database theorist, died »
- (en)« Edgar F. Codd - IBM archive »
- (en)« Entity-relationship logical design of database systems »
- (en)« Data base technology, IBM »
- (en)« Charles Bachman facts »
- (en) [PDF] « Entity relationship modeling »
- (en)« Objet-relational database system »
- (en)« Google books - Fundamentals of DBMS »
- (en)« Explore the difference between ISAM and relational databases »
- Modèle {{Lien web}} : paramètre «
url
» manquant. « Technet, Microsoft SQL Server »
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- Système de gestion de base de données
- Structured Query Language
- Dialog
- Langage d'interrogation de données
- Pick (système d'exploitation)
- Schéma conceptuel
- Table (base de données)
- Vue (base de données)
Liens externes
[modifier | modifier le code]- (fr) Cours de Base de Données et langage SQL
- (fr) Applications des Bases de Données en Sciences Humaines et Sociales
- (fr) www.pick.com02.net Introduction aux Bases de Données Multivalué
- (fr) Politique de gestion des droits d'accès à une base de données
Matériel informatique - intro
[modifier | modifier le code]Le matériel informatique (en anglais « hardware ») sont les pièces détachées des appareils informatiques. En font partie les pièces situées à l'intérieur du boîtier de l'ordinateur aussi bien qu'à l'extérieur (les périphériques).
Les pièces intérieures sont montées sur des circuits imprimés. Différentes pièces sont construites par différentes marques et connectées entre elles. Le respect des marques normes par les différentes pièces permettent le fonctionnement de l'ensemble.
Les pièces servent soit à recevoir des informations, à les envoyer, les échanger, les stocker ou les traiter. Toutes les opérations sont effectuées conformément aux instructions contenus dans les logiciels.
Le système de gestion de bases de données
[modifier | modifier le code]Un système de gestion de base de données est un ensemble de logiciels qui manipulent le contenu des bases de données. Il sert à effectuer les opérations ordinaires telles que rechercher, ajouter ou supprimer des enregistrements (Create, Read, Update, Delete abrégé CRUD), ainsi que manipuler les indexes, créer ou copier des bases de données.
Les mécanismes du système de gestion de base de données visent à assurer la cohérence, la confidentialité, et la pérénité du contenu des bases de données. Le logiciel refusera qu'un usager modifie ou supprime une information si il n'a pas été préalablement autorisé, il refusera également qu'un usager ajoute une information si celle-ci existe dans la base de données et fait l'objet d'une règle d'unicité (voir contrainte d'intégrité).
Le système de gestion de base de données adapte automatiquement les indexes lors de chaque changement effectué sur une base de données, et chaque opération est inscrite dans un journal contenu dans la base de données, ce qui permet d'annuler ou de terminer l'opération même en cas de crash informatique.
Ils sont souvent utilisés par d'autres logiciels, SQL est le langage informatique le plus souvent utilisé pour permettre à un logiciel tier de coopérer avec un système de gestion de base de données. IBM DB2, Oracle et Microsoft SQL Server sont des systèmes de gestion de base de données.
Créer des applications web
[modifier | modifier le code]Les applications web sont souvent créées par des équipes composées à la fois de développeurs et de designers. Le développement nécessite la connaissance des différents langages utilisés dans les technologies du web: HTML pour la présentation des pages, CSS pour la charte graphique, Javascript, Java ou ActionScript pour les automatismes exécutés par le client, ainsi qu'un langage tels que par exemple Java, PHP, C# ou VBScript pour les automatismes exécutés par le serveur.
Les applications web sont fait d'un ensemble de composants logiciels et de pages "porteuses"; les composants sont regroupées dans des bibliothèques logicielles (voir servlets). Un logiciel serveur web prévu à cet effet (serveur d'applications web) exécute un composant donné lors de la réception de chaque requête. ASP.Net, Websphere, JBoss ou Apache Tomcat sont des logiciels serveurs d'application web.
Une application web est typiquement utilisée simultanément par plusieurs usagers; elle est équipée de mécanismes de contrôle d'accès logique, ceux-ci sont basés sur les mécanismes de contrôle d'accès propre au serveur d'application web et au système d'exploitation. Ils utilisent parfois des mécanismes existants tels que le Single Sign-On.
Pour les travaux de construction, les ingénieurs utilisent des environnement de développement intégré qui aident à la fois à la programmation informatique et la conception de site Web tels que Visual Studio ou Eclipse.
- développeur et designer différents langages: HTML, Javascript + (Java ou C# ou...)
- HTML
- Ajax
- pas d'installation client
- environnement serveur: ASP.Net , (norme J2EE: Websphere, JBoss)
- environnements: Visual Studio, Eclipse (logiciel)
Sondage, Titres d'articles avec des anglicismes
[modifier | modifier le code]Difficulté rencontrée
[modifier | modifier le code]La recommandation de base du choix du titre d'un article est d'utiliser le terme le plus courant qui définit précisément le sujet.
Dans des domaines comme l'informatique ou la finance, il n'est pas rare que le terme le plus courant est un anglicisme. Plusieurs articles du portail de l'informatique ont été l'objet de discussions controversées concernant le titre choisi, ou ont été l'objet d'un renommage lui aussi controversé. La cause de la controverse est à chaque fois le remplacement d'un anglicisme populaire en un terme français inconnu de certains rédacteurs.
l'exemple le plus récent se trouve ici.
Question
[modifier | modifier le code]Faut-il remplacer un anglicisme d'usage courant par un terme originaire du français moins usité ?
exemples: Shareware ou Partagiciel, Middleware ou Intergiciel, Phishing ou Hameçonnage, Framework ou Cadriciel.
Pour
[modifier | modifier le code]Contre
[modifier | modifier le code]Convention de nommage, informatique
[modifier | modifier le code]La règle générale est d'utiliser le nom le plus court qui définit précisément le sujet.
- produits informatique: Les logiciels, les normes, standards, les technologies, tout comme les entreprises, les institutions et les séminaires ont toutes un nom propre. Le mot le plus court qui définit précisement le sujet est le nom propre. les noms propres ne se traduisent pas. Si le nom du produit peut avoir un homonyme, alors ajouter une mention telle que (logiciel) ou (standard) dans le nom de l'article. voir Wikipédia:Conventions sur les titres#Cas particuliers paragraphe 5.
- sigles: Pour les sigles, si il y a risque d'ambiguïté, alors l'article doit être nommé en utilisant le nom complet et en créant une redirection ou une page d'homonymie sur le sigle. exemple: HTTP -> HyperText Transfer Protocol. Cette convention ne s’applique pas aux rétro-acronymes (exemple : PowerPC), ni aux acronymes récursifs (exemple : GNU). voir Wikipédia:Conventions sur les titres
- notions: Le nom donné à un article doit correspondre au mot de jargon le plus couramment utilisé pour désigner le sujet dans l'ensemble de la francophonie. Il n'existe aucune règle dans Wikipédia qui favorise ou proscrit l'utilisation des anglicismes; en informatique il n'est pas rare que le mot le plus courant soit un anglicisme. À éviter: les régionalismes (québécismes ou francismes).
Le nom doit être indiqué dans le résumé introductif, ainsi que les synonymes courants. les mots étrangers tels que les anglicismes sont à écrire en italique. voir Wikipédia:Conventions typographiques#Mots étrangers
Les sigles s'écrivent tout en majuscules, et sans les points d'abréviation. voir Wikipédia:Conventions typographiques#Sigles.
Wikipédia:Critères d'admissibilité des articles#Logiciels
Wikipédia:Notoriété des entreprises, sociétés et produits
Wikipédia:Notoriété des sites web
La terminologie est l'ensemble des termes, rigoureusement définis, qui sont spécifiques de l'informatique. L'étude de la terminologie a pour objet l'étude théorique des dénominations des objets ou des concepts utilisés en informatique, le fonctionnement dans la langue des unités terminologiques, ainsi que les problèmes de traduction, de classement et de documentation qui se posent à leur sujet[1].
Depuis ses débuts en 1950, le domaine de l'informatique est à l'origine de nombreux néologismes, souvent empruntés de l'anglais, pour lesquels il existe souvent une traduction en français. Les néologismes et les abréviations de l'informatique désignent des concepts, des applications pratiques, des normes industrielles, des techniques ou des produits d'informatique tant logiciels que matériels. La terminologie informatique a notamment pour objet la traduction de ces termes, et s'intéresse à l'usage dans la langue d'origine ou dans la langue locale.
Dans certains pays francophones (France, Canada,...), les gouvernements ont mis en place des organismes publics pour formuler des recommandations au grand public et aux professionnels sur la terminologie en général. Dans le domaine informatique, ces organismes proposent des traductions françaises des néologismes provenant de l'anglais. Ces traductions sont disponibles dans des dictionnaires terminologiques[2]. Dans ces pays, les néologismes en anglais restent néanmoins souvent d'usage courant dans le jargon des professionnels.
Origine des termes
[modifier | modifier le code]Depuis ses débuts dans les années 1950, le secteur d'activité scientifique et industriel de l'informatique est à l'origine de nombreux néologismes, souvent en anglais. Les néologismes proviennent des instituts de recherche, des entreprises et des organismes du secteur d'activité.
L'anglais et l'informatique
[modifier | modifier le code]L'informatique est un important secteur d'activité scientifique et industriel aux États-Unis, en Europe et au Japon. Les produits et services de cette activité s'échangent dans le monde entier. Les produits immatériels tels que les connaissances, les normes, les logiciels ou les langages de programmation circulent très rapidement par l'intermédiaire des réseaux informatiques et de la presse spécialisée, et sont suivis par les groupes de veille technologique des entreprises et des institutions. Les matériels informatiques peuvent être conçus sur un continent et construits sur un autre.
L'anglais international est la langue véhiculaire de tout le secteur d'activité. C'est la langue des publications scientifiques ainsi que de nombreux ouvrages techniques. La grande majorité des langages de programmation utilisent le vocabulaire anglais comme base. De nombreux nouveaux termes apparaissent aux États-Unis. Les termes peuvent provenir des instituts de recherche, des entreprises, ou des organismes de normalisation du secteur. de nombreux néologismes sont des abréviations ou des mots-valise basés sur des mots en anglais.
Traduction en français
[modifier | modifier le code]Dans certains pays francophones, tels que la France et le Québec, des organismes publics de néologie proposent des traduction en français des néologismes.
Au Canada, c'est l'Office québécois de la langue française qui en est chargé. La terminologie en langue française dans le domaine de l'informatique et d'internet doit beaucoup au français américain. Par exemple, « courriel » est un mot d'origine québecoise. Les Québecois doivent en effet gérer le bilinguisme des langues officielles.
En France, c'est la Commission spécialisée de terminologie et de néologie de l'informatique et des composants électroniques au ministère de l'Économie, de l'Industrie et de l'Emploi qui est chargée de proposer les termes nouveaux en informatique, sous le contrôle de la Commission générale de terminologie et de néologie. Il y a une coordination avec les commissions homologues des autres pays francophones.
La traduction d'un terme en anglais donne lieu à une nouvelle expression en français. Quelquefois, le terme en anglais est conservé si la dénomination est compatible avec la langue française.
Sigles
[modifier | modifier le code]De nombreuses sigles font partie de la terminologie informatique. Ils désignent des concepts, des applications pratiques, des normes industrielles, des techniques ou des produits d'informatique tant logiciels que matériels. Ceux-ci sont créés par les instituts de recherche, les organismes de normalisation ou les entreprises dont le nom est lui aussi un sigle.
Ci-dessous une liste (incomplète) de sigles utilisées en informatique, triés par thèmes.
Sociétés et organismes
[modifier | modifier le code]- AOL : America On-line.
- AT&T : American Telephone & Telegraph.
- AFNIC : Association française pour le nommage Internet en coopération.
- ANSI : American National Standards Institute.
- AMD : Advanced Micro Devices.
- BSA : Business Software Alliance.
- CCIE : Cisco Career Certifications.
- CDC : Cult of the Dead Cow.
- CPAN : Comprehensive Perl archive network.
- DARPA : Defense Advanced Research Projects Agency.
- DIN : Deutsches Institut für Normung.
Normes
[modifier | modifier le code]- Matériel : ACPI,AGP,AT,ATA,ATAPI,ATX, CGA, DIMM, DIP
- Télécommunication : ADPCM, DSL, ADSL
- Connectique : BNC
- Format de données numérique : ASCII, APNG,AVI, BCD, BDF, BMP, BOM,AIML,ASX, CRC, CR, CSS, CSV, HTML et DHTML
- Interface de programmation : CGI, POSIX, DOM
- Protocole réseau: ARP,ATM, BOOTP, CHAP, CIFS, CTCP DAP et LDAP, DDS, DHCP, DNS
Produits
[modifier | modifier le code]- Langages de programmation: ABAP, APL, BASIC, COBOL
- Bibliothèques logicielles: ADO, ADSI, AJAX, ALSA, AWT, ASL, ASP, CLR
- Techniques: COM, DCOM, CORBA, CMOS, CRT, CISC, DDE, DDR, DivX, DMA
- Système de fichiers: AFS
- Programmes: BIND, CDE,CICS, CVS, CAS, DB2
- Micrologiciel: BIOS
- Système d'exploitation: BSD, CP/M
Notions
[modifier | modifier le code]- Unités de mesure: BPS, DPI
- Sécurité informatique : ACL, ACE, CA, CAPTCHA, DAC
- Ingénierie, programmation: API, BD, DB ou BDD, CRUD, DLL, DSDM
- Activités : AI ou IA, B2B, B2C, BI ou DSS
- Emplois : DBA, DSI
- Applications, fonctionnalités: AGL ou CASE, BBS, Blog, CAD ou CAO, CAE ou IAO, CAM ou FAO, CMS, CRM, CLI, BSOD, DBMS ou SGBD, DDOS, DRM
- Matériel : CD, ROM, CD-ROM, CPU, BER, DAT, DCE ou modem, DLT, RAM, DRAM, DSP
- Algorithmes et structures de données : BFS, DAG
- Droit : CLUF ou EULA, DADVSI
sigles utilisés en messagerie
[modifier | modifier le code]Les sigles suivants sont utilisés lors des communications par messagerie instantanée (anglais chat = pipelette) ou courrier électronique pour résumer des expressions courantes.
AFAIK, AFK, AMHA ou IMHO, ASAP, ASV, BBL, BRB, BTW, MDR ou LOL
Jargon
[modifier | modifier le code]Ci-dessous une liste de termes du jargon informatique, le terme en anglais est indiqué en italique. Les termes en anglais comme en français sont utilisé indifféremment par les professionnels du secteur.
- Applet ou applette - diminutif de application - morceau d'application.
- backup - sauvegarde. Copie de réserve.
- Bande passante - bandwidth - capacité de transport d'une ligne ou d'un réseau.
- batch - ensemble de commandes informatiques exécutées dans l'ordre sans intervention humaine.
- bit - mot-valise de l'anglais binary digit. La plus petite information manipulable par informatique. unité de mesure.
- boot - amorçage: démarrage du logiciel à la mise en route de l'ordinateur. voir aussi reboot.
- Bug - francisé en bogue - défaut de construction d'un logiciel.
- Cracker Informaticien qui effectue des transformations de logiciels en vue de casser leurs mécanismes de sécurité. voir aussi Hacker.
- Client - client. ordinateur qui demande des services à un serveur.
- Configuration - configuration - caractéristiques techniques.
- Customisation - Adpatation à l'usager.
- driver - pilote. logiciel qui commande une pièce de matériel.
- dump - cliché. Copie du contenu d'une mémoire à un instant donné.
- En ligne - online et hors-ligne - offline. disponible ou indisponible au bout d'un câble réseau.
- End-of-file - fin de fichier, abrégé EOF
- firmware - microprogramme. programme informatique incorporé dans une pièce de matériel informatique (exemple: disque dur, imprimante) et exécuté par ce matériel.
- freeware - gratuiciel. Logiciel mis gratuitement à la disposition du public.
- Geek informaticien bricoleur, assidu et passionné, qui possède souvent de grandes connaissances.
- groupware. Logiciel qui permet à un groupe de personnes de collaborer dans une activité sans être nécessairement réunis.
- Hacker - bricoleur. Informaticien autonome et bricoleur.
- Implémentation - de l'anglais implementation. Mise en place d'un processus métier (mise en oeuvre) ou mise en place d'un logiciel dans un système d'informations (implantation).
- Infrastructure - infrastructure. ensemble de moyens informatique d'une organisation.
- Interface - interface. dispositif de communication physique et/ou logique.
- Log - journal et logging - journalisation. inscriptions automatiques dans un fichier.
- Matériel informatique - hardware. pièces détachées d'appareils informatique.
- Middleware - logiciel médiateur. Logiciel qui assure des échanges d'informations entre différentes applications informatiques.
- Migration - migration - passage d'un système informatique d'un état A à un état B.
- Mise à niveau - upgrade. passage à une version plus récente.
- Mock-up - maquette. Prototype d'un logiciel.
- Multitâche - multitasking - fait d'effectuer plusieurs tâches en même temps.
- Métalangage - metalanguage. langage de description de langage.
- Not Invented Here - pas inventé par nous. phénomène de l'industrie du logiciel.
- Open source. Se dit d'un logiciel dont l'auteur autorise la réutilisation du code source pour en faire des oeuvres dérivées.
- orienté objet. Se dit les langages de programmation avec lesquels les programmes sont construits par la définition d'interactions entre des briques logicielles (les objets) qui représentent des entités du monde réel.
- Pixel - mot-valise de l'anglais picture element. Élément d'une image numérique.
- Plantage - crash. arrêt accidentel d'un logiciel. voir aussi bug.
- Power-On Self-Test abrégé POST. autocontrôles au démarrage du matériel.
- Protocole. ensemble de règles normalisées de communication qui permettent des échanges d'informations entre ordinateurs.
- polling - scrutation. examen périodique de l'état d'un dispositif informatique dans le but de déceler des changements.
- Quick-and-dirty. vite fait, mal fait. Se dit d'un procédé peu harmonieux mais rapide à mettre en oeuvre.
- reset. retour à zéro.
- reboot. redémarrage du logiciel. exécuter à nouveau le programme amorçe sur un ordinateur déja mis en marche.
- requête. request. demande d'exécuter des opérations transmise d'un ordinateur à un autre.
- reverse engineering - ingénierie inverse. Examen des instructions d'un logiciel existant dans le but d'en retrouver le fonctionnement.
- runtime - moteur d'exécution. Programme qui sert à exécuter d'autres programmes.
- scrolling - défilement. déplacement horizontal ou vertical du contenu d'une fenêtre.
- Serveur - server. ordinateur qui rends des services à d'autres ordinateurs.
- Session - session - laps de temps pendant lequel une personne manipule un ordinateur et informations y relatives.
- Shareware - partagiciel ou logiciel contributif. logiciel mis à disposition du public, moyennant une contribution en cas d'utilisation prolongée.
- Spool - acronyme de Simultaneous peripheral operation on-line. file d'attente.
Exemples de traductions en français
[modifier | modifier le code]On trouve les cas suivants :
- Création d'un néologisme de type mot-valise
- Exemples :
- Informatique, traduction de computer science ou information technology, formé à partir des mots information et automatique,
- Courriel, traduction de e-mail[3], formé à partir des mots courrier et électronique,
- Bureautique, contraction de bureau et automatique.
- Progiciel, formé à partir des mots produit et logiciel,
- Pixel, adopté de l'anglais picture element.
- Création d'un néologisme par francisation d'un terme étranger
- Traduction en français d'une expression étrangère, le plus souvent en anglais
- Exemple :
- Calcul haute performance, traduction de high performance computing,
- Entrepôt de données, traduction de datawarehouse,
- Pare-feu, traduction de firewall,
- Grappe, traduction de cluster,
- Utilisation d'un néologisme évocateur.
- Exemple :
- Filoutage ou hameçonnage (au Québec) pour phishing.
- Pourriel par contraction de pourri, courrier et électronique pour remplacer l'acronyme spam dont l'origine n'a aucun rapport avec le sujet[5].
- Création d'un mot avec préfixe suivi d'un acronyme
- Exemple :
- Éco-TIC traduction de Green IT.
- Utilisation d'un faux-ami pour désigner un concept devenu plus courant.
- Utilisation d'une expression traduisant un acronyme en anglais qui désigne un concept résumé par une locution. L'acronyme peut rester utilisé dans différentes langues.
- Exemple :
- Mémoire vive, traduction de RAM pour random access memory[6].
- Parfois une vague nouveauté aux contours imprécis amène l'apparition d'un terme ronflant (buzzword), utilisé plus souvent pour intimider l'interlocuteur que pour informer.
Usage des termes informatiques
[modifier | modifier le code]Les termes informatiques très spécialisés ne se diffusent que rarement au grand public et restent confinés aux milieux professionnels. Dans ce cas, des termes en anglais restent utilisés (exemple : framework). Les logiciels font le plus souvent apparaître aux utilisateurs des terminologies métier dans la langue locale.
Une terminologie propre à l'informatique peut néanmoins apparaître dans plusieurs cas :
- Presse et sites internet spécialisés,
- Applications qui portent sur des prestations informatiques (achats, marchés publics sur des matériels et logiciels informatiques),
- Documents divers dans les administrations et les entreprises,
- Vocabulaire de l'internet (blog, RSS,...) et du courrier électronique (usage courant du mot mail en France).
Le travail des terminologues consiste aussi à suivre l'usage qui est fait en pratique des termes proposés par les commissions de terminologie, ce qui implique de s'intéresser à la pondération des critères principe de moindre surprise et convention de nommage dans la conception des applications informatiques où apparaissent des termes informatiques. Dans certains cas, il peut être nécessaire d'appliquer des dispositions réglementaires. Pour le cas où le choix d'un terme par une commission de terminologie n'est pas judicieux (expression trop longue,...), les dictionnaires terminologiques offrent généralement la possibilité d'en discuter, par l'intermédiaire de boîtes à idées[7].
Les expressions francophones, même recommandées officiellement, ne correspondent pas toujours à l'usage le plus fréquent constaté dans les milieux professionnels. L'usage de termes en anglais peut néanmoins poser des problèmes de compréhension et de communication entre les spécialistes de l'informatique eux-mêmes.
Recommandations sur l'usage de la terminologie dans les pays francophones
[modifier | modifier le code]Les recommandations publiques sur l'usage d'une terminologie officielle concernent particulièrement le domaine de l'informatique, en raison des nombreux termes en anglais qui apparaissent.
En France
[modifier | modifier le code]En France, le décret du 3 juillet 1996 relatif à l'enrichissement de la langue française, adopté en application de la loi Toubon, met en place un dispositif public pour entériner le choix des termes à employer ou des néologismes, dans tous les domaines dont en particulier l'informatique. Ce dispositif est coordonné par la Commission générale de terminologie et de néologie. Les organismes de terminologie des pays francophones sont consultés[8].
Une fois publiés au Journal officiel de la République française, l'usage des termes officiels est rendu obligatoire dans les administrations françaises et dans les services publics, selon les articles 11 et 12 du décret :[9]
- « Art. 11. - Les termes et expressions publiés au Journal officiel sont obligatoirement utilisés à la place des termes et expressions équivalents en langues étrangères :
- 1) Dans les décrets, arrêtés, circulaires, instructions et directives des ministres, dans les correspondances et documents, de quelque nature qu'ils soient, qui émanent des services et des établissements publics de l'Etat ;
- 2) Dans les cas prévus aux articles 5 et 14 de la loi du 4 août 1994 susvisée relative à l'emploi de la langue française. La commission générale observe l'usage prévu au présent article des termes et expressions publiés.
- Art. 12. - Les listes de termes et expressions approuvés en vertu des dispositions réglementaires relatives à l'enrichissement de la langue française précédemment en vigueur sont assimilées aux listes publiées en vertu du présent décret. Elles peuvent être modifiées selon la procédure prévue aux articles 7 à 10 du présent décret.
Ce décret concerne également les personnes morales investies d'une mission de service public.
La terminologie informatique est étudiée par la Commission Spécialisée de Terminologie et de Néologie de l'Informatique et des Composants Electroniques.
L'usage d'une terminologie (en particulier informatique) en français devrait pouvoir s'appliquer dans les marchés publics en France.
Au Canada
[modifier | modifier le code]Il existe également un contrôle public au Canada, sous la reponsabilité de l'Office québécois de la langue française. »
Gestion des terminologies
[modifier | modifier le code]Gestion des langues
[modifier | modifier le code]Le passage d'une langue à l'autre dans la création et l'usage des termes nécessite de pouvoir gérer le plurilinguisme avec des fonctions avancées de sémantique. Le web sémantique s'avère une technique prometteuse dans ce domaine. Les dictionnaires terminologiques devraient pouvoir disposer de fonctions de gestion des données de référence (master data, avec utilisation de métadonnées) qui puissent s'interfacer avec les données de référence des applications qui ont le plus besoin de vérifier les terminologies.
Autres aspects de la gestion des terminologies
[modifier | modifier le code]Notes
[modifier | modifier le code]- « Terminologie, dictionnaire Larousse »
- FranceTerme en France, Grand dictionnaire terminologique au Québec
- Journal officiel du 20/06/2003 selon FranceTerme
- Arrêté du 30 novembre 1983 et Journal officiel du 22/09/2000 selon FranceTerme
- à l'origine SPAM désigne une marque de viande en boîte, et fut utilisée dans une émission TV pour brouiller des conversations.
- Journal officiel du 22/09/2000
- C'est le cas de FranceTerme
- Grandes lignes du dispositif public d'enrichissement de la langue française et travaux
- Décret relatif à l'enrichissement de la langue française
Voir aussi
[modifier | modifier le code]- Terminologie
- Banque de terminologie
- Ensemble des règles d'usage de l'information
- Commission générale de terminologie et de néologie
- Association des informaticiens de langue française
- Buzzword (terme ronflant)
Articles connexes
[modifier | modifier le code]- FranceTerme, dictionnaire terminologique général, contenant des termes informatiques, proposé par le ministère de la culture en France ;
- Grand dictionnaire terminologique, dictionnaire terminologique général, contenant des termes informatiques, proposé par l'Office québécois de la langue française au Canada ;
- Jargon informatique ;
- Abréviations en informatique.
Lien externe
[modifier | modifier le code]- Commission Spécialisée de Terminologie et de Néologie de l'Informatique et des Composants Electroniques
- Le bon usage d’Internet - le discours normatif sur la toile
AmigaOS, Caractéristiques
[modifier | modifier le code]Les principaux programmes de AmigaOS sont exec, intuition, dos, Workbench, CLI et ARexx. Les parties vitales du système d'exploitation que sont exec, intuition et Workbench sont enregistrés dans une mémoire morte, le Kickstart.
exec est l'ordonnanceur multitâche préemptif de AmigaOS, intuition est l'interface utilisateur graphique. Fast File System est le système de fichiers natif. AmigaOS peut aussi lire et écrire des mémoire de masse en FAT ou HFS ainsi que des CD-ROM. Le programme qui manipule les systèmes de fichier (AmigaDOS ou dos) est basé sur une adaptation de TripOS, un système d'exploitation adapté aux processeurs 680x0 en 1981.
Workbench, l'environnement de bureau de AmigaOS, fait une métaphore d'un atelier (workbench = atelier). Le nom Workbench désigne l'environnement de bureau ainsi que les logiciels utilitaires fournis avec AmigaOS. Parmi eux il y a l'interpréteur de commande CLI et le langage de script ARexx, une adaptation du langage REXX de IBM. AmigaOS ne contient aucun programme pour la connexion aux réseaux informatiques et celle-ci se fait à l'aide de logiciels tiers du commerce.
AmigaOS est composé d'un ensemble de bibliothèques logicielles et de programmes similaires à ceux des logiciels applicatifs pour ce système d'exploitation. Il a une architecture exo-noyau avec un ordonnanceur réduit au strict nécessaire, à la manière d'un micro-noyau, le système d'exploitation et les logiciels applicatifs ne sont pas isolés les uns des autres et se partagent la mémoire disponible. Sa construction lui donne les caractéristiques d'un système d'exploitation temps réel et permet aux logiciels applicatifs de mettre en oeuvre des fonctionalités qui incombent au système d'exploitation tel que la connexion au réseaux ou la mémoire virtuelle.
AmigaOS contient en outre les pilotes nécessaires pour pouvoir exploiter le matériel des Amiga, tels que les puces pour le graphique, le son et les disques durs IDE ou SCSI, des puces incorporées à la carte mère des ordinateurs Amiga.
- support hardware
Un appareil informatique est un automate composé de circuits électroniques dans lesquels circulent des signaux électriques. Ces signaux représentent des nombres (voir électronique numérique) sur lesquels l'appareil effectue automatiquement des opérations conformément à des instructions pré-enregistrées.
Les nombres sont aussi utilisés pour représenter des caractères d'imprimerie, des couleurs ou d'autres informations. Un appareil informatique manipule ainsi non seulement des nombres, mais tout type d'information qu'il est possible de récupérer par un circuit électronique et transformer en suite de nombres: textes, images, sons ou vidéo.
Un appareil informatique permet en outre de stocker et d'échanger des informations.
L'ordinateur, la console de jeu, le guichet automatique bancaire, ainsi que les appareils d'avionique, le GPS ou le téléphone mobile sont des appareils informatique.
Les appareils
[modifier | modifier le code]Un ordinateur désigne de facon générale une machine modulable et banalisée destinée au traitement d'informations.
Un système embarqué désigne de façon générale un appareil informatique dédié à une tâche bien précise.
systèmes embarqués
[modifier | modifier le code]La console de jeu est un appareil qui effectue des traitements, notamment d´infographie et de simulation dans un but ludique. Le guichet automatique bancaire est souvent réalisé à l'aide d'un ordinateur caché dans une boîte. La calculatrice est le plus ancien appareil informatique.
Le récepteur satellite est un appareil qui traite des signaux numériques reçus par onde radio avant de les envoyer à un téléviseur. le décodage des signaux utilise des algorithmes de traitement numérique du signal. le récepteur GPS capte des signaux émis par des satellites, et utilise des informations de cartographie pour générer l´image numérique d'une carte géographique.
Les appareils d´avionique tels que le pilote automatique ou la centrale inertielle effectuent des calculs de géométrie et de physique sur la base de nombres obtenus à l'aide de capteurs. Ceci en vue d'assurer la navigation et la sécurité des avions, des bateaux et des véhicules spatiaux. Les avions militaires sont en outre équipés de systèmes d'armes, des appareils informatiques destinés à assister les missions.
Le téléphone mobile, l´appareil photo et la caméra vidéo sont des appareils autrefois électromécaniques ou électronique analogique, qui utilisent maintenant des techniques des appareils informatique[1]. De même les circuits électroniques des automobiles, des lave-vaisselle et des chaînes hi-fi utilisent maintenant des techniques issues de l'informatique.
les robots sont des appareils électroniques, mécaniques et informatiques (mécatroniques) qui effectuent des manipulations de manière autonome. L'autonomie est assurée par un appareil informatique placé à l'intérieur ou à l'extérieur du robot. Un bot informatique est un automate logiciel qui, placé dans un ordinateur, le fait exécuter des opérations de manière autonome.
Un Network attached storage (abr: NAS, traduction: stockage attaché au réseau) est un appareil destiné à stocker des informations, et les mettre à disposition via un réseau informatique. Les routeurs et les pare-feu (anglais firewall) sont des appareils qui examinent, trient et filtrent les informations qui transitent par un réseau informatique.
Ordinateurs
[modifier | modifier le code]un serveur est un ordinateur utilisé pour répondre à des demandes envoyées par un réseau informatique. Il effectue typiquement des opérations de stockage, de distribution et de tri d'informations.
l'anglicisme mainframe désigne un serveur de grande puissance, utilisé comme ordinateur central d'un grand réseau informatique. Un superordinateur est un ordinateur de très haute performance, souvent de grande dimension, il est utilisé pour des opérations qui nécessitent de nombreux calculs tels que les prévisions météo ou la simulation.
un ordinateur personnel aussi appelé micro-ordinateur est un ordinateur de petite taille destiné à un usage personnel. Une station de travail est un ordinateur personnel de grande puissance, souvent utilisé de facon alternée par plusieurs personnes. Un ordinateur portable est un ordinateur personnel de petite taille, prévu pour être transporté dans une valise. Un assistant personnel est ordinateur de poche, typiquement utilisé comme calculatrice, agenda ou bloc-note.
l'anglicisme appliance (traduction: appareil), désigne un ordinateur vendu clé en main, et destiné à un usage précis, tel que par exemple un serveur web, un pare-feu.
Histoire
[modifier | modifier le code]Numérique
[modifier | modifier le code]Dans les circuits électroniques numérique, un signal ne peut avoir que deux états: haut (tension proche de 5 Volt), ou bas (tension proche de zéro ou polarité inversée), cette simplification maximale rends les circuits plus fiables, plus résistants aux parasites et plus simples à construire, et permet la réalisation de circuits très complexes.
Chaque signal haut signifie "1" et chaque signal bas signifie "0", les deux valeurs possibles d'un bit[2] - un chiffre en système de numération binaire. Des groupes de 8 bits "octets" ou 16 ou 32, voire plus, sont combinés pour former des nombres selon les règles du système binaire. Puis les suites de nombres sont utilisés pour représenter des caractères d'imprimerie, des images ou des sons.
La correspondance entre un nombre et un caractère fait l'objet de normes internationales telles que ASCII ou Unicode. La norme ASCII définit la correpondance entre un nombre de 8 bits et un caractère de alphabet latin, la norme définit plus de 120 caractères. La norme Unicode définit la correspondance entre un nombre de 16 ou 32 bits, et un chiffre ou une lettre dans de nombreux alphabets tel que le latin, le chinois, l'arabe, le cyrillique, le phonétique, le braille ou autre, la norme définit plus de 120000 caractères. La norme ASCII a été créée en 1961 et Unicode en 1991.
Dans un appareil informatique, une image matricielle est enregistrée sous la forme d'une suite de nombres qui représentent les couleurs de l'image. L'image est découpée en une mosaïque de rectangles colorés, les pixels[3], et chaque groupe de 3 ou 4 nombres représente les quantités des teintes de base qui combinées donnent la couleur d'un pixel. Les teintes sont rouge-vert-bleu ou cyan-magenta-jaune-noir. Une image matricielle peut être composée de plusieurs millions de pixels, chaque nombre est un groupe de 3 à 8 bits.
Un son est enregistré sous la forme d'une suite de chiffres qui représentent les différentes étapes de la variation d'un signal électrique analogique. Un son est un signal acoustique analogique formé par des mouvements d'un matériau (l'air, l'eau, le sol). Celui-ci est transformé par un microphone en un signal électrique similaire. La tension du signal est mesurée à intervales réguliers, plusieurs milliers de fois par seconde, et chaque mesure est transformée en un nombre de 8 à 16 bits. La fréquence des mesures varie de 8000 à plus de 40000 par seconde.
Construction
[modifier | modifier le code]l'appareil informatique effectue des opérations sur des informations numérisées. les opérations à effectuer ainsi que les informations à manipuler et les résultats des opérations sont enregistrées dans les mémoires de l'appareil. Un processeur est un composant électronique qui effectue des opérations conformément à des instructions.
l'appareil est équipés de divers dispositifs destinés à récupérer les informations à traiter. Ces informations sont obtenues par des capteurs sous forme de signaux électriques analogiques, puis transformés signaux numériques, manipulés comme des nombres. Les manipulations effectuées par l'usager sont récupérées à l'aide de capteur de mouvements.
Un convertisseur analogique-numérique est un dispositif électronique qui transforme un signal analogique en signal numérique. inversément un convertisseur numérique-analogique transforme un signal numérique en signal analogique.
Les informations recues, les résultats des traitements, ainsi que les instructions de traitements sont enregistrées dans les mémoires de l'appareil. L'appareil est typiquement équipé de plusieurs mémoires de technologies différentes, dont la capacité de stockage, le coût, la vitesse d'enregistrement et de lecture diffèrent.
Les mémoires peuvent être des dispositifs électroniques à condensateur ou à circuit à bascule, ou alors des dispositifs électromécanique d'enregistrement sur une surface sensible aux champs magnétiques ou à la lumière.
- traitement
- sortie
- transmission
QNX | |
éditeur | Quantum Systems Software |
---|---|
année | 1982 |
architecture | micro-noyau |
matériel | compatible PC |
caractéristiques | multitâche, multi-utilisateur, et temps-réel |
utilisation | systèmes embarqués, industrie |
famille | type Unix |
QNX Software Systems Limited est la société d´informatique basée à Ottawa, Canada qui développe le logiciel QNX (prononcer Q-nix).
QNX est un système d'exploitation temps-réel à micro-noyau conforme à la norme POSIX pour les systèmes embarqués basés sur des ordinateurs compatible PC.Il est utilisé dans des systèmes critiques tels que des appareils médicaux, des ordinateurs de bord pour voiture ou avion, des routeurs, des robots et des systèmes d'arme[4].
Histoire
[modifier | modifier le code]Au début des années 1980, les ingénieurs Gordon Bell et Dan Dodge de l'université de Waterloo, au Canada se lancent dans la création d'un système d'exploitation pour les processeurs Intel 8088 des premiers compatible PC. Ils appellent alors leur produit Qunix (pour Quick Unix) et fondent la société Quantum Software Limited.
La version 1.0 de ce système d'exploitation s'est fait connaître par la QNX Conference, une exposition qui a lieu chaque année à Ottawa, Canada depuis 1985. Volontairement compact, il fonctionnait sur un ordinateur équipé de 64 Ko de mémoire et d'une disquette de 180 Ko.
En 1988 le Institute of Electrical and Electronics Engineers publie la norme POSIX. QNX est adapté pour se conformer à cette norme, ce qui garantis sa compatibilité avec la famille Unix.
le jour de la sortie de la version 4 de QNX, la société, initialement fondée par deux ingénieurs, compte alors plus de 150 employés. Le nom de la société a été changé en QNX System Software pour se rapprocher de son produit phare, et éliminer tout risque de confusion avec d'autres sociétés au nom similaire.
Les produits
[modifier | modifier le code]Le produit phare de la société est le système d'exploitation temps-réel QNX Neutrino. La société vend également un environnement de développement intégré pour QNX Neutrino. Cet environnement de développement fonctionne sur les systèmes d'exploitation Windows ou Linux.
QNX Neutrino
[modifier | modifier le code]QNX Neutrino est un système d'exploitation multiprocesseurs à micro-noyau, le noyau du système d'exploitation contient le strict nécessaire pour exécuter des programmes, et tout le reste est réalisé par des programmes de construction identique à des logiciels applicatifs.
Dans QNX Neutrino le système de fichier, les pilotes, la pile de protocoles, ainsi que l'environnement graphique (Photon microGUI ou X Window System) fonctionnent comme des logiciels applicatifs, chacun de ces programmes peut être exclu du système d'exploitation s'il n'est pas utilisé[5].
QNX Neutrino fonctionne aussi bien sur les petits appareils embarqués tels que les set-top box, que sur les grands appareils tels que les grappes de serveurs. Il peut être utilisé dans tout réseau qui utilise les protocoles Internet (TCP/IP, FTP, HTTP, SSH, Telnet,...).
L'ordonnanceur permet la surveillance des processus à la manière d'un chien de garde (anglais watchdog) et le redémarrage automatique des processus à la suite d'un crash. Le mode protégé évite que le crash d'un programme perturbe l'exécution des autres programmes.
Photon GUI
[modifier | modifier le code]Photon microGUI est l'environnement graphique de QNX Neutrino.
Liens externes
[modifier | modifier le code]Notes et références
[modifier | modifier le code]- voir aussi (en)About Symbian OS système d'exploitation pour téléphone portables
- mot-valise de l'anglais binary digit: chiffre binaire
- mot-valise de l'anglais picture element: élément d'image
- « About QNX Software Systems »
- « QNX System architecture »
Microsoft Affaires judiciaires
[modifier | modifier le code]Le Sherman Antitrust Act est une loi des États-Unis qui poursuit les comportements anticoncurrentiels.
Dans un décret datant de 1995, le département de la justice des États-Unis interdit à Microsoft de conclure des contrats avec les fabricants de matériel informatique (Dell, Compaq, Fujitsu) pour inclure le système d'exploitation Windows dans leur matériel. Il interdit également à Microsoft de conclure des contrats pour la vente liée de ses produits avec tout autre produit logiciel. voir Licence d'exploitation OEM. Des pratiques que le département de la justice juge contraire au Sherman Antitrust Act.
Deux ans plus tard le département de la justice des États-Unis intente un procès contre Microsoft pour violation du décret de 1995, en particulier la vente liée de leur navigateur web Internet Explorer dans leur système d'exploitation Windows 95, vente liée qui impose aux fabricants de matériel informatique de vendre Internet Explorer conjointement avec Windows 95. Microsoft fait recours contre cette décision et la cour d'appel des États-Unis déclare que ceci ne s'applique pas à Windows 98 parce que Internet Explorer est un composant de ce système d'exploitation. Microsoft obtient l'annulation du procès sur l'argument que la justice n'est pas équipée pour juger du bien fondé du design des produits de haute technologie (sic).
Entre 1999 et 2000 une enquête est ouverte concernant la position de Microsoft. L'enquête, menée par les juge Thomas Jackson et Richard Posner (ce dernier est spécialiste du droit à la concurrence) amène à la conclusion que la position de monopole de Microsoft sur le marché du compatible PC est bien protégée par l'effet de réseau d'une abondance de logiciels applicatifs construits pour Windows. l'enquête conclut également que Microsoft utilise sa position de monopole pour exclure des rivaux, nuire à ses concurrents et détruire l'innovation. Les juges prononcent la scission de Microsoft en deux sociétés: une qui développe des systèmes d'exploitation et l'autre qui développe des logiciels applicatifs.
Après recours de la part de Microsoft auprès de la cour d'appel, le jugement est revisé. La scission de la société est annulée et Microsoft est autorisé à pratiquer la vente liée. La société est par contre dans l'obligation de publier les spécification de ses technologies, en particulier les interfaces de programmation et les protocoles réseau; Ceci afin de préserver l'interopérabilité et la concurrence. Les constructeurs sont également autorisés à proposer en vente liée des produits concurrents.[1].
En 2007 Microsoft est condamné par la Commission européenne à une amende de près de 500 millions d'Euros pour violation de l'article 82 du traité CE et l'article 54 de l'accord EEE (des textes relatifs au droit de la concurrence et l'abus de position dominante).
En particulier la Commission Européenne condamne Microsoft pour avoir refusé de rendre public les spécification de sa technologie Active Directory, comme cela avait été demandé par son concurrent Sun Microsystems. Selon la Commission Européenne cet refus risque d'éliminer toute concurrence sur le marché des systèmes d'exploitation pour serveur, ceci à cause de la position dominante de Microsoft sur le marché des ordinateurs personnels. En outre ce refus nuit à l'interopérabilité des systèmes d'exploitation de Microsoft, selon la Commission Européenne.
Microsoft a également été condamné pour avoir vendu en vente liée son lecteur multimédia Windows Media Player avec son système d'exploitation Windows XP. Vu la position dominante de Microsoft sur le marché des ordinateurs personnels cette vente liée incite les créateurs de site web d'utiliser cette technologie au profit d'une autre et risque d'éliminer toute conccurence. De plus la vente liée sans frais supplémentaire corresponds à un rabais de set sur les deux produits, une pratique qui - vu la position dominante de Microsoft - nuit gravement à la conccurence, à savoir aux autres éditeurs de lecteur multimédia. La Commission européenne ordonne alors Microsoft de fournir une version de Windows XP sans le lecteur multimédia, et interdit la pratique du rabais de set, ce qui n'interdit pas pour autant Microsoft de vendre une version de Windows XP qui contient Windows Media Player[2].
IFF, acronyme de l'anglais Interchange File Format, est un format de fichier multi-usages lancé par Electronic Arts en 1985. Sa spécification - EA IFF 1985 - a été utilisée comme base pour divers formats de fichiers, notamment:
- AIFF, un format de fichier IFF lancé par Apple, et utilisé pour stocker de l'audio.
- ILBM, un format de fichier IFF lancé par Electronic Arts, et utilisé pour stocker des images matricielles.
- RIFF est un format de fichier lancé par Microsoft, et inspiré de IFF. Il est la base des formats de fichiers WAV et AVI.
Les origines
[modifier | modifier le code]Lancé en 1985 par Electronic Arts le format IFF est initialement destiné aux ordinateurs Commodore Amiga. Il comporte quelques particularités destinées à s'adapter aux caractéristiques des processeurs Motorola 680x0 des ordinateurs Amiga. Dérivé de IFF, le format RIFF est quand à lui adapté aux caractéristiques des processeurs Intel x86.
Le format
[modifier | modifier le code]Le format IFF est un format de fichier binaire, il est facile à manipuler avec un logiciel, mais difficile à lire pour un humain.
Les fichiers au format IFF sont composés d'un ensemble de blocs. chaque bloc commence avec un code de quatre caractères FourCC, suivi de 32 bits qui contiennent la longueur du bloc en question. Tous les blocs du fichier doivent avoir une longueur paire - alignement sur deux octets destiné à accélérer les traitements sur les processeurs Motorola 68000.
Chaque bloc peut contenir d'autres blocs. Le fichier commence par un des FourCC suivants: "FORM", "LIST" ou "CAT ". La liste des codes FourCC de la spécification EA IFF 1985 n'est pas exhaustive, et de nouveaux codes peuvent être ajoutés en fonction des besoins.
AIFF
[modifier | modifier le code]AIFF, acrynome de Audio Interchange File Format est un format de fichier utilisé pour stocker des sons, de la musique et des paroles. Il a été développé par Apple sur base de la spécification EA IFF 1985.
les fichiers dans ce format commencent par le FourCC "FORM", suivi de la longueur du fichier, et de l'indicatif "AIFF". le format utilise ses propres FourCC tels que "COMM" ou "SSND"[3].
ILBM
[modifier | modifier le code]ILBM, acryonme de InterLeaved BitMap est un format de fichier destiné à stocker des images matricielles. Il a été développé par Electronic Arts sur la base de la spécification EA IFF 185,
les fichiers dans ce format commencent par le FourCC "FORM", suivi de la longueur du fichier, et de l'indicatif "ILBM". le format utilise ses propres FourCC tels que "BMHD" ou "CMAP"[4].
RIFF
[modifier | modifier le code]RIFF, acryonyme de Resource Interchange File Format est un format de fichier similaire à IFF, défini par Microsoft et utilisé comme base pour divers formats de fichiers multimédia tels que WAV et AVI.
Liens externes
[modifier | modifier le code]Le système d'exploitation, abrégé SE (en anglais operating system, abrégé OS), est l'ensemble de programmes central d'un appareil informatique qui coordonne et uniformise l'utilisation du matériel par les logiciels applicatifs.
Intermédiaire entre les logiciels applicatifs et le matériel, le système d'exploitation effectue de nombreuses opérations au service des logiciels applicatifs et leur offre une manière unifiée d'exploiter les périphériques de l'ordinateur par l'intermédiaire d'interfaces de programmation banalisées.
Un système d'exploitation sert à coordonner l'utilisation du ou des processeurs, et accorder un certain temps pour l'exécution de chaque processus; à réserver de l'espace dans les mémoires pour les besoins des programmes et à organiser le contenu des disque durs ou d'autres mémoires de masse en fichiers et répertoires.
Un système d'exploitation sert aussi à créer l'image numérique qui contiendra les interfaces homme-machine des différents programmes et à l'envoyer au moniteur ainsi qu'à réceptionner les manipulations effectuées par l'utilisateur, et les transmettre aux différents programmes.
Divers logiciel utilitaires sont fournis avec le système d'exploitation. Ils servent à régler des paramètres de configuration du système d'exploitation, ou à effectuer des opérations basiques de manipulation des fichiers.
Les systèmes d'exploitation sont souvent vendus avec les appareils informatique. Il existe sur le marché plus de 100 systèmes d'exploitation. Les familles de systèmes d'exploitation les plus populaires sont – en 2009 – Unix et Windows. En 2009 la famille Windows domine largement le marché, avec plus de 90% de part de marché depuis 15 ans.
Typologie
[modifier | modifier le code]Un système d'exploitation est typiquement composé d'une large palette de programmes. La composition exacte dépends de l'usage cible pour lequel le système d'exploitation est destiné : ordinateur personnel, serveur, superordinateur ou encore système embarqué.
Un système d'exploitation est conçu pour fonctionner avec une gamme particulière de machines (type de processeur, constructeur, architecture). Si un système d'exploitation est disponible pour plusieurs gammes machines différentes, alors le même code source est compilé [5] et adapté à chaque gamme de machine. La liste exacte des machines sur laquelle il peut être utilisé dépends aussi de la palette de pilotes inclus dans le système d'exploitation.
Selon sa construction, un système d'exploitation peut être multi-tâches ou alors monotâche, multi-utilisateurs ou alors mono-utilisateur, il peut aussi être multiprocesseurs et/ou temps-réel.
- Un système d'exploitation est dit multi-tâches quand il permet l'exécution simultanée de plusieurs programmes. Les premiers systèmes d'exploitation multi-tâches sont apparus dans les années 1960, et aujourd'hui tous les systèmes d'exploitation contemporains sont multi-tâches.
- Il est dit multi-utilisateurs quand il est conçu pour être utilisé simultanément par plusieurs usagers, souvent à travers un réseau informatique. De tels systèmes d'exploitation sont typiquement utilisés pour des serveurs ainsi que des superordinateur, ils sont multi-tâches et sont souvent sécurisés c'est-à-dire qu'il vont refuser toute opération pour laquelle l'usager n'a pas préalablement reçu la permission.
- Il est dit multi-processeurs quand il est conçu pour exploiter un ordinateur équipé de plusieurs processeurs. Dans de tels systèmes d'exploitation plusieurs programmes sont exécutés simultanément par les différents processeurs.
- Il est dit temps réel quand les opérations sont effectuées dans un temps très court, et ce quel que soient les conditions d'utilisation. De tels systèmes d'exploitation sont utilisés dans l'industrie, l'aéronautique ou l'électronique grand public pour créer des systèmes temps réel.
par exemple OS/2 est un système d'exploitation multitâches mono-utilisateur pour les ordinateurs personnels à l'architecture compatible PC, alors que Solaris est un système d'exploitation multi-utilisateurs et multiprocesseurs pour les stations de travail, les serveurs et les superordinateurs construits par Sun Microsystems. voir plus loin d'autres exemples.
Histoire
[modifier | modifier le code]Dans les années 1940 les ordinateurs étaient programmés par manipulation d'interrupteurs à bascule, puis plus tard en perçant des trous dans des cartes perforées, puis en introduisant une pile de cartes dans un lecteur à la mécanique similaire aux pianos mécaniques.
Les ordinateurs, très coûteux, des années 1940 à 1960 étaient la propriété des entreprises et des institutions. Chaque utilisateur avait droit à un temps déterminé d'utilisation de l'ordinateur. Pendant ce temps, déterminé par une horloge murale ou une pointeuse, l'utilisateur avait alors à disposition la totalité du matériel de l'ordinateur. Il apportait avec lui une pile de cartes perforées qui contenait la totalité des instructions du ou des programmes à exécuter.
Les ordinateurs de cette époque effectuaient une seule tâche à la fois, au service d'un seul utilisateur. Les programmes pour ces ordinateurs contenaient toutes les instructions nécessaires pour manipuler le matériel de l'ordinateur. Si la logithèque pour cet ordinateur comportait 50 programmes, les instructions nécessaires pour manipuler le matériel se retrouvaient dans tout les 50 programmes.
L'idée est alors venue d'isoler les instructions routinières dans un programme séparé. Un programme qui réside continuellement dans la mémoire, quel que soit le programme en cours d'exécution.
1960, La multiprogrammation
[modifier | modifier le code]Les ordinateurs des années 1960 étaient typiquement équipés d'un lecteur de carte perforée, d'une imprimante et d'un disque dur. Les ingénieurs ont constaté que les ordinateurs passaient plus de temps à attendre qu'un périphérique termine son travail qu'à exécuter des instructions.
Les systèmes d'exploitation ont alors été construits de manière à permettre l'exécution de plusieurs programmes à la fois. Un premier programme est exécuté, puis, dès que le premier attends sur un périphérique, le système d'exploitation enchaîne sur l'exécution d'un deuxième programme, voir un troisième et ainsi de suite. Cette technique dite de multiprogrammation est le précurseur du multitâche des systèmes d'exploitation d'aujourd'hui, proche du multitâche coopératif qui a été utilisé jusque dans les années 1990.
Les premiers systèmes d'exploitation multi-utilisateurs sont apparus dans les années 1970. Sur le principe de la multiprogrammation, le système d'exploitation exécute des programmes au service d'un des utilisateur pendant une durée déterminée (quelques millisecondes), puis sert un autre utilisateur. Ce temps - très court par rapport au délai entre chaque frappe au clavier - donnait à l'utilisateur l'illusion que la machine travaillait uniquement pour lui - une illusion qui existe encore avec les systèmes d'exploitation contemporains.
La possibilité pour un ordinateur de servir simultanément plusieurs personnes augmentait le retour sur investissement de l'achat de matériel très couteux par les entreprises et les institutions.
C'est sur la base des expériences faites jusque là que le Massachusetts Institute of Technology créée en 1965 le système d'exploitation multi-utilisateurs Multics, considéré aujourd'hui comme l'ancêtre de la famille Unix[6].
1975, Les micro-ordinateurs
[modifier | modifier le code]Sorti en 1975, le Altair 8800 était le premier micro-ordinateur du monde. Un appareil livré en kit au prix approximatif de 400 $, et qui se programmait en inversant une série d'interrupteurs à bascule situé sur la face avant de l'appareil. La même année les ingénieurs Paul Allen et Bill Gates fondent une startup appelée Micro-soft (le trait d'union a plus tard été supprimé), une société qui développe un interprète du langage de programmation BASIC pour le Altair 8800.
Le prix du Altair 8800 le rendait accessible pour une personne seule. Mais son utilisation compliquée (qui rappelle les ordinateurs centraux des années 1940) limitait son utilisation à des passionnés et des hobbyistes.
En 1975 les micro-ordinateurs n'avaient pas une puissance de calcul suffisante pour être équipé d'un système d'exploitation comme Unix ou OS/360. Gary Kildall, ingénieur pour Intel crée CP/M, le premier système d'exploitation pour micro-ordinateur.
En 1980, IBM prends contact avec Gary Kildall, pour lui demander d'adapter CP/M à son nouveau micro-ordinateur, le Personal Computer (abrégé PC). Gary Kidlall refuse de signer le contrat, et IBM se tourne alors vers Microsoft. La firme de Bill Gates, qui n'a encore jamais développé de système d'exploitation prends six mois pour créer MS-DOS sur la base de QDOS - un système d'exploitation experimental pour les processeurs Intel 8086[7].
C'est à la même époque que Steve Jobs et Steve Wozniak fondent la startup Apple Computer, avec comme optique de faire du micro-ordinateur un produit grand public aussi facile d'usage que n'importe quel appareil électrique.
Xerox, une des sociétés majeures de l'époque s'intéresse à l'optique de Steve Jobs, réunis une poignée de scientifiques et d'ingénieurs dans son centre de recherche de Palo Alto, et, sur la base de thèses et d'études effectuées les années auparavant, développe le premier micro-ordinateur équipé d'une interface utilisateur graphique. Le résultat des recherches, le Xerox Star ne sera jamais commercialisé et c'est Apple, dix ans plus tard, avec le Macintosh, qui popularise les recherches effectuées par Xerox[8].
1990, Les systèmes d'exploitation sous licence libre
[modifier | modifier le code]en 1987, Andrew Tanenbaum, professeur à l'Université libre d'Amsterdam crée le système d'exploitation Minix, dont le code source est destiné à illustrer son cours sur la construction des systèmes d'exploitation. La totalité du code source se trouve dans son livre Operating Systems: Design and Implementation. Inspiré — mais peu convaincu[9] — par les travaux de Tanenbaum, Linus Torvalds, étudiant à l'université d'Helsinki se lance dans le développement de son propre système d'exploitation: Linux.
En même temps, Richard Stallman du Massachusetts Institute of Technology lance l'idée d'un système d'exploitation sous licence libre, qu'il appelle GNU. Il développe des programmes destinés aux programmeurs, des logiciels utilitaires, et crée la GNU General Public License - un contrat de licence libre.
De l'autre coté des États-Unis, les étudiants et les rechercheurs de l'université de Berkeley créent des logiciels utilitaire pour Unix. Ces logiciels sous licence libre sont vendus avec le noyau Unix de AT&T, lui-même sous licence propriétaire, sous le nom Berkeley Software Distribution (traduction: la suite de logiciels de Berkeley) - abrégé BSD.
Cette double licence de BSD est à l'origine de plusieurs années de litiges entre l'Université de Berkeley et AT&T[10]. Les étudiants de l'université travaillent à remplacer des programmes développés par AT&T par leurs propres programmes, sous licence libre, afin de résoudre le litige. Cette situation dura jusqu'à la sortie de 4.4BSD en 1994. Quelque temps après l'université de Berkeley abandonne le développement de BSD[11].
C'est suite aux initiatives et travaux de Linus Torvalds et Richard Stallman, aidés par des milliers de bénévoles et suite aux travaux des étudiants de l'université de Berkeley que GNU/Linux et 4.4BSD sont devenus les premiers systèmes d'exploitation sous licence libre[12].
Composition
[modifier | modifier le code]Un système d'exploitation comporte typiquement de nombreux programmes. La palette de programmes inclue diffère d'un système d'exploitation à l'autre en fonction de l'ordinateur cible pour lequel il est prévu (ordinateur personnel, serveur, assistant personnel...).
Si le système d'exploitation est destiné à être utilisé sur un ordinateur personnel, l'interface graphique sera raffinée et ergonomique. Si il est destiné à être utilisé sur un serveur, il comprendra une large palette de protocoles et de pilotes pour du matériel réseau, sera multitâches et multi-utilisateurs.
Un système d'exploitation destiné à des superordinateurs sera massivement multiprocesseur, c'est-à-dire qu'il pourra être utilisé sur un ordinateur équipé de centaines voir de milliers de processeurs. Et le nombre de pilotes sera restreint au minimum et le système d'exploitation sera prévu pour être enregistré sur une mémoire morte s'il est destiné à un assistant personnel ou un téléphone portable.
Interface de programmation
[modifier | modifier le code]Le système d'exploitation effectue de nombreuses actions sur demande des logiciels applicatifs. Le point d'interaction entre un logiciel applicatif et le système d'exploitation est appelé interface de programmation (anglais Application Programming Interface abrégé API). Il peut être sous la forme de fonctions mises à disposition dans des bibliothèques logicielles, ou sous la forme d'un logiciel serveur qui réponds aux requêtes envoyées par les logiciels applicatifs.
L'utilisation de la même interface de programmation quel que soit le matériel, le protocole ou le système de fichier concerné assure la portabilité des logiciels applicatifs : Un logiciel applicatif donné pourra fonctionner sur différents ordinateurs, quels que soit leur configuration, en particulier quel que soit le matériel, le système de fichier ou le protocole utilisé.
POSIX (acronyme de l'anglais Portable Operating System Interface) est une norme relative à l'interface de programmation du système d'exploitation. De nombreux systèmes d'exploitation sont conformes à cette norme, notamment les membres de la famille Unix.
L'ordonnanceur
[modifier | modifier le code]L'ordonnanceur (anglais scheduler) est le programme du système d'exploitation qui contrôle le déroulement des programmes. C'est le premier programme exécuté au démarrage du système d'exploitation. Dans un système d'exploitation multitâches l'ordonnanceur assure l'exécution simultanée de plusieurs programmes et les échanges d'informations entre les programmes.
L'exécution simultanée de plusieurs programmes est assurée par le système d'exploitation qui commandera l'exécution tour à tour de chaque programme par le ou les processeurs de l'ordinateur. Chaque processeur exécute les instruction d'un programme pendant une fraction de seconde, puis le système d'exploitation effectue une commutation de contexte (anglais context switch), suspends l'exécution du programme en cours et passe au programme suivant.
Les échanges d'informations entre les programmes se font à l'aide de messages stockés en mémoire, l'ordonnanceur s'occupe de collecter les messages et les mettre à disposition de chaque destinataire. Tout programme qui attends un message sera interrompu jusqu'à l'arrivée d'un message et l'ordonnanceur évitera toute commutation de contexte vers le programme en attente.
La mémoire virtuelle
[modifier | modifier le code]Le mécanisme dit de mémoire virtuelle est destiné à simuler la présence ou l'absence de mémoire centrale par manipulation de l'unité de gestion mémoire (anglais Memory Management Unit abrégé MMU). C'est un mécanisme courant dans les systèmes d'exploitation.
l'unité de gestion mémoire est un composant matériel présent dans de nombreux ordinateurs. Il est branché entre le processeur et la mémoire centrale. Un programme du système d'exploitation manipule les tables de correspondance de l'unité de gestion mémoire. Ce qui a l'effet suivant: lorsque le processeur - conformément aux instruction d'un programme - va rechercher des informations à une adresse mémoire précise, il demande à l'unité de gestion mémoire, qui va alors aller rechercher cette information à l'emplacement qui corresponds selon la table de correspondance.
L'unité de gestion mémoire possède plusieurs tables de correspondance. Les systèmes d'exploitation utilisent généralement deux tables: une pour le mode kernel et une pour le mode utilisateur. La table du mode kernel est arrangée de manière à permettre au processeur d'utiliser la totalité de la mémoire centrale disponible, cette table est utilisé lors de l'exécution des programmes du noyau du système d'exploitation. La table du mode utilisateur est arrangée de manière à simuler la présence de mémoire et protéger le noyau, cette table est utilisée lors de l'exécution des programmes hors du noyau.
Pour simuler la présence de mémoire (mémoire virtuelle), le système d'exploitation manipule les tables de correspondance de manière à ce que plusieurs emplacements de la table correspondent toutes à un seul emplacement de mémoire centrale. Lorsque le processeur - conformément aux instruction d'un logiciel applicatif - va rechercher des information à un de ces emplacements, l'unité de gestion mémoire déclenche l'exécution d'un programme particulier du système d'exploitation. Ce programme va alors échanger (anglais swap) le contenu de cet emplacement de mémoire centrale avec une copie du contenu enregistrée dans un emplacement de mémoire de masse prévu à cet effet - typiquement un fichier ou une partition de disque dur. Pour le logiciel applicatif tout se passe comme si l'ordinateur avait plus de mémoire que ce qui est réellement disponible en mémoire centrale.
L'unité de gestion de mémoire est aussi utilisée pour réaliser la protection du noyau du système d'exploitation. Lorsqu'un logiciel applicatif est en cours d'exécution, la table de correspondance est arrangée préalablement par le système d'exploitation de manière à ce que les adresses mémoires du noyau correspondent à un autre emplacement, le noyau est ainsi invisible pour le logiciel en question. Cette technique est aussi utilisée pour isoler les logiciels applicatifs l'un de l'autre.
Pilotes
[modifier | modifier le code]Un pilote (anglais driver) est un programme qui contient les instructions à exécuter pour utiliser un certain périphérique informatique, il assure l'utilisation banalisée du périphérique. Les pilotes sont fournis par l'auteur du système d'exploitation ou le fabricant du périphérique.
Un système d'exploitation contient typiquement de nombreux pilotes correspondant aux nombreux composants matériel qui sont susceptibles d'être montés dans l'ordinateur. L´interface de programmation est similaire sur tout les pilotes, tandis que les instructions du programme différent en fonction des caractéristiques de chaque composant matériel.
Le système d'exploitation dirige l'utilisation des pilotes par les logiciels applicatifs. Il intervient lorsque plusieurs logiciels applicatifs tentent d'utiliser le même matériel en même temps, ou bien lorsque le matériel ou le pilote n'est pas disponible.
lors de chaque événement survenu sur un périphérique (celui-ci à reçu des informations, il a fini de les envoyer, l'utilisateur a effectué une manipulation...), celui-ci provoque une interruption matérielle. Le processeur provoque alors une commutation de contexte, et le système d'exploitation déclenche l'exécution des instructions du pilote concerné.
Les logiciels applicatifs ainsi que le système d'exploitation peuvent également, au besoin, déclencher l'exécution des instructions d'un pilote.
Système de fichiers
[modifier | modifier le code]Un système de fichier (anglais file system) est une structure en arbre dans laquelle sont stockés des fichiers ainsi que d'autres informations. Divers programmes du système d'exploitation s'occupent de répartir les fichiers sur les mémoires de masse tels que les disque durs et de les relier pour former la structure du système de fichiers.
Il existe diverses manières de structurer un système de fichier. Une mémoire de masse qui a été remplie avec un système d'exploitation selon une structure donnée sera reconnue par un autre système d'exploitation uniquement si celui-ci reconnaît la structure en question. Les mémoires amovibles telles que les CD ou les DVD ont une structure normalisée dont les spécifications sont publiques, ce qui assure leur reconnaissance par tout les systèmes d'exploitation (voir ISO 9660 et UDF).
Un système d'exploitation contient typiquement différents programmes qui servent à manipuler un système de fichier. Chaque programme manipule les fichiers conformément à une structure donnée. Ces programmes effectuent des opérations telles que créer des fichiers, les copier, les supprimer, créer et supprimer des répertoires ainsi que formater la mémoire de masse c'est-à-dire créer une structure vide. voir FAT, HFS ou ext2fs.
Lorsque le système de fichier est distribué, c'est-à-dire que les fichiers sont stockés sur différents ordinateurs d'un réseau informatique, le système d'exploitation envoie une requête à l'ordinateur qui stocke le fichier pour chaque opération à effectuer (voir NFS ou CIFS).
Dans un système d'exploitation multi-utilisateurs, les programmes qui manipulent le système de fichier effectuent des contrôles pour vérifier qu'aucun fichier n'est manipulé par une personne non autorisée. Le système d'exploitation refusera toute manipulation non autorisée.
Réseau
[modifier | modifier le code]Dans un réseau informatique, deux ordinateurs reliés arrivent à communiquer du moment que les communications se font de part et d'autre selon les mêmes protocoles réseau. Selon le modèle OSI, les différents protocoles existants sont répartis sur sept niveaux, où un protocole d'un niveau donné peut être combiné avec n'importe quel protocole des niveaux situés en dessus et en dessous (voir encapsulation).
Un système d'exploitation contient typiquement plusieurs programmes nécessaires pour des échanges d'informations dans différents protocoles des niveaux 1 à 4. Tandis que les niveaux 5 à 7 sont pris en charge par les logiciels applicatifs.
Pour les échanges d'informations selon les protocoles de niveau 1 et 2, le système d'exploitation demande l'opération au matériel de l'ordinateur par l'intermédiaire d'un pilote informatique, pilote qui peut faire partie intégrante du système d'exploitation ou être fourni par le constructeur du matériel.
Lors de l'envoi d'informations sur le réseau, un logiciel applicatif crée une information, la met en forme conformément aux protocoles des niveaux 7 à 5, puis la transmet au système d'exploitation. Divers programmes du système d'exploitation vont découper cette information en trames, puis vont mettre en forme les trames et les envoyer conformément aux protocoles des niveaux 4 à 1.
Lors de la réception de trames depuis le réseau, divers programmes du système d'exploitation vont tenter de les décoder conformément à différents protocoles des niveaux 1 à 4, puis transformer la suite de trames en un flux continu, qui sera envoyé au logiciel applicatif destinataire. Le logiciel va alors décoder le flux conformément aux protocoles de niveaux 5 à 7. Le logiciel applicatif effectue préalablement une connexion, c'est-à-dire une liaison logique par laquelle il va s'associer avec un flux particulier.
Le choix exact des protocoles utilisés dépends de l'ordinateur concerné et des liaisons réseau qui vont être utilisées. Divers paramètres de configuration permettent d'influencer le choix des protocoles. Ils permettent par exemple d'empêcher l'utilisation de protocoles interdits sur le réseau concerné.
Contrôle d'accès
[modifier | modifier le code]Un ensemble de programmes assure la sécurité des informations enregistrées dans les mémoires ainsi que la disponibilité de l'ordinateur, ceci afin de préserver la confidentialité et éviter que de manipulations effectuées par un utilisateur perturbent l'utilisation de l'ordinateur par les autres utilisateurs. Cette fonctionalité des systèmes d'exploitation multi-utilisateurs est souvent absente dans les systèmes d'exploitation pour les appareils personnels.
Dans ces systèmes d'exploitation tout utilisateur doit préalablement décliner son identité avant d'utiliser l'ordinateur. Puis un programme du système d'exploitation vérifie cette identité par rapport à un annuaire ou un référentiel (voir authentification). Le système d'exploitation établit alors une liste des opérations autorisées ou interdites à l'utilisateur en fonction des règlements (anglais policies) qui ont été introduits par l'administrateur sécurité - la personne responsable de la sécurité des informations.
Lors de chaque opération demandée par un logiciel applicatif, le système d'exploitation vérifie préalablement si l'utilisateur qui manipule le logiciel applicatif est autorisé à effectuer cette opération. La vérification se fait sur la base des règlements ainsi que des listes de contrôle d'accès introduits par l'administrateur sécurité. Le système d'exploitation refusera toute opération non autorisée et inscrira le refus dans un journal d'activité.
En particulier, le système d'exploitation peut refuser à un utilisateur de lire, de modifier, ou de supprimer un fichier, selon les permissions et les listes de contrôle d'accès introduites concernant ce fichier. Le nom des personnes autorisées à modifier les listes de contrôles d'accès est également indiqué dans la liste de contrôle d'accès.
Le système d'exploitation va également refuser la mise hors service de programmes centraux tels que les logiciels serveur ou des programmes du système d'exploitation par tout utilisateur qui n'a pas préalablement recu le privilège d'effectuer cette opération - selon les règlements introduits par l'administrateur de sécurité.
Les mécanismes de contrôle d'accès permettent en outre de lutter contre les logiciels malveillants - ceux-ci effectuent souvent des opérations susceptibles de perturber l'utilisation de l'ordinateur.
Interface utilisateur
[modifier | modifier le code]Un ensemble de programmes du système d'exploitation réceptionnent les informations envoyées par les logiciels applicatifs, et les placent sur une image numérique qui sera envoyée au matériel par l'intermédiaire d'un pilote. En complément un autre ensemble de programmes réceptionnent les manipulations effectuées par l'usager par l'intermédiaire de pilotes puis les transmettent au logiciel concerné. Ces deux ensembles créent l'interface homme-machine qui permet à un usager d'interagir avec la machine.
Le système d'exploitation peut également dialoguer avec un usager par l'intermédiaire d'un autre ordinateur ou d'un terminal (interface distribuée). Les informations envoyées par les logiciels applicatifs seront alors envoyées à l'autre ordinateur selon un protocole prévu à cet effet, tandis que l'autre ordinateur enverra les manipulations effectuées par l'utilisateur. voir SSH, RFB ou X Window System.
Lorsque l'interface est en mode texte, l'image numérique est une grille dans laquelle sont placés des caractères d'imprimerie, la grille comporte typiquement 80 colonnes et 35 lignes. L'interface se manipule typiquement avec un clavier. Ce type d'interface, qui existe depuis les début de l'informatique est aujourd'hui remplacé par les interfaces graphiques.
L'interface utilisateur graphique
[modifier | modifier le code]Dans une interface utilisateur graphique (anglais Graphical User Interface abrégé GUI), l'image numérique est composée par un programme du sytème d'exploitation par superposition de points, de lignes, de pictogrammes et de caractères d'imprimerie. Ce programme peut utiliser le processeur graphique de l'ordinateur.
Lors des manipulations de la souris, le système d'exploitation déplace l'élément d'image qu'est le curseur et effectue les calculs nécessaires pour déterminer quel est l'élément de l'image qui se trouve juste en dessous. À chaque élément de l'image peut être associé un programme. Un widget est un programme qui dessine et anime un élément d'image, cet élément prends typiquement l'aspect d'un bouton poussoir ou d'une lampe témoin. Divers widgets sont fournis avec le système d'exploitation.
Les programmes pour interface graphique sont aujourd'hui (2009) inclus dans tout les systèmes d'exploitation contemporains. Le X Window System est l'ensemble des programmes pour interface utilisateur graphique inclus dans tout les systèmes d'exploitation de la famille Unix.
Logiciels utilitaire
[modifier | modifier le code]Un logiciel applicatif sert à assister l'utilisateur dans une activité. Les logiciels utilitaires sont des logiciels applicatifs qui servent à permettre à l'utilisateur d'effectuer des manipulations basiques telles que démarrer des programmes, copier des fichiers ou modifier des paramètres de configuration. Divers logiciels utilitaires sont fournis avec les systèmes d'exploitation. exemples:
un interpréteur de commandes est un programme qui permet d'exécuter d'autres programmes en écrivant leur nom éventuellement suivi de divers paramètres. Il est accompagné de plusieurs programmes qui permettent la manipulation des fichiers (copie, changement de nom...). Ce type de programme est utilisé pour effectuer des manipulations ou exécuter des scripts — suites de manipulations pré-enregistrées (voir commande informatique).
Un environnement de bureau est un programme dans lequel les différents éléments de l'ordinateur (programmes, fichiers,disques durs) sont présentés sous forme de pictogrammes sur lesquels il est possible d'effectuer différentes actions. Il sert typiquement à exécuter des programmes, et à effectuer différentes opérations sur les fichiers: copie, changement du nom, déplacement ou suppression.
Divers programmes servent à aider l'utilisateur à modifier les paramètres de configuration du système d'exploitation. Ceux-ci proposent des listes à choix multiples et effectuent des contrôles de validité avant le modifier les paramètres.
Divers programmes servent à installer des logiciels, c'est-à-dire copier les fichiers dans les emplacements prévus à cet effet, et effectuer les modifications de configuration nécessaire pour rendre le logiciel opérationnel. Ces programmes peuvent aussi servir à consulter la liste des logiciels actuellement installés dans l'ordinateur.
Un système d'exploitation multi-utilisateurs est typiquement fourni avec des programmes permettant de surveiller l'activité de l'ordinateur — consultation de journaux d'activité — ou modifier les liste de contrôle d'accès en vue d'autoriser ou d'interdire un fichier à certains utilisateurs.
Architecture
[modifier | modifier le code]Un système d'exploitation est typiquement organisé en 3 couches distinctes. A la couche supérieure se trouve l'interface de programmation, reliée d'un coté avec la couche centrale du système d'exploitation et de l'autre avec les logiciels applicatifs, dont font partie les logiciels utilitaires fournis avec le système d'exploitation. A la couche inférieure se trouvent typiquement l'ordonnanceur, la gestion de mémoire (voir mémoire virtuelle) et les pilotes, reliés à la couche centrale d'un coté et au matériel de l'ordinateur de l'autre. Au centre se trouvent les composants principaux du système d'exploitation tels que les programmes pour les systèmes de fichiers et le réseau. La couche d'abstraction matérielle (anglais hardware abstraction layer abrégé HAL) est une couche inférieure qui contient uniquement des pilotes.
Le noyau
[modifier | modifier le code]Le noyau (anglais kernel) est un espace mémoire isolé, dans lequel est placé tout ou partie du système d'exploitation. Dans le langage courant le terme kernel désigne l'emplacement ainsi que l'ensemble des programmes qu'il contient et qui forment le cœur rigide du système d'exploitation. Le contenu du noyau ne peut pas être modifié par inadvertance par les logiciels applicatifs — une modification provoquerait un crash de l'ordinateur.
Certains systèmes d'exploitations tels que Mac OS, AmigaOS, DOS ou CP/M n'ont pas de noyau et pas de mécanisme de mémoire virtuelle.
Noyau monolithique
[modifier | modifier le code]L'architecture est dite à noyau monolithique lorsque la totalité des programmes du système d'exploitation (en particulier les pilotes, le programmes qui traitent le réseau et le système de fichier) résident dans l'espace du noyau. Dans cette architecture chaque utilisation d'une fonction de l'interface de programmation provoque une commutation de contexte et le passage en mode kernel (voir mémoire virtuelle).
Linux, FreeBSD, OpenVMS ou Solaris sont des systèmes d'exploitation à noyau monolithique.
Micro-noyau
[modifier | modifier le code]L'architecture est dite micro-noyau (anglais microkernel) lorsque le noyau contient le strict minimum, c'est-à-dire l'ordonnanceur et le programme qui simule la mémoire virtuelle, et que la grande majorité des programmes se trouvent en dehors: les pilotes, les programmes qui traitent les systèmes de fichiers ou l'interface graphique, ainsi que les logiciels applicatifs.
Dans cette architecture de nombreux programmes du système d'exploitation se trouvent en dehors du noyau, ils sont isolés les uns des autres, sont exécutés comme des logiciels applicatifs — en multitâche — et utilisent les fonctionnalités du noyau pour s'échanger des messages. L'utilisation des fonctions de l'interface de programmation entraîne l'émission de nouveaux messages.
Minix, BeOS, Mac OS X ou QNX sont des systèmes d'exploitation à micro-noyau.
Noyau hybride
[modifier | modifier le code]Divers systèmes d'exploitation ont une architecture qui a certaines caractéristiques des micro-noyau et en même temps des noyaux monolithiques. Cette architecture est appelée noyau hybride macro-noyau ou micro-noyau modifié.
Dans cette architecture, la totalité des programmes du système d'exploitation résident dans le noyau, à la façon d'un noyau monolithique. Cependant de nombreux programmes du système d'exploitation sont exécutés en multitâche comme des logiciels applicatifs, à la manière de l'architecture micro-noyau (processus noyau).
Pour les processus du noyau, l'ordonnanceur effectue des commutations de contexte entre les processus de la même manière qu'entre les logiciels applicatifs, ces processus utilisent les fonctions de l'ordonnanceur pour s'échanger des messages et l'utilisation des fonctions de l'interface de programmation entraîne l'émission de nouveaux messages.
Windows NT ou NetWare sont des systèmes d'exploitation à noyau hybride[13].
Quelques exemples
[modifier | modifier le code]Année d'apparition | Nom | Famille | Éditeur | Matériel pris en charge | Utilisation | Noyau | Graphique | Multitâche | Multi-utilisateur | Multiprocesseur | Temps réel |
---|---|---|---|---|---|---|---|---|---|---|---|
1977 | VMS | DEC | VAX, DEC Alpha, Hewlett-Packard | serveurs, ordinateurs centraux | |||||||
1978-1985 | CP/M | Digital Research | Amstrad CPC, Commodore 128, TRS-80 | ordinateurs personnels | |||||||
1981-1990 | DOS | IBM | Compatible PC | ordinateurs personnels | |||||||
1981 | Solaris | Unix | Sun | machines de Sun | serveurs, stations de travail, superordinateurs | ||||||
1982 | QNX | Quantum Software Systems | compatibles PC, MIPS, PowerPC, ARM | Systèmes embarqués, automates industriels | |||||||
1984 | Mac OS | Apple | Apple Macintosh | ordinateurs personnels | |||||||
1984 | AmigaOS | Commodore | Commodore Amiga, PowerPC | ordinateurs personnels et consoles de jeu | |||||||
1986 | AIX | Unix | IBM | PS/2, RS/6000, PowerPC | ordinateurs personnels, serveurs, stations de travail, superordinateurs | [14] | |||||
1986 | IRIX | Unix | SGI | machines de SGI | stations de travail et serveurs | ||||||
1986-1996 | NeXTSTEP | Unix | NeXT | Compatible PC, SPARC, Hewlett-Packard | stations de travail | ||||||
1987-2006 | OS/2 | IBM et Microsoft | PS/2 et Compatible PC | ordinateurs personnels | |||||||
1987 | Minix | Andrew Tanenbaum | Compatible PC, M68k, SPARC | (pédagogique)[15] | [16] | ||||||
1989 | Symbian OS[17] | Symbian Ltd.[18] | Nokia, Siemens, Samsung, Panasonic | téléphones portables, smartphone, assistants personnel | [19] | ||||||
1991 | Linux | Unix | (communautaire) | nombreux[20] | tous | ||||||
1991[21] | Windows NT | Windows | Microsoft | Compatible PC | serveurs, stations de travail, ordinateurs personnels | ||||||
1994[22] | NetBSD | Unix | (communautaire) | nombreux[23] | tous | ||||||
1994[22] | FreeBSD | Unix | (communautaire) | nombreux[24] | tous | ||||||
1995 | Windows 95 | Windows | Microsoft | Compatible PC | ordinateurs personnels | [25] | |||||
1996 | Windows CE | Windows | Microsoft | x86, MIPS, ARM[26] | smartphone, assistants personnels | [27] | |||||
1999[28] | Mac OS X | Unix | Apple | PowerPC de Apple | ordinateurs personnels, serveurs, station de travail |
Le marché
[modifier | modifier le code]Née en 1985, la gamme des systèmes Windows équipe aujourd'hui 90 % des ordinateurs personnels, ce qui la place en situation de monopole notamment auprès du grand public. En 2008 ses parts de marché sont descendues en dessous de 90% pour la première fois depuis 15 ans[29].
Initiée en 1969, la famille de systèmes d'exploitation Unix compte plus de 25 membres[30]. Linux, BSD et Mac OS X sont aujourd'hui les systèmes d'exploitation les plus populaires de la famille Unix.
La famille Windows équipe aujourd'hui 38 % des serveurs tandis que la famille Unix équipe 31 %, dont à peu près la moitié avec Linux[31]. La famille Unix anime 60 % des sites web dans le monde[32] et Linux équipe 95 % des près de 500 superordinateurs du monde[33].
Né en 1990, Symbian OS est – en 2007 – le système d'exploitation le plus répandu sur les téléphones portables et assistants personnels, avec 67 % de part de marché[34].
De nombreux logiciels applicatifs sur le marché sont construits pour fonctionner avec un système d'exploitation en particulier, ou une famille en particulier. De même, le système d'exploitation est construit pour fonctionner avec une gamme de machines donnée. Pour l'acheteur le choix de la famille de machine limite le choix du système d'exploitation, qui lui-même limite le choix des logiciels applicatifs.
Chaque système d'exploitation, selon la palette de programmes qu'il contient, est construit pour fonctionner avec certains réseaux informatique. Pour l'acheteur qui possède un réseau informatique (typiquement les entreprises et les institutions) le choix du système d'exploitation dépends de son adéquation au réseau existant de l'acheteur.
Ces dépendances, combinées avec un effet de réseau important font que le choix de l'un ou l'autre système d'exploitation par le consommateur se fait le plus souvent selon des critères pratiques et que le marché est sujet aux situations de monopole.
Concurrence, compatibilité et interopérabilité
[modifier | modifier le code]La compatibilité d'un système d'exploitation est sa capacité à être utilisé à la place d'un autre, en particulier à exécuter les logiciels applicatifs de l'autre. Le système d'exploitation est dit compatible avec l'autre.
La compatibilité au niveau source est la capacité pour un système d'exploitation A d'exécuter un logiciel applicatif créé pour B après avoir compilé le code source du logiciel pour la machine A. Et la compatibilité binaire est la capacité pour un système d'exploitation A d'exécuter un logiciel applicatif créé pour B tel quel, sans avoir à le recompiler.
Pour être compatibles, deux systèmes d'exploitation doivent avoir des points communs, notamment sur l'interface de programmation. La compatibilité binaire n'est possible qu'entre deux systèmes d'exploitation qui fonctionnent avec la même famille de processeur.
L´interopérabilité est la capacité de plusieurs systèmes de pouvoir être utilisés ensemble. Par exemple dans un même appareil, ou dans un réseau informatique.
Le système d'exploitation Unix, créé en 1969 a servi de source d'inspiration pour toute une famille de systèmes d'exploitation. Le jeu de la concurrence, très vive dans les années 1980, a amené les différents membres de la famille Unix à se distancier, et perdre la compatibilité l'un avec l'autre. Des organismes de normalisation tels que le Open Group se sont penchés sur le problème et ont édictés des normes qui garantissent la compatibilité à travers toute la famille Unix.
Entre 1995 et 2007, Microsoft, éditeur de la suite de systèmes d'exploitation Windows a été l'objet de plusieurs procès pour des pratiques anticoncurrentielles qui nuisent à la concurrence et à l'interopérabilité. La société a été condamnée par le département de la justice des États-Unis pour violation du Sherman Antitrust Act ainsi que par la Commission européenne pour violation des traités relatifs à la concurrence dans l'Union européenne.
La popularisation d'Internet dans les années 1990 a contribué à améliorer l'interopérabilité entre les systèmes d'exploitation.
La guerre des Unix et le Open Group
[modifier | modifier le code]Le système d'exploitation Unix a été développé par AT&T en 1969. Plus tard d'autres éditeurs s'en sont inspirés pour créer des systèmes d'exploitation semblables, notamment l'université de Berkeley, avec sa Berkeley Software Distribution (BSD). Puis ceux-ci ont servi de source d'inspiration pour d'autres systèmes d'exploitation, et ainsi de suite. En 2009, la famille Unix compte plus de 25 systèmes d'exploitation.
Le jeu de la concurrence a amené chaque éditeur à ajouter ses propres améliorations et ses propres fonctionnalités à son système d'exploitation optimisé pour un matériel en particulier. Ce qui a amené les différents membres de la famille Unix à se distancier, et perdre la compatibilité l'un avec l'autre.
En 1987, dans le but de réunifier la famille Unix, AT&T conclut un accord avec Sun Microsystems (un des principaux éditeur de système d'exploitation basé sur BSD). Les autres éditeurs ne voient pas cet accord d'un bon œil, et créent la fondation Open Software Foundation (abrégé OSF). En même temps le Open Group, un consortium de normalisation, publie des normes relatives aux systèmes d'exploitation de la famille Unix[35]. Les deux institutions sont aujourd'hui fusionnées.
POSIX est le nom donné aux la normes IEEE 1003. Cette famille de normes appartenant à l'Open Group a été lancée en 1988 et concerne l'interface de programmation. La conformité d'un système d'exploitation à cette norme assure la compatibilité au niveau source. En 2009, de nombreux systèmes d'exploitations sont conformes à cette norme, y compris en dehors de la famille Unix[36].
POSIX fait partie de la Single Unix Specification, une norme lancée en 1994 par le Open Group, qui concerne les systèmes de fichiers, les logiciels utilitaires, ainsi que 1 742 fonctions de l'interface de programmation[37]. Le nom Unix appartient à l'Open Group et tout système d'exploitation doit être conforme à la Single Unix Specification pour être reconnu comme faisant partie de la famille Unix[38].
Microsoft et la concurrence
[modifier | modifier le code]En 1995, conformément au Sherman Antitrust Act, le département de la justice des États-Unis interdit à Microsoft certaines de ses pratiques considérées comme nuisibles à la concurrence. Deux ans plus tard, un procès est ouvert pour non respect des interdictions du décret de 1995 : Microsoft obtient l'annulation du procès sur l'argument que « la justice n'est pas équipée pour juger du bien fondé du design des produits de haute technologie (sic) ».
Entre 1999 et 2001 une enquête est ouverte concernant la position de Microsoft. L'enquête, menée par les juges Thomas Jackson et Richard Posner amène à la conclusion que Microsoft utilise sa position de monopole pour exclure des rivaux, nuire à ses concurrents et détruire l'innovation. La société échappe de peu à la scission, mais est dans l'obligation de publier les spécification de ses technologies, en particulier les interfaces de programmation et les protocoles réseau ceci afin de préserver l'interopérabilité et la concurrence[39].
En 2007, Microsoft est condamné par la Commission européenne à une amende de près de 500 millions d'euros pour violation de l'article 82 du traité CE et l'article 54 de l'accord EEE (textes relatifs au droit de la concurrence et l'abus de position dominante) après avoir refusé de publier une de ses spécifications techniques à son concurrent Sun Microsystems. Selon la Commission Européenne les agissements de Microsoft nuisent à l'interopérabilité des systèmes d'exploitation et à la concurrence[40].
Les réseaux informatique
[modifier | modifier le code]Chaque système d'exploitation comporte une palette de programmes relatifs à des protocoles réseau. La composition de la palette dépends du choix de l'éditeur et diffère d'un système d'exploitation à l'autre ; or, deux ordinateurs peuvent communiquer ensemble uniquement à condition d'utiliser les mêmes protocoles.
La popularisation d'Internet dans les années 1990 a poussé de nombreux éditeurs à inclure dans leur système d'exploitation des programmes relatifs aux protocoles TCP/IP (les protocoles d'Internet), ce qui a amélioré l'interopérabilité entre les systèmes d'exploitation.
Bibliographie
[modifier | modifier le code]- Andrew Tanenbaum, Systèmes d’exploitation, Pearson Education France, 2008, 3e éd. (ISBN 978-2-7440-7299-4)
- Laurent Bloch, Les systèmes d’exploitation des ordinateurs. Histoire, fonctionnement, enjeux, Vuibert, 2003, (ISBN 978-2-7117-5322-2)
Notes et références
[modifier | modifier le code]- (en)« Microsoft Antitrust, a case study »
- « procédure d'application de l'article 82 du traité CE et de l'article 54 de l'accord EEE engagée contre Microsoft Corporation »
- (en)« AIFF - Audio Interchange file format »
- (en)« ILBM - IFF Interleaved Bitmap specification »
- "C" est un langage de programmation souvent utilisé pour les systèmes d'exploitation
- (en)« History of operating systems »
- (en)« The Unusual History of MS-DOS »
- (en)« History of the graphical user interface »
- À vocation académique, Minix comportait de nombreuses limitations techniques. Les éliminer aurait rendu son code source difficile à lire et à comprendre, A. Tanenbaum s'y opposait.
- (en)« Unix pioneer ends BSD research »
- (en)« Finding aid to the Berkeley Software Distribution »
- (en)« A brief history of open source software »
- (en)« Kernel: Basic Concepts Part 2 »
- (en) « IBM, AIX System management Desktop »
- Andrew Tanenbaum, enseignant, utilisait le code source de Minix pour illustrer ses cours sur les systèmes d'exploitation
- (en) « Introduction to Minix »
- anciennement appelé EPOC
- racheté à Psion
- « Symbian OS Presentation »
- Compatible PC, Macintosh, DEC Alpha, SPARC, Itanium, M68k,...
- Entre 1986 et 1991, les produits de la famille Windows étaient des environnement graphique pour le système d'exploitation DOS
- Scission du projet 386BSD
- Plus de 50 types de machines. [1]
- Compatible PC, ARM, MIPS, Macintosh, DEC Alpha, SPARC, Itanium, Sun Microsystems, [[Xbox (console)|]]
- (en) « Kernel.exe Describes the Kernel and VxD for Windows 95 »
- (en) « Windows CE and Windows Mobile Timeline »
- « Windows CE Kernel services »
- créé par fusion entre NeXTSTEP et Mac OS
- (en)« Windows market share drop to 15 years low »
- (en) « Unix flavor list »
- (en)« IDC report, Server market »
- (en)« How to choose a Web Server »
- (en)« The triumph of Linux as supercomputer OS »
- « Canalys, 115 millions de smartphones en 2007 »
- (en) « Unix history and timeline »
- (en)« POSIX.1 FAQ »
- (en) « Single Unix specification FAQ »
- (en)« What is UNIX »
- (en)« Microsoft Antitrust, a case study »
- « procédure d'application de l'article 82 du traité CE et de l'article 54 de l'accord EEE engagée contre Microsoft Corporation »
Voir aussi
[modifier | modifier le code]
Articles connexes
[modifier | modifier le code]- Ordonnancement
- Pilote informatique
- Interruption
- Système de fichiers
- Environnement graphique
- Noyau de système d’exploitation
- Liste des noyaux de systèmes d’exploitation
- Liste des systèmes d’exploitation
- Système d'exploitation temps réel
- Catégorie:Système d'exploitation
Liens externes
[modifier | modifier le code]- (fr) Cours gratuit système d'exploitation (sur Misfu)
- (fr) Notion sur les systèmes d’exploitation (sur Comment Ça Marche)
- (fr) L’ascension des systèmes d’exploitation Microsoft
- (fr) Historique des systèmes d’exploitation, et des réseaux micro-informatique sur PC
- (fr) Les systèmes d’exploitation des ordinateurs - Histoire, fonctionnement, enjeux : Le texte intégral du livre de Laurent Bloch, avec l’aimable autorisation des Éditions Vuibert
- (en) La Bible Internet des systèmes d’exploitation : Principes, historique, familles, spécifications…
Systèmes d’exploitation à but éducatif
[modifier | modifier le code]- (fr) BoOSt : Un autre système d’exploitation à but éducatif (32bits)
- (fr) SOS : Réalisation d'un OS simple, étape par étape, à but éducatif également. Sources et articles téléchargeables.
- (fr) Zumba : Système d’exploitation expérimental (32bits) dédié à l’électronique, l’automatisme et la robotique.
En informatique, la compression de données est l'opération qui consiste à transformer une suite de bits A en une suite de bits B plus courte, et qui contient les mêmes informations, en utilisant un algorithme particulier. La décompression est l'opération inverse de la compression.
Avec un algorithme de compression sans perte, la suite de bits obtenue après les opérations de compression et de décompression est strictement identique à l'originale. Les algorithmes de compression sans perte sont utilisés pour de nombreux types de données notamment des documents, des fichiers exécutable ou des fichiers texte.
Avec un algorithme de compression à pertes, la suite de bits obtenue après les opérations de compression et de décompression est différente de l'originale, mais l'information reste sensiblement la même. Les algorithmes de compression avec perte sont utilisés pour les images, le son et la vidéo.
Les formats de données tels que ZIP, GZ, ADPCM, MP3 et JPEG utilisent des algorithmes de compression de données.
La compression de données est une application de la théorie de l'information.
Le taux de compression
[modifier | modifier le code]Le taux de compression est la différence entre la taille de A et celle de B, exprimée en %, ou le 100% est la taille de A. exemple:
taille A: 550, taille B: 250, différence = 300. taux de compression = 300 / 550 = 54%.
L'algorithme utilisé pour transformer A en B est destiné à obtenir un résultat B de taille inférieure à A. Il peut paradoxalement produire parfois un résultat de taille supérieure. voir paradoxe du compresseur.
Les formats de données
[modifier | modifier le code]Usage | sans pertes | avec pertes | ||||
Huffman | Dictionnaire | Autre | DCT | Ondelette | Autre | |
Général | 7z, LZW, Z, gzip, bzip2, RAR, zip, XZ | RLE (Run-Length Encoding) | ||||
Audio | FLAC, Wavpack, Monkey's Audio, Lossless Audio (LA) | AAC, MP3, Ogg Vorbis, Speex | ADPCM | |||
Image | GIF, PNG | PCX (RLE), ILBM? (ou IFF), IMG?, CCITT, JPEG-LS, JPEG2000* | JPEG | DjVuPhoto, JPEG2000, ECW, MrSID*, SPIHT | ||
Vidéo | MJPEG2000 | MJPEG, MPEG-1, MPEG-2, MPEG-4 | MJPEG2000, Tarkin, Snow |
- Note 1 : Certains algorithmes peuvent être brevetés.
- Note 2 : Le format TIFF encapsule un mode de codage de l'image, qui peut être compressée ou non, avec l'un des algorithmes sus-cités.
- Note 3 : JPEG 2000 possède un mode sans perte (utilisant une transformée en ondelettes réversible) en plus du mode standard avec pertes, d'où sa présence dans les 2 parties du tableau.
Compression sans perte
[modifier | modifier le code]La compression est dite sans perte lorsqu'il n'y a aucune perte de données sur l'information d'origine. Il y a autant d'information après la compression qu'avant, elle est seulement réécrite d'une manière plus concise (c'est par exemple le cas de la compression gzip pour n'importe quel type de données ou du format PNG pour des images synthétiques destinées au Web[1]). La compression sans perte est dite aussi compactage.
L'information à compresser est vue comme la sortie d'une source de symboles qui produit des textes finis selon certaines règles. Le but est de réduire la taille moyenne des textes obtenus après la compression tout en ayant la possibilité de retrouver exactement le message d'origine (on trouve aussi la dénomination codage de source en opposition au codage de canal qui désigne le codage correcteur d'erreurs).
Les formats de fichier de compression sans perte sont connus grâce à l'extension ajoutée à la fin du nom de fichier (« nomdefichier.zip » par exemple), d'où leur dénomination très abrégée. Les formats les plus courants sont :
- 7z
- ace
- arc
- arj
- bz, bz2 (tar peut être utilisé pour créer les archives de ce type)
- CAB, utilisé par Microsoft
- gzip, gz (qui est un fichier à une seule entrée, tar peut être utilisé pour créer les archives de ce type)
- KGB
- lzh
- rar
- uha
- Z (surtout sous Unix)
- Zip
- zoo
- FLAC (pour les flux audio)
Les standards ouverts les plus courants sont décrits dans plusieurs RFC :
- RFC 1950 (ZLIB, flux de données compressées)
- RFC 1951 (système de compression par blocs « DEFLATE », utilisé par zip et gz)
- RFC 1952 (format de fichier compressé GZIP)
Sur les limites de la compression sans perte, voir Paradoxe du compresseur.
Compression à perte
[modifier | modifier le code]La compression avec pertes ne s'applique qu'aux données « perceptuelles », en général sonores ou visuelles, qui peuvent subir une modification, parfois importante, sans que cela ne soit perceptible par un humain. La perte d'information est irréversible, il est impossible de retrouver les données d'origine après une telle compression. La compression avec perte est pour cela parfois appelée compression irréversible ou non conservative.
Cette technique est fondée sur une idée simple : seul un sous-ensemble très faible de toutes les images possibles (à savoir celles que l'on obtiendrait par exemple en tirant les valeurs de chaque pixel par un générateur aléatoire) possède un caractère exploitable et informatif pour l'œil. Ce sont donc ces images-là qu'on va s'attacher à coder de façon courte. Dans la pratique, l'œil a besoin pour identifier des zones qu'il existe des corrélations entre pixels voisins, c'est-à-dire qu'il existe des zones contiguës de couleurs voisines. Les programmes de compression s'attachent à découvrir ces zones et à les coder de la façon aussi compacte que possible. La norme JPEG 2000, par exemple, arrive généralement à coder des images photographiques sur 1 bit par pixel sans perte visible de qualité sur un écran, soit une compression d'un facteur 24 à 1.
Puisque l'œil ne perçoit pas nécessairement tous les détails d'une image, il est possible de réduire la quantité de données de telle sorte que le résultat soit très ressemblant à l'original, voire identique, pour l'œil humain. La problématique de la compression avec pertes est d'identifier les transformations de l'image ou du son qui permettent de réduire la quantité de données tout en préservant la qualité perceptuelle.
De même, seul un sous-ensemble très faible de sons possibles est exploitable par l'oreille, qui a besoin de régularités engendrant elles-mêmes une redondance (coder avec fidélité un bruit de souffle n'aurait pas grand intérêt). Un codage éliminant cette redondance et la restituant à l'arrivée reste donc acceptable, même si le son restitué n'est pas en tout point identique au son d'origine.
On peut distinguer trois grandes familles de compression avec perte :
- par prédiction, par exemple l'ADPCM ;
- par transformation. Ce sont les méthodes les plus efficaces et les plus utilisées. (JPEG, JPEG 2000, l'ensemble des normes MPEG…) ;
- compression basée sur la récurrence fractale de motifs (Compression fractale).
Les formats MPEG sont des formats de compression avec pertes pour les séquences vidéos. Ils incluent à ce titre des codeurs audio, comme les célèbres MP3 ou AAC, qui peuvent parfaitement être utilisés indépendamment, et bien sûr des codeurs vidéos — généralement simplement référencés par la norme dont ils dépendent (ex: MPEG-2, MPEG-4), ainsi que des solutions pour la synchronisation des flux audio et vidéo, et pour leur transport sur différents types de réseaux.
Compression presque sans perte
[modifier | modifier le code]Les méthodes de compression sans perte significative sont un sous-ensemble des méthodes de compression avec perte, parfois distinguées de ces dernières. La compression sans perte significative peut être vue comme un intermédiaire entre la compression conservative et la compression non conservative, dans le sens ou elle permet de conserver toute la signification des données d'origine, tout en éliminant une partie de leur information.
Dans le domaine de la compression d'image, la distinction est faite entre la compression sans perte (parfaite au bit près ou bit-perfect) et la compression sans perte significative (parfaite au pixel près ou pixel-perfect). Une image compressée presque sans perte (à ne pas confondre avec une image compressée avec peu de pertes) peut être décompressée pour obtenir les pixels de sa version non-compressée à l'identique. Elle ne peut en revanche pas être décompressée pour obtenir sa version non compressée intégralement à l'identique (les métadonnées peuvent être différentes).
Parmi les algorithmes de compression presque sans perte, on retrouve la plupart des algorithmes de compression sans perte spécifiques à un type de données particulier, lorsqu'ils sont utilisés pour compresser un autre format de données. Par exemple, JPEG-LS permet de compresser presque sans perte du bitmap et Monkey's Audio permet de compresser presque sans perte du wave PCM : il sera possible de décompresser les fichiers obtenus pour obtenir des fichiers bitmap ou wave PCM sans la moindre perte de qualité, mais ces fichiers seront malgré tout différents des fichiers non compressés d'origine. On y retrouve aussi les algorithmes de recompression.
Les algorithmes
[modifier | modifier le code]Les algorithmes tels que Lempel-Ziv ou le codage RLE consistent à remplacer des suites de bits utilisées plusieurs fois dans un même fichier. Dans l'algorithme de codage de Huffman plus la suite de bits est utilisée souvent, plus la suite qui la remplacera sera courte.
des algorithmes tels que la transformée de Burrows-Wheeler sont utilisés avec un algorithme de compression. de tels algorithmes modifient l'ordre des bits de manière à augmenter l'efficacité de l'algorithme de compression.
Codage RLE
[modifier | modifier le code]Les lettres RLE signifient run-length encoding. Il s'agit d'un mode de compression parmi les plus simples : toute suite de bits ou de caractères identiques est remplacée par un couple (nombre d'occurrences ; bit ou caractère répété).
Exemple: AAAAAAAAZZEEEEEER
donne : 8A2Z6E1R
, ce qui est beaucoup plus court.
Compression CCITT
[modifier | modifier le code]C'est une compression d'images utilisée pour le fax, standardisée par des recommandations de l'Union internationale des télécommunications (anciennement appelée CCITT). Elle est de type RLE (on code les suites horizontales de pixels blancs et de pixels noirs) et peut-être bidirectionnelle (on déduit une ligne de la précédente). Il existe plusieurs types de compressions ("groupes") suivant l'algorithme utilisé et le nombre de couleurs du document (monochrome, niveau de gris, couleur).
Deux compressions existent, celle du Groupe 3 (recommandation ITU T.4) et celle du Groupe 4 (recommandation ITU T.6), utilisées pour les fax :
- Le Groupe 3 utilise comme indiqué une compression RLE, mais les symboles représentant les longueurs sont définis par le CCITT en fonction de leur fréquence probable et ceci pour diminuer la taille des messages à transmettre par les fax.
- La compression du Groupe 4, elle, représente une ligne par les différences avec la ligne précédente. Ainsi un carré noir sur une page blanche n'aura que la première ligne du carré à transmettre, les suivantes étant simplement la "différence", c'est-à-dire rien. Et la page complète revient à envoyer 3 lignes et un symbole de "répéter la précédente" pour toutes les autres.
Ceci est théorique! En fait plus de symboles seront à transmettre, mais envoyer une page blanche est quand même beaucoup plus rapide en Groupe 4 que en Groupe 3.
Codage de Huffman
[modifier | modifier le code]L'idée qui préside au codage de Huffman est voisine de celle utilisée dans le code Morse : coder ce qui est fréquent sur peu de place, et coder en revanche sur des séquences plus longues ce qui revient rarement (entropie). En morse le « e », lettre très fréquente, est codé par un simple point, le plus bref de tous les signes.
L'originalité de David A. Huffman est qu'il fournit un procédé d'agrégation objectif permettant de constituer son code dès lors qu'on possède les statistiques d'utilisation de chaque caractère.
Le Macintosh d'Apple codait les textes dans un système inspiré de Huffman : les 15 lettres les plus fréquentes (dans la langue utilisée) étaient codées sur 4 bits, et la 16e combinaison était un code d'échappement indiquant que la lettre était codée en ASCII sur les 8 bits suivants. Ce système permettait une compression des textes voisine en moyenne de 30 % à une époque où la mémoire était extrêmement chère par rapport aux prix actuels (compter un facteur 1000).
Le défaut du codage Huffman est qu'il doit connaître la fréquence des caractères utilisés dans un fichier avant de choisir les codes optimaux. Et il doit donc lire tout le fichier avant de comprimer! Une autre conséquence est que pour décomprimer il faut connaître les codes et donc la table, qui est ajoutée devant le fichier, aussi bien pour transmettre que stocker, ce qui diminue la compression, surtout pour les petits fichiers. Ce problème est éliminé par le codage Huffman adaptatif, qui modifie sa table au fil des choses. Et peut donc démarrer avec une table de base. En principe il commence avec les caractères à même probabilité.
Lempel-Ziv 1977 (LZ ou LZ77)
[modifier | modifier le code]La compression Lempel-Ziv remplace des motifs récurrents par des références à leur première apparition.
Elle donne de moins bons taux de compression que d'autres algorithmes (PPM, CM), mais a le double avantage d'être rapide et asymétrique (c'est-à-dire que l'algorithme de décompression est différent de celui de compression, ce qui peut être exploité pour avoir un algorithme de compression performant et un algorithme de décompression rapide).
LZ77 est notamment la base d'algorithmes répandus comme Deflate (ZIP, Gzip) ou LZMA (7-Zip)
Lempel-Ziv 1978 et Lempel-Ziv-Welch (LZ78 et LZW)
[modifier | modifier le code]LZW. Est basée sur la même méthode. Mais Welch a constaté que, en créant un dictionnaire initial de tous les symboles possibles, la compression était améliorée puisque le décompresseur peut recréer le dictionnaire initial et ne doit donc pas le transmettre ni envoyer les premiers symboles. Elle a été brevetée par UNISYS et ne pouvait donc être utilise librement dans tous les pays jusqu'à l'expiration du brevet en 2003. Elle sert dans les modems, mais UNISYS s'est engagé à vendre une licence à tout fabricant avant d'être acceptée comme norme de compression internationale pour les modems.
La compression Lempel-Ziv-Welch est dite de type dictionnaire. Elle est basée sur le fait que des motifs se retrouvent plus souvent que d'autres et qu'on peut donc les remplacer par un index dans un dictionnaire. Le dictionnaire est construit dynamiquement d'après les motifs rencontrés.
Transformée de Burrows-Wheeler (BWT)
[modifier | modifier le code]Il s'agit d'un mode de réorganisation des données et non un mode de compression. Il est principalement destiné à faciliter la compression de texte en langue naturelle, mais il est également utilisable pour compresser n'importe quelles données binaires. Cette transformation, qui est complètement réversible, effectue un tri sur toutes les rotations du texte source, ce qui tend à regrouper les caractères identiques ensemble en sortie, ce qui fait qu'une compression simple appliquée aux données produites permet souvent une compression très efficace.
Prédiction par reconnaissance partielle (PPM)
[modifier | modifier le code]La prédiction par reconnaissance partielle se base sur une modélisation de contexte pour évaluer la probabilité des différents symboles. En connaissant le contenu d'une partie d'une source de données (fichier, flux…), un PPM est capable de deviner la suite, avec plus ou moins de précision. Un PPM peut être utilisé en entrée d'un codage arithmétique par exemple.
La prédiction par reconnaissance partielle donne en général de meilleurs taux de compression que des algorithmes à base de Lempel-Ziv, mais est sensiblement plus lente.
Note : PPM est également utilisé pour l'autocomplétion des commandes dans certains systèmes Unix.
Codage arithmétique
[modifier | modifier le code]Le codage arithmétique est assez similaire au codage de Huffman en ceci qu'il associe aux motifs les plus probables les codes les plus courts (entropie). Contrairement au codage de Huffman qui produit au mieux des codes de 1 bit, le codage arithmétique peut produire des codes vides. Le taux de compression obtenu est par conséquent meilleur.
Pondération de contextes (CM)
[modifier | modifier le code]La pondération de contextes consiste à utiliser plusieurs prédicteurs (par exemple des PPM) pour obtenir l'estimation la plus fiable possible du symbole à venir dans une source de données (fichier, flux…). Elle peut être basiquement réalisée par une moyenne pondérée, mais les meilleurs résultats sont obtenus par des méthodes d'apprentissage automatique comme les réseaux de neurones.
La pondération de contextes est très performante en termes de taux de compression, mais est d'autant plus lente que le nombre de contextes est important.
Actuellement, les meilleurs taux de compression sont obtenus par des algorithmes liant pondération de contextes et codage arithmétique, comme PAQ.
Les portails informatique
[modifier | modifier le code]- Catégorie:Informatique avec Portail:Informatique et Projet:Informatique
- Catégorie:Programmation informatique (note: sous-catégorie informatique) avec Portail:Programmation informatique et Projet:Informatique
- Catégorie:Base de données (note: sous-catégorie informatique) avec Portail:Bases de données et Projet:Bases de données
- Catégorie:Logiciel libre avec Portail:Logiciel libre et Projet:Informatique
- Catégorie:Internet avec Portail:Internet et Projet:Informatique
- Catégorie:Sécurité informatique avec Portail:Sécurité informatique et Projet:Sécurité informatique
Reproduction
[modifier | modifier le code]Les opérations de la reproduction sont stressantes pour le mâle et la femelle Combattant et sont effectuées uniquement sur des individus robustes pour éviter tout risque de santé pour les parents.
Le mâle et la femelle sont placés dans un petit aquarium de 20 litres, et séparés par une vitre transparente ou un filet. Le mâle construit un nid de bulles en choisissant de préférence un endroit ou il y a de la végétation.
Lorsque la femelle est prête à pondre, les bandes sur les flancs deviennent verticales, la papille génitale blanche est bien visible, et la femelle baisse la tête. La femelle est alors libérée et l'accouplement peut commencer.
L'accouplement commence quelques heures, voire quelques jours après la libération, le mâle va enlacer la femelle pour faire sortir les œufs, et il va mettre les œufs dans le nid : la ponte peut durer trois ou quatre heures.
Le mâle s'occupe alors seul de sa progéniture, et chasse la femelle, qui sera retirée de l'aquarium dès la fin de la ponte. Les œufs éclosent au bout de 36-48h d'incubation ; les nouveau-nés vont pendant les 3 à 4 premiers jours après leur éclosion résorber leur vésicule vitelline, jusqu'à atteindre la nage libre. Le mâle est ensuite retiré de l'aquarium.
les alevins seront nourris avec des nauplies d'artémias et l'eau sera changée régulièrement pour diminuer la concentration d'hormones de contre-croissance produites par les alevins, qui bloquent la croissance de leurs frères et sœurs.
Durant les premières semaines de leur vie, le labyrinthe (organe de respiration auxiliaire des Osphronemidae) est très sensible à la qualité de l'air. L'aquarium est alors placé dans un endroit chaud et humide, et recouvert pour éviter les courants d'air.
climat
[modifier | modifier le code]Le climat de la Suisse est un climat tempéré de transition, influencé par le climat océanique d'Europe de l'Ouest, le climat continental humide d'Europe centrale, le climat méditerranéen et le climat montagnard. Les précipitations sont réparties tout au long de l'année, souvent sous forme de neige en hiver. Les quatre saisons sont bien marquées, avec une différence d'environ 20 °C entre la température moyenne du mois de plus chaud (juillet) et le mois le plus froid (janvier).
Les Alpes font effet de barrière climatique et provoquent des différences significatives de température et de quantité de pluie en fonction de la position géographique (microclimats). L'influence du climat méditerranéen est plus marquée au Sud des Alpes, ou les étés sont plus chauds et les hivers sont plus doux et plus secs par effet de foehn. L'influence du climat continental humide est plus marquée dans la partie Est du pays avec des écarts de température plus importants et des pluies plus importantes en été.
L'altitude du lieu influence le climat. Dans les basses terres telles que le plateau suisse (500 m) la température dépasse 30 °C durant les jours les plus chauds de l'été - de juin à septembre - et descend en dessous de 0 °C les jours les plus froids de l'hiver - de décembre à mars. La température moyenne diminue de 1 degré tout les 300 m. Au dessus de 1500 m d'altitude la saison d'hiver dure du mois de novembre au mois d'avril, et la neige subsiste durant toute la saison. Au dessus de 3000 m la neige subsiste toute l'année et la température monte rarement au dessus de 10 °C.
Par effet de foehn sur les Alpes, lorsque le vent chaud du Sud souffle vers le Nord, il provoque un temps pluvieux et doux sur la façade Sud des Alpes, et un temps sec et chaud sur la façade Nord. Quand au contraire le vent froid du Nord souffle vers le Sud, il provoque un temps pluvieux et froid sur la façade Nord, et un temps ensoleillé et doux au Sud. Située à l'intérieur des Alpes, la région du Valais reçoit de l'air sec toute l'année.
La bise est un vent froid et sec venu du nord-est, fréquent en hiver. Il provoque une chute de température, un ciel dégagé et une impression de froid accentuée par le souffle des rafales qui peuvent atteindre 100 km/h. L'ensoleillement, élevé dans tout le pays durant l'été, est faible dans les vallées et le durant l'hiver à cause du phénomène de brouillard de vallée.
climat
[modifier | modifier le code]la ville de Lausanne est située dans une région au climat continental humide (Dfb selon la classification de Köppen). La température est comprise entre 15 et 30 °C au mois de juillet avec un ensoleillement maximal et des orages, et entre 0 et 5 °C au mois de janvier avec peu de soleil dû au phénomène de brouillard de vallée. Les précipitations sont réparties tout au long de l'année, souvent sous forme de neige entre le mois de décembre et le mois de mars[2],[3],[4].
La bise est un vent froid et sec venu du nord-est, fréquent en hiver. Il provoque alors une chute de température, un ciel dégagé et une impression de froid accentuée par le souffle des rafales qui peuvent atteindre 100 km/h. L'importante masse d'eau du Lac Léman et la pente nord-sud face au soleil on un effet sur le climat, qui est plus doux que dans les régions avoisinantes de Suisse et de France.
Mois | jan. | fév. | mars | avril | mai | juin | jui. | août | sep. | oct. | nov. | déc. | année |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Température moyenne (°C) | 2 | 3 | 6 | 10 | 14 | 18 | 20 | 19 | 16 | 10 | 6 | 2 | 11 |
Précipitations (mm) | 82 | 75 | 80 | 85 | 100 | 115 | 90 | 110 | 100 | 90 | 98 | 88 | 1 116 |
Equipement de l'aquarium
[modifier | modifier le code]S'il est possible de conserver vivants des poissons un certain temps dans de l'eau sans aide technologique, les conditions de vie seront très mauvaises et entrainent une mortalité élevée.
La présence d'impuretés, ainsi que des conditions inadaptées et changeantes de l'eau (température et pH) fragilisent la santé des animaux aquatiques. Au contraire, des conditions constantes et une eau propre les fortifie.
Les divers appareils et accessoires servent à maintenir des conditions climatiques et une composition de l'eau constante.
- La pompe et le filtre servent à éliminer les impuretés présentes dans l'eau. Les impuretés proviennent des déjections des poissons, des restes de nourriture, et des plantes en décomposition. Les impuretés sont à l'origine de l'apparition de produits toxiques et d'algues dans l'eau. (voir cycle de l'azote et eutrophisation)
- Le brassage provoqué par la pompe fait descendre l'eau de la surface - riche en oxygène, et assure une concentration régulière d'oxygène dans l'eau entre les différentes couches de l'aquarium. Un diffuseur est parfois utilisé pour augmenter la concentration d'oxygène.
- Le chauffage est équipé d'un thermostat et assure une température constante. Un refroidisseur est parfois utilisé pour abaisser la température de l'eau.
- Des lampes apportent la lumière nécessaire aux plantes. L'usage d'un éclairage artificiel permet de doser précisément la quantité de lumière, et éviter la croissance de plantes indésirables telles que les algues.
- Des produits naturels tels que les pierres calcaires et les racines influencent la composition de l'eau. Ils sont parfois utilisés comme complément des appareils.
Le filtre et la pompe
[modifier | modifier le code]Le filtre sert à éliminer les impuretés solides, liquides et gazeuses présentes dans l'eau. Un filtre ordinaire capture les impuretés solides. Un filtre biologique contient en plus des microorganismes qui digèrent l'ammoniaque et les nitrites qui se produisent naturellement dans l'eau (voir cycle de l'azote). Le filtre peut être équipé de charbon actif qui absorbe diverses toxines liquides et gazeuses dissoutes dans l'eau, ainsi que de tourbe qui contribue à acidifier l'eau et diminuer le pH.
La pompe sert non seulement à faire circuler l'eau à travers le filtre, mais aussi à mélanger l'eau dans l'aquarium, et assurer ainsi une concentration constante d'oxygène dissous que les poissons respirent. La teneur en oxygène de l'eau est d'environ 0.001 % (10 mg pour un kg), tandis que la teneur d'oxygène de l'air est d'environ 30%. La pompe va aspirer l'eau pauvre en oxygène du fond, et la rejeter à la surface ou elle va être enrichie en oxygène par l'air environnant.
Le chauffage
[modifier | modifier le code]Les poissons et les crustacés sont des animaux à sang froid. Leur métabolisme s'accélère avec l'augmentation de la température. Les poissons des eaux tropicales supportent des températures comprises entre 22 et 32 degrés. Les poissons des eaux tempérées préfèrent des températures comprises entre 15 et 22 degrés.
Le chauffage est utilisé pour maintenir une température élevée nécessaire aux poissons tropicaux. Pour les poissons des eaux tempérées et froides on utilise parfois un refroidisseur - appareil qui fonctionne comme une climatisation.
L'éclairage
[modifier | modifier le code]L'éclairage permet de mettre en valeur les espèces animales et végétales d'un bac, d'assurer la photosynthèse des plantes et de forcer le rythme nycthéméral. Les lampes posées au sommet du bac sont indispensables aux plantes présentes dans l'aquarium. Elles produisent la lumière nécessaire à la croissance et la photosynthèse.
Les lampes mettent aussi en valeur la coloration des poissons, des coraux et des crustacés. En effet les chromatophores, les cellules colorantes, s'activent en présence de lumière et donnent aux animaux une coloration vive et brillante. Les cellules colorantes se désactivent la nuit, en cas de stress ou de mauvaise santé, et donnent à l'animal une couleur pâle et terne.
L'usage d'un éclairage artificiel permet de contrôler précisément la quantité de lumière, et d'éviter une croissante incontrôlée de plantes indésirables comme les algues.
Méthodes de rendu
[modifier | modifier le code]Il existe plusieurs procédés de rendu 3D (procédés de calculs destinés à obtenir une image). les procédés les plus communs sont le ray tracing et la rastérisation.
La rastérisation est le procédé le plus utilisé pour les jeux vidéos. Le peu de temps nécessaire pour calculer une image selon ce procédé permet d'obtenir en continu des images à un rythme équivalent à celui du cinéma (environ 20 images par seconde)
Le ray tracing permet d'obtenir une image d'une qualité supérieure à celle de la rastérisation (voir photoréalisme). Les calculs complexes effectuées dans ce procédé nécessitent beaucoup de temps et de puissance de calcul et (en 2009) ne permettent pas d'obtenir une image dans un délai suffisamment court pour être utilisé dans un jeu vidéo. Le ray tracing est utilisé pour réaliser des images fixes et des films d'animation.
L'accélération matérielle consiste à utiliser dans la mesure du possible le processeur graphique - souvent inclu dans la carte graphique - pour effectuer les calculs. Le but est de gagner du temps en libérant le processeur central pour d'autres tâches telles que l'arbitrage du jeu, les calculs du moteur physique et du moteur de son. Pour l'accélération matérielle les logiciels font souvent usage des possibilités de bas niveau des bibliothèques logicielles telles que DirectX ou OpenGL.
Avec le lancement de la technologie Larabee, le développement du parallélisme, et plus généralement l'augmentation de la vitesse des processeurs graphiques, certaines personnes pensent que le ray tracing pourra dans le futur être utilisé pour faire du rendu temps réel[5].
Ray-tracing
[modifier | modifier le code]Le procédé de lancer de rayon (anglais ray tracing) consiste à calculer le chemin parcouru par le rayon de lumière correspondant à chaque pixel de l'image. Le moteur 3D calcule le chemin en le parcourant en sens inverse en suivant les règles de la physique telle que la réflexion et la réfraction. Il effectue différents calculs d'optique géométrique.
Comme le calcul de couleur est répété une fois par pixel, cette technique peut tirer grandement parti du parallélisme.
En informatique les logiciels système sont tout les logiciels qui s'occupent des opérations basiques que peuvent effectuer les appareils informatiques[6]. Des opérations telles que enregistrer des fichiers sur un disque dur, réserver de l'espace en mémoire, envoyer des documents aux imprimantes, assurer les communications à travers un réseau informatique ou afficher des icônes. Les logiciels systèmes offrent des services aux logiciels applicatifs et ne sont pas exploités directement par l'usager[7].
Un système d'exploitation est une suite de logiciels système qui offre une large palette de fonctionalités. Ces fonctionnalités forment une plateforme sur laquelle s'appuient les logiciels applicatifs. C'est le logiciel central utilisé par tout les logiciels applicatifs pour exploiter le matériel de l'ordinateur.
Un logiciel utilitaire est un complément qui permet à un usager d'effectuer des tâches simples en rapport avec l'ordinateur et le système d'exploitation tel que la manipulation de fichiers (copie, déplacement, suppression), la recherche de virus informatiques, la compression de données ou la modification de fichiers texte. Des logiciels utilitaires sont souvent inclus en tant que bonus dans les système d'exploitation[8],[9].
Interface de programmation
[modifier | modifier le code]Un logiciel applicatif fait appel aux services d'un logiciel système par différents procédés de programmation informatique tel que l'utilisation de fonctions, l'utilisation des méthodes d'un objet ou l'envoi de requêtes à un serveur. Le point d'échange logique formé par un groupe de fonctions et de méthodes est appelé interface de programmation (anglais application programming interface - API).
Fonctionnalités
[modifier | modifier le code]l'amorçe (anglais bootstrap) est le premier logiciel exécuté lors de la mise en marche de l'ordinateur (anglais boot). Il vérifie que le matériel fonctionne correctement (voir power-on self-test), puis démarre l'exécution du chargeur, le logiciel moteur qui assure l'exécution de tout les autres logiciels.
Pour chaque programme à exécuter, le chargeur s'occupe de réserver de l'espace en mémoire vive, il copie le code machine du programme dans la mémoire, puis lance et surveille l'exécution de ce programme. Le programme peut dépendre de différentes bibliothèques logicielles, le chargeur copiera en mémoire toutes les bibliothèques nécessaires. le chargeur intervient en cas de crash pour terminer l'exécution du programme et libérer la mémoire réservée. Il fait partie du noyau, la partie centrale du système d'exploitation.
Un système de fichiers est une structure en arbre dans laquelle sont placés des fichiers. La structure est répartie sur une ou plusieurs mémoire de masse telles que des disque durs. Un logiciel système organise l'espace sur chaque disque dur, réserve de l'espace, enregistre les fichiers et les relie pour former le système de fichiers. Il existe plusieurs manière d'organiser l'espace en fonction du système d'exploitation et du type de la mémoire de masse (disque dur, CD-ROM, DVD, clé USB). Il y a par conséquent plusieurs logiciels système - chacun traite une organisation en particulier. exemples: NTFS, ext3, ISO 9660, UDF.
Un pilote (anglais driver) est un logiciel qui assure l'exploitation d'une pièce de matériel informatique (carte vidéo, imprimante, lecteur CD, carte réseau). Il contient toutes les instructions permettant d'envoyer ou de recevoir des informations en utilisant la pièce concernée, et cache ainsi les détails techniques de sa construction. Les pilotes informatiques sont souvent fournis par les fabricants de matériel informatique.
Lorsque des informations sont envoyées à un périphérique lent comme par exemple une imprimante, un logiciel système place les informations dans une file d'attente, puis les envoie au périphérique en différé. Ce qui évite des ralentissements du logiciel applicatif qui utilise le périphérique. voir spool.
Un logiciel système compose des images en assemblant des pictogrammes, des cadres et des textes. Il réceptionne les manipulations des dispositifs de pointage tels que la souris, retrouve l'élément graphique qui se trouve à la position du curseur, puis signale les manipulations au logiciel applicatif auquel appartient l'élément graphique. Il offre ainsi les services basique pour créer des interfaces graphique.
Divers logiciels permettent les communications à travers un réseau informatique. Il servent à envoyer des informations en respectant un ou l'autre protocole (norme de communication), ainsi que décoder des informations reçues et formatées conformément au protocole. Ils permettent aussi parfois d'exploiter un ou l'autre logiciel système situé sur un autre ordinateur, c'est le cas avec les serveur de fichier, les serveur d'impression ou le X Window System.
Une base de données est un stock d'information structuré et organisé de manière à pouvoir être manipulé facilement. Un système de gestion de base de données est un ensemble de logiciels système qui servent à effectuer des opérations basiques telles que l'ajout, la recherche, le classement, le tri ou la suppression d'informations stockées dans des bases de données.
histoire
[modifier | modifier le code]Les premiers logiciels système sont apparus au milieu des années 1950. Ils étaient alors les seuls logiciels disponibles sur le marché et étaient fournis par le constructeur de l'ordinateur.
Les premiers logiciel applicatifs étaient développés par des équipes d'ingénieurs auprès des acheteurs. Jusqu'a l'arrivée des premières sociétés d'édition de logiciels dans les années 1970.[10] Les acheteurs étaient uniquement des entreprises, jusqu'à l'arrivée des ordinateurs personnels en 1980[11].
[2]
System-level software is the largest segment of the systems infrastructure industry and consists of operating systems (OS), utilities, and networking software. Operating systems are master programs that perform basic computer functions as well as act as underlying platforms for application programs. OS software is required for all computer platforms. The most common are Windows, Unix, and Macintosh. Utilities are programs that enhance a computer’s capabilities or perform support functions such as file management and file compression.
Network operating systems manage network resources and provide file/print and directory functions, along with other services.
The OS market is concentrated in a few vendors mainly because users want well-supported and stable operating systems that have a wide range of applications. Nearly 90 percent of all businesses use a 32-bit Windows operating system, and 75 percent of all PCs worldwide use some version of Windows. NetWare and Unix are resident on 49 and 45 percent of corporate systems, respectively Middleware is defined as software that allows shared use, or interoperability, of resources across interconnected, heterogeneous computer systems. These products usually operate on top of host OS software environments. Sub-segments include legacy-ware (software used to access legacy applications) and Web server products.
[3] The software component of a computer system that is responsible for the management and coordination of activities and the sharing of the resources of the computer. The operating system (OS) acts as a host for application programs that are run on the machine. As a host, one of the purposes of an operating system is to handle the details of the operation of the hardware. This relieves application programs from having to manage these details and makes it easier to write applications. Almost all computers, including hand-held computers, desktop computers, supercomputers, and even modern video game consoles, use an operating system of some type. See also Computer systems architecture.
Types
[modifier | modifier le code]- Chargeur
- Linker
- Logiciel utilitaire
- Environnement de bureau / Environnement graphique
- Shell
- BIOS
- Hyperviseur
- Amorçage
Notes et Références
[modifier | modifier le code]- Ces 2 types de compressions gzip et PNG sont libres et non soumis à un brevet.
- « Holiday check - climat Lausanne »
- « climat de Lausanne »
- « MeteoSuisse »
- « Le raytracing peut-il supplanter la rastérisation ? », sur presence-pc.com, (consulté le )
- (en)« The Computer Folks Glossary - S »
- (en)« Techterms.com - System Software »
- (en)« Utility software - bitpipe.com »
- (en)« utility software - dictionary.com »
- (en)« development of the software industry »
- (en)« OS history, 1950's »
Voir aussi
[modifier | modifier le code]Liens internes
[modifier | modifier le code]Un système d'information (abgéré SI) est un ensemble de moyens techniques, administratifs, et humains qui servent à la collecte, au classement et à la transmission d'informations entre les membres d'une organisation (institution, entreprise, association,..)[1][2]
L'utilisation de moyens informatiques électroniques et la télécommunication permettent d'automatiser et de dématérialiser les opérations telles que les procédures d'entreprise. Ils sont aujourd'hui largement utilisés en lieu et place des moyens classiques tels que les formulaires sur papier et le téléphone et cette transformation est à l'origine de la notion de système d´information.
Informatique - introduction
[modifier | modifier le code]L´informatique - contraction d´information et automatique - est un domaine d'activité scientifique, technique et industriel en rapport avec le traitement automatique de l'information par des machines telles que les ordinateurs, les consoles de jeux, les robots, etc.
Le terme informatique désigne à l'origine l´informatique théorique : Un ensemble de sciences formelles qui ont pour objet l'étude de la notion d'information et des procédés de traitement automatique de celle-ci. En font partie, par exemple, l'algorithmique, le traitement du signal, la calculabilité et la théorie de l'information.
L'automatisation du traitement d'informations est bien plus ancienne que l'invention de l'ordinateur. Les premières machines de traitement automatisé étaient des machines mécaniques construites au XVIIe siècle et, avant cela, les premiers algorithmes datent de l'antiquité.
« La science informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes »[3]. (citation d´Edsger Dijkstra)
Apparu dans les années 1950, le secteur d'activité des technologies de l'information et de la communication est lié à la fois à l'informatique, l'électronique et la télécommunication. Les activités sont la production de matériel informatique - machines et pièces détachées, et de logiciels - procédés de traitement - qui sont destinés à l'acquisition, au stockage, à la transformation, la transmission et la restitution automatique d'informations. Le secteur fournit également de nombreux services liés à l'utilisation de ses produits : enseignement, assistance, surveillance et entretien.
Les technologies de l'information est un des secteurs d'activités majeurs au Japon, en Europe et aux États-Unis, il existe aujourd'hui en 2009 de nombreux constructeurs de matériel informatique, qui dépendent directement des fabricants de semiconducteurs. Il existe également de nombreux éditeurs de logiciel qui dépendent des éditeurs d'environnement de développement et de langage de programmation. L'adhésion aux standards industriels, aux normes et aux techniques par les différents fournisseurs permettent aux produits de fonctionner ensemble (compatibilité).
Les technologies de l'information et de la communication
[modifier | modifier le code]Le terme technologies de l'information et la communication désigne un secteur d'activité et un ensemble de biens qui sont des applications pratiques des connaissances scientifiques en informatique en électronique numérique, télécommunication en sciences de l'information et de la communication et en cryptologie.
- Le matériel informatique (en anglais hardware - littéralement « quincaillerie ») sont des équipements (pièces détachées) en électronique numérique (aussi appelée électronique digitale) servant au traitement des informations par des appareils informatiques.
- Un logiciel est un ensemble d'informations relatives à un traitement automatisé. Un logiciel contient des suites d'instructions qui décrivent en détail les algorithmes en rapport avec un traitement d'informations ainsi que les informations relatives à ce traitement (valeurs clés, textes, images, …)
Le système de numération binaire est le système utilisé aujourd'hui dans tous les appareils en électronique numérique pour représenter l'information sous une forme qui peut être manipulée par des composants électroniques.
Les appareils informatiques sont équipés de 4 unités qui servent respectivement à entrer des informations, les stocker, les traiter puis les faire ressortir de l'appareil. Les informations circulent entre les pièces des différentes unités par des lignes de communication - les bus. Le processeur est la pièce centrale qui anime l'appareil en suivant les instructions des programmes qui sont enregistrés à l'intérieur.
Le piratage
[modifier | modifier le code]Le piratage consiste à octroyer à un acheteur le droit d'utiliser un logiciel sans le consentement de son éditeur: La licence d'utilisation est un contrat acquis implicitement par tout acheteur d'un logiciel, contrat par lequel l'éditeur autorise l'acheteur à utiliser le logiciel.
Le piratage consiste pour un tiers à vendre des copies d'un logiciel légalement acquis. Ce qui signifie octroyer aux acheteurs le droit d'utiliser le logiciel à l'insu et contre le gré de l'éditeur. Le logiciel copié est strictement identique à l'original, mais la licence n'est pas authentique et la vente est assimilée à de la contrefaçon. Le piratage touche le marché du logiciel ainsi que d'autres biens immatériels tels que la musique ou la vidéo.
Les éditeurs vendent souvent leur logiciel accompagné de services tels que garantie et mises à jour, des services disponibles uniquement sur les logiciels légalement acquis.
Le nombre de copies de logiciels vendues par des pirates est plus ou moins élevé selon les pays. Exemple : en Algérie 85 % des logiciels vendus sont issus du piratage[4]. Au Luxembourg le taux est de 21 %, c'est le taux le plus bas du monde[5].
Une interface est un point à la frontière entre deux éléments, par lequel ont lieu des échanges et des interactions[6].
- en informatique et en électronique une interface est un dispositif qui permet des échanges et interactions entre différents acteurs. Une interface humain-machine permet des échanges entre un humain et une machine. Une interface de programmation permet des échanges entre plusieurs logiciels. voir interopérabilité.
- en chimie et en physique une interface est une surface entre deux produits ou ont lieu des phénomènes tels que la catalyse. voir science des surfaces
- en géographie une interface est une zone limitrophe entre deux régions qui sert à des échanges commerciaux et culturels. Un hub est un point central d'échange d'un réseau de transport.
- Le terme d'interface est aussi utilisé pour désigner une personne qui sert d'intermédiaire pour des échanges entre des sourds-muets et des personnes entendantes.
En informatique et en électronique
[modifier | modifier le code]en informatique et en électronique une interface est un dispositif qui permet des échanges et interactions entre différents acteurs. Une interface humain-machine permet des échanges entre un humain et une machine. Une interface de programmation permet des échanges entre plusieurs logiciels. voir interopérabilité.
Une interface en informatique est un arrangement de conception logicielle pour permettre le couplage de composants. Pour une bibliothèque logicielle on parle d’interface de programmation ou API, permettant le couplage entre un programme et la librairie. Pour une classe, un objet ou un module logiciel, on parle simplement d’interface ; cette interface permet le couplage entre classes, objets ou modules. L’interface qui est présentée à l’utilisateur est nommée interface utilisateur. Elle donne accès aux fonctions du programme par le biais d’un clavier, d’une souris ou d’un écran tactile tout en les représentant d’une manière graphique (couplage entre l’homme et la machine).
Seule, la connaissance exhaustive des interfaces d’un produit ou d’un système permet d’en garantir l’interopérabilité. On peut définir 7 sortes d’interfaces plus une huitième, la relation entre humains. Cette dernière nécessite également des protocoles strictement définis afin d’éviter les conflits.
Interface Homme-machine
[modifier | modifier le code]Une interface homme-machine (IHM) permet d’échanger des informations entre l’utilisateur humain et la machine. Pour que cette communication soit la plus simple à faire et à réaliser, on utilise différents éléments. Les périphériques d’entrée, comme le clavier, la souris, ou le scanner permettent à l’homme de donner des renseignements ou des ordres à la machine. Les périphériques de sortie comme l’écran, des diodes ou l’imprimante permettent à la machine de répondre aux ordres et d’afficher des informations.
L’écran est un élément important et peut afficher du texte simple aussi bien qu’un environnement graphique élaboré. L’un des buts de la discipline est ainsi de donner des outils et des éléments pour mettre en forme au mieux cet environnement, et ainsi permettre à l’homme l’interagir plus agréablement ou plus efficacement avec la machine.
L’interface Web est un exemple d’interface homme-machine constituée de pages web, permettant par exemple de faire des achats à distance. Une interface Web est généralement accessible par un navigateur Web. Les éléments les plus courants de l’interface web sont un logo, un menu de fonctionnalités et un moteur de recherche. Souvent elle permet d’échanger des informations avec une base de données.
en science de la communication
[modifier | modifier le code]En science de la communication, l’interface peut être définie par cinq couches[7] :
- Physique : Définition du support d’information ou média. Ce peut être Internet, une disquette, une clef USB, une feuille de papier, les vibrations de l’air,…
- Orthographique : Définition du codage des caractères, des images et des sons, les phonèmes. Par exemple : ISO-latin1, ASCII 7 bits, Unicode, jpeg, vorbis, morse, …
- Lexicale : Définition des termes échangés. Par exemple : nom, prénom, code postal, numéro INSEE, …
- Grammaticale : Ordre et ordonnancement des termes.
- Fonctionnelle : Quelle est la signification de l’information ? Qui a le droit de l’envoyer ? Que doit en faire le récepteur ? Quel est le contexte ?
Les trois derniers niveaux contribuent à la sémantique de la communication.
On retrouve ceci aussi bien dans la structure des documents XML et XHTML que dans le langage parlé. La reconnaissance vocale suit ces étapes (Source : un ancien document en:IBM ViaVoice).
En électronique
[modifier | modifier le code]Dans le cas de l’électronique, il est utile de détailler la couche physique précédemment décrite et commode de réunir les suivantes. L’interface peut alors être définie par quatre couches :
- Physique : définition des broches de connexion (nombre, disposition), configuration mécanique des connecteurs (NB : cette couche peut être absente de certaines définitions relachées d’une interface)
- Logique : nom des signaux et alimentations véhiculés par les broches du/des connecteur(s), sens de distribution (ou éventuellement bidirectionnalité)
- Électrique : mode de pilotage (tension/courant) des signaux, niveaux de tension (ou de courant) définissant les états de chaque signal, vitesses minimale et maximale de commutation, temps d’établissement et/ou de maintien (par rapport à d’autres signaux), etc.
- Protocolaire : rapport des signaux entre eux, signification des successions d’événements sur un signal ou un groupe de signaux, interdits, etc.
En chimie et en physique
[modifier | modifier le code]en chimie et en physique une interface est une surface entre deux produits ou ont lieu des phénomènes tels que la catalyse. voir science des surfaces
En géographie
[modifier | modifier le code]En géographie, une interface est un espace permettant la mise en relation de deux espaces/territoires. Elle est une zone de contact entre deux pays ou régions, et correspond à une limite ou une frontière séparant deux espaces ou territoire. Cette zone de contact est un lieu d’échanges (principalement économique, mais aussi culturel). On distingue ainsi les interfaces :
- continentales, entre deux pays ou régions (terre-terre) ;
- maritimes, entre une façade maritime et le reste du monde (terre-mer)
- ouvertes (libre circulation), fermées (absence de flux) ou partiellement ouvertes
(flux contrôlés)
Les lieux de l’interface peuvent être, à l’échelle locale, les ports ou gateways (« portes océaniques ») ; les aéroports internationaux ou hubs ; les téléports ou serveurs…, à l’échelle nationale, les métropoles ou ville-monde ou un littoral.
En langue des signes
[modifier | modifier le code]Le terme d'interface est aussi utilisé pour désigner le métier/la personne qui aide à la communication entre une personne sourde et une ou plusieurs personnes entendantes (par exemple lors d'une conférence). Il se distingue d'un interprète en langue des signes par :
- son niveau de compétence linguistique moins élevé dans les deux langues
- l'absence de formation spécifique
- l'absence de déontologie précise, l'interface suivant ses propres règles de conduite
Sources
[modifier | modifier le code]- « système d'information »
- « ingénierie des systèmes d'information »
- en anglais : Computer science is no more about computers than astronomy is about telescopes.
- « L'Algérie premier pays du monde arabe dans le piratage »
- « Le piratage de logiciels en baisse »
- « Dictionnaire Larousse, interface »
- Interfaces
Un bug informatique (anglicisme) ou bogue informatique (francisation de l’anglais bug, « insecte ») est un défaut de construction d'un programme informatique qui entraine souvent des dysfonctionnements.
Introduction
[modifier | modifier le code]Parmi les causes de dysfonctionnement des appareils informatique, il y a:
Les erreurs de manipulation, les bogues, les virus informatiques - des logiciels malveillants qui falsifient les logiciels présents dans l'appareil. Mais aussi le manque de compatibilité, les pannes du matériel informatique, les valeurs incorrectes des paramètres de configuration ainsi que des influences extérieures (température et champs magnétiques).
Un bogue peut provoquer un crash c'est-à-dire un arrêt inattendu d'un logiciel voire d'imporantes pertes d'informations ou dans des cas extrêmes une véritable catastrophe (voir explosion du vol 501 de la fusée Ariane 5). Une faille de sécurité est une défaut mineur qui ne provoque pas de disfonctionnement en utilisation courante, mais permet à un utilisateur malicieux ou un logiciel malveillant (exploit) d'effectuer des opérations non autorisées.
un système critique est un dispositif informatique dont le dysfonctionnement peut mettre en danger la santé et la vie des gens et des écosystèmes, provoquer des importants dégats matériels ou avoir des répercussions sur la stabilité économique et politique.
Effets
[modifier | modifier le code]Les bugs peuvent amener les logiciels à tenter d'effectuer des opérations impossibles à réaliser (exceptions): division par zéro, recherche d'informations inexistantes. Ces opérations - qui ne sont jamais utilisées lors de fonctionnement correct du logiciel - permettent de déceler automatiquement les dysfonctionnements.
Les appareils informatiques sont équipés de mécanismes à la fois matériels et logiciels de détection des exceptions. Le mécanisme provoque la mise hors service préventive du logiciel défaillant - crash informatique.
Un chien de garde est un dispositif électronique autonome qui sert à déceler les dysfonctionnements. Ce mécanisme est souvent utilisé avec les systèmes critiques et l'informatique industrielle.
L'écran bleu de la mort est, dans le langage populaire, le nom donné au message de mise hors service des systèmes d'exploitations Windows, qui s'affiche lorsque une exception est décelée au coeur du système d'exploitation. La Kernel panic est le message affiché dans des conditions similaires sur les systèmes d'exploitation Unix.
Une fuite de mémoire est un dysfonctionnements dus à un bug dans les opérations d'allocation de mémoire, avec ce dysfonctionnement la quantité de mémoire utilisée par le logiciel défaillant va en augmentant continuellement de facon injustifée. Si le logiciel défaillant arrive à utiliser la quasi-totalité de la mémoire disponible, celui-ci gêne alors le déroulement des autres logiciels et les entraîne à des dysfonctionnements.
Une erreur de segmentation est un dysfonctionnement du à un bug dans des opérations de manipulations de pointeurs ou d'adresse mémoire. Le logiciel défaillant va tenter de lire ou d'écrire des informations dans un emplacement de mémoire (segment) qui n'existe pas ou qui ne lui est pas autorisé. Le mécanise de détection des exceptions provoque alors la mise hors service du logiciel défaillant.
Un dépassement de capacité est un dysfonctionnement du a un bug dans des opérations de calcul mathématique. Le logiciel défaillant va tenter d'effectuer un calcul dont le résultat est supérieur à la valeur maximum autorisée. Le mécanisme de détection des exceptions provoque alors la mise hors service du logiciel défaillant.
Un dépassement de tampon est un dysfonctionnement du à un bug, ou un logiciel, qui doit écrire des informations dans un emplacement déterminé et limité de mémoire (mémoire tampon) dépasse les limites de cet emplacement et va alors écrire des informations sur un emplacement destiné à un autre usage, cette modification inopinée entraine divers dysfonctionnements tels que des erreurs de segmentation ou des dépassements de capacité. C'est une faille de sécurité courante des serveurs qui est souvent exploitée par les pirates informatiques. voir Exploit.
Un dépassement de pile est un dsyfonctionnement dans lequel la taille de la pile d'exécution d'un logiciel dépasse la capacité de la mémoire tampon qui la contient, ce qui provoque des dysfonctionnements similaires à un dépassement de tampon. La pile d'exécution est une structure de données stockée en mémoire qui contient l'état du déroulement des automatismes du logiciel (voir processus informatique), cette structure est enregistrée dans une mémoire tampon dont la taille est surdimensionnée. Un dépassement de pile résulte d'un déroulement erroné suite à un bug.
Une situation de compétition (anglais race condition) est un dysfonctionnement du a un bug, qui fait que dans un même logiciel deux automatismes qui travaillent simultanément donnent des résultats différents selon lequel des deux a terminé en premier.
Quelques bugs notoires
[modifier | modifier le code]Entre 1985 et 1987 plusieurs patiens sont décédés ou ont été gravement atteints dans leur santé suite à un bug de dosage d'un appareil médical de radiothérapie. L'appareil, le Therac-25 permet d'envoyer des faisceaux d'électrons, de rayons X ou de lumière (pour éclairer le patient). La puissance d'émission du faisceau d'électrons est 100 fois plus élevée que celle des rayons X. Un logiciel ajuste la puissance de l'émetteur, et un dispositif mécanique / optique permet de produire soit des rayons X soit des électrons soit de la lumière. Suite à un crash informatique durant le traitement, l'appareil envoie au patient une dose de rayons X 100 fois supérieure à celle prévue. L'incident se reproduit plusieurs fois dans divers hôpitaux des États-Unis et passe inaperçu jusqu'au jour ou des patients, gravement atteints dans leur santé déposent plainte contre leur hôpital[1].
L'échec du vol inaugural de la fusée Ariane 5 en 1996. a pour origine un défaut dans les appareils d'avionique de la fusée, appareils utilisés avec succès pendant plusieurs années sur la fusée Ariane 4. Lors du décollage, l'appareil informatique qui calcule la position de la fusée en fonction de son accélération ne supporte pas les accélérations d'Ariane 5 - 5 fois plus fortes que celles d'Ariane 4. Un dépassement de capacité provoque le crash informatique de l'appareil. Aveuglé, le pilote automatique perds le contrôle de la fusée, et un dispositif de sécurité provoque son auto-destruction quelques secondes après le décollage. C'est le bug informatique le plus coûteux de l'histoire.
En 1962 la mission Mariner 1 a connu un incident similaire[2].
Le bug de l'an 2000, aussi appellé bug du millénaire: Un ou plusieurs bugs dans un logiciel qui manipule des dates provoquent des disfonctionnements lorsque les dates sont postérieures au 31 décembre 1999. Une des causes est que les calculs sur les dates se font avec uniquement sur les deux derniers chiffres de l'année.
Les problèmes potentiels posés par la date du 31 décembre 1999 ont été anticipés la première fois par Bob Berner en 1971[3]. Ils ont provoqué une importante mobilisation des entreprises de génie logiciel quelques années avant la date butoir et le coût total des travaux de contrôle et de maintenance préventive sont estimés à plus de 600 millions de dollars[4].
Cycle de vie
[modifier | modifier le code]Les bugs résultent d'erreurs humaines lors des travaux de spécification, de conception et de programmation et de tests de logiciel et de matériel informatique. La complexité grandissante des logiciels, les problèmes de communication, le manque de formation des ingénieurs et la pression des délais et des coûts durant les travaux d'ingénierie sont des facteurs qui tendent à augmenter le nombre de bugs[5].
Les tests de logiciels sont la première mesure pour contrer les bugs. Pour des raisons pratiques (coût des travaux et délais) il n'est pas possible de tester un logiciel dans toutes les conditions qu'il pourra rencontrer lors de son utilisation et donc pas possible de contrer la totalité des bugs: un logiciel comme Microsoft Word compte 850 commandes et 1600 fonctions, ce qui fait un total de plus de 500 millions de conditions à tester[6].
L'utilisation de langages de programmations de haut niveau, qui facilitent le travail de l'ingénieur. La mise en application de convention de rédaction sont d'autres techniques préventives destinées à diminuer le nombre de bugs.
Le débogage est l'activité qui consiste à diagnostiquer et corriger des bugs. Lors du débogage en ligne l'ingénieur exécute le logiciel pas après pas, et effectue après chaque pas une série de vérifications. Lors du débogage post-mortem l'ingénieur examine un logiciel à la suite d'un crash informatique.
Lorsque le bug est décelé et corrigé après la distribution du logiciel, le fournisseur met souvent à disposition un patch, c'est-à-dire un kit qui remplace les parties défaillantes du logiciel par celles qui ont été corrigées.
mesures préventives
[modifier | modifier le code]De nombreux langages de programmation incluent des mécanismes de vérification des dysfonctionnements. Les instructions nécessaire aux vérifications sont ajoutées automatiquement au code machine ou au bytecode du logiciel lors de la compilation. Les instructions peuvent provoquer l'activation automatique du débogueur, le logiciel de diagnostic des bugs.
La revue de code consiste à soumettre le code source fraichement développé à une tierce personne qui va le relire et rechercher des défauts.
Les tests logiciel sont la première mesure pour contrer les bugs. Ils consistent à utiliser le logiciel dans le plus de conditions possibles. Le but des tests est de déceler différents problèmes:
- Le logiciel ne fait pas ce qu'il doit faire.
- Le logiciel fait quelque chose qu'il doit NE PAS faire.
- Le logiciel fait quelque chose qui ne lui est pas demandé.
- Le logiciel ne fait pas bien ce qu'il doit faire - exemple: trop lentement[7].
Les tests sont répétés plusieurs fois, à mesure de l'avancée de la programmation et des corrections, ceci afin de valider les corrections et déceler d'éventuels bugs de régression: des bugs survenus suite à la correction erronée d'un autre bug. Les tests peuvent être automatisés à l'aide de logiciels qui agissent à la place de l'utilisateur. Parfois un second logiciel est développé pour servir aux tests.
les test unitaires consistent à utiliser une fonction unique du logiciel en vue de déceler des dysfonctionnements. les test d'intégration consistent à utiliser tout un ensemble de fonctions en vue de contrôler la cohérence de l'ensemble. les tests de validation consistent à utiliser l'ensemble du logiciel en vue d'évaluer son adéquation au besoin de l'acheteur.
Les tests unitaires et d'intégration sont typiquement effectués par l'ingénieur, tandis que les tests de validation sont typiquement effectués par l'acheteur ou son représentant.
débogage
[modifier | modifier le code]Pour le débogage (littéralement chasse aux bugs), les ingénieurs se servent d'un logiciel débogueur ainsi qu'un logiciel de suivi de problèmes.
le logiciel de suivi de problèmes sert à coordoner les travaux de débogage, il est utilisé pour collecter tout les dysfonctionnements constatés, inscrire les causes et les actions de correction effectuées et ainsi suivre l'avancement des corrections. Les causes peuvent être des bugs, mais aussi des défauts dans les paramètres de configuration ou des erreurs de manipulation. le logiciel de suivi de problème est utilisé aussi bien par les usagers du logiciel défaillant que par les ingénieurs ou les administrateurs systèmes.
le débogueur permet d'analyser l'état d'exécution d'un logiciel à un instant donné, les opérations en cours, les informations en mémoire, les fichiers ouverts, etc. Avec débogueur en ligne il est possible de susprendre l'exécution du logiciel à tout moment, d'analyser l'état, puis de continuer les traitements.
Avec un débogueur post-mortem il est possible d'analyser l'état d'exécution d'un logiciel après un crash. L'analyse se fait sur la base d'un fichier qui contient la copie du contenu de la mémoire au moment du crash. Fichier appellé core dump sur les système d'exploitation Unix.
après la correction
[modifier | modifier le code]Une version de logiciel est l'état d'un logiciel à une date donnée, y compris toutes les corrections et améliorations qui ont été faites jusqu'à cette date. La version est dite alpha ou beta lorsqu'elle corresponds à l'état du logiciel avant la fin de la durée des tests. Une telle version est susceptible de contenir des bugs qui ont entre temps été décelés et corrigés.
Une fois un ou plusieurs défauts corrigés, ceux-ci sont regroupés dans un patch, un kit qui contient uniquement les composants du logiciel qui ont été corrigés. Il sera utilisé toute personne qui possède une copie du logiciel pour y appliquer les corrections et le faire correspondre à une version donnée.
Informatique - matériel
[modifier | modifier le code]Un appareil informatique est un automate qui traite des informations conformément à des instructions préalablement enregistrées. Selon le principe de la machine de Turing.
Un processeur est un dispositif qui exécute des instructions. Il puise les informations et les instructions de traitements dans des mémoires - des dispositifs de stockage d'informations. Les résultats des traitements sont eux aussi placés dans les mémoires.
Des dispositifs d´entrée permettent à un humain de commander l'appareil informatique et d'y introduire des informations.
Des dispositifs de sortie servent à extraire les informations de l'appareil informatique, et les présenter sous une forme utilisable par un humain.
Des dispositifs de télécommunication permettent l'échange d'informations entre différents appareils informatiques. voir réseau informatique.
Le matériel informatique (en anglais hardware - littéralement « quincaillerie ») est un ensemble des dispositifs en électronique numérique (aussi appelée électronique digitale[8]) servant au traitement des informations par des appareils informatiques, y compris l'envoi d'informations, le stockage, et la restitution.
Un appareil informatique est formé d'un assemblage de dispositifs de différentes marques. Le respect des normes industrielles par les différents fabricants assurent le fonctionnement de l'ensemble.
En ingénierie, une application est l'utilisation de connaissances scientifiques, de technologies et de produits en vue de résoudre un problème concret.
En informatique le terme application désigne à la fois une activité susceptible d'être automatisée que le logiciel qui automatise cette activité (logiciel applicatif)[9],[10].
Exemples d'applications
[modifier | modifier le code]Quelques applications qui par définition sont automatisées par informatique:
- la bureautique: création, expédition et réception de documents écrits. en font partie la publication assistée par ordinateur. et le traitement de texte.
- la conception assistée par ordinateur (abrégé CAO), calcul, dessin, simulation de produits avant leur réalisation. en font partie le dessin assisté par ordinateur (abrégé DAO) et la synthèse d'image 3D.
- la gestion de données - collecte, suivi, organisation et contrôle d'informations.
- l'émulation - imitation d'un logiciel ou d'un matériel informatique à l'aide d'un autre logiciel.
- le groupware - travail de groupe dans un réseau informatique.
- le courrier électronique et la voix sur réseau IP.
- le jeu vidéo
- le Calcul numérique calculs de mathématique par informatique.
Quelques applications qui peuvent être automatisées par informatique:
- la visioconférence, la photographie en particulier la photographie numérique, la vidéo et la création de diaporama.
- la comptabilité, la billeterie et les statistiques.
Technologie
[modifier | modifier le code]Une application de bureau (anglais Desktop application) est un logiciel applicatif qui affiche son interface homme-machine graphique dans un environnement de bureau[11], il est hébergé et exécuté par l'ordinateur de l'usager. Cette technologie est apparue avec les premiers environnements de bureau en 1970.
Une application web est un logiciel applicatif qui imite un site web et affiche son interface homme-machine dans un navigateur web. Le logiciel est hébergé par un serveur web transformé et exécuté de facon partagée par les ordinateurs serveur et client (l'usager). Cette technologie est apparue dans les années 1990.
X Window System est un environnement de bureau créé en 1984, avec lequel peuvent s'afficher sur un ordinateur des applications de bureau hébergées et exécutées par un autre ordinateur.
L'usage d'un serveur de fichiers permet d'héberger sur un ordinateur donné les fichiers d'une application comme si ils étaient hébergés par l'ordinateur de l'usager. Un serveur de fichier est typiquement utilisé pour héberger sur un ordinateur unique les fichiers d'une application utilisée par un ensemble d'usages qui ont chacun leur ordinateur personnel.
Les premières applications web avaient une ergonomie et une maniabilité moindre que les applications de bureau. Une application web riche (anglais Rich Internet Application) est par définition une application web qui a une ergonomie et une maniabilité équivalente à une application de bureau. la notion d´application web riche a été introduite par Macromedia en 2002.
UBS
[modifier | modifier le code]controverses
[modifier | modifier le code]comptes en déshérence
[modifier | modifier le code]En 1962, l'UBS constate que de nombreux comptes n'ont pas évolué depuis la Seconde Guerre mondiale - terminée en 1945 - et que cet argent (dont les propriétaires sont décédés durant la guerre) stationne dans des comptes en déshérence.
En 1995, au 50ème anniversaire de la fin de la guerre, plusieurs journaux israëliens exigent que l'argent qui appartenait à des juifs et qui se trouve dans les comptes en déshérence soit restitués à leurs héritiers - une somme qu'ils estiment à près de 50 millions de francs suisse. Le banquier Robert Studer provoque la polémique en qualifiant de peanuts la part ayant appartenu aux juifs. Les banques annoncent que cet argent représente 38 millions de francs dans 775 comptes, les associations juives qualifient ce chiffre d'inacceptable et le président Jean-Pascal Delamuraz parle d'un chantage du congrès juif mondial.
Une commission d'enquête, la commission Volker est créée en vue de faire toute la lumière sur les comptes en déshérence. En 1999 le rapport de la commission annonce qu'il s'agit de 200 à 400 millions de francs dans 53886 comptes répartis sur 59 banques. [12]
Financement des partis politiques
[modifier | modifier le code]Selon des sources anonymes du journal Sonntagsblick, les banques suisses, notamment l'UBS et le Crédit Suisse financent les campagnes électorales des partis politiques libéraux à la hauteur de près de 2 millions de francs pour 3 partis. Serge Gumy, journaliste de la Tribune de Genève estime que ce procédé flirte dangereusement avec les limites de la corruption. Andreas Kern, porte-parole de l'UBS reconnait que les banques financent les partis depuis longtemps, mais se refuse à tout commentaire sur le montant versé. Selon Christophe Darbellay, président du Parti Démocrate Chrétien, l'argent que receoit le parti provient des banques ainsi que toutes sorties d'entreprises, PME et multinationales.
Crash boursier en Inde
[modifier | modifier le code]Suite au lundi noir, un début de crash boursier survenu en Inde le 17 mai 2004, le Security and Exchange Board of India, organisme de régulation des marchés financiers en Inde interdit préventivement à UBS Securities Asia Ltd (filiale UBS en asie) de prolonger et de renouveler des contrats pour des produits dérivés a des clients du pays. L'interdiction d'une durée de un an est lancée exactement un an après le lundi noir. Le Security and Exchange Board of India suspecte que les transactions commerciales de UBS ont provoqué le lundi noir.[13] Cette interdiction est levée 5 mois plus tard par la cour d'appel qui juge que la décision du Security and Exchange Board of India est injustifiée[14].
Evasion fiscale des clients des États-Unis
[modifier | modifier le code]Entre 2001 et 2007 la justice des États-Unis enquête sur un business transfrontalier: des citoyens des États-Unis cachent des parts de leur fortune dans des banques à l'étranger, de manière à échapper aux impôts (évasion fiscale). L'enquête détermine que l'UBS est impliquée dans ce business, et qu'une partie de l'argent est évadé dans des banques en Suisse - pays dont les lois nationales rendent possible cette pratique: selon le droit Suisse, l'évasion fiscale est un délit mineur, et la loi n'autorise pas l'entraide judiciaire internationale pour les délits mineurs.
L'Internal Revenue Service, le fisc des États-Unis menace de rendre public une liste de 52000 clients de UBS aux États-Unis soupçonnés d'avoir évadé de l'argent, et obtient l'aveu spontané de 7500 d'entre eux. L'Internal Revenue Service fait pression sur Igor Olenicoff, un des 20 hommes les plus riches du pays, surnommé ironiquement le milliardaire aux poches vides par le magazine Forbes, et obtient le nom de Bradley Birkenfeld, ancien cadre de l'UBS, citoyen des États-Unis, et ayant exercé à Genève en Suisse. Lors de son jugement celui-ci plaide coupable, puis coopère activement avec la justice des États-Unis dans le but d'alléger sa peine[15].
Le 18 février 2009, la justice des États-Unis punit l'UBS d'une amende 780 millions de dollars et menace de retirer sa licence aux États-Unis (l'interdisant ainsi d'exercer dans ce pays), et obtient alors - sous la pression - une liste de 300 titulaires de comptes[16]. L'affaire tourne alors en litige administratif entre les deux pays parce que les droit du secret bancaire en Suisse interdisent en principe à une banque de divulguer les noms de ses clients. Les autorités de la Suisse tranchent sur la question, concluent que le secret bancaire est destiné à « protéger la vie privée et non la fraude fiscale »[17], et concluent un accord de coopération entre les deux pays qui empêche l'évasion fiscale[18].
, pour éviter les poursuites pénales, UBS signe un accord avec la justice américaine. Elle s'engage à payer 780 millions de dollars d'amende[19],[20] et à révéler l'identité de 200 à 300 titulaires de comptes accusés d'avoir fraudé le fisc américain. Ceci en conformité avec le secret bancaire car celui-ci protège la vie privée et non la fraude fiscale[21],[22]. Néanmoins, cette levée du secret bancaire est effectuée sous la contrainte et en dehors de la procédure administrative. L'Autorité fédérale de surveillance des marchés financiers (FINMA), va entériner cette procédure, par contre fin février 2009, le Tribunal Administratif Fédéral interdit à titre superprovisionnel à la FINMA de transmettre les données bancaires de 300 clients de l'UBS aux autorités fiscales américaines de l'Internal Revenue Service[23].
La crise des subprimes
[modifier | modifier le code]En 2008, touchée par la crise des subprimes, l'UBS enregistre la plus grosse perte de son histoire: 20 milliards de francs suisses[24].
En vue d'assurer l'avenir économique de la Suisse le conseil fédéral - autorité suprême du gouvernement suisse - lance un plan de sauvetage. La Banque Nationale Suisse, propriété du gouvernement, rachète 90% des actif toxique détenus par l'UBS, pour un montant de 54 milliards de dollars US. L'argent nécessaire est emprunté auprès de la Réserve fédérale des États-Unis, et les actifs sont alors contrôlés par une filiale de la Banque Nationale Suisse - un nouvelle filiale créée dans ce but. L'Etat achète en outre pour 6 milliards de francs d'obligations convertibles en actions, à un taux de 12%, et devient ainsi un des principaux actionnaires de l'UBS[25].
Quelques jours après l'annonce du plan de sauvetage, l'UBS annonce qu'elle continuera de verser des bonus à son personnel, soit 2 milliards de francs répartis sur 77000 employés - beaucoup moins que l'année précédente[26]. Evelyne Widmer-Schlumpf, ministre des finances se dit scandalisée par cette déclaration.[27]
- (en)« Investigation of the Therac-25 incidents »
- (en)« Wired - History's worst software bugs »
- (en)Modèle {{Lien web}} : paramètres «
url
» et «titre
» manquants. - (en)« Accessing cost of the millenium bug »
- (en)« Top 10 reasons why there are bugs in software »
- (en)« Anatomy of a software bug »
- (en)« Basic software testing concepts »
- un anglicisme provenant de l'anglais digit: chiffre
- (en)« Your dictionary, Application »
- (en)« Application Software »
- (en)« Desktop application, definition »
- « Rapport Bergier »
- (en)« Sebi bans UBS Securities for one year »
- (en)« SAT overturns UBS Ban »
- « Bradley Birkenfeld affronte les juges »
- Aude Carasco, « La banque suisse UBS va livrer les noms de fraudeurs américains », La Croix, 20 février 2009.
- Le secret bancaire suisse vacille à cause de l'UBS article du Nouvel Observateur du 20 février 2009, consulté le 21 février 2009
- « Accord entre les États-Unis et la Suisse concernant l'évasion fiscale »
- Aude Carasco, « La banque suisse UBS va livrer les noms de fraudeurs américains », La Croix, 20 février 2009.
- Erreur de référence : Balise
<ref>
incorrecte : aucun texte n’a été fourni pour les références nomméesMonde 21.02.09
- Le secret bancaire suisse vacille à cause de l'UBS article du Nouvel Observateur du 20 février 2009, consulté le 21 février 2009
- Secret bancaire: après les USA, l'UE? article Swissinfo.ch du 20 février 2009, consulté le 21 février 2009
- Imbroglio autour de l'UBS: la FINMA se défend, 23 février 2009, Radio suisse romande
- « UBS: perte nette de près de 20 milliards »
- « Le plan de sauvetage de l'UBS decrypté »
- « UBS versera 2 milliards de francs de bonus »
- « Les critiques pleuvent contre les bonus à UBS »