Système d'exploitation
licence grand publique (GPL)
- Garantit la liberté et l'accessibilité (pas nec gratuité) de partager et de modifier les logiciels libres -Cette licence a depuis été adoptée, en tant que document définissant le mode d'utilisation, donc d'usage et de diffusion, par de nombreux auteurs de logiciels libres, en dehors des projets GNU. -La GPL met en œuvre la notion de copyleft (jeu de mots sur "copyright")
Arborescence
-Appelée aussi "système de fichiers" -Portion du système d'exploitation responsable de la gestion des mémoires de masse
API
-Application Programmable Interface -Ensemble de fonctions permettant d'accéder aux services d'une application, par l'intermédiaire d'un langage de programmation. C'est l'interface entre une application est une autre -Il est fourni par l'application qui sera utilisée par une autre application -Il fournit un certain niveau d'abstraction au développeur en masque la complexité de l'accès à un système ou à une application en proposant un jeu de fonctions standard dont seuls les paramètres et les valeurs retournées sont connus
Bibliothèque
-Collection de routines (portions du code effectuant un traitement spécifique), qui peuvent être déjà compilées et prêtes à être utilisées par des programmes -Enregistrées dans des fichiers semblables ou identiques aux fichiers de programmes -Les routines sont sous la forme d'une collection de fichiers de code objet rassemblés accompagnée d'un index permettant de retrouver facilement chaque routine
Bibliothèque partagée
-Destinée à être associée aux programmes au moment où ils sont exécutés -Avec une telle bibliothèque, la même copie de la bibliothèque peut être utilisée par plusieurs programmes
Noyau hybride
-Désigne principalement des noyaux qui reprennent des concepts à la fois des noyaux monolithiques et des micro-noyaux, pour combiner les avantages des deux
Méta-noyau
-Ensemble de logiciels qui vise à appliquer la notion de noyau informatique au niveau d'un réseau informatique, en créant une unique couche de gestion des périphériques au niveau d'un réseau. - L'ensemble des logiciels fonctionnant sur cette plate-forme peuvent se partager les ressources de manière intégrée, comme elle le ferait sur un noyau simple
système d'exploitation
-Ensemble de programmes système qui dirige l'utilisation des ressources d'un ordinateur par des logiciels applicatif ou l'utilisateur tout en évitant l'interférence entre les logiciels
Micro-noyau
-Exécute la plupart des services dans l'espace utilisateur -Sécurité excellente -La majorité des erreurs de programmation n'entrainant pas un crash, mais simplement l'affichage d'un message d'erreur -Nombre d'appels système est nettement plus important que pour les noyaux monolithiques, ce qui est source de performances relativement faibles -Le noyau ne s'occupe ainsi que des services de base comme allocation de mémoire malgré que le gestionnaire de mémoire se trouve dans l'espace utilisateur
rôle d'un SE
-Gestion des processus -Gestion de la mémoire -Gestion des entrées/sorties -Gestion de l'exécution des applications -Gestion des fichiers -Gestion des interfaces -Gestion des réseaux
GPL
-Grand Public Licence -Licence de logiciel libre provenant du projet GNU couvrant la grande majorité des logiciels libres -Tout logiciel contenant un logiciel libre sous licence GPL devient de fait un logiciel libre
Libertés garanties par GPL
-La liberté d'exécuter le logiciel, pour n'importe quel usage -La liberté d'étudier le fonctionnement d'un programme et de l'adapter à ses besoins, ce qui passe par l'accès aux codes sources -La liberté de redistribuer des copies -L'obligation de faire bénéficier la communauté des versions modifiées
l'arborescence prend en charge:
-Le stockage des fichiers sur le disque dur -Rangement des fichiers dans des répertoires/dossiers (Du point de vue du système de fichiers, il est traité comme un fichier dont le contenu est la liste des fichiers référencés) -Ouverture/fermeture de fichiers/répertoires
arborescence de Linux
-Linux place tout au même endroit -Tout chemin de fichiers dans le système Linux part de la racine. Cette racine est notée / (slash) -/ sert de séparateur (contrairement à windows qui utilise \) -Cette racine est "à peu près" comparable au C:\ de Windows -il existe deux grands types de fichiers sous Linux: les fichiers classiques (texte, son et programmes) et les fichiers spéciaux
Quel type de noyau utilise: -Linux et Unix? -Windows
-Monolithique -Micro-noyau
Types de noyau
-Monolithique -Micro-noyau -Noyau hybride -Noyau temps-réel -Exo-noyau -Méta-noyau
NTFS
-New Technology File System -Système de fichier conçu par Microsoft pour Windows -Différencie entre Maj et Min -L'accès aux fichiers sur une partition NTFS est plus rapide que sur une partition de type FAT car il utilise un arbre binaire performant pour localiser les fichiers -Plus sécurisé: il permet de définir des attributs pour chaque fichier
Partitionnement (dans un ordinateur)
-Opération qui consiste à diviser le disque dur en partitions ou régions dans lesquelles le systèmes d'exploitation peut gérer les informations de manière séparée et privée -Le SE partitionne le disque dur en créant un système de fichiers en plaçant des repérés logiques et en maintenant à jour une table d'allocation -Un disque dur ne peut contenir au maximum que quatre partitions dites primaires (ou principales)
l'interpréteur de commandes
-Ou CLI pour Command Line Interpreter -Logiciel système qui utilise l'interface homme-machine (en lignes) pour interpréter les commandes saisies en texte par l'utilisateur -Il peut être aussi utilisé pour les équipements réseau
noyau monolithique
-Place le maximum de logiciels systèmes dans l'espace noyau -Performance excellente vu la diminution d'appels système -Réduction du temps de chargement puisqu'1 seul fichier est à charger lors du lancement du SE -Plus vulnérable aux erreurs fatales vu le bloc de code de taille très grande (beaucoup d'écrans bleues)
Windows
-Première version Windows 1.0 en 1985 -Écrit en C++, C# et langage assembleur -Orienté interface graphique -Il en existe des versions server pour la mise en place des serveurs -Version la plus utilisée: 3.11 -Versions ayant eu un grand succès: xp et 7 -Versions ayant floppé: 98, Vista et 8
Mac OS
-Première version en 1984 -Écrit en C, C++ et swift -Premier système grand public interface graphique -Fondé sur le système WIMP (Windows, Icons, Menus and Pointing device)
Linux
-Première version en 1991 -Tout système d'exploitation fondé sur le noyau Linux -Écrit en C et assembleur -Un logiciel libre open source (dont le kernel est ouvert et peut être modifié) auparavant gratuit (maintenant il existe des distributions payantes) -Toutes les manipulations sont faites à partir des terminales (aujourd'hui est doté d'une bonne interface graphique) -Plusieurs distributions: chaque communauté travaille sur une distribution
Projet GNU
-Projet informatique dont les premiers développements ont été réalisés en janvier 1984 par Richard Stallman pour développer le système d'exploitation GNU - Chaque brique du projet est un logiciel libre utilisable de par sa nature dans des projets tiers, mais dont la finalité est de s'inscrire dans une logique cohérente -Le but final est de créer un système d'exploitation complet et entièrement libre -le développement d'un micro-noyau reste aujourd'hui l'un des objectifs techniques du projet
Exo-noyau
-Système d'exploitation fonctionnant en espace utilisateur -Les fonctions et services du système d'exploitation sont assurés par de petits modules qui, selon les approches techniques, sont des bibliothèques dynamiques (MIT, LibOSes, voir aussi Unikernel) ou des démons (InterServices)
Représentation d'un système informatique
-Système informatique: matériel + logiciel -Logiciel: logiciel de base + logiciel d'application -Logiciel de base: SE + utilitaire de développement -Utilitaire de développement: compilateurs, éditeurs et chargeurs
licence open source
-Un logiciel source est par définition un logiciel lire -Par contre, certains logiciels fournissent leur code source mais ne permettent pas la modification. Donc il n'est plus sous licence libre
UNIX
-Une famille de systèmes d'exploitation multitâche et multi-utilisateur dérivé du Unix d'origine créé par AT&T -Repose sur un interpréteur ou superviseur et de nombreux petits utilitaires, accomplissant chacun une action spécifique, commutables entre eux et appelés depuis la ligne de commande
licence payante (propriétaire)
-Une licence est dit propriétaire ou privative si les conditions d'utilisation qu'elle définit entravent un des droits donnés par les licences libres -Un logiciel propriétaire est distribué uniquement sous forme binaire (sans source)
Le dossier root de Linux contient
-bin -boot -dev -etc -home
Chaque outil de virtualisation met en œuvre une ou plusieurs de ces notions
-couche d'abstraction matérielle et/ou logicielle -système d'exploitation hôte -systèmes d'exploitation virtualisé -partitionnement, isolation et/ou partage des ressources physiques et/ou logicielles -images manipulables: démarrage, arrêt, gel, clonage, sauvegarde et restauration, sauvegarde de contexte, migration d'une machine physique à une autre -réseau virtuel: réseau purement logiciel, interne à la machine hôte, entre hôte et/ou invités.
virtualisation
-en informatique, à exécuter sur une machine hôte, dans un environnement isolé, des systèmes d'exploitation -On parle alors de virtualisation système ou des applications ( on parle alors de virtualisation applicative) -Ces ordinateurs virtuels sont appelés serveur privé virtuel (Virtual Private Server ou VPS) ou encore environnement virtuel (Virtual Environment ou VE).
Le noyau (kernel)
-logiciel qui représente les fonctions fondamentales du SE. Il fournit un mécanisme d'abstraction du matériel ainsi que du logiciel -Il communique avec les périphériques par l'intermédiaire des pilotes -Il gère les ressources de l'ordinateur et la communication entre matériel et logiciel
fichiers spéciaux de Linux
-représentent quelque chose (périphériques) Manière d'accéder aux périphériques par linuxPar exemple, le lecteur CD est un fichier pour Linux. Là où Windows fait la distinction entre ce qui est un fichier et ce qui ne l'est pas, Linux, lui, dit que tout est un fichier
espace d'adressage
-segment de la mémoire caractérisé par l'adresse où il commence et sa taille/décalage -Utilisé par Linux et anciens Unix
Structure en couche du SE
Du centre à l'extérieur: -Matériel -Noyau -Gestion mémoire -Gestion E/S -Gestion fichiers -Interface système (SHELL qui a deux formes: GUI ou CLI)
Hyperviseur
En informatique, un hyperviseur est une plate-forme de virtualisation qui permet à plusieurs systèmes d'exploitation de travailler sur une même machine physique en même temps
Distribution GNU/Linux
Ensemble cohérent de: -Noyau Linux (par abus de langage, on dit Linux en référence au SE alors qu'il est un noyau) -Logiciels de base issus du projet GNU -Autres programmes issus d'autres projets (navigateur Web, serveur FTP, etc ...) -Quelques logiciels propriétaires -Une méthode pour installer et désinstaller facilement ces programmes Exemples de distribution: Ubuntu, Debian, SUSE etc ...
espace noyau
Espace de la mémoire vive où s'exécute le noyau L'ensemble des fonctions et processus s'exécutant dans le noyau travaillent sur de la mémoire de l'espace noyau
licence libre
L'utilisateur bénéficie au minimum des 4 droits fondamentaux -Usage de l'oeuvre -Etude de l'œuvre pour en comprendre le fonctionnement ou l'adapter à ses besoins (grâce au code source) -modification (amélioration, extension et transformation) ou incorporation de l'œuvre en une œuvre dérivée -Redistribution de l'œuvre, c'est-à-dire sa diffusion à d'autres usagers, y compris commercialement **Une oeuvre sous licence libre n'est pas nécessairement disponible gratuitement
pourquoi virtualisation?
La virtualisation des données est une approche permettant d'unifier les données de plusieurs sources dans une même couche afin que les applications, les outils de génération de rapports et les utilisateurs finaux puissent accéder aux données sans avoir besoin de détails sur la source, l'emplacement et les structures de données d'origine
licence gratuite
N'est pas nécessairement libre
Noyau Linux
Noyau d'un système d'exploitation de type Unix
SE de type Unix
Système d'exploitation qui se comporte d'une façon semblable à un système Unix, bien que n'étant pas nécessairement conforme ou certifié par une quelconque version de la Single UNIX spécification. Le terme peut regrouper les systèmes d'exploitations libres ou open source inspirés par Unix des laboratoires Bell ou conçu pour imiter ses fonctionnalités.
copyleft
alors que le copyright garantit exclusivement les droits de l'auteur, le copyleft s'attarde tout particulièrement aux droits des utilisateurs, et vise à préserver la liberté d'utiliser, d'étudier, de modifier et de diffuser le logiciel et ses versions dérivées.
ordonnanceur
composant du noyau du système d'exploitation choisissant l'ordre d'exécution des processus sur les processeurs d'un ordinateur
bin
contient des programmes (exécutables) susceptibles d'être utilisés par tous les utilisateurs de la machine.
Bibliothèque statique
destinée à être copiée dans les programmes qui l'utilisent lors de la construction de ces derniers
espace utilisateur
espace de la mémoire vive où s'exécute les programmes normaux -Il restreint les programmes utilisateur afin qu'ils ne puissent pas jouer avec la mémoire (et d'autres ressources) appartenant à d'autres programmes ou au noyau du système d'exploitation -Du point de vue d'un programme normal, tout processus croit manipuler une mémoire privée qui peut être infiniment étendue et qui commence par l'adresse 0. Cette illusion est réalisable grâce à un gestionnaire de mémoire
dev
fichiers contenant les périphériques. Ce dossier contient des sous-dossiers qui « représentent » chacun un périphérique. On y retrouve ainsi par exemple le fichier qui représente le lecteur CD.
etc
fichiers de configuration
boot
fichiers permettant le démarrage de Linux
appel système
fonction appelée depuis un programme dans l'espace utilisateur et dont l'exécution se fait dans l'espace noyau. Le retour de cette fonction est effectué dans le programme appelant dans l'espace utilisateur
Gestion des entrées/sorties
gérer l'accès des programmes aux ressources matérielles par l'intermédiaire des pilotes.
Gestion de la mémoire
gérer l'espace mémoire alloué à chaque application et, le cas échéant, à chaque usager. En cas d'insuffisance de mémoire physique (RAM), le système d'exploitation peut créer une zone mémoire sur le disque dur, appelée mémoire virtuelle.
Gestion des fichiers
gérer la lecture et l'écriture dans le système de fichiers et les droits d'accès aux fichiers par les utilisateurs et les applications.
Gestion des processus
l'allocation du processeur entre les différentes applications grâce à un algorithme d'ordonnancement (ordonnanceur)
home
répertoires personnels des utilisateurs. C'est dans ce dossier que sont placés les fichiers personnels, à la manière du dossier Mes documents de Windows.
Gestion de l'exécution des applications
s'assurer de la bonne exécution des applications en leur affectant les ressources nécessaires à leur bon fonctionnement, mais aussi permettre de tuer une application ne répondant plus correctement, par exemple.
abstraction
une représentation des entités ou des concepts en identifiant leur caractéristiques et traitements communs afin d'unifier leur manipulation
