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



Documents pareils
Cours Informatique 1. Monsieur SADOUNI Salheddine

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

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

L informatique en BCPST

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Informatique Générale

Travaux pratiques Détermination de la capacité de stockage des données

TP 1 Prise en main de l environnement Unix

TD séances n 3 et n 4 Répertoires et Fichiers sous Unix

nom : Collège Ste Clotilde

I00 Éléments d architecture

Architecture des ordinateurs Introduction à l informatique

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

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

TP1 : Initiation à l algorithmique (1 séance)

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

IV- Comment fonctionne un ordinateur?

Introduction à l informatique en BCPST

Algorithme. Table des matières

1.1 L EXPLORATEUR WINDOWS

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

Qu est-ce qu un Ordinateur

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

Représentation d un entier en base b

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Présentation du cours

TP1 - Prise en main de l environnement Unix.

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Licence Sciences et Technologies Examen janvier 2010

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

Structure de base d un ordinateur

Initiation Internet Module 0 : Découverte de L ordinateur

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Architecture matérielle des systèmes informatiques

Leçon 1 : Les principaux composants d un ordinateur

Activité 1. Compter les points Écriture binaire des nombres. Résumé. Liens pédagogiques. Compétences. Âge. Matériel

Découverte de l ordinateur. Partie matérielle

Module : Informatique Générale 1. Les commandes MS-DOS

Cours 3 : L'ordinateur

2 Comment fonctionne un ordinateur, dans les grandes lignes

Comment configurer Kubuntu

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

TP 1. Prise en main du langage Python

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

Introduction à l informatique

Premiers pas sur l ordinateur Support d initiation

À la découverte de l ordinateur

Initiation à l ordinateur Support d initiation

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Le poids et la taille des fichiers

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

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Une version javascript sera disponible directement dans le cours prochainement.

Partie 7 : Gestion de la mémoire

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Module M1 Elément 2 : Informatique 1 (I1)

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

Conservation des documents numériques

Introduction au Système d Exploitation Unix/Linux

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

I.1- DÉFINITIONS ET NOTIONS DE BASE

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Matériel informatique (hardware)

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

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

Chapitre 13 Numérisation de l information

Systèmes d exploitation

Affectation standard Affectation modifiée (exemple)

CH.3 SYSTÈMES D'EXPLOITATION

Chapitre 3 : Système de gestion de fichiers

I. QU'EST-CE QU'UN ORDINATEUR? Un ordinateur est relié à plein de périphériques

Logiciel de Base. I. Représentation des nombres

La communication et la gestion de l'information

L ARBORESCENCE. Qu est-ce qu un dossier? L arborescence?

Chapitre I Notions de base et outils de travail

TD : Codage des images

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

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Organiser le disque dur Dossiers Fichiers

L informatique en solo

Rappels d architecture

Un ordinateur, c est quoi?

La Clé informatique. Formation Excel XP Aide-mémoire

Représentation des Nombres

Séance 0 : Linux + Octave : le compromis idéal

C.M. 1 & 2 : Prise en main de Linux

Le langage C. Séance n 4

FORMATS DE FICHIERS. Quels sont les différents types d informations numériques dans un document multimédia?

La technologie au collège

V- Manipulations de nombres en binaire

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

Administration de Parc Informatique TP07 : Installation de Linux Debian

Programmation système I Les entrées/sorties

Structure et fonctionnement d'un ordinateur : hardware

