pour plus de documents : www.almohandiss.com Description du système d'exploitation Pour qu'un ordinateur soit capable de faire fonctionner un programme informatique (appelé parfois application ou logiciel), la machine doit être en mesure d'effectuer un certain nombre d'opérations préparatoires afin d'assurer les échanges entre le processeur, la mémoire, et les ressources physiques (périphériques). Le système d'exploitation (noté SE ou OS, abréviation du terme anglais Operating System), est chargé d'assurer la liaison entre les ressources matérielles, l'utilisateur et les applications (traitement de texte, jeu vidéo, ...). Ainsi lorsqu'un programme désire accéder à une ressource matérielle, il ne lui est pas nécessaire d'envoyer des informations spécifiques au périphérique, il lui suffit d'envoyer les informations au système d'exploitation, qui se charge de les transmettre au périphérique concerné via son pilote. En l'absence de pilotes il faudrait que chaque programme reconnaisse et prenne en compte la communication avec chaque type de périphérique ! Le système d'exploitation permet ainsi de "dissocier" les programmes et le matériel, afin notamment de simplifier la gestion des ressources et offrir à l'utilisateur une interface homme-machine (notée «IHM») simplifiée afin de lui permettre de s'affranchir de la complexité de la machine physique. Rôles du système d'exploitation Les rôles du système d'exploitation sont divers : Gestion du processeur : le système d'exploitation est chargé de gérer l'allocation du processeur entre les différents programmes grâce à un algorithme d'ordonnancement. Le type d'Ordonnanceur est totalement dépendant du système d'exploitation, en fonction de l'objectif visé. Gestion de la mémoire vive : le système d'exploitation est chargé de gérer l'espace mémoire alloué à chaque application et, le cas échéant, à chaque usager. En cas d'insuffisance de mémoire physique, le système d'exploitation peut créer une zone mémoire sur le disque dur, appelée «mémoire virtuelle». La mémoire virtuelle permet de faire fonctionner des applications nécessitant plus de mémoire qu'il n'y a de mémoire vive disponible sur le système. En contrepartie cette mémoire est beaucoup plus lente. Gestion des entrées/sorties : le système d'exploitation permet d'unifier et de contrôler l'accès des programmes aux ressources matérielles par l'intermédiaire des pilotes (appelés également gestionnaires de périphériques ou gestionnaires d'entrée/sortie). pour plus de documents : www.almohandiss.com Gestion de l'exécution des applications : le système d'exploitation est chargé de la bonne exécution des applications en leur affectant les ressources nécessaires à leur bon fonctionnement. Il permet à ce titre de «tuer» une application ne répondant plus correctement. Gestion des droits : le système d'exploitation est chargé de la sécurité liée à l'exécution des programmes en garantissant que les ressources ne sont utilisées que par les programmes et utilisateurs possédant les droits adéquats. Gestion des fichiers : le système d'exploitation gère 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 informations : le système d'exploitation fournit un certain nombre d'indicateurs permettant de diagnostiquer le bon fonctionnement de la machine. Composantes du système d'exploitation Le système d'exploitation est composé d'un ensemble de logiciels permettant de gérer les interactions avec le matériel. Parmi cet ensemble de logiciels on distingue généralement les éléments suivants : Le noyau (en anglais kernel) représentant les fonctions fondamentales du système d'exploitation telles que la gestion de la mémoire, des processus, des fichiers, des entrées-sorties principales, et des fonctionnalités de communication. L'interpréteur de commande (en anglais shell, traduisez «coquille» par opposition au noyau) permettant la communication avec le système d'exploitation par l'intermédiaire d'un langage de commandes, afin de permettre à l'utilisateur de piloter les périphériques en ignorant tout des caractéristiques du matériel qu'il utilise, de la gestion des adresses physiques, etc. Le système de fichiers (en anglais «file system», noté FS), permettant d'enregistrer les fichiers dans une arborescence. Systèmes multitâches Un système d'exploitation est dit «multi-tâche» (en anglais multithreaded) lorsque plusieurs «tâches» (également appelées processus) peuvent être exécutées simultanément. Les applications sont composées en séquence d'instructions que l'on appelle «processus légers» (en anglais «threads»). Ces threads seront tour à tour actifs, en attente, suspendus ou détruits, suivant la priorité qui leur est associée ou bien exécutés séquentiellement. Un système est dit préemptif lorsqu'il possède un ordonnanceur (aussi appelé planificateur), qui répartit, selon des critères de priorité, le temps machine entre les différents processus qui en font la demande. Le système est dit à temps partagé lorsqu'un quota de temps est alloué à chaque processus par l'ordonnanceur. C'est notamment le cas des systèmes multiutilisateurs qui permettent à plusieurs utilisateurs d'utiliser simultanément sur une même machine des applications différentes ou bien similaires : le système est alors dit «système transactionnel». Pour ce faire, le système alloue à chaque utilisateur une tranche de temps. Systèmes multi-processeurs Le multiprocessing est une technique consistant à faire fonctionner plusieurs processeurs en parallèle afin d'obtenir une puissance de calcul plus importante que celle obtenue avec un processeur haut de gamme ou bien afin d'augmenter la disponibilité du système (en cas de panne d'un processeur). pour plus de documents : www.almohandiss.com On appelle SMP (Symmetric Multiprocessing ou Symmetric Multiprocessor) une architecture dans laquelle tous les processeurs accèdent à un espace mémoire partagé. Un système multiprocesseur doit donc être capable de gérer le partage de la mémoire entre plusieurs processeurs mais également de distribuer la charge de travail. Systèmes embarqués Les systèmes embarqués sont des systèmes d'exploitation prévus pour fonctionner sur des machines de petite taille, telles que des PDA (personal digital assistants ou en français assistants numériques personnels) ou des appareils électroniques autonomes (sondes spatiales, robot, ordinateur de bord de véhicule, etc.), possédant une autonomie réduite. Ainsi, une caractéristique essentielle des systèmes embarqués est leur gestion avancée de l'énergie et leur capacité à fonctionner avec des ressources limitées. Les principaux systèmes embarqués «grand public» pour assistants numériques personnels sont : PalmOS Windows CE / Windows Mobile / Window Smartphone Systèmes temps réel Les systèmes temps réel (real time systems), essentiellement utilisés dans l'industrie, sont des systèmes dont l'objectif est de fonctionner dans un environnement contraint temporellement. Un système temps réel doit ainsi fonctionner de manière fiable selon des contraintes temporelles spécifiques, c'est-àdire qu'il doit être capable de délivrer un traitement correct des informations reçues à des intervalles de temps bien définis (réguliers ou non). Voici quelques exemples de systèmes d'exploitation temps réel : OS-9 ; RTLinux (RealTime Linux) ; QNX ; VxWorks. Les types de systèmes d'exploitation On distingue plusieurs types de systèmes d'exploitation, selon qu'ils sont capables de gérer simultanément des informations d'une longueur de 16 bits, 32 bits, 64 bits ou plus. Système Codage Monoutilisateur DOS 16 bits X Windows3.1 16/32 bits X non préemptif X coopératif Windows95/98/Me 32 bits WindowsNT/2000 32 bits Multiutilisateur Monotâche Multitâche X X préemptif WindowsXP 32/64 bits X préemptif Unix / Linux 32/64 bits X préemptif MAC/OS X 32 bits X préemptif pour plus de documents : www.almohandiss.com VMS 32 bits X préemptif Unix Unix est au départ un projet de recherche. Son succès est la conjonction de plusieurs facteurs : la mise à disposition des universités américaines d'un système d'exploitation utile pour l'enseignement puisque ses sources étaient fournies par son propriétaire, donc pédagogiquement intéressant pour former des informaticiens un désir profond des clients d'échapper à la diversité des systèmes d'exploitation qui les condamnait à un fournisseur unique car la reconversion d'applications n'était plus économiquement envisageable la montée en puissance de la micro informatique qui a permis de faire fonctionner efficacement un système complexe sur des stations de faible coût. Si le domaine des stations individuelles est indéniablement l'apanage de Windows et de Microsoft, Unix dans sa réalisation Linux, est sans conteste le leader dans le domaine des serveurs. Windows Windows est un OS développé pour plate-forme PC à base de processeur Intel ou compatible. Avant Windows il y avait MS-DOS (Desktop Operating System). Lorsque les microprocesseurs font leur apparition une floraison de machines personnelles devient rapidement disponible sur le marché, avec des systèmes d’exploitation assez rudimentaires, ce qui est normal du fait de la puissance des processeurs disponibles ainsi que de la taille mémoire de ces machines. CP/M de Digital Research est alors le plus répandu. IBM qui fait la loi dans le monde de l’informatique (il représente alors 70% environ du marché mondial) ne peut se désintéresser de ce marché émergeant. En même temps il n’y croit pas : ces ordinateurs sont des jouets destinés au grand public et n’intéresseront jamais les professionnels. Cependant comme la compagnie se doit d’être présente sur tous les créneaux IBM décide de commercialiser sa propre machine mais ne cherche pas, contrairement à sa politique habituelle où, jusqu’au moindre boulon de carrosserie, chaque composant est fabriqué par elle, à développer sa propre solution et recourt pour la première fois à d’autres fournisseurs : Intel pour le processeur, un débutant nommé Bill Gates pour le système d’exploitation. Les informaticiens ne croient pas beaucoup à cette machine et s’en moquent en affirmant que IBM a fait le choix de la pour plus de documents : www.almohandiss.com plus mauvaise machine avec le plus mauvais système ! Ceci est peut-être vrai mais le marché va leur donner tord, du fait de l’impact de la décision du plus grand constructeur mondial. Comme ces ordinateurs n’entrent pas dans sa stratégie à long terme la compagnie ne se préoccupe même pas de posséder tous les brevets et être seule en droit de construire des machines. C’est à ce manque de vision que le PC doit son avenir. Les intégrateurs d’Asie du Sud Est vont très rapidement la cloner et proposer des hardware à des prix compétitifs, Bill Gates fera évoluer son système d’exploitation et développera des outils de son coté. Pendant plusieurs années on pourra acheter la version DOS d’IBM parallèlement à celle de la jeune compagnie Microsoft que Bill Gates a fondé. Ceci fera le succès du PC : les cloneurs produiront des machines à un prix compétitif, Microsoft se consacrera au logiciel uniquement. A la même époque Steves Job crée Apple qui sera longtemps en avance dans le choix de ses solutions technologiques. Mais comme la compagnie est la seule à construire parallèlement le matériel et le logiciel elle ne pourra pas être financièrement compétitive et manque de souffle pour mener toutes ses activités en parallèle. Ce souci d’être seule propriétaire de ses solutions la retardera considérablement dans ses développements et aidera à établir la suprématie de Microsoft et d’Intel qui représente maintenant 95% du parc des ordinateurs personnels installés. DOS La première version de DOS apparut au deuxième semestre 1981. Il s’agit en fait de Q – DOS (Quick and Dirty Operating System), un petit système d’exploitation conçu pour un processeur 16 bits d’Intel. C’est l’adaptation à ce processeur du système le plus populaire à l’époque, CP/M prévu pour processeurs 8 bits. CP/M a été développé par Digital Research et est utilisé par la plupart des constructeurs hormis les plus gros : Apple, Commodore et Tandy. Ce travail est réalisé par une petite compagnie de Seattle et racheté par Microsoft, qui, moyennant quelques retouches mineures le rebaptise MS-DOS et le propose à IBM sous le nom PC-DOS. La version MS-DOS vendue en OEM par Microsoft apparaîtra un an plus tard. Cette version rudimentaire ne gère pas encore les disques mais uniquement une disquette 5’’1/4 de 160 Koctets ! La première version capable de gérer un disque dur apparaîtra en 1983. DOS comprend un nombre de commandes minimum mais comprend un interpréteur Basic qui permet déjà de développer des applications. Chaque nouvelle version va étendre les possibilités, manipulant notamment des disques de plus en plus grands. Notons la version 3.1 en 1983 qui permet de connecter les machines à un réseau et la version suivante qui gère les disquettes 3’’1/2. L’ultime version sert de sous-couche à Windows 95. Elle permet notamment de gérer les noms de fichiers longs moyennant quelques astuces, ce qui n’est pas sans poser de problèmes lorsqu’on emploie des supports amovibles et que l’on passe à des machines avec des versions plus anciennes. pour plus de documents : www.almohandiss.com Windows Windows est tout d’abord une simple interface graphique développée au-dessus de DOS qui apparaît fin 1981. Il prend d’abord l’aspect d’un tableur, Multiplan, avec des menus dans le bas de l’écran puis emploie des menus déroulants et prend le nom de Windows en novembre 1985. C’est sa véritable année de naissance. Windows 2 en 1987 change de façon signifiante, non seulement par l’emploi d’icônes (ce que faisait Apple depuis plusieurs années avec le mythique McIntosh) mais aussi avec la possibilité de fenêtres qui se recouvrent et enfin en fournissant un environnement de développement pour les applications qu’elles soient propres à la compagnie (Word, Excel…) ou créées par des éditeurs. Windows permet aussi d’exécuter plusieurs applications DOS concurremment dans la mémoire étendue. Windows 3 relooke complètement Windows et lui donne enfin une interface maniable, peut être pas autant que le McIntosh, mais qui s’en rapproche. Le plus important est qu’il permet de dépasser la limite fatidique des 640 Koctets et d’adresser les mémoires plus grandes disponibles. En 1992 avec Windows 3.1 on peut affirmer que Microsoft domine largement le marché. Mais Windows n’est toujours qu’une interface graphique au-dessus de DOS et l’on peut accéder aux commandes et aux fichiers des deux façons. Windows 95 améliore l’interface mais surtout devient un vrai système 32 bits. Il contient encore une machine virtuelle DOS pour des raisons de compatibilité afin de permettre aux anciens programmes de fonctionner encore. Celle-ci ne disparaîtra qu’avec XP en 2001. L’évolution principale de Windows 98 sera d’intégrer un navigateur pour communication sur le Web. Parallèlement, dès la fin des années 90 Microsoft met au point un vrai système multi taches destiné à jouer le rôle de serveur dans les réseaux et qui intègre donc de nombreuses nouvelles fonctionnalités dont des éléments de sécurité et de confidentialité que l’on considérait comme inutiles dans les machines personnelles. NT deviendra 2000 puis XP Professionnel qui se décline sous plusieurs versions. Microsoft a intégré, au fur et à mesure de l’augmentation de puissance des processeurs Intel, de plus en plus de fonctionnalités jusqu’à devenir un système complet aujourd’hui, trop complet même disent certains qui ont la crainte que les éditeurs de logiciels ne puissent plus offrir de solutions alternatives et que l’usager soit réduit à Microsoft ou rien. Qu’est-ce qui différentie Windows de Unix aujourd’hui ? Tout certainement mais il faudra surtout noter le refus de Microsoft d’ajouter les éléments nécessaires pour le transformer en système multi-utilisateurs. Dans le concept de la compagnie la machine est dédiée à un utilisateur unique à la fois. Le partage d’applications et de ressources ne peut se faire qu’en ajoutant dans le réseau un serveur et en y accédant dans le mode client-serveur. On peut être partisan d’un système ou de l’autre à la fois pour des raisons techniques mais aussi idéologiques car la suprématie de Microsoft fait peur mais pour plus de documents : www.almohandiss.com tous les analystes sont d’accord sur le fait que les deux systèmes auront à vivre ensemble pour longtemps. Les systèmes d’exploitation (operating system : OS) * Définition : c’est un logiciel avec deux fonctions : 1- Gérer les composants de la machine ( processeurs - mémoires – système E/S) : - Il donne l’ensemble des instructions et leur adresse dans la mémoire au processeur. - Il ramène les instructions de la mémoire. - Le stockage dans le disque consiste à reconnaitre plusieurs paramètres concernant l’organisation des répertoires au sein du disque. Cette tâche est réalisée par le système d’exploitation. - Le système d’exploitation communique avec les périphériques extérieurs à travers les drivers. 2- Interface de communication entre l’homme et l’ordinateur. L’utilisateur Applications L’OS Bios Device drivers Hardware Les applications qui n’ont pas besoin de l’OS pour passer au hardware sont appelées (applications système). Le driver est un logiciel de communication entre le hardware et le système d’exploitation. Applications( excel – mozilla – word) Interfaces> - CLI (command line interface) : l’utilisateur donne des commandes pour exécuter les tâches. - GUI ( graphical user interface) : l’utilisateur agit avec des menus et icones. * Critères de choix d’un OS : - Compatibilité. - Coût (/ shareware : logiciels que je dois payer / freeware : logiciels gratuits mais sans source pour élaborer une modification. / opensource : gratuit avec source) pour plus de documents : www.almohandiss.com - Convivialité. - Taille. - Fiabilité (qui se bloque rarement et qui prévoie tous les disfonctionnements). - Stabilité (Il peut s’en sortir en cas de situation stressante). - Sécurité.