11/11/2009

Comment fonctionnent les systèmes d'exploitation

Steve Ballmer, C.E.O. of Microsoft Corporation, visits a Best Buy store and watches a customer demonstrate the Windows Vista operating system. What does an operating system do?
Spencer Platt /Getty Images
Steve Ballmer, C.E.O. de Microsoft Corporation, des montres d'un client démontrer le système d'exploitation Windows Vista. Voir plus photos par ordinateur.

Lorsque vous allumez votre ordinateur, Il est agréable de penser que vous êtes en contrôle. Il ya l'ordinateur Trusty la souris, Que vous pouvez déplacer n'importe où sur l'écran, faisant appel à votre bibliothèque musicale ou Internet navigateur à la moindre caprice. Bien qu'il soit facile de se sentir comme un réalisateur en face de votre bureau ou ordinateur portable, Il ya beaucoup de choses à l'intérieur, et l'homme réel derrière le rideau de la manipulation des tâches nécessaires est le système d'exploitation.

La plupart des PC de bureau ou portable sont pré-chargés avec Microsoft Windows. Les ordinateurs Macintosh sont pré-chargés avec Mac OS X. Beaucoup de serveurs d'entreprise utilisent les systèmes d'exploitation Linux ou UNIX. Le système d'exploitation (OS) est la première chose chargées sur l'ordinateur - sans le système d'exploitation, un ordinateur est inutile.

Plus récemment, des systèmes d'exploitation ont commencé à apparaître dans les ordinateurs plus petits aussi. Si vous aimez jongler avec les dispositifs électroniques, vous êtes probablement heureux de constater que les systèmes d'exploitation peuvent maintenant être trouvés sur de nombreux appareils que nous utilisons tous les jours, à partir de téléphones cellulaires aux points d'accès sans fil. Les ordinateurs utilisés dans ces petits appareils ont été tellement puissants qu'ils peuvent désormais exécuter effectivement un système d'exploitation et applications. L'ordinateur dans un téléphone cellulaire moderne typique est maintenant plus puissant qu'un ordinateur de bureau à partir de 20 ans, si cette progression est logique et constitue un développement naturel.

Le but d'un système d'exploitation est d'organiser et de contrôler le matériel et logiciel afin que le dispositif, il vit à se comporte d'une manière flexible, mais prévisible. Dans cet article, nous allons vous dire ce que un morceau de logiciel doit faire pour être appelé un système d'exploitation, pour vous montrer comment le système d'exploitation de vos œuvres d'ordinateur de bureau et vous donner quelques exemples de la façon de prendre le contrôle d'autres systèmes d'exploitation autour de tu.

Qu'est-ce qu'un système d'exploitation?

Pas tous les ordinateurs dotés de systèmes d'exploitation. L'ordinateur qui contrôle le four micro-ondes dans votre cuisine, par exemple, n'a pas besoin d'un système d'exploitation. Il a un ensemble de tâches à exécuter, d'entrée très simple d'attendre (un clavier et d'un numéro pré-set quelques boutons) et simple, jamais de changement de matériel à contrôler. Pour un ordinateur de ce genre, un système d'exploitation des bagages serait inutile, augmentant le coût de développement et de fabrication de manière significative et ajouter de la complexité là où il n'en est requise. Au lieu de cela, l'ordinateur dans un four à micro-ondes se contente de lancer un seul programme câblé tout le temps.

Pour les autres dispositifs, un système d'exploitation crée la capacité à:

  • servir à diverses fins
  • interagir avec les utilisateurs de façon plus compliquée
  • restez au fait des besoins qui changent avec le temps