Transcription:

Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve les données et les résultats des calculs des périphériques qui permettent à l utilisateur de communiquer avec la machine. Il existe différents types de périphériques : Les périphériques d entrée qui permettent de transmettre une information de l utilisateur vers la machine : clavier, souris, crayon optique, Les périphériques de sortie qui permettent à la machine de transmettre une information vers l utilisateur : écran, imprimante, enceintes,... La mémoire La mémoire peut être vue comme une simple suite de cases contiguës. Le numéro d une case dans cette suite est appelé son adresse. Chaque case (mot) peut contenir une valeur entière écrite sur un nombre fixe de chiffres (mettons 8). 0 1 2 3 Contrairement aux humains qui écrivent les nombres avec 10 chiffres différents (de 0 à 9), les ordinateurs les écrivent avec seulement deux chiffres (le 0 et le 1). Ces chiffres sont appelés bits (binary digits, chiffres binaires). 0 1 0 1 1 0 0 1 0 0 1 1 1 1 0 1 0 0 0 0 1 0 1 0 Les périphériques d entrée-sortie qui peuvent transmettre une information dans les deux sens : lecteurs de disquettes, disque dur, lecteurs/graveurs cdrom 1 0 1 2 3 2 Le bit L'octet En numérotation binaire le bit est la plus petite unité d'information manipulable par une machine numérique. Avec un bit il est ainsi possible d'obtenir deux états (2): 0-1 Avec 2 bits il est possible d'obtenir quatre états (2*2): 0 0-0 1-1 0-1 1 Avec 3 bits il est possible d'obtenir huit états (2*2*2): 0 0 0-0 0 1-0 1 0-0 1 1 1 0 0-1 0 1-1 1 0-1 1 1 L'octet est une unité d'information composée de 8 bits. Il permet de stocker plusieurs types de données : un caractère une lettre un nombre Ce regroupement de bits par série de 8 permet une lisibilité plus grande, au même titre que l'on apprécie, en base décimale, de regrouper les nombres par trois pour pouvoir distinguer les milliers. Par exemple le nombre 1 256 245 est plus lisible que 1256245. Pour un groupe de n bits, il est possible de représenter 2 n états (valeurs). 3 4

