Architecture d `un ordinateur

publicité
Introduction à l’informatique
Logiciels et Progiciels (software)
Programmes
Immatériel diffusion et durée illimitée
Nécessaires pour faire fonctionner ordinateur
Logiciels système et d’applications
Exécuté par l ’Unité Centrale
Produits programmes industrialisés= Progiciel
Clés en main (fermé à l utilisateur)
Evolution et maintenance
Introduction à l’informatique
Logiciels système
Fournis avec machine ou indépendants
En partie liés au matériel (processeur)
Système d ’exploitation
Utilitaires
Outils de programmation
Editeurs Interprète Compilateur
Environnement système
Introduction à l’informatique
Logiciels
Basés sur logique et algorithmique
Production :Activité intellectuelle et créative
Résout les problèmes décidables
Exécutables sur ordinateurs (machine de Türing)
Analyse + programmation +test+validation
Ecrits dans langages de programmation
Potentiellement éternels
Architecture système d’un ordinateur
Système d ’exploitation
Architecture système d’un ordinateur
Système d ’exploitation
Système d’exploitation
Machine de Von Neumann
Système exploitation en mémoire (RAM et
ROM)
Système d’exploitation
Fonctions :
Gestion des ressources de l'ordinateur (UC)
Gestion de la mémoire
• Mémoire centrale et mémoire virtuelle
Gestion des entrées sorties et fichiers
Protection et gestion des erreurs
Contrôle des programmes
Gestion des utilisateurs
• Langage de commande
• Interface Homme machine
Système d’exploitation
Gestion Unité Centrale
Mono-utilisateur
Monotache ou Multi-taches
 Préemptif ou non
Multi -utilisateurs
Multiprogrammation Temps partagé
Transactionnel (Réactivité terminaux)
Par fournées (batch)
Monoprocesseur ou multiprocesseur
Système d’exploitation
Gestion du Temps (UC):
Multiprocessus
Temps Partagé (Tranches de temps)
Temps Réel (contrainte imposée par processus)
Transactionnel
Modèle Organisationnel
Maître - Esclave
Client - Serveur
Middleware
Système d’exploitation
Gestion Mémoire Centrale
Mono-utilisateur
Mono partition ou Multi-partitions
Mono applications ou plusieurs applications
Multi -utilisateurs
Partitions fixes ou variables (dynamiques)
Swapping
Mémoire virtuelle
Utilisation disques pour étendre Mémoire centrale
Système d’exploitation
 Gestion de l ’espace de la mémoire centrale
Partition fixes
• Blocs alloués à chaque programme
• Simple mais rigide
• Perte de place
Partitions dynamiques
• Bloc alloués à l’exécution
• Plus difficile à gérer
• Swapping (Disque Dur)
Mémoire virtuelle
• Recouvrement
• Segmentation
• Pagination
Architecture d’un ordinateur
 Périphériques
Beaucoup plus lents que UC+ MC
Gestion en taches (drivers)
Temps réel (Souris,Capteurs ...)
Délégation (Imprimantes Postscript)
De fond (moins prioritaires)
Gestion en parallèle
Multiprogrammation et/ou processeurs spécialisés
Système d’exploitation
Système de Gestion de Fichier (Disques)
Annuaires (directory)
Hiérarchie (disque, dossier, fichier)
Type de fichier
Séquentiel, indexé ,chaîné...
Contenu :texte,tableaux ,numérique, image ,
vidéo
Droits & Partage de fichiers
Transferts
Sauvegardes
Système d’exploitation
Langage de commande
Permet d ’indiquer ce que l ’on veut faire
Interprète de commandes
• Mode impératif + paramètres
• Mode terminal
– Ligne /Ecran
– Clavier
Mode iconographique
• Souris + fenêtres+icones
• Clavier
Système d’exploitation
Gestion des communications
 Réseaux locaux ( Local Area Network)
Ethernet (10 Mo à 100 Mo ,1 Go)
Hertzien sans fil (Wifi , Bluetooth)
Réseaux métropolitains (Metropolitan Area Network)
Câble
ADSL
Hertzien (Satellite ..)
Infra Rouge
Réseau Internationaux (WAN)
 Modem +Téléphone ou Numéris
Internet
Système d’exploitation
Interface Homme Machine
 Clavier
Ligne
Ecran
Plein écran caractères (24 lignes 80 colonnes)
Graphique + Bitmap (dessin)
Multifenêtres
Xerox PARC (78) Apple (84) X-Windows (Unix)
 Pointeur de sélection (Souris, Boule, manche ...)
Métaphore du bureau
Système d’exploitation
Propriétaires
Sur Gros ordinateurs OS IBM + Bull
Mac OS 9 et X
MS DOS MS Windows PC
Micro de poche (Palm Win CE)
Multiplateformes et/ou libres
Unix
Linux
Système d’exploitation
Mono-Utilisateur - Mono-tâche
PC MS DOS
Mono-Utilisateur - Multitâches
Mac Intosh
Windows
Multi-Utilisateurs - Multitâches
Unix
Windows NT XP
Système propriétaires
Système d’exploitation
Ouverture / Fermeture
Systèmes fermés
Ms DOS Windows Mac Os ..
Interfaces pour applications
Systèmes ouverts
Unix (+/-)
Linux (système libre)
Portabilité des applications
Interopérabilité
Système d’exploitation
 Stations de travail et serveurs (Sun HP …)
 Multi-taches Multi-utilisateurs (Unix)
 Linux
 Micro-Ordinateurs PC
 PC MS DOS (Microsoft) Mono-utilisateur
 Windows 3.11 .... Windows 95… Windows 2000 Multitaches
 Windows NT XP (multi-utilisateurs)
 Mac OS (Apple)
 Jusqu ’à Système 9 Multitaches
 Power PC (DOS - Windows - Mac Os - Unix)
 Système X (Unix) Multi-utilisateurs
Progiciels
Traitements de Texte
PC
WordPerfect
Word (95 6 7 8 2000….)
Mac Intosh
Macwrite
Claris works
Word Perfect
Word (95 6 7 8 0 3….)
Unix
Open Office
Star Office
Progiciels
Grapheurs
 Vectoriel
 MacDraw Claris Draw
 Harvard Graphics
Dessin
 Bitmap (point par point)
 Niveaux de gris et couleurs
 MacPaint
 Paint
 PowerPoint
Progiciels
Tableurs
 Quattro Pro
 Multiplan
 Excel
 Claris
Intégrés
 Traitement Texte Tableur Graphique Dessin Base de données
 Works
 AppleWorks i work
 Office (Word Excel PowerPoint)
 Open office
Progiciels
Présentation assistée (PréAO)
Présentation type diapos
Persuasion
PowerPoint
Keynote
Publication assistée par ordinateur (PAO)
Production document
Page Maker
Pages
X-Press
Progiciels
Lecture de caractères à partir de numériseur(scanner)
 Deskscan (scanner image)
Omnipage (transforme en texte Ascii)
Multimedia
PhotoShop
DreamWeaver (Web)
Statistiques
SAS
SPSS
R/S+
Progiciels
 Messagerie
Mail (Unix+Mac)
Eudora
Outlook
Thunderbird (libre)
Webmail (Horde)
Navigateurs (web)
Mosaic +Lynx
Mozilla
Firefox
Netscape
Explorer
Introduction à l’informatique
Langage est Une Nécessité
Savoir communiquer avec l'ordinateur, (ie) savoir lui
spécifier ce qu'il doit faire pour résoudre un problème
donné
Garder une trace de ce qui a été écrit
Pouvoir le modifier, le réutiliser ..
Il faut un langage de programmation
Introduction à l’informatique
Langages de programmation
Basés sur logique et algorithmique
Résout les problèmes décidables
Exécutables sur ordinateurs (machine de Türing)
Différentes phases
Analyse + programmation +test+validation
Différents niveaux de langages de programmation
Programmation d’un ordinateur
 Niveaux de Langages de programmation
Programmation d’un ordinateur
Différentes phases
Programmation d’un ordinateur
Langage de programmation
Un langage de programmation est l'ensemble des
règles et des instructions qui peuvent être utilisées pour
exprimer un programme
Syntaxe et sémantique
Eventail Théorique :
• Langage Naturel ----> Langage programmation ----->
Langage Machine
• problème ----> algorithme----> écriture---> Exécution
Programmation d’un ordinateur
Programmation en langage naturel
Langage trop flou, ambigu
Langage trop riche
Programmation en langage machine binaire
Chaque mot est une succession de 0 et de 1
Ex: 0100 1111
(remettre l'accumulateur à 0)
Le langage est spécifique de l'ordinateur
Trop fastidieux et long, incompréhensible à la lecture
Pour les programme très courts !!!
Programmation d’un ordinateur
Cas du langage assembleur
1 mnémonique +opérandes<----> 1 instruction binaire
Traduction des mnémoniques en code machine par
l'assembleur
Programmes compacts, très efficaces
Difficile à corriger, peu lisible, lié à l'ordinateur
Utile pour gagner place mémoire ou temps exécution
• Calculateurs embarqués ou miniaturisés
• Temps réel
Programmation d’un ordinateur
Eviter d ’être dépendant d ’un processeur
Solution = langages évolués
Langage Evolués
Encore appelés "universels" ou "de haut niveau"
Un langage évolué est un langage dont les
caractéristiques
tendent
à
rapprocher
la
programmation du langage et du processus de pensée
humains.
Langages algorithmiques , impératifs ,logiques
Programmation d’un ordinateur
Langages évolués
Avantages:
• "En principe" indépendants de l'ordinateur
• Une instruction équivaut à plusieurs instructions en langage
machine
• Beaucoup plus compréhensibles et plus concis
• Rattachés à un conception générale de la programmation
Inconvénients
• Plus lents à l'exécution
• Exigent plus de mémoire
Programmation d’un ordinateur
Les Langages
Langages Universels analytiques
Universels

S'applique à tous les types de problème
Analytiques

Toutes les opérations accomplies par ordinateur
doivent être spécifiées explicitement
Langage machine
Langage assembleur
Programmation
Classification des langages
Langages symboliques spécialisés
Utilisation de symboles pour présenter les actions et les structures
Travaux scientifiques
FORTRAN, ALGOL 60, BASIC, APL
Gestion
PL/I , COBOL
Intelligence Artificielle
•
LISP, PROLOG, SMALLTALK
Programmation
Traduction en langage machine
Une nécessité : Un langage évolué nécessite une
traduction en langage machine
Avant exécution
• Traduction ,vérification de la syntaxe,Génération d'un code
Classification selon le mode de traduction
Compilateur
Interprète
Programmation
Le compilateur
 Programme qui traduit les instructions du langage
évolué en langage machine avant l'exécution du
programme
Traduction
Programmation
L’interprete
 Programme qui traduit les instructions du langage
évolué et les exécute directement
Traduction
Programmation
Caractéristiques des langages compilés
Industrialisation
 Division du travail de production
 Efficacité, vitesse d'exécution
 Version objet protégée
 Structuration Composition de programme
 Maintenance + Evolution
Langages compilés
Fortran ,Pascal,Cobol ,C,C++,Java….
Programmation
Caractéristiques des langages interprétés
 Moindre efficacité
 Plus de mémoire à l'exécution
 Interactivité dans le développement
 Développement plus rapide
 Pas de protection
Langages interprétés
APL,Basic, LISP, PROLOG,Perl ,Javasxript......
Téléchargement