📌 Le hardware désigne l’architecture matérielle soumise aux lois de la physique, tandis que le software désigne les instructions et programmes qui déterminent les tâches réalisées par la machine.
Hardware exécute, software commande
★ À maîtriser
La mémoire stocke des valeurs à des adresses entières et permet de lire ou d’écrire une valeur dans une fiche numérotée.
Les principaux éléments du processeur sont :
Le processeur suit un cycle général en quatre étapes : il récupère l’instruction à l’adresse indiquée par le registre PC, la décode, l’exécute, puis écrit le résultat dans un registre et augmente le PC de 1.
Compléments
Les périphériques matériels comprennent notamment :
Les capacités de calcul d’un ordinateur reposent notamment sur un CPU et/ou un GPU, et ses mémoires comprennent notamment la RAM et le disque dur.
L’interprétation d’une valeur stockée n’est pas incluse dans la mémoire elle-même et relève du codage de l’information.
La mémoire fonctionne comme un guichet unique qui traite une requête à la fois, mais l’accès à un paquet de fiches contiguës est plus rapide.
La mémoire cache est une copie plus petite et plus rapide d’une mémoire plus grande, organisée en niveaux hiérarchiques.
Des instructions spécifiques permettent d’accéder à la mémoire en lecture ou en écriture plutôt que d’utiliser les registres pour ces opérations.
Les instructions du processeur sont simples, comme des opérations arithmétiques entre deux valeurs ou des tests élémentaires.
Les instructions du processeur forment un code compact appelé code machine, et la programmation décompose les opérations complexes en opérations élémentaires.
Un processeur ne possède aucune intelligence ni compréhension réelle des valeurs manipulées, et son fonctionnement ne permet pas de tout surveiller, ce qui peut entraîner des bugs.
Récupérer, décoder, exécuter, écrire
★ À maîtriser
Le système d’exploitation permet de développer des programmes sans tenir compte de la complexité physique de la machine, grâce à des fonctionnalités standardisées d’accès aux ressources matérielles.
Le système d’exploitation coordonne les ressources, notamment l’utilisation du processeur et l’allocation de la mémoire, et assure la maintenance et la fiabilité du système, notamment par la gestion des fichiers et de la sécurité.
📌 Linux est présenté comme non propriétaire, généralement gratuit, ouvert, modifiable et programmable, tandis que Windows est présenté comme propriétaire, payant et à sources non disponibles.
Compléments
Le système d’exploitation fournit des services communs aux programmes, facilite l’accès de l’utilisateur aux ressources matérielles et propose une interface de programmation pour utiliser ces matériels.
Chaque architecture matérielle demande un système d’exploitation adapté, même si certains systèmes prennent en charge plusieurs architectures.
Le cours présente Windows comme le système le plus utilisé, OS X comme le plus simple et Linux comme le plus souple.
Le cours décrit Linux comme davantage orienté vers des interfaces de programmation optimisées et Windows comme davantage orienté vers des interfaces d’utilisation optimisées.
Les distributions Linux ont développé des installations automatisées, des outils bureautiques et une sécurité accrue, tandis que Windows a intégré de plus en plus de fonctionnalités empruntées à Linux.
★ À maîtriser
📌 GNU-Linux associe le noyau Linux à une philosophie de développement collaboratif et de diffusion libre.
📌 Une licence libre autorise l’utilisation du logiciel, l’étude et la modification de ses sources ainsi que la redistribution des sources, modifiées ou non, tandis qu’une licence propriétaire restreint un ou plusieurs de ces droits.
Compléments
Le noyau Linux est historiquement une version libre du système UNIX, développée initialement par Linus Torvalds à partir du début des années 1990.
Richard Stallman a initié le projet GNU en 1983 afin de développer de manière collaborative et libre un système d’exploitation libre.
Une distribution Linux est une suite logicielle qui accompagne le noyau Linux.
Le système Linux, initialement réservé à des spécialistes et doté d’interfaces rudimentaires, est devenu plus ergonomique et automatisé tout en laissant accessibles des outils de bas niveau.
Les permissions d’un utilisateur déterminent notamment les programmes qu’il peut exécuter, les données qu’il peut lire et les répertoires dans lesquels il peut écrire.
Le répertoire personnel est généralement placé sous /home/ et porte le nom de l’utilisateur.
📌 Un logiciel gratuit n’est pas nécessairement libre, car la gratuité ne garantit pas les droits d’accès, de modification et de redistribution des sources.
📌 Le copyleft utilise le cadre légal du copyright pour permettre la modification et la redistribution du code, à condition que les logiciels dérivés conservent les mêmes droits et ne soient pas distribués hors copyleft.
★ À maîtriser
📌 Une commande comprend un nom de commande, des options facultatives qui modifient son comportement par défaut et des paramètres qui peuvent être facultatifs selon la commande.
Compléments
La ligne de commande permet de lancer des programmes, d’interroger le système et d’interagir avec lui, et son interpréteur peut servir à créer des scripts pour effectuer des tâches complexes.
Le prompt est la partie non interprétée de la ligne de commande et peut afficher le nom de l’utilisateur, le nom de la machine et le répertoire courant.
Bash est l’interpréteur utilisé et il est présenté comme l’interpréteur le plus utilisé sous Linux.
Après validation d’une commande, le programme s’exécute et la ligne de commande reste indisponible jusqu’à la fin de son exécution, puis le Shell propose une nouvelle ligne de commande.
La sortie produite par un programme est affichée par défaut dans la fenêtre du Shell.
La commande man ls ouvre la documentation de la commande ls.
Texte, interprétation, exécution
★ À maîtriser
Les champs d’un message électronique servent respectivement à :
Le CPU est une puce qui traite des instructions élémentaires en réalisant des calculs binaires, avec une fréquence de l’ordre de 3 GHz.
📌 La ROM est non volatile, rapide, de taille limitée et contient notamment les instructions d’amorçage et des routines, tandis que la RAM est volatile, rapide et de taille limitée.
📌 Les disques durs et les clés USB sont des mémoires non volatiles de grande capacité et peu coûteuses, mais dont l’accès est plus lent que celui de la RAM et de la ROM.
Compléments
Les pages internet sont regroupées en sites identifiés par une adresse, et un navigateur permet de naviguer entre ces pages.
L’adresse du web-mail de l’IUT est http://ent.univ-paris13.fr.
Pour accéder au courrier sur le web-mail de l’IUT, l’utilisateur doit fournir son identifiant et son mot de passe.
Le GPU est une puce placée sur la carte graphique qui prend en charge de nombreux calculs nécessaires au rafraîchissement des images 3D.
RAM volatile, stockage de masse persistant
★ À maîtriser
📌 La racine, notée « / », contient tous les fichiers et répertoires accessibles depuis le système, tandis que le répertoire personnel est celui dans lequel l’utilisateur peut écrire, modifier ou supprimer des éléments.
📌 Un chemin absolu décrit l’accès à une cible à partir de la racine « / », tandis qu’un chemin relatif décrit l’accès à partir du répertoire courant et change si celui-ci change.
Compléments
Un nom de fichier est traditionnellement composé de deux parties séparées par un point : la première renseigne sur la nature du contenu et la seconde sur son format ou sa finalité.
Dans les chemins Linux, les notations désignent :
Une arborescence part de la racine et se ramifie en répertoires
mv déplace ou renomme un fichier ou un répertoire en modifiant son chemin d’accès, sans changer l’objet pointé.tar cvf nom_archive fichier_ou_repertoire [autres_sources] crée une archive nommée dans le premier argument, classiquement dotée de l’extension .tar, sans supprimer les sources.★ À maîtriser
📌 Le format tar archive une arborescence sans la compresser, tandis que le format zip permet à la fois l’archivage et la compression.
Les notations entre crochets dans la syntaxe d’une commande désignent des options facultatives qui peuvent être omises.
Les commandes de base manipulent l’arborescence ainsi :
La commande ls affiche le contenu du répertoire indiqué, ou celui du répertoire courant si aucune source n’est précisée; l’option -a inclut les fichiers et répertoires cachés, dont le nom commence par un point.
La commande mkdir crée les répertoires demandés, mais échoue si un chemin intermédiaire n’existe pas; l’option -p crée les répertoires intermédiaires manquants.
La commande rm supprime le fichier indiqué et échoue si le chemin désigne un répertoire; l’option -r permet de supprimer un répertoire et son contenu, tandis que -f permet d’ignorer certaines questions.
La commande cp copie un fichier ordinaire vers une cible; si la cible est un répertoire existant, le fichier y conserve son nom, sinon il est copié sous le nom indiqué par la cible.
Avec cp -r source <source_2 ...> cible, l’option -r permet de copier un répertoire et son contenu lorsqu’il figure parmi les sources.
tar tvf nom_archive liste le contenu de l’archive, tandis que tar xvf nom_archive [chemin(s) dans l’archive] en extrait les fichiers ; l’archive est préservée.
Compléments
Le format tar, utilisé depuis les années 80, est libre et provient de l’expression « tape archive »; une archive tar est appelée une tarball.
Gzip est un compresseur couramment utilisé avec tar, et ses fichiers portent le suffixe « .gz », ce qui donne notamment des noms d’archives tels que « textes2015.tar.gz » ou « textes2015.tgz ».
Les commandes de déplacement utilisent une ou plusieurs sources, qui sont des fichiers ou répertoires d’origine, et une destination.
La commande cd suivie d’une cible change le répertoire courant; si la cible est omise, elle ramène par défaut au répertoire personnel.
La commande cat affiche à la suite le contenu des fichiers fournis, dans l’ordre des paramètres.
cp copie, mv déplace : l’original reste avec cp, le chemin change avec mv.
*, interprété par le shell dans un chemin, remplace une chaîne de caractères et peut sélectionner plusieurs fichiers ou répertoires existants partageant un motif commun.★ À maîtriser
Compléments
Dans mv *.jpg Images/, le motif *.jpg sélectionne les fichiers du répertoire courant dont le nom se termine par .jpg.
Les jokers ? et [a-c][0-2] remplacent respectivement une lettre et l’une des chaînes a0, b0, c0, a1, b1, c1, a2, b2 ou c2.
Le motif {fourch,brou}ette est développé par le shell en fourchette et brouette, indépendamment de l’existence de chemins correspondants.
★ À maîtriser
Sous Linux, les partitions sont réunies dans une arborescence unique et les partitions autres que la racine sont attachées à un point de montage dans la partition racine ou dans une partition déjà attachée.
Un répertoire est un inode qui pointe vers un bloc contenant un tableau d’associations entre noms et inodes, tandis qu’un fichier est un inode qui pointe vers un ou plusieurs blocs contenant ses données.
Compléments
Sous Linux, le contenu du point de montage est remplacé et devient inaccessible lorsque le système de fichiers d’une autre partition y est monté.
Sous Linux, les périphériques sont accessibles par des chemins de type fichier sous /dev, qui constitue un système de fichiers virtuel indépendant d’un périphérique physique.
Les commandes ls -i et stat permettent d’accéder au numéro d’inode d’un chemin.
📌 La suppression d’un chemin associé à un lien dur laisse le fichier accessible par les autres chemins ; le fichier peut être effacé lorsque son compteur de liens atteint zéro.
📌 Il est impossible de créer un lien dur entre deux partitions différentes.
Un lien symbolique peut traverser les partitions et pointer vers un chemin qui ne correspond à aucun fichier ou répertoire ; il est alors dit brisé.
Le format tar peut archiver les liens durs et symboliques, tandis que le format zip ne permet d’archiver que les liens symboliques.
📌 Par défaut, le programme
zipremplace les liens symboliques par des copies ; l’option-symlinkspermet de les conserver dans l’archive.
★ À maîtriser
📌 Un fichier texte peut être lu par un éditeur de texte brut car ses données sont encodées comme une suite de caractères, tandis qu’un fichier binaire nécessite généralement un programme informatique pour être lu.
Un exécutable exprime des tâches en langage machine dans un fichier binaire et ne fonctionne que sur des ordinateurs ayant la même architecture.
L’évaluation des instructions machine d’un exécutable engendre des processus, qui sont exécutés par le matériel.
Dans un système multi-utilisateur, plusieurs utilisateurs partagent les ressources matérielles, notamment la mémoire vive, le CPU et les disques.
Dans un système multitâche, plusieurs programmes en cours d’exécution partagent les ressources matérielles et peuvent provenir d’un ou de plusieurs utilisateurs.
Le système d’exploitation gère les processus et doit pouvoir identifier qui les a lancés afin que les résultats puissent être retrouvés par leur utilisateur ou programme.
Compléments
Un fichier source est un fichier texte qui exprime des tâches dans un langage de programmation.
Le premier processus lancé porte le PID 1, et les processus suivants sont issus de ce processus parent.
Les commandes ps et top permettent d’accéder en ligne de commande à la liste des processus en cours d’exécution.
Le système d’exploitation utilise l’identification des processus pour leur affecter des ressources matérielles, et l’utilisateur peut suivre, suspendre, relancer ou tuer un processus.
Plusieurs processus partagent les ressources → le système doit les identifier et les répartir.
★ À maîtriser
Une commande lancée au premier plan bloque la ligne de commande jusqu’à la fin de son exécution, puis le prompt réapparaît.
Pour lancer une commande en arrière-plan, on ajoute le caractère & à la fin de la commande, ce qui libère immédiatement le prompt.
Pour reléguer en arrière-plan une tâche déjà lancée au premier plan, on la suspend avec Ctrl Z puis on la relance avec la commande bg.
Chaque fichier, répertoire et processus est associé à un utilisateur, qui en est le propriétaire ou qui a lancé le processus, et cette propriété confère des droits.
Les droits sont définis pour trois catégories d’utilisateurs : le propriétaire (u), le groupe (g) et les autres (o), tandis que a désigne leur réunion.
Pour un fichier, r permet la lecture, w l’écriture ou la modification et x l’exécution ; pour un répertoire, r permet de lister le contenu, w de le modifier et x de le traverser.
Compléments
La commande kill suivie d’un PID permet de supprimer le processus identifié par ce PID.
La commande top suit en temps réel les ressources matérielles utilisées par chaque processus et permet de quitter son interface en pressant Q.
La commande ps affiche les processus en cours d’exécution, l’option -e demande l’affichage de tous les processus et l’option -u limite l’affichage aux processus de l’utilisateur.
La commande ps ou top affiche le propriétaire des processus, tandis que ls -l affiche le propriétaire et le groupe d’un fichier ou d’un répertoire.
Les droits peuvent être notés de façon alphanumérique avec les catégories u, g, o ou a, les opérateurs + ou - et les permissions r, w ou x, ou de façon octale avec les valeurs 0 à 7.
★ À maîtriser
L’arborescence Linux est une organisation plus ou moins normalisée, commune à presque toutes les distributions, qui facilite notamment l’installation des programmes.
Les principaux répertoires Linux sont /, répertoire racine de toutes les données accessibles ; /bin, exécutables des commandes de base ; /dev, fichiers spéciaux associés aux périphériques ; /etc, fichiers de configuration ; /home, répertoires personnels ; /lib, bibliothèques partagées et modules du noyau ; /mnt, points de montage ; /root, répertoire personnel de l’administrateur ; /tmp, données temporaires ; /usr, ressources accessibles aux utilisateurs ; et /var, fichiers de journalisation ou fichiers changeant fréquemment.
Dans un langage compilé, le code source est compilé une seule fois avant l’exécution en instructions machine, tandis que dans un langage interprété, les instructions du code source sont converties en instructions machine lors de l’exécution.
Un exécutable compilé et son compilateur sont spécifiques à la machine, tandis qu’un code source interprété n’est pas spécifique à la machine et peut être portable sur d’autres machines.
Pour exécuter un programme, on indique le chemin du fichier qui contient ses instructions et ce fichier doit avoir la permission d’exécution.
Compléments
Les répertoires et fichiers système sont protégés par des restrictions de droits, et seuls root ou des utilisateurs membres du groupe admin peuvent être autorisés à modifier certains fichiers système.
Le compilateur n’est pas nécessaire pendant l’exécution d’un programme compilé, alors que l’interpréteur est nécessaire pendant l’exécution d’un programme interprété.
Les langages compilés cités sont C, C++, ADA, Pascal, Fortran et Cobol, et les langages interprétés cités sont Java, Python, Bash, Lisp, PHP, Prolog, Perl et Javascript.
Une commande comme ls est un programme dont les instructions se trouvent dans un fichier exécutable, par exemple /bin/ls.
Un script Bash exécutable est un fichier texte contenant des instructions Bash dont la première ligne indique le chemin de l’interpréteur précédé de #!, comme dans #!/bin/bash.
★ À maîtriser
Lorsqu’une commande est appelée sans chemin, l’interpréteur parcourt les répertoires de PATH dans l’ordre et exécute le premier fichier rencontré qui porte le nom de la commande.
Les variables de configuration sont définies dans des fichiers système situés dans /etc/ ou dans des fichiers propres à l’utilisateur situés dans son répertoire personnel.
Un fichier .bashrc peut contenir des alias, des variables d’environnement et des fonctions, ainsi que les instructions à évaluer à l’ouverture d’un nouveau shell.
📌 La syntaxe alias nom_de_la_commande='expression' crée un alias reliant un nom de commande à une expression écrite entre quotes.
Compléments
Les variables d’environnement sont associées à une valeur, sont définies par le système d’exploitation pour son fonctionnement et peuvent être utilisées par les programmes.
La commande which nom_de_la_commande affiche le chemin du fichier correspondant, en parcourant successivement les répertoires de PATH.
La commande export permet de définir PATH avec une liste de répertoires, ou d’ajouter un répertoire à sa valeur existante, par exemple avec export PATH=$PATH:monDir2.
Les fichiers de configuration cités sont /etc/profile et /etc/bashrc pour tous les utilisateurs, ainsi que ~/.profile et ~/.bashrc pour l’utilisateur concerné ; ils sont évalués au début de chaque shell.
Les fichiers .bashrc et .profile sont des fichiers cachés, car leur nom commence par un point, et l’option -a de ls permet de les afficher.
Dans un fichier .bashrc, la ligne PATH=$PATH:$HOME/bin ajoute le répertoire bin du répertoire personnel à la variable PATH.
★ À maîtriser
Les trois flux de données sont :
Par défaut, l’entrée standard correspond au clavier et la sortie standard à l’écran.
Compléments
Certaines commandes peuvent traiter les données de l’entrée standard sans chemin de fichier :
La commande cat fichier [fichier_2 ...] affiche le contenu des fichiers dans l’ordre des paramètres.
Sans option de nombre de lignes, head affiche les 10 premières lignes et tail les 10 dernières lignes d’un fichier.
La commande grep 'motif' fichier affiche les lignes contenant le motif, dans leur ordre d’apparition dans le fichier.
STDIN reçoit les données, STDOUT les résultats et STDERR les erreurs.
★ À maîtriser
📌 La redirection command > fichier.out envoie la sortie standard vers fichier.out, en le créant si nécessaire et en écrasant son contenu s’il existe déjà.
📌 La redirection command >> fichier.out envoie la sortie standard vers fichier.out et ajoute les sorties à la fin si le fichier existe déjà.
Compléments
📌 La redirection command 2>> fichier.err envoie la sortie erreur vers fichier.err en préservant son contenu et en ajoutant les erreurs à la fin.
La commande ls | grep '.gif' filtre la sortie de ls pour afficher les noms contenant le motif '.gif'.
La commande wc affiche :
La redirection envoie un flux vers un fichier ; le tube l’envoie vers une autre commande.
★ À maîtriser
Un script Bash commence par la ligne #!/bin/bash, suivie d’instructions et éventuellement de commentaires.
Pour exécuter un script par son chemin, il faut d’abord le rendre exécutable avec chmod u+x script.sh, puis le lancer avec ./script.sh.
En Bash, une affectation s’écrit nom_variable=valeur et le préfixe $ permet d’accéder au contenu de la variable.
Dans un script Bash, $0 contient le nom du script, $1, $2 et les suivants contiennent les paramètres positionnels, $# donne leur nombre et $* représente leur ensemble.
Compléments
📌 Dans un script Bash, le caractère # transforme en commentaire le texte qui le suit sur la même ligne, lequel n’est pas évalué comme une instruction.
Un script peut aussi être lancé en appelant explicitement l’interpréteur avec bash script.sh.
La syntaxe $(commande avec des arguments) est remplacée à l’exécution par le résultat de la commande exécutée dans un sous-shell.
Écrire le script, le rendre exécutable avec chmod u+x, puis le lancer avec ./script.sh.
★ À maîtriser
Les calculs arithmétiques Bash de base s’écrivent avec la syntaxe et permettent notamment l’addition, la soustraction, la multiplication et la division.
La boucle for (( init ; test ; incr )); do ...; done répète les instructions et s’arrête lorsque le test n’est plus satisfait.
La boucle for var in val_1 val_2 ...; do ...; done répète les instructions pour chaque valeur de la liste, puis s’arrête lorsque toute la liste a été parcourue.
📌 Dans un branchement if test; then ..., les instructions du bloc then sont évaluées uniquement si le test est vrai.
📌 Dans un branchement if test; then expr_1; else expr_2; fi, expr_1 est évaluée si le test est vrai et expr_2 s’il est faux.
Compléments
Les tests Bash peuvent porter sur :
Les tests d’arborescence vérifient respectivement :
📌 Les tests de chaînes [ chaine_1 = chaine_2 ] et [ chaine_1 != chaine_2 ] vérifient l’égalité et l’inégalité, tandis que [ -n chaine ] et [ -z chaine ] vérifient respectivement qu’une chaîne est non vide ou vide.
Les tests numériques vérifient respectivement :
Les opérateurs booléens expriment respectivement :
| Dimension | Linux | Windows |
|---|---|---|
| Propriété | Non propriétaire | Propriétaire |
| Sources | Disponibles et modifiables | Non disponibles |
| Orientation | Interfaces de programmation optimisées | Interfaces d’utilisation optimisées |
| Coût présenté | Généralement gratuit | Payant |
| Mémoire | Volatilité | Accès et capacité | Usage ou caractéristique |
|---|---|---|---|
| ROM | Non volatile | Rapide, capacité limitée | Instructions d’amorçage et routines |
| RAM | Volatile | Rapide, capacité limitée | Maintenue par une tension électrique |
| Disque dur et clé USB | Non volatile | Accès lent, grande capacité | Stockage de masse peu coûteux |
Teste tes connaissances sur Introduction à l’informatique avec 64 questions à choix multiples et corrections détaillées.
1. Quelle caractéristique définit un ordinateur ?
2. Dans un ordinateur, quelle distinction sépare le matériel des logiciels ?
Mémorisez les concepts clés de Introduction à l’informatique avec 92 flashcards interactives.
Qu’est-ce qu’un ordinateur ?
Une machine électronique programmable capable de réaliser des calculs logiques sur des nombres binaires.
Que désigne le hardware ?
L’architecture matérielle soumise aux lois de la physique.
Que désigne le software ?
Les instructions et programmes qui déterminent les tâches réalisées par la machine.
Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.
Générateur de fiches