Tous les ordinateurs de bureau dotés de systèmes d'exploitation. Les plus courantes sont la famille Windows de systèmes d'exploitation développé par Microsoft, les systèmes d'exploitation Macintosh développé par Apple et la famille de systèmes d'exploitation UNIX (qui ont été développées par toute une histoire de particuliers, sociétés et collaborateurs). Il ya des centaines d'autres systèmes d'exploitation disponibles pour des applications à des fins spéciales, y compris les spécialisations pour les mainframes, la robotique, la fabrication, les systèmes de contrôle en temps réel et ainsi de suite.

En tout appareil qui possède un système d'exploitation, il ya généralement un moyen de faire des changements sur le fonctionnement du dispositif. C'est loin d'être un heureux hasard, l'une des raisons pour lesquelles les systèmes d'exploitation sont fabriqués à partir de la portabilité du code plutôt que permanente circuits physique est afin qu'ils puissent être changée ou modifiée sans avoir à débris de l'appareil tout entier.

Pour un utilisateur d'ordinateur de bureau, cela signifie que vous pouvez ajouter une mise à jour de sécurité, de correction du système, des applications nouvelles ou même un système d'exploitation entièrement nouveau plutôt que de junk votre ordinateur et recommencer avec un nouveau quand vous avez besoin de faire un changement. Tant que vous comprendre comment un système d'exploitation fonctionne et comment nous mettre au travail, dans de nombreux cas, vous pouvez modifier certains de la manière dont elle se comporte. C'est la même chose pour votre téléphone, aussi.

Indépendamment de ce qu'un dispositif fonctionne le système d'exploitation, quel est exactement peut-elle faire?

Système d'exploitation Fonctions

Au niveau le plus simple, un système d'exploitation fait deux choses:
  1. Il gère les ressources matérielles et logicielles du système. Dans un ordinateur de bureau, Ces ressources comprennent des éléments tels que le Processeur, mémoire, L'espace disque et plus (Sur un Cell Phone, Ils comprennent le clavier, l'écran, le carnet d'adresses, le numéroteur téléphonique, la batterie et la connexion réseau).

  2. Il fournit une façon stable et cohérente pour les applications de traiter avec le matériel sans avoir à connaître tous les détails du matériel.

La première tâche, la gestion des ressources matérielles et logicielles, est très important, car les divers programmes et méthodes d'entrée en concurrence pour l'attention de la une unité centrale (CPU) et la mémoire de la demande, de stockage et d'entrée / sortie (I / O) de bande passante pour leurs propres fins. À ce titre, le système d'exploitation joue le rôle du bon parent, en s'assurant que chaque application ait les ressources nécessaires tout en jouant très bien avec toutes les autres applications, ainsi que de ménager la capacité limitée du système pour le plus grand bien de tous les utilisateurs et applications.

-- La deuxième tâche, offrant une interface d'application cohérente, est particulièrement importante si l'on veut avoir plus d'un d'un type particulier d'ordinateur en utilisant le système d'exploitation, ou si le matériel composant l'ordinateur est toujours ouverte au changement. Un ensemble cohérent de Application Program Interface (API) permet aux développeurs de pouvoir écrire une application sur un ordinateur et avoir un niveau de confiance élevé étant capable de fonctionner sur un autre ordinateur du même type, même si la quantité de mémoire ou de la quantité d'espace de stockage est différent sur les deux machines .

Même si un ordinateur particulier est unique, un système d'exploitation ne peut assurer que les applications continuent à s'exécuter lors de mises à niveau matérielles et mises à jour se produire. C'est parce que le système d'exploitation - non pas la demande - est chargé de gérer le matériel et la distribution de ses ressources. L'un des défis auxquels font face les développeurs est de maintien de leurs systèmes d'exploitation suffisamment souple pour compatible avec le matériel à partir des milliers de vendeurs de fabrication de matériel informatique. Les systèmes actuels peuvent accueillir des milliers de différentes imprimantes, lecteurs de disques et des périphériques spéciaux dans toutes les combinaisons possibles.

Types de systèmes d'exploitation

