Concepts Clés en Systèmes d'Exploitation et Programmation
Classé dans Informatique
Écrit le en français avec une taille de 8,3 KB
Cinquième Génération d'Ordinateurs
L'apparition des circuits LSI marque cette ère. L'IBM PC fait son apparition, et l'utilisation des réseaux de données devient universelle.
Structure Monolithique d'un Système
Une structure monolithique de système est un ensemble de procédures où chacune peut invoquer ou appeler l'autre. Aucune donnée n'est cachée, et ce type de structure n'est généralement pas extensible.
Structure Stratifiée (en Couches)
Une structure stratifiée (ou en couches) est un ensemble de niveaux virtuels qui se chevauchent, allant jusqu'à l'utilisateur final. Chaque couche définit un niveau de privilège. Cette structure facilite la modification du système d'exploitation.
Microclients et Client-Serveur
Le modèle microclient et client-serveur est un type de système d'exploitation qui fournit un ensemble minimal de primitives ou d'appels système pour les services de base. Tous les autres services sont exécutés comme des processus dans des serveurs de l'espace utilisateur. La puissance de traitement est divisée entre les clients et les serveurs.
API (Application Programming Interface)
Une API (Application Programming Interface) est un ensemble de bibliothèques de programmation élaborées et publiées par les fabricants de composants. Elle permet aux développeurs d'applications d'utiliser ces services. L'API représente une interface de communication entre les composants logiciels, décrivant comment appeler chaque fonction et la tâche qu'elle exécute, sans se soucier de son implémentation interne.
API Win32
L'API Win32 est composée de fonctions en C stockées dans des bibliothèques de liens dynamiques (DLL). Ces bibliothèques sont utilisées par Windows pour ajouter des fonctionnalités à ses systèmes d'exploitation.
SDK (Software Development Kit)
Un SDK (Software Development Kit) est un kit de développement d'applications, souvent fourni par des entreprises comme Microsoft. Il inclut la documentation et les outils nécessaires aux développeurs pour créer des applications et utiliser les ressources du système.
Interfaces de Commandes Utilisateur
Les interfaces de commandes utilisateur peuvent être de deux types :
- Mode texte : Les ordres sont donnés sous la forme de lignes de texte tapées sur un terminal.
- Mode graphique : Interfaces graphiques intuitives, dynamiques et productives.
Système Monoutilisateur
Dans un système à utilisateur unique, toutes les ressources système sont disponibles pour un seul utilisateur.
Système Multi-utilisateur
Un système multi-utilisateur permet à plusieurs utilisateurs d'exécuter différents processus sur le même processeur et de partager l'utilisation des ressources existantes du système simultanément.
Monotâche (Monotasking)
En monotâche (ou monotasking), un seul processus peut être exécuté à la fois, et il doit se terminer avant que le suivant ne puisse démarrer.
Multitâche (Multitasking)
Le multitâche (ou multitasking) permet d'exécuter plusieurs processus simultanément.
Système Monoprocesseur
Un système à processeur unique (ou monoprocesseur) n'a qu'un seul processeur installé. Tous les travaux se partagent l'occupation du CPU.
Multiprocessing (Systèmes Multiprocesseurs)
Le multiprocessing (souvent confondu avec le multithreading dans ce contexte) se produit lorsque plusieurs processeurs sont installés sur le même ordinateur et peuvent être utilisés simultanément par le système d'exploitation.
Multiprocessing Asymétrique
En multiprocessing asymétrique, un processeur est désigné pour exécuter le code du système d'exploitation, tandis que les autres processeurs exécutent les tâches utilisateur.
Multiprocessing Symétrique
En multiprocessing symétrique, le système d'exploitation peut s'exécuter sur n'importe quel processeur, ou sur tous les processeurs simultanément, en partageant la mémoire entre eux.
Systèmes Temps Réel
Les systèmes temps réel sont utilisés lorsque des processus doivent répondre à des exigences temporelles très strictes.
Systèmes Interactifs
Les systèmes interactifs sont la plupart des systèmes d'exploitation courants. Le système d'exploitation possède des mécanismes qui permettent de planifier l'occupation du CPU.
Traitement par Lots
Le traitement par lots signifie qu'un processus ne commence pas tant que le précédent n'est pas terminé.
Systèmes d'Exploitation Centralisés
Dans les systèmes d'exploitation centralisés, les ordinateurs centraux étaient responsables de tous les utilisateurs finaux et du traitement, fonctionnant sans mémoire ou processeur dédié pour les terminaux.
Systèmes d'Exploitation Réseau
Les systèmes d'exploitation réseau connectent deux ou plusieurs ordinateurs via des moyens de communication dans le but de partager différentes ressources et systèmes d'information.
Systèmes d'Exploitation Distribués
Les systèmes d'exploitation distribués sont des quasi-systèmes indépendants capables de répartir les emplois, les tâches ou les processus sur un ensemble de processeurs.
Virtualisation de Serveurs et d'OS
La virtualisation de serveurs et de systèmes d'exploitation est le masquage des ressources du serveur (y compris le nombre et l'identification des différents serveurs physiques, processeurs et systèmes d'exploitation) pour les utilisateurs du serveur.
Virtualisation de Stockage
La virtualisation de stockage est l'unification de périphériques de stockage sur un réseau de zone de stockage (SAN), en faisant apparaître l'ensemble comme un simple dispositif de stockage géré depuis une console centrale.
Virtualisation de Bureau
La virtualisation de bureau est la séparation entre le système physique et le bureau. Les données et les outils utilisés par l'utilisateur sur le bureau virtualisé sont consolidés et stockés sur un serveur distant plutôt que sur la machine physique locale.
Langage de Programmation
Un langage de programmation est un ensemble de règles, d'outils et de conventions qui permettent de créer des programmes ou des applications pour un ordinateur.
Langage Machine
Le langage machine est directement compréhensible par l'ordinateur sans aucune conversion linguistique.
Langage de Bas Niveau
Les langages de bas niveau, comme les langages d'assemblage, sont ceux dont les instructions sont formées par des codes mnémoniques.
Langage de Haut Niveau
Les langages de haut niveau sont ceux dont les instructions sont formées par des mots similaires à ceux des langues humaines.
Programmation Séquentielle
La programmation séquentielle consiste à créer des programmes en utilisant un ensemble d'instructions écrites dont la séquence d'exécution est linéaire.
Programmation Structurée
La programmation structurée est une approche célèbre et ancienne, basée sur la modularité des programmes. Ceux-ci sont divisés en petits modules, chacun exécutant une tâche spécifique.
POO (Programmation Orientée Objet)
La POO (Programmation Orientée Objet) est une façon de structurer un programme en organisant le code autour d'objets.
Programmation Logique
En programmation logique, l'aspect le plus important est de définir un ensemble de faits (déjà connus) et un ensemble de règles qui définissent les relations entre les différents volets du programme. Elle utilise généralement des langages de haut niveau.