De l ordinateur au processus : rôle d un système

Documents pareils
Cours Informatique 1. Monsieur SADOUNI Salheddine

Rappels d architecture

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

Informatique Générale

Architecture des ordinateurs Introduction à l informatique

IV- Comment fonctionne un ordinateur?

GPA770 Microélectronique appliquée Exercices série A

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

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Chapitre 4 : Les mémoires


Représentation d un entier en base b

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

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

Matériel & Logiciels (Hardware & Software)

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Conception de circuits numériques et architecture des ordinateurs

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

UE C avancé cours 1: introduction et révisions

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Introduction au langage C

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Un ordinateur, c est quoi?

Cours 1 : Qu est-ce que la programmation?

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

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

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

ACTIVITÉ DE PROGRAMMATION

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Introduction à NetCDF

Une version javascript sera disponible directement dans le cours prochainement.

Tests de performance du matériel

Chap17 - CORRECTİON DES EXERCİCES

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

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

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

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

Outils permettant la diffusion de l information. Un point sur le droit numérique

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)

Licence Sciences et Technologies Examen janvier 2010

Le langage C. Séance n 4

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

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

Éléments d'architecture des ordinateurs

Algorithme. Table des matières

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

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

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

1 Mesure de la performance d un système temps réel : la gigue

Chapitre 1 I:\ Soyez courageux!

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

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

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

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Le Programme SYGADE SYGADE 5.2. Besoins en équipement, logiciels et formation. UNCTAD/GID/DMFAS/Misc.6/Rev.7

Cours 3 : L'ordinateur

Architecture matérielle des systèmes informatiques

ET LO GICIEL D UN S YS T EME IN FORMATIQUE

TP : Gestion d une image au format PGM

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Adressage des données des contrôleurs du WAGO-I/O-SYSTEM 750. Note d application

REMISE A NIVEAU DES SAVOIRS DE BASE INFORMATIQUE

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

Logiciel de Base. I. Représentation des nombres

IUP APTER - L3 UE 19B

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

SCL LOGICIEL DE CONTROL

4D v11 SQL Release 5 (11.5) ADDENDUM

Leçon 1 : Les principaux composants d un ordinateur

Installer Office sur Ordinateur / Tablette / Smartphone

Compilation (INF 564)

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

CM2 L architecture MIPS32

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

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

Premiers pas sur l ordinateur Support d initiation

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

Organisation des Ordinateurs

Annexe : La Programmation Informatique

Évaluation des compétences. Identification du contenu des évaluations. Septembre 2014

Système binaire. Algèbre booléenne

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Conversion d un entier. Méthode par soustraction

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

Les bases de données Page 1 / 8

Boîte électronique. Découverte des principales fonctions d une messagerie électronique. (et les pièces jointes)

Recommandations techniques

LA SAUVEGARDE DES DONNEES SUR LES ORDINATEURS PERSONNELS

Jeux de caracte res et encodage (par Michel Michaud 2014)

DU BINAIRE AU MICROPROCESSEUR - D ANGELIS CIRCUITS CONFIGURABLES NOTION DE PROGRAMMATION

Transcription:

De l ordinateur au processus : rôle d un système Introduction aux systèmes d exploitation Gaël Thomas

Présentation du cours Contexte du cours : Introduire notre objet d étude : les systèmes d exploitation Objectifs : Comprendre ce qu est un ordinateur Comprendre ce que sont un logiciel et un programme Comprendre ce qu est un système d exploitation Comprendre ce qu est un processus Notions abordées : Ordinateur, mémoire, processeur, périphérique, système d exploitation, processus, communication, programme, logiciel 2

I. Qu est ce qu un ordinateur?

Définition d un ordinateur Machine électronique capable d exécuter des instructions effectuant des opérations sur des nombres 1946 : ENIAC (calculateur à tubes 30 tonnes, 72m 2 pour 330 mult/s) 4

Définition d un ordinateur Machine électronique capable d exécuter des instructions effectuant des opérations sur des nombres Janv 1948 : SSEC (premier ordinateur chez IBM) avec une capacité mémoire de 150 nombres 5

Définition d un ordinateur Machine électronique capable d exécuter des instructions effectuant des opérations sur des nombres 6

Schéma de haut niveau d un ordinateur Mémoire vive Carte graphique Bus de communication Internet Processeur Disque dur Carte Réseau 7

Schéma de haut niveau d un ordinateur Processeur : unité capable d effectuer des calculs Mémoire vive : matériel stockant des données directement accessibles par le processeur Accès rapide, données perdues en cas de coupure électrique. Par exemple : SDRAM (Synchronous Dynamic Random Access Memory) Périphériques : matériel fournissant ou stockant des données secondaires Réseau, disque dur, souris, clavier, carte graphique, carte son Bus de communication : bus interconnectant le processeur, la mémoire vive et les périphériques 8

Qu est ce que la mémoire vive? Mémoire vive : ensemble de cases numérotées contenant des octets Case 0 0110 0001b Une case contient un octet (byte en anglais) = regroupe 8 bits Bit : valeur valant 0 ou 1 0 : bit non chargé ("courant ne passe pas") 1 : bit chargé ("courant passe") Un octet permet de représenter 2 8 = 256 valeurs Case 1 Case 2 Case 3 Case 800 0101 1001b 0110 0001b 1111 0000b 1100 1011b 9