Au sein de la grande famille des systèmes d'exploitation, il existe généralement quatre types, classés en fonction des types d'ordinateurs qu'ils contrôlent et le type d'applications qu'ils soutiennent. Les catégories sont les suivantes:
  • Real système d'exploitation temps (RTOS) - Real systèmes d'exploitation temps sont utilisés pour contrôler les machines, les instruments scientifiques et industriels. Un RTOS a généralement très peu d'utilisateur-interface, et pas de fin des utilitaires d'utilisateur, car le système sera une «boîte scellée" lors de sa remise à l'emploi. Une partie très importante d'un RTOS est de gérer les ressources de l'ordinateur de sorte qu'une opération particulière s'exécute exactement de la même quantité de temps, chaque fois qu'il se produit. Dans une machine complexe, ayant une délocaliser une partie plus rapidement simplement parce que les ressources système sont disponibles mai être tout aussi catastrophique que l'avoir bouge pas du tout parce que le système est occupé.

  • Mono-utilisateur, seule tâche - Comme son nom l'indique, ce système d'exploitation est conçu pour gérer l'ordinateur afin qu'un utilisateur peut effectivement faire une chose à la fois. Le Palm OS pour ordinateurs de poche Palm est un bon exemple d'un utilisateur moderne, simple, simple système d'exploitation tâche.

  • Mono-utilisateur, multi-tâches - C'est le type de système d'exploitation le plus de personnes utilisent leur ordinateur de bureau et ordinateurs portables d'aujourd'hui. Windows de Microsoft et les plateformes MacOS d'Apple sont deux exemples de systèmes d'exploitation qui va permettre à un utilisateur unique ont plusieurs programmes en fonctionnement à la fois. Par exemple, il est tout à fait possible pour un utilisateur Windows d'écrire une note dans un traitement de texte tout en téléchargeant un fichier depuis l'Internet pendant l'impression du texte d'un message e-mail.

  • Multi-utilisateur - Un système d'exploitation multi-utilisateurs permet à beaucoup de différents utilisateurs de tirer parti des ressources de l'ordinateur simultanément. Le système d'exploitation doit s'assurer que les exigences des différents utilisateurs sont équilibrées, et que chacun des programmes qu'ils utilisent a des ressources suffisantes et distinct de sorte que des problèmes avec un utilisateur n'a pas d'incidence sur toute la communauté des utilisateurs. Unix, VMS et les systèmes d'exploitation mainframe, tels que MVSSont des exemples de systèmes d'exploitation multi-utilisateur.


Photo gracieuseté Pomme
Mac OS X Panther screen shot


Il est important de différencier entre les systèmes d'exploitation multi-utilisateurs et les systèmes d'exploitation mono-utilisateur qui a le soutien de réseaux. Windows 2000 et Novell Netware peuvent chacun soutiennent des centaines ou des milliers d'utilisateurs en réseau, mais les systèmes d'exploitation eux-mêmes ne sont pas réellement multi-systèmes d'exploitation de l'utilisateur. Le System Administrator est le seul "utilisateur" pour Windows 2000 ou NetWare. Le support réseau et de tous les utilisateurs distants du réseau permet des connexions sont, dans le plan d'ensemble du système d'exploitation, un programme exécuté par l'utilisateur administratif.

Avec les différents types de systèmes d'exploitation à l'esprit, il est temps d'examiner les fonctions de base fournie par un système d'exploitation.

Systèmes d'exploitation

Lorsque vous allumez le pouvoir à un ordinateur, le premier programme qui s'exécute est généralement un ensemble d'instructions conservés dans l'ordinateur mémoire morte (ROM). Ce code porte sur le matériel du système pour s'assurer que tout fonctionne correctement. Cet Power-On Self Test (POST) vérifie la CPU, mémoire, Et Basic Input-Output Systems (BIOS) pour les erreurs et stocke le résultat dans un emplacement mémoire spéciale. Une fois la mission a complété avec succès, le logiciel chargé en ROM (parfois appelé le BIOS ou firmware) Commencera à activer les lecteurs de disque de l'ordinateur. Dans la plupart des ordinateurs modernes, lorsque l'ordinateur active le disque dur lecteur, il trouve la première pièce du système d'exploitation: le bootstrap loader.

