00 - Introduction

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 9

Première générale

Spécialité NSI

INTRODUCTION

Dans cette introduction, nous découvrirons les principales caractéristiques d’un ordinateur et d’un système
d’exploitation. Nous verrons comment utiliser un environnement de développement pour ajouter des
applications.
ISN INTRODUCTION

TABLE DES MATIÈRES


I. Les composants de base d’un ordinateur .................................................................................................... 2
II. Jeu d’instruction et programmes ................................................................................................................ 3
III. Le système d’exploitation ........................................................................................................................ 4
Gestion des utilisateurs et interface système .............................................................................................. 4
Système de fichiers ..................................................................................................................................... 5
Le lancement d’applications ....................................................................................................................... 6
Le multitâche ............................................................................................................................................. 6
IV. Environnement de développement ........................................................................................................... 6
Généralités .................................................................................................................................................. 6
Protections .................................................................................................................................................. 7
Exercices .................................................................................................................................................... 7

1
ISN INTRODUCTION

I. Les composants de base d’un ordinateur

La plupart des ordinateurs actuels (ordinateurs de bureau, tablettes, smartphones, etc .) sont bâtis autour du
même modèle théorique, l’architecture de Von Neumann1. Voici les composants essentiels de cette
architecture :

 Le processeur (ou microprocesseur)

C’est la partie de l’ordinateur qui exécute les programmes.


Il est constitué de millions de composants électroniques
appelés transistors.

Toutes les activités du microprocesseur sont cadencées par


une horloge.

On caractérise le microprocesseur par :


microprocesseur
- sa fréquence d’horloge : en MHz ou GHz. Par
exemple, quand la fréquence d’horloge est 1 GHz,
la période de l’horloge, c’est-à-dire la longueur
d’un cycle, est de 1 nanoseconde, un milliardième
de seconde

- la taille des données qu’il est capable de traiter (sur les ordinateurs actuels : 32 bits ou 64
bits).

Le fonctionnement du processeur est générateur de chaleur et nécessite un système de


refroidissement (radiateur et ventilateur).

 La mémoire vive

Elle contient les données et les programmes. La mémoire est


constituée de plusieurs milliards de circuits mémoires un bit
pouvant prendre deux états que l’on peut modéliser par 0 et
1. Ces circuits sont regroupés en agrégats de 8, 16, 32, 64
bits (ou davantage) que l’on appelle des cases mémoires.
Pour distinguer les cases les unes des autres, on attribue à
chacune d’elle une adresse. On peut accéder directement à
une donnée stockée dans une case mémoire à l’aide de son
adresse, d’où le nom anglais random access memory (RAM)
donné à la mémoire vive. mémoire vive

La taille de la mémoire est généralement exprimée en agrégat de 8 bits appelés octets. Sur les
ordinateurs actuels quelques milliards d’octets. Elle s’exprime en giga octets (GO). Si l’adresse
d’une case est codée sur n bits, la taille de la mémoire peut atteindre 2n octets. Par exemple, les
adresses d’une mémoire de 1 GO sont codées sur 30 bits2, celles d’une mémoire de 4 GO sur 32 bits.

La mémoire vive n’effectue pas de calculs, on dit qu’elle est inerte.

1
John Von Neumann (1903-1957) est un mathématicien et physicien américano-hongrois.
2
230  1073741824
2
ISN INTRODUCTION

La mémoire vive est volatile : elle perd ses données lorsque l’ordinateur n’est plus alimenté en
électricité, contrairement à la ROM3 ou au disque dur.

 Les périphériques

L’écran, le clavier, la souris, le disque dur, la carte son, le lecteur/graveur de CD, la carte réseau
sont des exemples de périphériques. Les périphériques permettent au processeur d’échanger des
informations avec l’extérieur.

 Le bus

Le processeur, la mémoire et les périphériques sont reliés un canal appelé bus de communication. On
distingue le bus de données qui permet l’échanger des données entre le processeur et la mémoire, et
le bus d’adresses qui permet d’accéder à une case mémoire. Le processeur dispose en outre des bus
d’entrées et de sorties qui permettent d’échanger des données avec les périphériques.

La plupart des composants d’un


ordinateur se situent sur la carte mère
qui joue le rôle de bus dans
l’architecture de Von Neumann.

Carte mère

II. Jeu d’instruction et programmes