Codage Afin de pouvoir stocker en mémoire des nombres entiers, des caractères, ou tout autre type, il faut établir une correspondance (un codage) entre chaque nombre binaire et chaque donnée. Par exemple, pour un codage des nombres entiers sur 2 bits, nous pouvons utiliser la correspondance suivante : 00 code le 0 01 code le 1 10 code le 2 11 code le 3 Codage Dans le codage que nous venons d utiliser chaque bit à un poids. Ce poids dépend de la position du bit en partant de la droite. Comme pour les dizaines, les centaines et les milliers pour un nombre décimal, le poids d'un bit croît d'une puissance de deux en allant de la droite vers la gauche. 01 = 0 * 2 1 + 1 * 2 0 = 0 * 2 + 1 * 1 = 1 10 = 1 * 2 1 + 0 * 2 0 = 1 * 2 + 0 * 1 = 2 0101 = 0 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 0 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 5 1101 = 1 * 2 3 + 1 * 2 2 + 0 * 2 1 + 1 * 2 0 = 1 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 13 Ce codage en base 2 (ou codage binaire) des entiers est utilisé par l ordinateur pour effectuer tous les calculs. 5 6 Codage Codage / mémoire / adresse De la même manière que l on code des nombres, il est possible de coder des caractères. Sur un octet, on utilise le code ASCII (American Standard Code for Information Interchange). Voici une partie du codage : Caractère Nombre entier Nombre binaire Y 89 1011001 Z 90 1011010 [ 91 1011011 \ 92 1011100 ] 93 1011101 ^ 94 1011110 _ 95 1011111 ` 96 1100000 a 97 1100001 b 98 1100010 c 99 1100011 7 Pour résumer, la mémoire est une suite de cases ou mots (d un octet par exemple) et chacun de ces mots possède une adresse. Chacun de ces mots peut coder un nombre, un caractère, 0 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 1 2 3 Dans cet exemple, si le programme qui utilise la mémoire stocke un entier à l adresse 2 et un caractère à l adresse 1, alors on peut voir que le nombre 10 est stocké à l adresse 2 et que le caractère a est stocké à l adresse 1. C est dire que le programme interprète le contenu de la mémoire. La capacité d un programme à accéder à un mot d une case mémoire directement par son adresse donne son nom à la RAM : Random Access Memory. 8

KiloOctets, MégaOctets Un Kilo-octet (ko) = 2 10 octets = 1024 octets Un Méga-octet (Mo) = 2 20 octets = 1024 Ko = 1 048 576 octets Notion de programme binaire Un programme peut être vu comme une suite de mots stockés consécutivement en mémoire. Cette suite est appelée «un binaire». Ces mots codent des instructions élémentaires reconnues et exécutables par le processeur. Un mot binaire de la mémoire peut donc représenter un entier, un caractère, d autres types de données, mais également une instruction. Par exemple : Un Giga-octet (Go) = 2 30 octets = 1024 Mo = 1 073 741 824 octets Un Téra-octet (To) = 2 40 octets = 1024 Go = 1 099 511 627 776 octets Capacité de quelques mémoires informatiques usuelles - disquette : 1,44 Mo - mémoire vive (RAM) : quelques Go - disques durs : quelques centaines de Go - CD-audio standards : 650 Mo - DVD (simple face, simple couche) : 4,7 Go 9 recopier une valeur entière stockée dans un endroit (adresse) de la mémoire vers un autre endroit (une autre adresse) de la mémoire opérations arithmétiques : additionner 2 entiers soustraire 2 entiers multiplier 2 entiers comparer 2 entiers (égalité, inférieur, inférieur ou égal) afficher un entier à l écran passer à l instruction suivante si une condition est vérifiée 10 Un petit programme Assembleur et langages évolués Pour effectuer des opérations, le processeur est muni d un petit nombre de registres qui, comme la mémoire, contiennent des mots. Ces registres de l ALU (unité logique et arithmétique) ont pour rôle de stocker les opérandes et le résultat des opérations arithmétiques. Par exemple, si on veut additionner un nombre situé à l adresse A et un nombre situé à l adresse B puis mettre le résultat à l adresse C, on ne peut pas directement additionner, il faut procéder en plusieurs étapes : Transférer le nombre situé à l adresse A dans le registre 1 de l ALU Transférer le nombre situé à l adresse B dans le registre 2 de l ALU Additionner les registres 1 et 2 de l ALU puis mettre le résultat dans le registre 3 Transférer le nombre du registre 3 de l ALU vers l adresse C Pour écrire ce programme, on peut : Utiliser un langage de programmation de bas niveau comme le langage d assemblage qui permet de manipuler directement les registres de l ALU, mais les instructions sont élémentaires (et dépendent de l architecture de la machine, nombres et noms des registres, variantes du jeu d instruction). L assembleur se contente alors d effectuer le codage de chaque instruction texte en séquences d entiers. Trans A R1, Trans B R2, ADD R1 R2 R3, Trans R3 C Utiliser un langage de programmation évolué comme le langage C. Les langages évolués permettent au programmeur d écrire directement des expressions complexes. On ne manipule plus les registres, et le texte est alors relativement indépendant de l architecture. c = a + b; Le texte des instructions est compilé par un compilateur, c est à dire traduit en une série de codes binaires. 11 12

Système d Exploitation Arborescence des fichiers Au niveau le plus bas, les périphériques (disque dur, clavier, écran, imprimante etc.) ne comprennent que des ordres de type assembleur. Par exemple : positionner la tête du bras du disque dur sur telle piste de tel secteur écrire telle séquence Le système d exploitation est le programme chargé de fournir à l utilisateur (et au programmeur) une appréhension abstraite des mécanismes matériels de la machine et de ses périphériques. Par exemple, les données sur disque ne sont plus vues comme des données tronçonnées en secteurs et en pistes, mais en systèmes de fichiers avec des noms, que l on peut grouper dans des répertoires, avec des droits d accès pour certains utilisateurs. Les programmes sont vus comme des processus qui se partagent les ressources du processeur et ne peuvent pas pénétrer dans les zones mémoires réservées par d autres processus (sauf par malveillance ou accident). 13 En salles de TP, nous utiliserons le système Unix. Unix organise les données stockées sur les disques en fichiers (files) et répertoires (directories). Les fichiers contiennent les données (images, textes, programmes, code partagé...) et les répertoires permettent de les classer. Le classement prend pour analogie un arbre généalogique de paternité. Un répertoire peut contenir plusieurs fichiers et plusieurs répertoires. On dit que les fichiers et répertoires contenus dans un répertoire P sont les fils de P. Si un répertoire P contient un fichier ou un répertoire F on dit également que P est le père de F. Dans un répertoire, tous les fils doivent avoir des noms différents. Il existe un répertoire qui contient tous les autres fichiers et répertoires : il est appelé répertoire racine (root) de l arborescence des fichiers. Par convention la racine est son propre père. Chaque fichier ou répertoire possède un nom (une suite de caractères aussi longue que l on veut). Par convention la racine se nomme «/». 14 Arborescence des fichiers Arborescence des fichiers On voit que deux fichiers/répertoires de père différents peuvent avoir le même nom, comme ici les répertoires bin. Pour désigner un fichier/répertoire de façon unique, on utilise son chemin (path), c est-à-dire son nom précédé de toute la série de ses ancêtres depuis la racine. Chaque nom est séparé par autant de slash (/ ) que l on veut. Ainsi, on distingue par exemple les différents répertoires bin : /bin /usr/bin /usr/local/bin 15 16

Identification Interpréteur de commandes Pour pouvoir utiliser un ordinateur sous Unix, il faut se loguer, c est à dire s identifier comme une personne autorisée par les administrateurs du système à utiliser la machine. Se loguer consiste à saisir son login (identifiant utilisateur) au clavier ainsi que son mot de passe secret (à frapper à l aveugle). Pour vous en TP, le login est l initiale de votre nom de famille (en minuscule) suivie du numéro de votre carte d étudiant. Le mot de passe initial est le numéro INE, qui vous a été donné lors de votre inscription (la première chose à faire sera d ailleurs de changer ce mot de passe en TP). Ces informations se trouvent sur vos certificats de scolarité. Lorsqu un utilisateur logué ouvre une fenêtre de terminal de commandes, xterm par exemple, celle-ci apparaît avec une invite de commande : le prompt. C est un signe qui indique que le terminal est prêt à saisir une commande. Ce prompt est souvent le signe dollar $. Le curseur texte clignote juste à droite, prêt pour la saisie d une commande au clavier. La fenêtre de terminal de commandes est aussi appelée console 17 18 La commande pwd L utilisateur se situe toujours à un endroit dans l arborescence des fichiers : le répertoire courant (working directory). On peut demander quel est ce répertoire avec la commande pwd (print working directory). Pour cela : saisir la commande au clavier. puis valider avec la touche Entrée (Return, Enter). Au lancement, cet endroit est généralement la racine du compte de l utilisateur : un répertoire où il peut stocker ce qu il veut (ci-dessous : ). Après la validation de la commande le résultat de la commande est affiché, puis la console est de nouveau en attente d une autre commande. pwd 19 La commande ls La commande ls (list) permet d afficher le contenu d un répertoire. Les arguments de ls sont les répertoires/fichiers à lister. S il n a pas d argument, ls affiche le contenu du répertoire courant. ls salut.c tp Ici, le résultat de la commande indique que le répertoire courant est composé de deux fils : salut.c et tp. Pour savoir s il s agit de répertoires ou de fichiers il faut utiliser l option F : ls -F salut.c tp/ 20 On voit que salut.c est un fichier et que tp est un répertoire (termine par un / )

Interpréteur de commandes : chemin absolu & chemin relatif Comme il n est pas pratique de désigner les fichiers en indiquant toujours leur chemin depuis la racine (chemin absolu), on utilise la notion de chemin relatif au répertoire courant. Les fils immédiats sont accessibles immédiatement par leur nom, et le père est accessible par deux points.. pwd -> affichage du répertoire courant ls tp -> ls du répertoire tp (chemin relatif) tp1.c tp2.c ls /tp tp1.c tp2.c -> ls du répertoire tp (ch. absolu) ls../ -> ls du répertoire home (ch. relatif) karim tmp ls /home/ -> ls du répertoire home (ch. absolu) karim tmp 21 La commande cd On peut se déplacer d un répertoire vers un autre avec la commande cd (change directory). L argument est le chemin du répertoire de destination. pwd -> affichage du répertoire courant cd tp -> aller dans le répertoire /tp (chemin relatif) karim@12806543287 ~ /tp $ pwd -> affichage du répertoire courant /tp karim@12806543287 ~ /tp $ cd.. -> remonter dans le rép. (chemin relatif) pwd -> affichage du répertoire courant cd /tp -> aller dans le rép. /tp (chemin absolu) karim@12806543287 ~ /tp $ pwd -> affichage du répertoire courant /tp 22 Les commandes mkdir & rm & man On peut créer un répertoire à l aide de la commande mkdir (make directory). Les arguments de mkdir sont les répertoires à créer. $ ls -F tp1.c test.c $ mkdir INTRO_INFO $ ls -F tp1.c test.c INTRO_INFO/ La commande rm permet de supprimer un fichier ou un répertoire. Il faut utiliser l option r pour un répertoire. $ rm test.c $ rm -r INTRO_INFO $ ls tp1.c Quotas en mémoire Le système d exploitation utilise un système de quotas fixant les limites de stockage qu un utilisateur ne doit pas dépasser. Deux limites : soft et hard. Lorsque la limite soft est dépassée, l utilisateur est prévenu qu il doit effacer une certaine quantité de données avant un certain temps, sinon des sanctions seront prises (accès au compte supprimé). Il existe de nombreuses autres commandes. Pour chacune, il existe souvent plusieurs manières de l utiliser (plusieurs options, plusieurs arguments, ). Pour obtenir le manuel d utilisation de la commande (s il existe), il suffit d utiliser la commande man avec en argument le nom de la commande. 23 Par exemple : man ls. 24