Le chargeur d'amorçage est un petit programme qui a une fonction unique: il charge le système d'exploitation en mémoire et lui permet de commencer à fonctionner. Dans la forme la plus basique, le chargeur d'amorçage ensembles constituent les programmes petit pilote qui interface avec les sous-systèmes et le contrôle de différents matériels de l'ordinateur. Il précise les divisions de la mémoire qui maintiennent le système d'exploitation, information des utilisateurs et applications. Elle établit les structures de données qui contiendra les signaux multiples, les drapeaux et les sémaphores qui sont utilisés pour communiquer au sein et entre les sous-systèmes et les applications de l'ordinateur. Puis il tourne le contrôle de l'ordinateur sur le système d'exploitation.

Les tâches du système d'exploitation, au sens le plus général, se répartissent en six catégories:

  • Processeur de gestion
  • Gestion de la mémoire
  • Dispositif de gestion
  • Gestion du stockage
  • Interface d'application
  • Interface utilisateur

Bien qu'il existe certains qui affirment qu'un système d'exploitation devrait faire plus que ces six tâches et certains fournisseurs de système d'exploitation ne construisent plus de programmes de nombreuses fonctions d'utilité et auxiliaires dans leurs systèmes d'exploitation, ces six tâches définir le noyau de presque tous les systèmes d'exploitation. Ensuite, regardons les outils du système d'exploitation utilise pour effectuer chacune de ces fonctions.

Processeur de gestion

Le cœur de la gestion du processeur se résume à deux questions connexes:

  • Veiller à ce que chaque processus et l'application reçoit assez de temps du processeur de fonctionner correctement
  • En utilisant les cycles de processeur plus grand nombre possible d'un travail réel

L'unité de base du logiciel que le système d'exploitation traite dans la programmation des travaux effectués par le Processeur est soit un processus ou d'un fil, Selon le système d'exploitation.

Il est tentant de penser à un processus comme une application, mais qui donne une image incomplète de la manière dont les processus liés au système d'exploitation et le matériel. L'application que vous voyez (traitement de texte, un tableur ou d'un jeu) est, en effet, un processus, mais cette demande mai causer plusieurs autres processus pour commencer, pour des tâches telles que les communications avec d'autres appareils ou d'autres ordinateurs. Il existe également de nombreux processus qui s'exécutent sans vous donner des preuves directes qu'ils existent toujours. Par exemple, Windows XP et UNIX peuvent avoir des dizaines d'arrière-plan des processus en cours d'exécution pour gérer le réseau, la gestion mémoire, gestion de disque, virus contrôles et ainsi de suite.

Un processus, donc, est un logiciel qui exécute une action et peut être contrôlé - par un utilisateur, par d'autres applications ou par le système d'exploitation.

Il est des processus, plutôt que de demandes, que le système de fonctionnement des contrôles et des calendriers pour l'exécution par le processeur. Dans un système mono-tâches, le calendrier est simple. Le système d'exploitation permet à l'application pour commencer à courir, suspendre l'exécution que le temps nécessaire pour faire face à interrompt et l'utilisateur d'entrée.

Les interruptions sont des signaux spéciale envoyée par le matériel ou le logiciel de l'UC. C'est comme si une partie de l'ordinateur leva brusquement la main à demander de l'attention de la CPU lors d'une rencontre animée. Parfois, le système d'exploitation va planifier la priorité des processus afin que les interruptions sont masqué - C'est le système d'exploitation va ignorer les interruptions de certaines sources afin qu'un emploi donné peut être fini aussi vite que possible. Il ya quelques interruptions (comme celles des conditions d'erreur ou problèmes avec mémoire) Qui sont si importants qu'ils ne peuvent pas être ignorées. Ces non interrompt maskable (INM) doit être traitée immédiatement, indépendamment des autres tâches à accomplir.