Le processeur d’un ordinateur possède une unité de contrôle et une unité de calcul.
L’unité de contrôle est chargée de lire les programmes enregistrés dans la mémoire et de fournir à l’unité de
calcul la séquence d’instructions à exécuter. Le processeur et la mémoire sont reliés par un bus d’adresses et
un bus de données.

La mémoire peut contenir des milliards de cases mémoire. Elle contient les données et les programmes.
Le processeur possède un très petit nombre de cases mémoires à accès très rapide, appelées registres. Ces
registres peuvent contenir des données ou des adresses.

3
En anglais : Read Only Memory. On trouve ce type de mémoire sur la carte mère où elle sert à stocker un
petit programme, le BIOS (Basic Input/Ouput System) qui est le premier programme exécuté au démarrage
de l’ordinateur.
3
ISN INTRODUCTION

Unité de contrôle Données


Bus d’adresses
Processeur Mémoire
Bus de données
Unité de calcul Programmes

Périphériques

Chaque processeur est associé à un jeu d’instructions. Les programmes sont organisés en une séquence
utilisant ce jeu instructions. Chaque instruction possède un code et un paramètre. Elle occupe un nombre fixe
de cases mémoire de sorte que le processeur sache où se trouve l’instruction suivante. Le jeu d’instruction
doit permettre par exemple d’effectuer les tâches suivantes :

 Charger une donnée dans un registre. Cette donnée peut être passée en paramètre ou contenue dans
une case mémoire.
 Écrire dans une certaine case mémoire une donnée située dans un registre.
 Faire un calcul (logique ou arithmétique) avec les données contenues dans les registres et mettre le
résultat dans un registre.
 Aller à une instruction située à une certaine adresse (branchement).
 Aller à une instruction située à une certaine adresse si A contient zéro ou passer à l’instruction
suivante dans le cas contraire (branchement conditionnel).

III. Le système d’exploitation

Un système d’exploitation est un programme qui est chargé en mémoire vive au démarrage de l’ordinateur et
qui y reste jusqu’à son extinction. Un système d’exploitation effectue les tâches suivantes :

 Gestion des utilisateurs


 Gestion du système de fichiers du disque dur
 Chargement et lancement des applications utilisées
 Donner l’illusion que plusieurs applications s’exécutent simultanément (multitâche)
 Gérer les droits d’accès aux fichiers et aux ressources de l’ordinateur

Les systèmes d’exploitation les plus utilisés sont :

 Les systèmes issus d’Unix : Linux, Android, Mac OS, …


 Les systèmes Microsoft Windows

Gestion des utilisateurs et interface système


Les systèmes Windows et Unix sont multi-utilisateurs. Pour se servir de l’ordinateur, l’utilisateur doit
posséder un compte. Au démarrage, le système demande à l’utilisateur un identifiant et, en général, un mot
de passe. Il lance ensuite un programme qui joue le rôle d’une interface système. Ce programme est appelé
4
ISN INTRODUCTION

shell4. Il permet de lancer des commandes du système. Sur les ordinateurs modernes le shell se présente sous
la forme d’une interface graphique permettant, par des clics de souris par exemple, de lancer des applications
telles que des navigateurs Web, des jeux, des logiciels de traitement de texte, des explorateurs, etc. On peut
aussi lancer des commandes système à l’aide d’un shell en mode texte5. Sur les premiers ordinateurs, c’était
d’ailleurs la seule façon de faire.

Système de fichiers
Les fichiers sont organisés en arborescence. Cette organisation permet de classer et de retrouver facilement
les fichiers. En effet, au bout de quelques années d’utilisation, un utilisateur peut accumuler des dizaines,
voire des centaines de milliers de fichiers personnels.

Sous Windows, le disque dur est partitionné en plusieurs disques : C, D, etc. Chaque disque a son propre
système de fichiers. Le chemin d’accès d’un fichier est la liste des répertoires qu’il faut parcourir pour y
accéder depuis la racine qui porte le nom du disque. Les répertoires sont séparés par des \.

Exemple

C:\Users\JDUPOND\MesImages\photos2013\MesVacances\plage.jpg

