Passer au contenu

Logiciel

Informatique IGCSE · Sujet 4

Entrainer
Leçon vidéo pour ce sujet Ouvrir la page vidéo
13:11

Matériel et logiciel

Voici un ordinateur tout neuf. Chaque pièce physique fonctionne — le processeur, la mémoire, l'écran, le clavier. Allumez-le, et rien ne se passe. Pas de bureau…

Narration en anglais · Sous-titres anglais + 中文 incrustés

4.1

Matériel et logiciel

Un système informatique est composé de deux parties qui travaillent ensemble.

Le matériel correspond aux composants physiques (CPU, clavier) ; le logiciel correspond aux programmes (applications, OS)
Le matériel est les parties physiques ; le logiciel est les programmes
  • Le matériel 硬件 est les parties physiques 物理 de l'ordinateur — les composants que vous pouvez toucher. Exemples : le CPU, la mémoire, le clavier, l'écran et le disque dur.
  • Le logiciel 软件 est les programmes 程序 qui contrôlent l'ordinateur et disent au matériel quoi faire.

Le matériel ne peut rien faire d'utilisable tout seul. Le logiciel a besoin de matériel pour s'exécuter. Les deux sont nécessaires.

Une carte mère d'ordinateur avec ses puces, ses emplacements et ses connecteurs
La carte mère et les pièces qui lui sont rattachées constituent le matériel — les composants physiques que vous pouvez toucher
Un système d'exploitation de bureau à l'écran
Un système d'exploitation est un logiciel — les programmes qui disent au matériel quoi faire
Vocabulaire Entrainer
Anglais Chinois Pinyin
Hardware/ˈhɑːdweə/ 硬件 yìng jiàn
physical/ˈfɪzɪkl/ 物理的 wù lǐ de
Software/ˈsɒftweə/ 软件 ruǎn jiàn
4.1

Types de logiciels

Programme
Les candidats doivent être capables de : Notes et orientations
1 Décrire la différence entre les logiciels système et les logiciels applicatifs et donner des exemples de chacun • Les logiciels système fournissent les services dont l'ordinateur a besoin, notamment le système d'exploitation et les logiciels utilitaires • Les logiciels applicatifs fournissent les services dont l'utilisateur a besoin
2 Décrire le rôle et les fonctions de base d'un système d'exploitation • Y compris : – gestion des fichiers – gestion des interruptions – fourniture d'une interface – gestion des périphériques et pilotes – gestion de la mémoire – gestion du multitâche – fourniture d'une plateforme pour exécuter des applications – sécurité système – gestion des comptes utilisateurs
3 Comprendre comment le matériel, le micrologiciel et le système d'exploitation sont nécessaires pour exécuter des logiciels applicatifs • Les applications s'exécutent sur le système d'exploitation • Le système d'exploitation s'exécute sur le micrologiciel • Le chargeur initial (firmware) s'exécute sur le matériel
4 Décrire le rôle et le fonctionnement des interruptions • Y compris : – la génération d'une interruption – son traitement via une routine de service d'interruption – ce qui se produit en conséquence • Les interruptions logicielles incluent la division par zéro et deux processus tentant d'accéder au même emplacement mémoire • Les interruptions matérielles incluent l'appui sur une touche du clavier et le déplacement de la souris

Source : Programme Cambridge International

Le logiciel est divisé en deux types.