Alors que les interruptions ajouter quelques complications à l'exécution des processus dans un système unique-tâches, le travail du système d'exploitation devient beaucoup plus compliqué dans un environnement multi-tâches du système. Maintenant, le système d'exploitation doit assurer l'exécution des demandes afin que tu crois qu'il ya plusieurs choses qui se passe à la fois. La situation est compliquée parce que le CPU ne peut faire qu'une chose à la fois. Aujourd'hui multi-processeurs de base et des machines multi-processeur peut traiter plus de travail, mais chaque cœur de processeur est encore capable de gérer une tâche à la fois.

Afin de donner l'apparence d'un tas de choses qui se passe dans le même temps, le système d'exploitation a pour basculer entre les différents processus des milliers de fois par seconde. Voici comment cela se passe:

  • Un processus occupe une certaine quantité de mémoire vive. Il fait également appel à des registres, piles et files d'attente au sein de la CPU et d'exploitation de l'espace mémoire système.
  • Lorsque deux processus sont multi-tâches, le système d'exploitation attribue un certain nombre de cycles d'exécution du processeur à un programme.
  • Après ce nombre de cycles, le système d'exploitation effectue des copies de tous les registres, piles et files d'attente utilisé par les processus, et prend note du point où le processus de pause dans son exécution.
  • Il charge alors tous les registres, les piles et files d'attente utilisé par le second processus et lui permet un certain nombre de cycles CPU.
  • Lorsque ceux-ci sont complètes, il fait des copies de tous les registres, piles et files d'attente utilisé par le deuxième programme, et charge le premier programme.

Process Control Block

Toutes les informations nécessaires pour garder la trace d'un processus lors du passage est gardé dans le coffret de données appelée un bloc de contrôle de processus. Le bloc de commande de processus contient généralement:

  • Un numéro d'identification qui identifie le processus
  • Pointeurs vers les emplacements dans le programme et ses données, où la dernière transformation s'est produite
  • Inscrivez contenu
  • États des pavillons différents et des commutateurs
  • Pointeurs vers les bornes supérieure et inférieure de la mémoire requise pour le processus de
  • Une liste des fichiers ouverts par le processus
  • La priorité du processus de
  • Le statut de tous les I / O dispositifs nécessaires par le processus

Chaque processus possède un statut qui lui est associée. De nombreux procédés consomment pas de temps CPU jusqu'à ce qu'ils obtiennent une sorte d'entrée. Par exemple, un processus pourrait être en attente d'une frappe de l'utilisateur. Alors qu'il attend la combinaison de touches, il utilise pas de temps CPU. Pendant qu'il attend, il est "suspendue». Lorsque la séquence de touches arrive, le système d'exploitation change de statut. Lorsque l'état de ces changements de processus, de l'attente à l'état actif, par exemple, ou de suspension à la course, les informations contenues dans le bloc de contrôle de processus doivent être utilisées comme les données dans n'importe quel Autre programme à l'exécution directe de la tâche de commutation partie du système d'exploitation.

Ce processus de permutation se passe sans ingérence directe de l'utilisateur, et chaque processus reçoit suffisamment de cycles CPU pour accomplir sa tâche dans un laps de temps raisonnable. Trouble peut commencer si l'utilisateur essaie d'avoir trop de processus fonctionnent en même temps. Le système d'exploitation lui-même exige quelques cycles CPU pour effectuer la sauvegarde et la permutation de tous les registres, les files d'attente et les cheminées des procédés d'application. Si les processus sont démarrés assez, et si le système d'exploitation n'a pas été soigneusement conçu, le système peut commencer à utiliser la grande majorité de ses cycles CPU disponibles pour basculer entre les processus plutôt que de lancer des processus. Quand cela arrive, on appelle cela raclée, Et il faut habituellement un certain type d'intervention directe de l'utilisateur d'arrêter les processus et ramener l'ordre au système.