est le chemin d’accès à un fichier correspondant à une photo de vacances de J. DUPOND. On constate que cet
utilisateur organise ses fichiers intelligemment de sorte à pouvoir retrouver facilement un fichier particulier. S’il cherche
la photo plage.jpg, il va dans le dossier MesImages, puis dans celui de l’année de la photo. Enfin il va dans le dossier
MesVacances, car c’est une photo qu’il a prise en vacances. On peut imaginer que cet utilisateur possède d’autres
dossiers, permettant de classer les fichiers relatifs à son travail, sa musique, ses jeux, ses vidéos, … On peut donc
modéliser cette organisation sous la forme d’un arbre :

Windows

Programmes

MaMusique
C
photos2013 MesVacances plage.jpg
MesImages
photos2012

JDUPOND
Travail

MesVideos
Utilisateurs
Jeux

XDURAND

Sous Unix, tous les fichiers sont organisés en une seule arborescence. La racine a le nom /. Ce dossier contient un sous
dossier nommé home qui contient les fichiers Les répertoires et les fichiers sont séparés par des /.

Voici comment J. DUPOND peut classer sa photo de vacance sous Unix :

/home/JDUPOND/MesImages/photos2013/MesVacances/plage.jpg

4
Coquille en anglais
5
Sous Windows, cela se fait dans la fenêtre d’invite de commande
5
ISN INTRODUCTION

En pratique

 Les fichiers sont codés en binaire. Ils se présentent sous la forme d’une suite d’octets sans signification a priori. Les
applications qui utilisent les fichiers décident de les interpréter (lorsque cela est possible) sous la forme de fichiers
images, sons, vidéo, programmes exécutables, etc. Les extensions telles que jpg, mp3, exe, donnent une indication
au système de l’application à utiliser.

 Le système d’exploitation maintient à jour une table de fichiers dans un emplacement fixé du disque dur. Cette
table contient pour chaque fichier certaines informations dont :
 la date de création, de dernière modification ;
 la taille ;
 l’emplacement ;
 les droits d’accès (lecture, écriture, …).

 Du point de vue du système d’exploitation, un dossier est un fichier comme les autres. Il contient la liste des noms
des fichiers ou des dossiers qu’il contient.

Le lancement d’applications
Pour lancer une application à partir du shell graphique, on clique sur l’icône correspondante. On peut aussi
lancer une application par le shell en mode texte.

Le système vérifie d’abord si l’utilisateur possède les droits d’accès à l’application. Si c’est le cas, il réserve
une partie de la mémoire vive au fichier exécutable de l’application et aux données nécessaires à celle-ci. Par
exemple, si on clique sur un fichier photo.jpg, le système lance l’application associée par défaut aux
fichiers possédant l’extension jpg ( Gimp, Microsoft Photo Gallery, …). Il charge ensuite en mémoire vive
le fichier exécutable de cette application, ainsi que le fichier photo.jpg. Pour lancer l’application, le
système effectue un branchement vers la première instruction du programme.

Le multitâche
Lorsqu’on utilise un ordinateur, on lance en général plusieurs applications : un éditeur de texte pour
travailler, le navigateur Web pour voir ses mails de temps en temps, le lecteur MP3 pour travailler en
musique, etc. Cependant, le processeur ne peut effectuer qu’une seule tâche à la fois. En pratique, grâce à un
mécanisme d’interruption, le système exécute à tour de rôle les applications lancées. Chaque fois qu’une
application est interrompue, le système reprend la main en gardant en mémoire les données courantes
nécessaires à l’exécution de cette l’application, puis lance une autre application en attente. Chaque
application dispose d’un temps d’exécution très court, de l’ordre de quelques dixièmes de milliseconde, ce
qui donne l’illusion de la multitâche.

IV. Environnement de développement

Généralités
Pour ajouter de nouvelles applications à un ordinateur, qu’on veut programmer soi-même par exemple, on
doit pouvoir accéder aux ressources de l’ordinateur : processeur, clavier, souris, disque dur, écran, réseau etc.
Le processeur devra exécuter les instructions que l’on aura écrites. On ne peut pas en pratique utiliser le jeu
d’instructions propre au processeur, le langage machine. En effet, le langage machine est pratiquement
illisible. De plus, un programme élaboré sur un ordinateur ne pourra probablement pas s’exécuter sur un
autre ordinateur avec un processeur différent.

Pour ces raisons, on a recourt à des langages de programmation dont on peut distinguer deux familles :

 Les langages de programmation compilés tels que le C et le C++ :

6
ISN INTRODUCTION

Les programmes écrits dans ces langages sont traduits, grâce à un programme, appelé compilateur, dans le
langage machine.

 Les langages de programmation interprétés tels que le Java et le Python :