Représentation des nombres Notation décimale : un chiffre peut prendre 10 valeurs de 0 à 9 276 = 2*10 2 + 7*10 1 + 6*10 0 Notation binaire : un chiffre peut prendre 2 valeurs de 0 à 1 1101b = 1*2 3 + 1*2 2 + 0*2 1 + 1*2 0 = 13 Notation hexadécimale : un chiffre peut prendre 16 valeurs de 0 à f 0x276 = 2*16 2 + 7*16 1 + 6*16 0 = 630 0xb6 = 11*16 1 + 6*16 0 = 182 10

L hexadécimal en informatique Avec 4 bits, on encode 16 valeurs, soit 1 chiffre hexadécimal Case 0 Case 1 Case 2 Case 3 1110 0001b 0101 1001b 0110 0001b 1111 0000b Case 800 1100 1011b 11

L hexadécimal en informatique Avec 4 bits, on encode 16 valeurs, soit 1 chiffre hexadécimal L hexadécimal est donc plus concis pour représenter les valeurs des octets Un octet est représenté par 2 chiffres hexadécimaux Case 0 Case 1 Case 2 Case 3 Case 800 0xe1 0x59 0x61 0xf0 0xc3 12

Que représentent les octets? Une série d octets peut représenter : Un entier naturel (dans N) Un entier relatif (dans Z) Une suite de caractères Une valeur de vérité (vrai ou faux) Un nombre flottant Un nombre complexe Une instruction machine Ou tout autre ensemble énumérable Case 0 Case 1 Case 2 Case 3 Case 800 0xe1 0x59 0x61 0xf0 0xc3 13

Fonctionnement d un processeur Un processeur exécute des instructions qui peuvent Effectuer des calculs Accéder à la mémoire Accéder aux autres périphériques Sélectionner l instruction suivante à exécuter (saut) Le processeur identifie une instruction par un numéro (Par exemple : 1 = additionne, 2 = soustrait, etc.) 14

Fonctionnement d un ordinateur Mémoire : tableau d octets, indexé à partir de 0 Adresse Adresse Adresse 0 18 MAX-1 13 Processeur : possède des variables internes appelées registres PC (Program Counter) : adresse de l instruction suivante Si PC == 18, alors l instruction suivante à exécuter est l instruction 13 Autres : registres sur lesquels le processeur effectue les calculs 15

Fonctionnement d un ordinateur À chaque cycle d horloge, le processeur : Charge l instruction à l adresse PC à partir de la mémoire Place le PC sur l instruction qui suit Sélectionne le circuit à activer en fonction du numéro d instruction Exécute l instruction Quelques exemples d instructions 0x10 0x4000 charge l octet à l adresse 0x4000 dans le registre nommé R0 (lit une variable) 0x12 0x89 ajoute 0x89 à PC (saut) 0x14 0x20 ajoute 0x20 au registre R0 (calcul) 0x17 0x70 0x12 envoie 0x70 au périphérique 0x12 16

Fonctionnement d un ordinateur Et c est tout! Un ordinateur ne sait rien faire de mieux que des calculs 17

Ce qu il faut retenir Une machine est constituée d un processeur, d une mémoire vive et de périphériques, le tout interconnecté par un bus Un processeur exécute de façon séquentielle des instructions qui se trouvent en mémoire Chaque instruction est identifiée par un numéro, elle peut Effectuer une opération sur des variables internes (registres) Lire ou écrire en mémoire ses registres Accéder à un périphérique Modifier la prochaine instruction à effectuer (saut) 18

II. Logiciels et programmes

L ordinateur vu par l utilisateur L utilisateur installe des logiciels Microsoft office, Chrome, Civilization V Logiciel = ensemble de fichiers Fichiers ressources : images, vidéos, musiques Fichiers programmes : fichier contenant des données et des instructions destinées à être exécutées par un orfinateur In fine, l utilisateur lance l exécution de programmes Excel, Word, Chrome, Civilization V, CivBuilder (permet de construire des cartes pour civilization V) 20

Qu est ce qu un programme? Programme binaire = Ensemble d instructions exécutables par le processeur + des données manipulées par ces instructions Programme source = Ensemble d opérations abstraites décrivant les actions à effectuer + des données manipulées par ces opérations 21

Exécution d un programme binaire Un binaire doit être chargé en mémoire pour être exécuté (typiquement à partir du disque dur) Processeur Mémoire vive Disque dur Case 60 Case 64 Case 68 Case 70 Fichier "pgm" 0x4883 1. Demande au disque de copier le fichier "pgm" à partir de la case 60 Bus de communication de l ordinateur 22

Exécution d un programme binaire Un binaire doit être chargé en mémoire pour être exécuté Chargé à partir du disque dur, du réseau, d un autre périphérique Processeur Case 60 Case 64 Case 68 Case 70 Mémoire vive 0x4883c02a 0x4883f82c 0x0f84 Disque dur Fichier "pgm" 0x4883 2. Copie du contenu du fichier "pgm" dans la case 60 et les suivantes Bus de communication de l ordinateur 23