Une façon pour les concepteurs de systèmes d'exploitation, réduire les chances de battre en réduisant le besoin pour de nouveaux procédés pour effectuer diverses tâches. Certains systèmes d'exploitation permettent une "processus-lite», Appelé fil, Qui peuvent traiter de tous les CPU-travail intensif d'un processus normal, mais ne traitent généralement pas avec les différents types d'E / S et ne crée pas de structures nécessitant le bloc vaste processus de contrôle d'un processus régulier. Un processus de début mai nombreux fils ou d'autres processus, mais un thread ne peut pas démarrer un processus.

Jusqu'à présent, tous les horaires dont nous avons discuté a concerné un seul CPU. Dans un système avec deux processeurs ou plus, le système d'exploitation doit diviser la charge de travail entre les processeurs, en essayant de concilier les exigences des processus requis avec les cycles disponibles sur les différents processeurs. Fonctionnement des systèmes asymétriques utiliser un processeur pour leurs propres besoins et de diviser les processus d'application entre les processeurs restants. Symmetric systèmes d'exploitation se diviser entre les différents processeurs, l'équilibrage de la demande par rapport à la disponibilité du processeur même lorsque le système d'exploitation lui-même est tout ce qui est en cours d'exécution.

Si le système d'exploitation est le seul logiciel avec les besoins d'exécution, le processeur n'est plus la seule ressource d'être programmées. Gestion de la mémoire est la prochaine étape cruciale de faire en sorte que tous les processus se déroulent bien.

­ Mémoire de stockage et de gestion
Quand un système d'exploitation gère l'ordinateur mémoire, Il existe deux grandes tâches à accomplir:
  1. Chaque processus doit disposer de suffisamment de mémoire dans lequel exécuter, et elle ne peut ni courir dans l'espace mémoire d'un autre processus, ni être exécuté dans un autre processus.
  2. Les différents types de mémoire dans le système doit être utilisé correctement pour que chaque processus peut exécuter plus efficacement possible.
La première tâche requiert le système d'exploitation à mettre en place les limites de la mémoire pour les types de logiciels et des applications individuelles.


À titre d'exemple, nous allons regarder un petit système imaginaire avec 1 méga-octet (1000 kilo-octets) de RAM. Au cours de la phase d'amorçage, le système d'exploitation de notre ordinateur imaginaire est conçue pour aller au début de la mémoire disponible, puis "back up" assez loin pour répondre aux besoins du système d'exploitation lui-même. Disons que le système d'exploitation a besoin de 300 kilo-octets pour fonctionner. Maintenant, le système d'exploitation va au fond de la piscine de RAM et commence la construction avec le logiciel pilote diverses nécessaire pour contrôler les sous-systèmes matériels de l'ordinateur. Dans notre imaginaire ordinateur, Aux conducteurs de prendre jusqu'à 200 kilo-octets. Donc, après avoir obtenu le système d'exploitation complètement chargée, il ya 500 kilo-octets restants pour les processus de demande.

Lorsque les applications commencent à être chargés en mémoire, ils sont chargés dans les tailles de bloc déterminé par le système d'exploitation. Si la taille du bloc est de 2 kilo-octets, puis tous les processus qui est chargé sera donné un morceau de mémoire qui est un multiple de 2 kilo-octets en taille. Les demandes seront chargés dans les tailles de blocs fixes, avec les blocs de départ et d'arrivée sur les frontières établies par des mots de 4 ou 8 octets. Ces blocs et les limites de contribuer à s'assurer que les demandes ne seront pas chargés par dessus un de l'autre l'espace par un peu mal calculé ou deux. Avec cette garantie, la grande question est de savoir quoi faire lorsque l'espace d'application de 500 kilo-octet est rempli.