Un arbre divisant le Software en system software (system operating system, utilities, drivers, compiler) et application software (word processor, spreadsheet, database, browser)
Le logiciel se divise en system software (qui fait tourner l'ordinateur) et application software (qui permet à l'utilisateur d'accomplir une tâche)

System software

Le system software 系统软件 contrôle l'ordinateur lui-même et fournit une base pour que d'autres programmes puissent s'y exécuter. Exemples :

  • operating system 操作系统 (voir ci-dessous) ;
  • compiler 编译器 et linker 链接器 (outils qui transforment les programmes en une forme exécutable par l'ordinateur) ;
  • device driver 设备驱动程序 — logiciel qui permet au système d'exploitation de contrôler un composant matériel ;
  • utility software 实用程序 — petits outils qui entretiennent l'ordinateur (par exemple anti-virus, sauvegarde, nettoyage de disque).

Sous le système d'exploitation se trouve le firmware 固件 – logiciel stocké définitivement sur ROM ou flash qui s'exécute dès que l'ordinateur est allumé. Le BIOS et le bootloader 引导程序 sont du firmware : ils testent le matériel puis chargent le système d'exploitation. Ainsi, les couches s'empilent hardware → firmware → operating system → application software, chacune s'exécutant sur la couche inférieure.

Logiciel d'application

Le application software 应用软件 permet à l'utilisateur d'accomplir une tâche utile. Exemples :

  • word processing 文字处理 software (rédaction de documents) ;
  • spreadsheet 电子表格 software (travail avec des nombres dans une grille) ;
  • database management system 数据库管理系统 (stockage et recherche de données) ;
  • web browser 网页浏览器 (affichage de pages web).
System software Logiciel d'application
Job fait fonctionner et gère l'ordinateur aide l'utilisateur à accomplir une tâche
Used by l'ordinateur (en arrière-plan) l'utilisateur (directement)
Exemples système d'exploitation, pilotes, utilitaires traitement de texte, navigateur, jeux
Vocabulaire Entrainer
Anglais Chinois Pinyin
System software/ˈsɪstəm ˈsɒftweə/ 系统软件 xì tǒng ruǎn jiàn
operating system/ˈɒpəreɪtɪŋ ˈsɪstəm/ 操作系统 cāo zuò xì tǒng
compiler/kəmˈpaɪlə/ 编译器 biān yì qì
linker/ˈlɪŋkə/ 链接器 liàn jiē qì
device driver/dɪˈvaɪs ˈdraɪvə/ 设备驱动程序 shè bèi qū dòng chéng xù
utility software/juːˈtɪlɪti ˈsɒftweə/ 实用程序 shí yòng chéng xù
firmware/ˈfɜːmweə/ 固件 gù jiàn
bootloader/ˈbuːtləʊdə/ 引导程序 yǐn dǎo chéng xù
Application software/ˌæplɪˈkeɪʃn ˈsɒftweə/ 应用软件 yìng yòng ruǎn jiàn
word processing/wɜːd ˈprəʊsesɪŋ/ 文字处理 wén zì chǔ lǐ
spreadsheet/ˈspredʃiːt/ 电子表格 diàn zi biǎo gé
database management system/ˈdeɪtəbeɪs ˈmænɪdʒmənt ˈsɪstəm/ 数据库管理系统 shù jù kù guǎn lǐ xì tǒng
web browser/web ˈbraʊzə/ 网页浏览器 wǎng yè liú lǎn qì
providing a user interface/prəˈvaɪdɪŋ ə ˈjuːzə ˈɪntəfeɪs/ 用户界面 yòng hù jiè miàn
managing peripherals/ˈmænɪdʒɪŋ pəˈrɪfərəlz/ 外围设备 wài wéi shè bèi
managing multitasking/ˈmænɪdʒɪŋ ˈmʌltitæskɪŋ/ 多任务处理 duō rèn wù chǔ lǐ
providing a platform/prəˈvaɪdɪŋ ə ˈplætfɔːm/ 平台 píng tái
processor/ˈprəʊsesə/ 处理器 chǔ lǐ qì
4.1

Le système d'exploitation

Un système d'exploitation (OS) est le principal système logiciel. Il contrôle tout l'ordinateur et permet au matériel, au logiciel applicatif et à l'utilisateur de travailler ensemble. Sans OS, l'ordinateur est très difficile à utiliser.

Quatre couches empilées — utilisateur en haut, puis application software, puis système d'exploitation, puis hardware à la base
Le système d'exploitation se situe entre le matériel et le logiciel applicatif/utilisateur, leur permettant de travailler ensemble

L'OS remplit de nombreux rôles :

  • gérer les fichiers — sauvegarder, ouvrir, nommer, déplacer et supprimer des fichiers ;
  • gérer les interruptions (voir ci-dessous) ;
  • fournir une interface utilisateur 用户界面 afin que l'utilisateur puisse contrôler l'ordinateur ;
  • gérer la mémoire — décider ce qui est conservé dans la RAM et où ;
  • gérer les périphériques 外围设备和 leurs pilotes — contrôler des appareils comme les imprimantes ;
  • gérer le multitasking 多任务处理 — permettre à plusieurs programmes de s'exécuter simultanément ;
  • fournir une plateforme 平台 pour exécuter le logiciel applicatif ;
  • gérer la sécurité — comptes utilisateurs, mots de passe et droits d'accès.
Vocabulaire Entrainer
Anglais Chinois Pinyin
multitasking/ˈmʌltitæskɪŋ/ 多任务处理 duō rèn wù chǔ lǐ
platform/ˈplætfɔːm/ 平台 píng tái
4.1

Interrupts

Une interruption 中断 est un signal envoyé au processeur 处理器 pour lui indiquer qu'il doit prêter attention à quelque chose maintenant.

Une interruption peut provenir de trois sources :

  • matériel — par exemple une touche est pressée, ou une imprimante manque de papier ;
  • logiciel — par exemple un programme essaie de diviser par zéro ;
  • l'utilisateur — par exemple l'utilisateur appuie sur une touche "annuler".

Lorsqu'une interruption arrive, le processeur stoppe ce qu'il est en train de faire, sauvegarde son emplacement, et traite (gère) l'interruption. Une fois celle-ci traitée, il retourne à ce qu'il faisait auparavant. Cela permet à l'ordinateur de réagir rapidement aux événements importants.

Un cycle : programme principal en cours d'exécution, puis lors d'une interruption, le CPU sauvegarde son état, exécute le routine de service d'interruption, restaure l'état et reprend
Lors d'une interruption, le CPU sauvegarde son emplacement, exécute le routine de service d'interruption, puis restaure son emplacement et continue
Explorer

Comment le CPU gère une interruption

Étape par étape d'une interruption. Le CPU pause ce qu'il fait, traite l'événement urgent, puis reprend exactement là où il s'était arrêté — c'est ainsi qu'un processeur gère simultanément le clavier, l'imprimante et la minuterie.

Vocabulaire Entrainer
Anglais Chinois Pinyin
interrupt/ˈɪntərʌpt/ 中断 zhōng duàn
4.2

Langages de programmation

Programme
Les candidats doivent être capables de : Notes et orientations
1 Expliquer ce que signifie un langage de haut niveau et un langage de bas niveau, y compris les avantages et inconvénients de chacun • Les avantages et inconvénients incluent : – facilité de lecture et d'écriture du code, par exemple le langage de bas niveau est difficile à lire – facilité de débogage du code – indépendance de la machine – manipulation directe du matériel
2 Comprendre que le langage assembleur est une forme de langage de bas niveau utilisant des mnémoniques, et qu'un assembleur est nécessaire pour traduire un programme en langage assembleur en code machine
3 Décrire le fonctionnement d'un compilateur et d'un interpréteur, y compris la traduction du langage de haut niveau par chacun et la signalisation des erreurs • Un compilateur traduit tout le code en une fois avant de l'exécuter, produisant un fichier exécutable • Un interpréteur traduit et exécute le code ligne par ligne • Un compilateur fournit un rapport d'erreurs pour l'ensemble du code si des erreurs sont détectées • Un interpréteur arrête l'exécution lorsqu'une erreur est trouvée
4 Expliquer les avantages et inconvénients d'un compilateur et d'un interpréteur • Inclure la compréhension selon laquelle un interpréteur est principalement utilisé lors du développement d'un programme et un compilateur est utilisé pour traduire le programme final
5 Expliquer le rôle d'un IDE dans l'écriture de code de programme et les fonctions courantes fournies par les IDE • Y compris : – éditeurs de code – environnement d'exécution – traducteurs – diagnostics d'erreur – complétion automatique – correction automatique – mise en forme automatique

Source : Programme Cambridge International

Tous les ordinateurs traitent les données en utilisant le central processing unit 中央处理器 (CPU). Pour faire travailler le CPU, les gens écrivent des programs dans un programming language 编程语言. Il existe deux sortes.

High-level languages

Un langage de haut niveau 高级语言 est écrit avec des mots qui ressemblent un peu à l'anglais (par exemple Python). Il permet :

  • d'être facile à lire, écrire et corriger par les humains;
  • d'être indépendant de l'ordinateur — le même programme peut s'exécuter sur différents types d'ordinateurs.

Langages de bas niveau

Un langage de bas niveau 低级语言 est proche de ce que le matériel utilise réellement. Il comprend :

  • le code machine 机器码 — instructions écrites en binaire (0 et 1), exécutées directement par le CPU;
  • le langage assembleur 汇编语言 — code machine écrit avec des codes mots courts (mnémoniques) au lieu du binaire.

Un langage de bas niveau est lié à un type de CPU spécifique 特定的, donc un programme écrit pour un CPU donné peut ne pas s'exécuter sur un autre. Il est utilisé lorsque le programmeur a besoin d'un contrôle total du matériel ou d'un code très rapide et compact.

Trois couches empilées : langage de haut niveau en haut, puis assembleur, puis code machine en bas
Les langages de haut niveau sont proches du langage humain et fonctionnent sur n'importe quel ordinateur ; les langages de bas niveau (assembleur et code machine) sont proches du matériel et liés à un type de CPU spécifique
Explorer

Laboratoire de concepts informatiques

Classez les exemples concrets selon le concept informatique qu'ils illustrent.

Vocabulaire Entrainer
Anglais Chinois Pinyin
programs/ˈprəʊɡræmz/ 程序 chéng xù
central processing unit/ˈsentrəl ˈprəʊsesɪŋ ˈjuːnɪt/ 中央处理器 zhōng yāng chǔ lǐ qì
programming language/ˈprəʊɡræmɪŋ ˈlæŋɡwɪdʒ/ 编程语言 biān chéng yǔ yán
high-level language/haɪ ˈlevl ˈlæŋɡwɪdʒ/ 高级语言 gāo jí yǔ yán
low-level language/ləʊ ˈlevl ˈlæŋɡwɪdʒ/ 低级语言 dī jí yǔ yán
machine code/məˈʃiːn kəʊd/ 机器码 jī qì mǎ
assembly language/əˈsemblɪ ˈlæŋɡwɪdʒ/ 汇编语言 huì biān yǔ yán
specific/spəˈsɪfɪk/ 特定的 tè dìng de
translator/trænˈsleɪtə/ 翻译程序 fān yì chéng xù
4.2

Traducteurs

Le CPU ne peut exécuter que du code machine. Un programme en langage de haut niveau doit d'abord être converti en code machine. Le logiciel qui effectue cette conversion est un traducteur 翻译程序. Il existe trois types : un compilateur et un interpréteur (pour le code de haut niveau), et un assembleur (pour le code de bas niveau).

Compilateur

Un compilateur traduit le programme entier en code machine avant son exécution. Une fois traduits, les codes machines peuvent être exécutés plusieurs fois sans avoir besoin de recompiler.

  • la traduction a lieu une seule fois, en intégralité;
  • il signale toutes les erreurs regroupées, à la fin de la traduction;
  • le programme final s'exécute rapidement et ne nécessite pas la présence du compilateur pour tourner.

Interprète

Un interpréteur 解释器 traduit et exécute le programme ligne par ligne.

  • il s'arrête à la première erreur rencontrée, ce qui facilite le débogage;
  • le programme s'exécute plus lentement, car il est traduit à chaque lancement;
  • l'interpréteur doit être présent à chaque exécution du programme.
Compilateur Interpréteur
Traduit tout le programme d'un coup une ligne à la fois
Erreurs toutes signalées à la fin s'arrête à la première erreur
Vitesse du programme final plus rapide plus lent
Nécessaire pour exécuter ensuite ? non oui

Utilisez un compilateur lorsque vous souhaitez distribuer un programme final rapide. Utilisez un interpréteur lors de l'écriture et du test d'un programme pour repérer facilement les erreurs.

Assembleur

Un assembleur 汇编器 traduit un programme en langage assembleur de bas niveau (écrit avec des mnémoniques comme LDA, ADD) en code machine. Chaque mnémotechnique devient une instruction machine — une traduction directe un-à-un, contrairement à un compilateur ou un interpréteur qui traitent du code de haut niveau.

Un compilateur traduisant un programme entier une fois en code machine exécuté plusieurs fois, contre un interpréteur traduisant et exécutant ligne par ligne
Un compilateur traduit le programme entier une fois en code machine ; un interpréteur traduit et exécute ligne par ligne

Exemple résolu. Une équipe écrit un programme. Durant le développement, elle souhaite identifier et corriger rapidement les erreurs ; lors du déploiement, elle veut que les clients l'exécutent vite sans voir le code source. Quel traducteur convient à chaque étape ? Pour le développement, utilisez un interpréteur : il traduit et exécute ligne par ligne et s'arrête à la première erreur, facilitant ainsi la localisation des fautes. Pour le déploiement, utilisez un compilateur : il traduit le programme entier une fois en code machine, qui s'exécute ensuite rapidement sans traducteur présent, et le client reçoit uniquement le fichier exécutable et non le code source. Les deux ne sont pas rivaux — nommez la phase et donnez la raison, car dire simplement « un compilateur est plus rapide » ne rapporte aucun point.

Vocabulaire Entrainer
Anglais Chinois Pinyin
interpreter/ɪnˈtɜːprɪtə/ 解释器 jiě shì qì
assembler/əˈsemblə/ 汇编器 huì biān qì
integrated development environment/ˈɪntɪɡreɪtɪd dɪˈveləpmənt enˈvaɪrənmənt/ 集成开发环境 jí chéng kāi fā huán jìng
code editor/kəʊd ˈedɪtə/ 代码编辑器 dài mǎ biān jí qì
run time environment/rʌn taɪm enˈvaɪrənmənt/ 运行时环境 yùn xíng shí huán jìng
error diagnostics/ˈerə ˌdaɪəɡˈnɒstɪks/ 错误诊断 cuò wù zhěn duàn
auto-completion/ˈɔːtəʊ kəmˈpliːʃn/ 自动补全 zì dòng bǔ quán
4.2

Environnement de développement intégré (IDE)

Un environnement de développement intégré 集成开发环境 (IDE) est un logiciel qui aide à écrire des programmes. Il regroupe divers outils utiles dans une même interface :

  • non éditeur de code 代码编辑器 — pour taper votre programme;
  • non environnement d'exécution 运行时环境 — pour lancer le programme et le tester;
  • non traducteur — un compilateur ou un interpréteur pour convertir votre code en code machine;
  • le diagnostic d'erreurs 错误诊断 — messages aidant à trouver et comprendre les fautes;
  • l'auto-complétion 自动补全 et l'auto-correction 自动纠错 — l'IDE complète ou corrige le code au fur et à mesure de la frappe;
  • le joli affichage 美化打印 — mise en forme propre avec couleurs et retraits pour faciliter la lecture.
Code source dans un éditeur : un IDE combine éditeur, débogueur et outils d'exécution dans un seul endroit
Code source dans un éditeur : un IDE combine éditeur, débogueur et outils d'exécution dans un seul endroit
Vocabulaire Entrainer
Anglais Chinois Pinyin
auto-correction/ˈɔːtəʊ kəˈrekʃn/ 自动纠错 zì dòng jiū cuò
prettyprinting/ˈpretɪprɪntɪŋ/ 美化打印 měi huà dǎ yìn
user interface/ˈjuːzə ˈɪntəfeɪs/ 用户界面 yòng hù jiè miàn
peripherals/pəˈrɪfərəlz/ 外围设备 wài wéi shè bèi
4.2

Conseils d'examen

  • Le matériel (Hardware) désigne les composants physiques ; le logiciel (Software) désigne les programmes. Le logiciel système fait fonctionner l'ordinateur (Système d'exploitation, pilotes, utilitaires) ; le logiciel applicatif effectue une tâche pour l'utilisateur.
  • Un compilateur traduit le programme entier d'un coup (le programme final s'exécute vite et toutes les erreurs sont signalées à la fin) ; un interpréteur traduit ligne par ligne (il s'arrête à la première erreur, s'exécute plus lentement et est requis à chaque lancement).
  • Les langages de haut niveau sont proches de l'anglais et fonctionnent sur tout ordinateur ; les langages de bas niveau (assembleur, code machine) sont liés à un type de CPU spécifique.
  • Une interruption (interrupt) est un signal qui force le CPU à s'arrêter, sauvegarder sa position, traiter l'événement, puis reprendre là où il était arrêté.
  • Apprenez les rôles du système d'exploitation : gestion des fichiers, de la mémoire, des périphériques, du multitâche, de la sécurité et de l'interface utilisateur.

Leçons interactives sur ce sujet

Traversez-le étape par étape, avec des exercices à vérification instantanée.

Épreuves Passées

Plus de sujets dans Informatique IGCSE

Se connecter ou créer un compte

IGCSE, A-Level & AP