Exécution d un programme binaire Un binaire doit être chargé en mémoire pour être exécuté Chargé à partir du disque dur, du réseau, d un autre périphérique Processeur Mémoire vive Disque dur Case 60 0x4883c02a PC vaut 60 Case 64 Case 68 Case 70 0x4883f82c 0x0f84 Fichier "pgm" 0x4883 3. L exécution du programme peut alors démarrer Bus de communication de l ordinateur 24

Exécution d un programme source Solution 1 : après une traduction vers un programme binaire Prog source Declare x = 0 Ajoute 42 à x Traduit Prog binaire 0x4883c02a 0x4883f82c 0x0f84 En informatique le traducteur s appelle un compilateur 25

Exécution d un programme source Solution 2 : en le faisant interpréter par un autre programme (appelé interpréteur) Prog source declare x = 0 ajoute 42 à x Lit et interprète Interpréteur 1. Lit programme source 2. Pour chaque opération Si declare Si ajoute Si soustrait 26

Quelques exemples de programmes Word, Excel ou Chrome sont des programmes binaires En général, dans un logiciel de jeux Le jeu lui-même est un programme binaire Capable d interpréter les mods qui, eux, sont directement des programmes sources (mod = extension du jeu) Les applications Android sont Interprétées avant Android KitKat (version 4.4) Compilées dès qu elles sont installées depuis Android KitKat Les pages Web dynamiques sont interprétées 27

Processus et système

Du programme au processus Un processus est un programme en cours d exécution Contient bien sûr les opérations du programme Mais aussi son état à un instant donné Données en mémoire manipulées par le programme Valeurs des registres du processeur État des périphériques (fichiers ouverts, connexions réseaux ) 29

Gestion des processus Le système d exploitation est un logiciel particulier qui gère les processus (Le système est le seul programme qu on n appelle pas processus quand il s exécute) Rôle du système d exploitation Démarrer des processus (en chargeant le programme binaire ou l interpréteur adéquat) Arrêter des processus Offrir une vision de haut niveau du matériel aux processus Offrir des mécanismes de communication inter-processus (IPC) 30

Architecture globale à l exécution Processus Processus 1 Processus 2 Système Gestionnaire de processus + IPC + Vision haut niveau du matériel (Fichiers, connexions réseaux, terminaux ) Mémoire vive Carte graphique Matériel Bus de communication Processeur Disque dur Carte réseau Internet 31

Naissance des premiers systèmes UNIX 1969 : première version d UNIX en assembleur 1970 : le nom UNIX est créé 1971 : invention du langage de programmation C pour réécrire UNIX dans un langage de haut niveau Ken Thompson Dennis Ritchie Brian Kernighan 32

Objectif du module Étude des systèmes Unix par l exemple À l aide du langage bash (CI1) Langage interprété par le programme bash Langage spécialisé dans la gestion de processus Comprendre La notion de fichier (CI2 à 4) La notion de processus (CI5) Quelques mécanismes de communication inter-processus (CI6 à 9) 33

Notions clés du cours Un ordinateur Est composé de : mémoire, processeur, périphérique et bus Un processeur exécute des instructions se trouvant en mémoire Un logiciel contient des fichiers Ressources (images, sons, textures ) Programmes (source et/ou binaire) Un programme est une suite d opérations + des données Un processus est un programme en cours d exécution Opérations + état à un instant donné Le système gère les processus et abstrait le matériel 34

Annexe : représentation des données Remarque : les trois diapositives qui suivent sont indispensables pour avoir un minimum de culture en informatique 35

Représentation des entiers Les octets sont regroupés pour former des valeurs entières (souvent par 1, 2, 4 ou 8 octets) Peut être vu comme un naturel (dans N) 0xe159 = 14*16 3 + 1*16 2 + 5*16 + 9 0x159 représente 57689 Ou comme un relatif (dans Z) 0xe159 + 0x1ea7 = 0x0000 + une retenue 0x1ea7 est donc l inverse de 0xe159 0x1ea7 = 1*16 3 + 14*16 2 + 10*16 + 7 = 7847 0xe159 représente -7847 Le nombre 0xe159 0xe1 0x59 0x61 0xf0 36

Représentation des valeurs de vérités Booléen : valeur pouvant valoir vrai ou faux Peut être stocké sur 1 bit, 1 octet, 2 octets, 4 octets, 8 octets Convention : 0 vaut faux Toute autre valeur vaut vrai Une valeur vraie 0xe1 0x59 0x61 0xf0 0xc3 37

Représentation des caractères Un octet peut être vu comme un caractère Table ascii pour faire la correspondance 0x1f 0x41 A 0x61 a 0x20 0x42 B 0x62 b 0x43 C 0x63 c Ceci est un a 0xe1 0x59 0x61 0xf0 0x30 0 0x44 D 0x64 d 0x31 1 0x45 E e 0x32 2 0x46 F 0x66 f 0x33 3 0x47 G 0x67 g 0xc3 38