35 0 225KB
Système d'exploitation
Système d'exploitation Un système d’exploitation (SE, en anglais Operating System ou O.S.) est un ensemble de programmes responsables de la liaison entre les ressources matérielles d’un ordinateur et les applications informatiques de l’utilisateur (traitement de texte, jeux vidéo, etc… ). Il fournit aux programmes d'applications des points d’entrée génériques pour les périphériques.
Composition Un système d’exploitation est typiquement composé : • • • •
d’un noyau ; de bibliothèques ; d’un ensemble d’outils système ; de programmes applicatifs de base.
Le noyau du système Le noyau (ou cœur) assure les fonctionnalités suivantes : • gestion des périphériques (au moyen de pilotes) ; • gestion de l’exécution des programmes (aussi nommés processus) : • gestion de la mémoire attribuée à chaque processus ; • ordonnancement des processus (répartition du temps d’exécution sur le ou les processeurs). • synchronisation et communication entre processus (services de synchronisation, d’échange de messages, mise en commun de segments de mémoire, etc.) • gestion des fichiers (au moyen de systèmes de fichiers) ; • gestion des protocoles réseau (TCP/IP, IPX, etc.). Il s’agit de la couche primordiale, celle qui est lancée lors du démarrage de l’ordinateur. Grâce à celui-ci, les premiers services peuvent accéder aux applications système : gestion de la mémoire, accès aux disques durs et accès aux périphériques. Il gère donc les ressources de l’ordinateur et permet aux différents composants matériels et logiciels applicatifs de communiquer entre eux. Dans certains systèmes d’exploitation, la mémoire vive est divisée en deux parties indépendantes : le noyau et l’espace utilisateur. Ce dernier est l’espace de la mémoire dédié aux applications, ce qui permet plus de sécurité : les applications de l’espace utilisateur ne peuvent ni accidentellement ni intentionnellement accéder à une zone mémoire ne leur appartenant pas. Les noyaux ont comme fonction de base d’assurer le chargement et l’exécution des processus, de gérer les entrées-sorties et de proposer une interface entre l’espace noyau et les programmes de l’espace utilisateur. Le système d’exploitation, par cette double structure noyau/utilisateur, permet le plus souvent aux applications d’être indépendantes de la machine sur laquelle elles fonctionnent. Le système d’exploitation masque donc les particularités de chaque ordinateur, en garantissant les interfaces nécessaires à la compatibilité.
1
Système d'exploitation
Les bibliothèques Les bibliothèques servent à regrouper les opérations les plus utilisées dans les programmes informatiques, afin d’éviter la redondance de la réécriture de ces opérations dans tous les programmes. On distingue généralement deux types de bibliothèques: les bibliothèques système, et les bibliothèques utilitaires. Les bibliothèques système sont constituées de fonctions permettant l’utilisation agréable des fonctionnalités système (généralement des points d’entrée vers des fonctions du noyau, mais pas seulement). Les bibliothèques utilitaires contiennent des fonctions d’usage courant et pratique (fonctions mathématiques, fonctions de tri, etc). Du point de vue du système, les bibliothèques ont différentes caractéristiques. Il y a le caractère statique ou dynamique, et le caractère partagé ou non. Une bibliothèque statique contient des fonctions qui seront intégrées au code généré par le compilateur (édition de liens statique). L’inconvénient est qu’un code ainsi obtenu n’est pas mis à jour lorsque la bibliothèque change. L’avantage est que le code à lui seul est autonome. Une bibliothèque dynamique est une bibliothèque qui contient des fonctions qui seront intégrées au code au moment de son exécution (édition de liens dynamique). L’avantage est que le code est à jour vis-à-vis de la mise à jour des bibliothèques. L’inconvénient est que l’exécution dépend de l’existence de la bibliothèque. On raffine aussi l’aspect dynamique en liaison tardive (intégration de la fonction lorsqu’elle est appelée) ou au chargement (intégration des fonctions dès que le programme commence à s’exécuter). Une bibliothèque partagée est une bibliothèque dont il est garanti que le contenu ne sera présent qu’en un seul exemplaire dans le système d’exécution, les fonctions seront partagées par toutes les applications les utilisant.
Le système de fichiers Un système de fichiers (FS ou filesystem en anglais) ou système de gestion de fichiers (SGF) est une structure de données permettant de stocker les informations et de les organiser dans des fichiers sur ce que l’on appelle des mémoires secondaires (disque dur, disquette, CD-ROM, clé USB, etc.). Ce stockage de l’information est persistant. Une telle gestion des fichiers permet de traiter et de conserver des quantités importantes de données ainsi que de les partager entre plusieurs programmes informatiques. Il offre à l’utilisateur une vue abstraite sur ses données et permet de les localiser à partir d’un chemin d’accès.
Les outils système Les outils système permettent : • de configurer le système (gestion des comptes des utilisateurs, configuration des paramètres réseau, démarrage automatique des services, etc.) ; • de passer le relais aux applications proposant des services à un ou plusieurs utilisateurs ou à d’autres ordinateurs, grâce au réseau par exemple.
2
Système d'exploitation
L'interface utilisateur L'interface utilisateur aussi nommée interface homme-machine (IHM) permet à un homme de se servir de l'ordinateur. Au niveau matériel, elle consistait à l'origine en des interrupteurs et des lampes, puis des cartes perforées. De nos jours, la plupart des ordinateurs sont équipés de clavier, souris et moniteur. Cette interaction homme machine s’élabore tant par le biais d'interfaces graphiques qu'en ligne de commande par le « Shell ». La ligne de commande La ligne de commande (en anglais CLI pour Command Line Interface) était la seule interface disponible sur les ordinateurs des années 1970. Elle est encore utilisée en raison de sa puissance (Turing-complétude du langage), de sa grande rapidité et du peu de ressources nécessaires à son fonctionnement. L’interface graphique L'interface graphique (en anglais GUI pour Graphical User Interface) s’oppose à l’interface en ligne de commande. Les parties les plus typiques de ce type d’environnement sont le pointeur de souris, les fenêtres, le bureau, les icônes. D'autres contrôles graphiques sont couramment utilisés pour interagir avec l’utilisateur : les boutons, les menus, les barres de défilement. Les systèmes d’exploitation grand public (Windows, MacOS, les distributions grand public de GNU/Linux, etc.) sont pourvus d’une interface graphique qui, dans un souci d'ergonomie, se veut conviviale, simple d’utilisation et accessible au plus grand nombre pour l'usage d'un ordinateur personnel. Ils incluent généralement aussi des utilitaires de gestion de fichiers et de configuration du système. L’interface graphique est en général relativement indépendante des autres composants du système d'exploitation. Il est ainsi possible dans certains systèmes d’exploitation de changer ou de personnaliser son environnement graphique. Sous Windows, ce changement peut s'effectuer à l'aide de programmes annexes, cette fonctionnalité n’étant pas facile à mettre en place sans cette aide. L’interface graphique représente la partie visible du système d’exploitation. Pour les systèmes d'exploitation commerciaux, elle évolue en même temps que le reste du système et donne son identité à chaque génération du système. Cela contribue à renforcer, pour l'utilisateur, l'impression d'une évolution tangible du système d'exploitation.
Les programmes applicatifs de base Les programmes applicatifs de base offrent des services à l’utilisateur (calculatrice, éditeur de texte, navigateur web, etc.). Ces programmes applicatifs sont souvent fournis en bundle (en vente liée) avec le système d’exploitation. Certaines personnes estiment qu’ils ne font pas réellement partie du système d’exploitation. La séparation entre les programmes applicatifs de base et le système d’exploitation est difficile à définir, du fait que l’un devient inutile sans l’autre, et que bon nombre d’applications sont programmées en supposant que les programmes applicatifs de base sont toujours présents.
3
Système d'exploitation
Historique Un type de programme héritier d’autres systèmes d’exploitation Les micro-ordinateurs sont parmi les dernières générations d’ordinateurs. Les systèmes d’exploitation qui leur sont dédiés ont donc été développés après les autres types de systèmes d’exploitation (systèmes pour ordinateur central et pour station de travail dont les plus connus aujourd’hui sont GNU/Linux et Windows). Un autre type de systèmes d’exploitation existe et a été créé après l’informatique personnelle : les systèmes d’exploitation embarqués.
Les années 1980 À cette époque les systèmes n’avaient ni la capacité ni la nécessité d’utiliser les systèmes d’exploitation pour mini et grands ordinateurs. Les premiers systèmes d’exploitation appelés moniteurs offraient seulement des fonctionnalités très basiques, et étaient chargés le plus souvent depuis de la mémoire morte. CP/M fut l’un des pionniers en matière de système d’exploitation installé sur un disque (et non sur mémoire morte). Ce système d’exploitation influença largement la conception de PC-DOS. Ce dernier, choisi par IBM comme système d’exploitation pour ses premiers PC, fit de Microsoft l’une des compagnies les plus rentables au monde. Les principales alternatives durant les années 1980 sur le marché des systèmes d’exploitation furent Mac OS en 1984, AmigaOS et Atari en 1985 et OS/2 en 1987.
Depuis les années 1990 A la fin des années 1990, Microsoft améliore la fiabilité, la sécurité et la convivialité de son interface graphique. En termes de sécurité et de fiabilité, les systèmes d'exploitation grand public de Microsoft sont loin derrière les dérivés d'Unix et des autres systèmes d'exploitation utilisés sur les serveurs des entreprises. Microsoft a donc opéré une migration de tous ses systèmes d’exploitation vers la branche Windows NT, mettant fin à la famille des Windows 9x, qui était dérivée de Windows 3.1 et avant cela, de MS-DOS. Durant la même période, Apple a totalement repensé le noyau et l’interface de son système d’exploitation en lançant Mac OS X. La partie non graphique est basée sur un système UNIX libre FreeBSD. Le moteur d’affichage de l’interface graphique, nommé Quartz, est géré en mode vectoriel. Le troisième grand acteur des systèmes d’exploitation est constitué par l’ensemble des distributions GNU/Linux. Ses parts de marché dans le domaine des ordinateurs personnels sont minoritaires, mais il est très présent sur le marché des serveurs. On parle de système GNU/Linux, car la communauté Linux fournit le noyau, tandis que la communauté GNU fournit les applicatifs de base, le compilateur, les bibliothèques. Chaque partie est essentielle au fonctionnement d'un ordinateur. Depuis quelques années, la communauté de développeurs de Linux étend les services auprès des néophytes avec des distributions comme Ubuntu ou Mandriva. Cette ouverture est réussie tant sur le plan technique que commercial puisque certaines marques proposent leurs ordinateurs grand public avec GNU/Linux. Par exemple certains ordinateurs Dell sont proposés avec la distribution Ubuntu. Un autre exemple, plus récent, est celui de la société
4
Système d'exploitation ASUS qui a lancé sa gamme de micro portables EEEPC, qui sont vendus en série avec un système GNU/Linux modifié par ASUS afin de l'adapter à l'appareil et simplifier son usage.
Architecture matérielle Microsoft Windows n'est actuellement[1] compatible qu'avec les processeurs d'architecture compatible i386 (32 bits) et amd64 (64 bits), soit principalement les processeurs de marque Intel, AMD et certains modèles VIA. Il utilise les multi-processeurs (et le multicore) en deux versions : mode 32 bits et mode 64 bits. Microsoft Windows CE est compatible avec quatre familles de processeurs X86, ARM, MIPS et SH. La liste précise des processeurs supportés peut être consultée sur le MSDN [2] Linux s'est vu porté sur à peu près toutes les architectures disponibles. Les diverses distributions Linux proposent un ensemble plus ou moins étendu d'architectures. Jusqu'en 2006, Mac OS n'était compatible qu'avec les ordinateurs Apple, équipés de processeurs PowerPC d'IBM. Depuis 2006, les ordinateurs Apple utilisent des processeurs Intel rendant possible l'utilisation de Windows sur les ordinateurs Apple et Mac OS sur Intel et AMD. Il est possible de réaliser un multiboot, à savoir installer plusieurs systèmes sur une seule et même machine en ayant le choix du système au démarrage.
Compatibilité des pilotes Certains problèmes empêchant le fonctionnement optimal du système peuvent provenir des pilotes des différents périphériques. Ceci arrive par exemple avec des périphériques pour lesquels aucun pilote n'a été développé, comme c'est parfois le cas pour Linux. En effet, certains constructeurs préfèrent proposer des pilotes pour d'autres systèmes et il est donc important de se renseigner sur la compatibilité d'un périphérique donné avec un système Linux lors de l'achat de ce périphérique. En revanche de vieux matériels non compatibles avec les systèmes propriétaires se trouvent être supportés par le noyau, car les développeurs incluent parfois dans les dernières versions des matériels anciens. Pour Mac OS, certains pilotes ne sont jamais développés par les constructeurs pour des périphériques qui ne sont pas censés être montés dans un ordinateur Macintosh. Ces manques sont généralement compensés par le travail de développeurs indépendants ou de communautés de développeurs libres.
5
Système d'exploitation
6
L’interopérabilité Pour les systèmes de fichiers L'un des problèmes qui se posent en matière d'interopérabilité concerne l'échange de données au travers des mémoires de masses, c'est à dire les systèmes de fichiers :
Prise en charge de certains système de fichiers sur différents OS, en natif Système de fichiers ext2/ext3/ext4
FAT 32
Opération
Linux
Mac OS X
Windows
Lecture
Non
Non
Écriture
Non
Non
Lecture Écriture
HFSX
NTFS
Lecture
Non
Écriture
Non
Lecture Écriture
Non
L'utilisation de programmes utilitaires adaptés peut être nécessaire pour échanger des données d'un système à l'autre. Par exemple, l'installation du logiciel libre Explore2fs[3] ou bien du gratuiciel FS Driver[4] sur Windows, permettent l'utilisation des systèmes de fichiers ext2/ext3/ext4.
Par réseau La popularité d'Internet a permis de généraliser l'utilisation de ses protocoles. L'échange de données par réseau n'est plus un problème majeur.
Liste Liste non-exhaustive de systèmes d’exploitation : • OS/2 d’IBM ; • OS/400 présent sur les moyens systèmes IBM (AS/400 - ISéries) ; • Mac OS : le premier système d’exploitation des ordinateurs Apple Macintosh, qui a succédé aux systèmes Lisa et Apple II, et a été suivi de Mac OS X puis d'iPhone OS ; • VMS et OpenVMS (Compaq, ex-Digital) ; • Geekeo : Open source et spécialisé dans la virtualisation ; • la famille des DOS, dont :
• • • •
• PC-DOS (version fournie par IBM avec les premiers x86), MS-DOS, DR-DOS, FreeDOS, PTS-DOS... Windows 9x, le système d’exploitation fenêtré de Microsoft basé sur le MSDOS ; Windows NT ; ReactOS, Un système d'exploitation libre compatible win32. BeOS et ses successeurs libres et propriétaires : Haïku.
• AtheOS et son fork Syllable dont l'arborescence du système de fichier est très proche d'UNIX.
Système d'exploitation • Dérivés d’UNIX (sous différentes déclinaisons : BSD, System V, etc.) dont : • GNU/Linux : un système d’exploitation libre s’appuyant sur le noyau Linux et les outils GNU. • Distributions : Debian, Mandriva, Ubuntu, Gentoo, Red Hat, Fedora, SuSE, Slackware, EduLinux… • la famille BSD : un effort réussi pour rendre sa liberté au système de Berkeley comprenant : • NetBSD, OpenBSD et son dérivé OliveBSD, FreeBSD et ses dérivés, PicoBSD, DragonFly BSD et PC-BSD; Darwin (sur lequel est construit Mac OS X, semi-propriétaire), OpenSolaris de Sun. • les UNIX propriétaires : • AIX (IBM, SystemV), A/UX (Apple, SystemV), BOS (Bull Operating System), Irix (Silicon Graphics, SystemV), HP-UX (Hewlett Packard, SystemV), LynxOS (LynuxWorks), NeXTSTEP (NeXT, BSD), Sinix (Siemens), Solaris(Sun, SystemV), SunOS (Sun, BSD), Tru64 (Compaq). • les systèmes d’exploitation grands systèmes (mainframes) : • Multics (père d’UNIX) et héritier de CTSS • IBM : MVS, VM, DOS/VSE, TPF • Bull : GCOS • Siemens : BS2000 • DEC : TOPS-10, TOPS-20 et ITS • Symbian OS est un système d’exploitation pour Smartphones
Bibliographie • Andrew Tanenbaum, Systèmes d’exploitation, Pearson Education France, 2008, 3e éd. (ISBN 978-2-7440-7299-4)
• Laurent Bloch, Les systèmes d’exploitation des ordinateurs. Histoire, fonctionnement, enjeux, Vuibert, 2003, (ISBN 978-2-7117-5322-2)
Références [1] Windows NT tournait sur les processeurs Alpha alors que ce n'est plus le cas des versions actuelles de Windows [2] http:/ / msdn. microsoft. com/ fr-fr/ embedded/ aa714536(en-us). aspx [3] Explore2fs : site officiel (http:/ / www. chrysocome. net/ explore2fs) [4] FS Driver : site officiel (http:/ / www. fs-driver. org)
7
Système d'exploitation
Voir aussi Articles connexes • • • • • • •
Ordonnancement Erreur système Interruption Noyau de système d’exploitation Liste des noyaux de systèmes d’exploitation Liste des systèmes d’exploitation Système d'exploitation temps réel
Liens externes • (fr) Cours gratuit système d'exploitation (http:/ / www. misfu. com/ information-cours-tutos-tutoriaux-Systeme+ Exploitation. html) (sur Misfu) • (fr) Notion sur les systèmes d’exploitation (http:/ / www. commentcamarche. net/ systemes/ sysintro. php3) (sur Comment Ça Marche) • (fr) L’ascension des systèmes d’exploitation Microsoft (http:/ / www. generation-nt. com/ dossiers/ lire/ 99/ Ascension-des-systemes-d-exploitation-Microsoft/ ) • (fr) Historique des systèmes d’exploitation, et des réseaux micro-informatique sur PC (http:/ / bruno. duffet. free. fr/ technique/ chrono. html) • (fr) Les systèmes d’exploitation des ordinateurs - Histoire, fonctionnement, enjeux (http:/ / www. laurent-bloch. org/ Livre-Systeme/ index. html) : Le texte intégral du livre de Laurent Bloch, avec l’aimable autorisation des Éditions Vuibert • (en) La Bible Internet des systèmes d’exploitation (http:/ / www. osdata. com/ ) : Principes, historique, familles, spécifications… • (fr) BoOSt (http:/ / boost. freezee. org/ ) : Un autre système d’exploitation à but éducatif (32bits) • (fr) SOS (http:/ / sos. enix. org/ fr/ PagePrincipale) : Réalisation d'un OS simple, étape par étape, à but éducatif également. Sources et articles téléchargeables. • (fr) Zumba (http:/ / www. hexanium. com/ zumba/ ) : Système d’exploitation expérimental (32bits) dédié à l’électronique, l’automatisme et la robotique. • (fr) Exposition InformArchive (http:/ / www. informarchive. com) : Découvrez le 16 Juillet 2008 l'histoire des systèmes d'exploitation, sur une exposition organisée par des étudiants de In'Tech INFO (http:/ / www. intechinfo. fr), école d'ingénierie informatique de la région parisienne.
8
Sources et contributeurs de l'article
Sources et contributeurs de l'article Système d'exploitation Source: http://fr.wikipedia.org/windex.php?oldid=42397817 Contributeurs: APuteaux-102-1-3-33.abo.wanadoo.fr, Adrian de Lausanne, Alain Caraco, Alain r, Alibaba, Alkarex, Almak, Alno, Alvaro, Archeos, Archibald, Arm@nd, Atlence, Aurelienc, BMR, BTRONeur, Bapti, Bbhedia, Bmflo, Boly38, Bradipus, Brendàn, Buzz, C-cube, Calo, Cantons-de-l'Est, Ce`dric, Clebig, Clem23, Cykl, Céréales Killer, DSCH, DVD88, Daddo, DainDwarf, David Berardan, Dcp, Debiux, Deelight, Delph, Denys, Dfarreny, Doch54, DocteurCosmos, Dodot, Drongou, Dsant, Durandal, El Diablo, Ellisllk, Emirix, Escaladix, Evpok, Fish, Fluti, Foxandpotatoes, Francois Trazzi, Fred.th, Funkygono, GLec, GTof, Gedsismik, Grondin, Gédé, GôTô, Hbbk, Hellkeeper, Hemmer, Herman, Herrw, Hoccau, Hyssar, IAlex, ILux, IP non fixe, Ico, Iznogood, Jastrow, Jef-Infojef, Jejelefou, Jerome Charles Potts, JiBi-Why, Jikoo, Jkbw, Jloriaux, JmG, Jmax, Jmtrivial, JojoCrans, Kassus, Kineox, Kituse, Koko90, Korg, Kornfr, Koyuki, LaMasse, Laurent Nguyen, LeMorvandiau, Lgd, Liquid 2003, Litlok, Looxix, Louis-garden, MagnetiK, Mammique, Marc Mongenet, McX, Med, MetalGearLiquid, Mica, Michel Volle, Mkende, Mr, Mwarf, N3S, NicoV, Nono64, Notafish, Olrick, Ondelettes, Orthogaffe, Ouss1991, Outs, Oz, PJC, Pantoine, Patachonf, Pautard, Peco, Phe, Phido, PierreLachance, Plyd, Poil, Promu@ld, Ptaff, Pulsar, R4f, Rasputin, Rohanec, Romain Thouvenin, Romainhk, Romanc19s, Romanito, Roulio, Rpa, Rune Obash, Samuels, Sanao, Sawyer96, Scullder, Seb P, Seb35, Sebjarod, Shaihulud, Shawn, Shoop, Sima qian, Skiper, Smily, Snark, Solensean, Spooky, Steven Clouet, Stormy Ordos, Teutates, Theoliane, Thierry Dugnolle, Thomad06190, Tieno, Tieum512, Tranxen, Traroth, Trusty, Turbant, Vian.DC, Vspaceg, Wagaf-d, Walpole, Wishmaster, Xtremejames183, Xulin, YannickPatois, Yf, Zewan, script de conversion, 325 modifications anonymes
9
Source des images, licences et contributeurs
Source des images, licences et contributeurs Image:Yes check.svg Source: http://fr.wikipedia.org/windex.php?title=Fichier:Yes_check.svg Licence: GNU Free Documentation License Contributeurs: User:Gmaxwell, User:WarX Image:Black x.svg Source: http://fr.wikipedia.org/windex.php?title=Fichier:Black_x.svg Licence: inconnu Contributeurs: User:Howcheng
10
Licence Licence Creative Commons Attribution-Share Alike 3.0 Unported http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/
11