Dans la plupart des ordinateurs, il est possible d'ajouter de la mémoire au-delà de la capacité initiale. Par exemple, vous pouvez élargir RAM de 1 à 2 gigaoctets. Cela marche bien, mais peut être relativement coûteux. Il ignore également un fait fondamental de l'informatique - la plupart des informations que l'application stocke dans la mémoire n'est pas utilisé à tout moment donné. Un processeur ne peut accéder à la mémoire d'un endroit à la fois, si la grande majorité de RAM n'est pas utilisé à tout moment. Comme l'espace disque est bon marché par rapport à RAM, puis en déplaçant les informations dans la mémoire vive sur le disque dur peut élargir considérablement l'espace mémoire vive sans frais. Cette technique est appelée gestion de la mémoire virtuelle.

Disk de stockage est seulement l'un des types de mémoire qui doit être gérée par le système d'exploitation, et c'est aussi le plus lent. Classés par ordre de vitesse, les types de mémoire dans un système informatique sont:

  • High-speed cache - Il est rapide, relativement petites quantités de mémoire qui sont à la disposition du CPU à travers les connexions les plus rapides. Contrôleurs de mémoire cache de prédire lequel des morceaux de données qu'un processeur aura besoin suivante et tirez-le de la mémoire principale dans le cache du haut débit pour accélérer les performances du système.
  • Mémoire principale - Il s'agit de la RAM que vous voyez mesurée en méga-octets lorsque vous achetez un ordinateur.
  • Mémoire secondaire - Il s'agit le plus souvent une sorte de rotation de stockage magnétique qui maintient les applications et les données disponibles à utiliser, et sert de Virtual Ram sous le contrôle du système d'exploitation.

Le système d'exploitation doit concilier les besoins des différents processus avec la disponibilité des différents types de mémoire, le déplacement de données dans des blocs (appelés pages) Entre la mémoire disponible car le calendrier des processus de diktats.

Application Program Interfaces

Tout comme les pilotes fournissent un moyen pour les applications à utiliser des sous-systèmes de matériel sans avoir à connaître tous les détails du fonctionnement de votre matériel, Application Program Interfaces (API) let programmeurs d'applications utilisent des fonctions des ordinateur et système d'exploitation sans avoir à garder une trace de tous directement les détails dans la CPUl 'opération. Regardons l'exemple de la création d'un fichier sur le disque dur pour contenir des données pour comprendre pourquoi il peut être important.

Un programmeur écrit une demande d'enregistrement des données d'un instrument scientifique peut souhaiter autoriser le scientifique pour spécifier le nom du fichier créé. Le système d'exploitation pourrait fournir une API fonction nommée Makefile pour créer des fichiers. Lorsque l'écriture du programme, le programmeur d'insérer une ligne qui ressemble à ceci:

Makefile [1,% Nom, 2]

Dans cet exemple, l'instruction indique au système d'exploitation pour créer un fichier qui permettra l'accès à ses données aléatoires (signifié par le 1 - L'autre option pourrait être de 0 pour un fichier de série), aura un nom tapé par l'utilisateur (Nom%) et aura une taille qui varie en fonction de la quantité de données est stockée dans le fichier (signifié par les 2 - D'autres options pourraient être de zéro pour une taille fixe, et 1 pour un fichier qui grandit à mesure que les données sont ajoutées, mais ne recule pas lorsque les données sont supprimés). Maintenant, regardons ce que le système d'exploitation ne pour activer l'instruction en action.

Le système d'exploitation envoie une requête à l'unité de disque pour obtenir la localisation de l'emplacement disponible d'abord de stockage gratuit.

Avec cette information, le système d'exploitation crée une entrée dans le système de fichiers indiquant le début et la fin emplacements du fichier, le nom du fichier, le type de fichier, si le fichier a été archivé, que les utilisateurs ont la permission de regarder ou de la modifier le fichier, la date et l'heure de création du fichier.