Les programmes écrits dans ces langages sont interprétés et exécutés instruction après instruction sans être
traduits dans le langage du processeur. Un programme, appelé interpréteur, se charge de cette tâche. Les
programmes écrits dans ces langages ont l’avantage d’être portables. Ils peuvent être exécutés sur n’importe
quel ordinateur, pour autant que l’interpréteur du langage propre à la machine soit installé. Pour Java,
l’interpréteur est le JRE6 et pour le langage Python, c’est l’interpréteur Python.

Il existe des logiciels qui permettent d’écrire des programmes et de les exécuter. Ces logiciels s’appellent
Environnement de Développement Intégré (IDE). Des exemples sont : Eclipse, CodeBlocks, NetBeans, …

L’IDE standard de Python s’appelle l’IDLE. C’est celui qu’on utilisera dans le cadre de ce cours.
L’environnement Python est gratuit et téléchargeable sur le site officiel :

http://www.python.org/

Protections
Il faut se souvenir que c’est le système d’exploitation qui permet d’accéder aux ressources de l’ordinateur et
qu’il gère les droits des utilisateurs concernant les fichiers et les périphériques. Si un programme veut
accéder à des fichiers ou à des périphériques, il doit laisser la main au système qui vérifie les droits
nécessaires et donne sa réponse. Si les conditions d’accès à la ressource ne sont pas remplies, le programme
s’arrête. Les langages de programmation possèdent des fonctions qui permettent d’accéder à des commandes
du système. On parle d’appels système.

Exercices
Le but des exercices suivants est de prendre en main l’IDLE Python et n’a pas pour objectif d’acquérir un
savoir-faire concernant la manipulation des fenêtres et des fichiers sous Python. On écrira les programmes
donnés sans chercher, dans un premier temps, à en comprendre tous les détails.

Exercice1 : Programmer l’ouverture une fenêtre

Exercice1 : Programmer l’ouverture une fenêtre

1. Télécharger l’environnement Pyzo et l’installer.


2. Ouvrir Pyzo.
2. Créer et enregistrer un nouveau fichier nommé Exercice1 par exemple.
5. Recopier le petit programme suivant dans la fenêtre du bas (l’éditeur de texte) et l’enregistrer.
6. Tester ce programme en cliquant sur run -> run file as script. Ce programme permet
d’ouvrir une fenêtre avec un bouton « quitter ».

from tkinter import *


fenetre = Tk()
bouton = Button(fenetre,text = "quitter")
bouton.bind('<Button-1>',lambda clic : quit())
bouton.pack()
fenetre.mainloop()

Voici le programme avec les commentaires. Un commentaire est une ligne qui commence par le symbole #.
Cette ligne est ignorée par l’interpréteur. Elle sert aux programmeurs.

6
Java Runtime Environment, ce qui se traduit par : environnement d’exécution Java.
7
ISN INTRODUCTION

# Ce programme crée une fenêtre avec un bouton "quitter"

# importation du module graphique


from tkinter import *

# création d'une nouvelle fenêtre


fenetre = Tk()

# création d'un bouton


bouton = Button(fenetre,text = "quitter")

# définition de la fonction du bouton


bouton.bind('<Button-1>',lambda clic : quit())

# affichage du bouton
bouton.pack()

6. Exécuter le programme : Run/ Run Module ou touche F5.

Exercice2 : Ouvrir un fichier texte

1. Dans l’IDLE Python, ouvrir un nouveau fichier et l’enregistrer dans le dossier ExosPython, sous le
nom exo2 par exemple.

2. Recopier le petit programme suivant qui permet de créer et d’ouvrir un fichier texte nommé
essai.txt.

# Ce programme crée un fichier texte nommé "essai.txt" et écrit "bonjour"


dedans.

# création du fichier
fichier = open("essai.txt",mode ="w")

# écriture dans le fichier


fichier.write("Bonjour")

# fermeture du fichier
fichier.close()

3. Exécuter le programme. Quels fichiers sont maintenant présents dans le dossier ExosPython ?
Donner un autre moyen de créer le fichier essai à l’aide du Shell du système d’exploitation.

4. Dans un système Windows, remplacer dans le programme le fichier essai.txt par


C:\Windows\system\essai.txt. Que se passe-t-il ? Pourquoi ?

Vous aimerez peut-être aussi