Le système d'exploitation écrit des informations au début du fichier qui identifie le fichier, met en place le type d'accès possible et comprend les informations autres que les liens du fichier à la demande. Dans tous ces renseignements, les requêtes sur le disque et l'adresse du début et la fin du fichier sont dans des formats fortement dépendant du fabricant et le modèle du lecteur de disque.

Parce que le programmeur a écrit le programme à utiliser l'API de stockage sur disque, le programmeur n'a pas à suivre les codes d'instruction, types de données et de codes de réponse pour chaque disque dur est possible et lecteur de bande. Le système d'exploitation, liée à des pilotes pour les sous-systèmes matériels divers, s'occupe des détails: l'évolution du matériel. Le programmeur doit simplement écrire du code pour l'API et faire confiance au système d'exploitation pour faire le reste.

API sont devenus l'une des zones les plus contestées de l'industrie informatique ces dernières années. Les entreprises comprennent que les programmeurs utilisant leurs API sera finalement traduire en la capacité de contrôler et bénéficier d'une région particulière de l'industrie. C'est l'une des raisons pour lesquelles tant d'entreprises ont été disposés à fournir des applications telles que les lecteurs ou les téléspectateurs au public sans frais. Ils savent que les consommateurs demande que les programmes de tirer parti des lecteurs gratuits, et sociétés d'application seront prêts à payer des redevances pour permettre à leurs logiciels pour assurer les fonctions demandées par les consommateurs.

Interface utilisateur

De même que l'API fournit une façon cohérente pour les applications d'utiliser les ressources de la ordinateur système, un Interface utilisateur (IU) apporte la structure à l'interaction entre un utilisateur et l'ordinateur. Dans la dernière décennie, presque tout le développement dans les interfaces utilisateur a été dans le domaine de la interface utilisateur graphique (GUI), avec deux modèles, Apple Macintosh et Windows de Microsoft, ont reçu le plus de l'attention et obtenir la majorité des parts de marché. Le populaire open-source pour Linux du système d'exploitation prend également en charge une interface utilisateur graphique.


Capture d'écran Copyright © 2003 Red Hat, Inc Tous droits réservés.
Réutilisées avec l'autorisation de Red Hat, Inc

Capture d'écran de système d'exploitation Red Hat Linux


Il existe d'autres interfaces utilisateur, des graphiques et d'autres non, pour les systèmes d'exploitation.

Unix, par exemple, a appelé les interfaces utilisateur obus qui présentent une interface utilisateur plus souple et plus puissant que le texte du système d'exploitation standard basé sur l'interface. Des programmes tels que le shell Korn Shell et le C sont à base de texte des interfaces qui ajoutent des services publics importants, mais leur but principal est de rendre plus facile pour l'utilisateur de manipuler les fonctions du système d'exploitation. Il existe également des interfaces utilisateur graphiques, comme X-Windows et Gnome, qui font Unix et Linux Plus d'ordinateurs Windows et Macintosh du point de vue utilisateur.

Il est important de se rappeler que dans tous ces exemples, l'interface utilisateur est un programme ou ensemble de programmes qui se repose comme une couche au-dessus du système d'exploitation lui-même. La même chose est vrai, avec des mécanismes un peu différents, des deux systèmes d'exploitation Windows et Macintosh. Les fonctions du système d'exploitation de base - la gestion du système informatique - se trouvent dans le noyau du système d'exploitation. Le Display Manager est distincte, même si elle mai être étroitement liées à la kernel dessous. Les liens entre le noyau du système d'exploitation et l'interface utilisateur, les services publics et d'autres logiciels de définir un grand nombre des différences dans les systèmes d'exploitation actuels, et continuera à les définir à l'avenir.


0 commentaires:

Enregistrer un commentaire