Compilation de connaissances sur les systèmes d'exploitation informatiques - Présentation des systèmes d'exploitation informatiques (Guide d'introduction aux systèmes d'exploitation informatiques)

Chapitre 1 Présentation des systèmes d'exploitation informatiques

1.1 Concepts de base des systèmes d'exploitation

1.1.1 Introduction aux systèmes d'exploitation

À l'ère de l'information d'aujourd'hui, je pense que tous les lecteurs connaissent les quatre mots « système d'exploitation ». Par exemple, Windows, Android, IOS, MacOS et Linux que nous utilisons souvent sont tous des systèmes d'exploitation. Le système d’exploitation est un logiciel indispensable à l’ère de l’information d’aujourd’hui. Pour les utilisateurs ordinaires, les quatre mots système d'exploitation sont à la fois familiers et inconnus, car les utilisateurs ordinaires ne prêtent attention qu'au logiciel d'application qui s'exécute sur chaque système d'exploitation. En fait, je ne connais pas grand chose sur le système d'exploitation qui aide ces logiciels d'application à exploiter les ressources matérielles.

Alors, qu’est-ce qu’un système d’exploitation exactement ?

Ici, autant regarder le schéma de structure d’un système informatique.

Insérer la description de l'image ici

Comme le montre la figure ci-dessus, le système d'exploitation est un logiciel entre le programme d'application et le matériel informatique. Le système d'exploitation et le matériel informatique interagissent directement, tandis que le logiciel d'application et l'utilisateur ne peuvent pas interagir directement avec le matériel informatique. .

Remarque : Dans la figure ci-dessus, il existe également une connexion directe entre l'utilisateur et le système d'exploitation. En effet, l'utilisateur peut interagir directement avec le système d'exploitation via l'interface de commande en ligne fournie par le système d'exploitation. Cette partie sera expliquée dans détail dans la section 1.1.2.

Pour résumer, nous donnons la définition standard du système d’exploitation comme suit :

Un système d'exploitation fait référence à un ensemble de programmes qui contrôlent et gèrent les ressources matérielles et logicielles de l'ensemble du système informatique , organisent et planifient de manière rationnelle le travail informatique et l'allocation des ressources, et fournissent des interfaces et des environnements pratiques pour les utilisateurs et d'autres logiciels . Le système d'exploitation est un ensemble de programmes dans un système informatique. Le logiciel système le plus basique .

Résumé de la section

Insérer la description de l'image ici

1.1.2 Fonctions du système d'exploitation

Le système d'exploitation assure principalement trois fonctions principales :

  • Agir à titre de gestionnaire des ressources du système informatique
  • Sert d'interface entre les utilisateurs et les systèmes matériels informatiques
  • En tant qu'expansion des ressources informatiques
1.1.2.1 En tant que gestionnaire des ressources du système informatique

En tant que gestionnaire des ressources du système informatique, le système d'exploitation a les fonctions de gestion du processeur, de gestion de la mémoire, de gestion des périphériques et de gestion des fichiers.

  • Gestion du processeur

    Dans un environnement de multiprogrammation, l'allocation et le fonctionnement des processeurs sont basés sur des processus (ou threads) comme unité de base. Par conséquent, la gestion des processeurs peut également être attribuée à la gestion des processus. Les principales fonctions de la gestion des processus comprennent le contrôle des processus, Synchronisation des processus, communication des processus, gestion des blocages, planification du processeur, etc. (Ces fonctions seront présentées en détail dans les chapitres suivants)

  • gestion de la mémoire

    La gestion de la mémoire vise à fournir un bon environnement pour le fonctionnement de plusieurs programmes, à faciliter l'utilisation des utilisateurs et à améliorer l'utilisation de la mémoire. Elle comprend principalement l'allocation et le recyclage de la mémoire, le mappage d'adresses, la protection et le partage de la mémoire, l'extension du contenu et d'autres fonctions.

  • Gestion d'appareils

    La tâche principale de la gestion des appareils est de répondre aux demandes d'E/S des utilisateurs, de faciliter l'utilisation de divers appareils et d'améliorer l'utilisation des appareils. Elle comprend principalement des fonctions telles que la gestion des tampons, l'allocation des appareils, le traitement des appareils et les appareils virtuels.

  • Gestion de fichiers

    Les informations contenues dans l'ordinateur existent sous forme de fichiers. La partie du système d'exploitation responsable de la gestion des fichiers est appelée le système de fichiers. La gestion des fichiers comprend la gestion de l'espace de stockage des fichiers, la gestion des répertoires, ainsi que la gestion et la protection des fichiers en lecture et en écriture.

1.1.2.2 En tant qu'interface entre les utilisateurs et les systèmes matériels informatiques

Le système d'exploitation fournit une interface utilisateur permettant aux utilisateurs de manipuler le matériel informatique de manière pratique, rapide et fiable et d'exécuter leurs propres programmes. Il existe deux types d'interfaces utilisateur fournies par le système d'exploitation : l'interface de commande et l'interface de programme . Les utilisateurs peuvent utiliser directement l'interface de commande pour interagir avec le système d'exploitation afin de terminer l'exécution du travail. Les interfaces de programme sont programmées par les programmeurs pour utiliser ces interfaces pour demander les services fournis par le système d'exploitation.

Ici, le système d'exploitation utilise l'idée d' encapsulation pour encapsuler certaines fonctions matérielles complexes dans des services simples et faciles à utiliser, afin que les utilisateurs puissent utiliser l'ordinateur facilement sans se soucier des principes matériels sous-jacents et n'aient qu'à émettre des commandes pour le système d'exploitation. .

Insérer la description de l'image ici

La figure ci-dessus montre que le logiciel d'application obtient les fonctions fournies par un système d'exploitation via l'interface fournie par le système d'exploitation, manipulant ainsi le matériel informatique.

  • interface de commande

    Les interfaces de commande sont divisées en deux catégories : interface de commande en ligne et interface de commande hors ligne.

    Interface de commande en ligne

    L'interface de commande en ligne, également appelée interface de commande interactive , est une interface adaptée aux systèmes en temps partagé ou en temps réel. Il se compose d'un ensemble de commandes de fonctionnement au clavier. Les utilisateurs saisissent des commandes de fonctionnement via la console ou le terminal pour proposer diverses exigences de service au système. Chaque fois que l'utilisateur entre une commande, le contrôle sera transféré à l'interpréteur de commandes du système d'exploitation, puis l'interpréteur de commandes interprétera et exécutera la commande saisie pour terminer la fonction spécifiée. Ensuite, le contrôle sera transféré à nouveau à la console ou terminal. A ce moment, l'utilisateur peut alors saisir la commande suivante. Autrement dit : l'interaction de l'utilisateur avec le système d'exploitation à l'aide de l'interface de commande en ligne s'effectue en alternance.

    Par exemple, dans un système Windows, appuyez sur Win+R sur le clavier, entrez cmd et appuyez sur Entrée pour accéder à l'interpréteur de commandes et utiliser les commandes fournies par divers systèmes d'exploitation pour interagir avec le système d'exploitation (telles que la commande time pour obtenir l'heure actuelle). temps).

    Interface de commande hors ligne

    L'interface de commandes hors ligne, également connue sous le nom d'interface de commandes par lots , convient aux systèmes de traitement par lots. Elle se compose d'un ensemble de commandes de contrôle des tâches. Les utilisateurs hors ligne ne peuvent pas intervenir directement dans l'exécution de la tâche. Au lieu de cela, ils écrivent une série correspondante de commandes. commandes de contrôle à l'avance. Les instructions d'exploitation du travail sont soumises au système d'exploitation avec le travail. Lorsque le système planifie le travail, l'interpréteur de commandes du système exécute les commandes de la description de travail une par une, contrôlant ainsi indirectement le fonctionnement du travail. Autrement dit, l'utilisateur utilise l'interface de commande hors ligne pour interagir avec le système d'exploitation en fournissant une liste de tâches à l'avance, puis en la remettant au système pour qu'il l'exécute une par une selon la liste.

    Par exemple, fichier batch bat sous Windows

  • Interface du programme

    L'interface du programme se compose d'un ensemble d'appels système (également appelés instructions généralisées). Les programmeurs utilisent ces appels système dans leurs programmes pour demander certains services fournis par le système d'exploitation, tels que divers périphériques externes, allouer et récupérer de la mémoire, etc.

    La figure ci-dessous est un exemple d'un programmeur utilisant une interface de programme pour demander au système d'exploitation de fournir des services d'affichage pour le moniteur.

Insérer la description de l'image ici

L'interface utilisateur graphique (GUI) la plus populaire à l'heure actuelle, c'est-à-dire l'interface graphique, est implémentée en appelant l'interface du programme. Grâce à l'interface graphique, les utilisateurs peuvent utiliser directement la souris et le clavier pour utiliser facilement le système d'exploitation.

1.1.2.3 Comme expansion des ressources informatiques

Le bare metal (un ordinateur sans aucun logiciel) est la base matérielle d'un système informatique, et le système informatique présenté à l'utilisateur est un ordinateur transformé par plusieurs couches de logiciels. Le bare metal est la couche la plus interne et la couche externe est la Le système d'exploitation fournit des fonctions de gestion des ressources et diverses interfaces de service conviviales qui rendent le système nu plus puissant et plus pratique à utiliser. Par conséquent, nous appelons souvent les machines couvertes par un logiciel des machines étendues ou des machines virtuelles.

Résumé de la section

Insérer la description de l'image ici

1.1.3 Caractéristiques des systèmes d'exploitation

Le système d'exploitation est une sorte de logiciel système, très différent des autres logiciels système et logiciels d'application. Il possède certaines caractéristiques de base qui lui sont propres. Comprend les fichiers simultanés, partagés, virtuels et asynchrones . Comprendre ces concepts est très important ! ! !

1.1.3.1 Concurrence

La concurrence se produit lorsque deux événements ou plus se produisent dans le même intervalle de temps . Ces événements se produisent simultanément à une échelle macro et alternativement à une échelle micro . Dans le système d'exploitation, la concurrence fait référence à l'existence de plusieurs programmes exécutés simultanément dans le système informatique. Le système d'exploitation a la capacité de traiter et de planifier l'exécution simultanée de plusieurs programmes. Dans un environnement multi-programmation, au cours d'une période donnée, macroscopiquement, plusieurs programmes sont exécutés en même temps. Cependant, à chaque instant, un seul programme peut être exécuté dans un environnement à processeur unique. Par conséquent, microscopiquement, ces programmes sont toujours exécuté alternativement en temps partagé. , c'est-à-dire que la concurrence du système d'exploitation est obtenue grâce au partage du temps.

Remarque : La concurrence et le parallélisme sont deux concepts différents. Le parallélisme signifie que deux événements ou plus se produisent en même temps .

Le parallélisme signifie que le système a la caractéristique d'effectuer des calculs ou des opérations en même temps et peut effectuer deux tâches ou plus en même temps. Le parallélisme nécessite un support matériel suffisant, tel qu'un environnement matériel multiprocesseur.

Un processeur monocœur ne peut exécuter qu'un seul programme à la fois, et chaque programme ne peut être exécuté que simultanément.

Les processeurs multicœurs peuvent exécuter plusieurs programmes en même temps et chaque programme peut être exécuté en parallèle.

La figure suivante illustre la différence entre la concurrence et le parallélisme avec un exemple

Insérer la description de l'image ici

Dans l'image ci-dessus, si Xiao Ming suit le processus de gauche pour écrire ses devoirs, écouter de la musique et écrire ses devoirs l'un après l'autre, cela signifie que les deux comportements consistant à écrire des devoirs et à écouter de la musique de 10h00 à 12h00 sont exécutés simultanément. Si Xiao Ming suit le processus de droite et écrit ses devoirs tout en écoutant de la musique de 10h00 à 11h00, alors les deux comportements consistant à écrire des devoirs et à écouter de la musique sont exécutés en parallèle.

1.1.3.2 Partage

Le partage est le partage de ressources, ce qui signifie que les ressources du système peuvent être utilisées par plusieurs processus s'exécutant simultanément dans la mémoire.

Le partage de ressources est divisé en deux types : le partage mutuellement exclusif et l'accès simultané.

  • Mode de partage mutuellement exclusif

    Bien que certaines ressources du système (telles que les imprimantes, etc.) puissent être utilisées par plusieurs processus, afin d'éviter toute confusion dans les résultats d'impression, il convient de préciser qu'un seul processus est autorisé à accéder à la ressource pendant une période donnée. .

    Par conséquent, les ressources qui utilisent le partage mutuellement exclusif ne peuvent être accessibles que par un seul processus à la fois. Par exemple, si le processus A souhaite accéder à une certaine ressource, il doit d'abord faire une demande. Si la ressource est inactive à ce moment-là, le système La ressource est allouée au processus A. Si le processus B souhaite également accéder à la ressource à ce moment-là, le processus B doit attendre que le processus A libère la ressource après avoir fini de l'utiliser. Cette méthode est un partage mutuellement exclusif .

  • Méthode d'accès simultané

    Certaines ressources du système (comme les disques, etc.) permettent à plusieurs processus d'accéder « simultanément » sur une période donnée. La « simultanéité » mentionnée ici est macroscopique. Autrement dit, ces ressources permettent un accès simultané par plusieurs processus. Par exemple, plusieurs processus peuvent accéder simultanément à un périphérique de disque et lire un fichier.

La concurrence et le partage sont les deux caractéristiques les plus fondamentales du système d'exploitation . La relation entre les deux est une condition de l'existence de l'autre . Si le système ne permet pas l'exécution simultanée de programmes, il n'y aura naturellement aucun problème de partage des ressources. ; si le système ne peut pas mettre en œuvre le partage des ressources, une gestion efficace affectera l'exécution simultanée du programme.

1.1.3.3 Virtuel

La virtualisation consiste à transformer une entité physique en plusieurs homologues logiques. Les entités physiques existent réellement, mais leurs équivalents logiques n'existent pas. Ce sont des choses que les utilisateurs ressentent.

Dans le système d'exploitation, la technologie virtuelle est utilisée pour implémenter des fonctions telles que les processeurs virtuels , la mémoire virtuelle et les périphériques virtuels .

  • processeur virtuel

    Le processeur virtuel utilise une technologie de multiprogrammation pour exécuter plusieurs programmes simultanément et utiliser un processeur en temps partagé. À l'heure actuelle, bien qu'il n'y ait qu'un seul processeur, d'un point de vue macro, il peut servir plusieurs utilisateurs en même temps, donnant à chaque utilisateur final le sentiment qu'il existe un processeur spécifiquement pour lui.

  • Mémoire virtuelle

    La mémoire virtuelle convertit la mémoire physique réelle d'un ordinateur en mémoire virtuelle pour augmenter logiquement la capacité de la mémoire. À ce stade, la capacité de mémoire perçue par l'utilisateur est virtuelle.

  • périphérique virtuel

    Les périphériques externes virtuels utilisent la technologie virtuelle pour virtualiser un périphérique d'E/S physique en plusieurs périphériques d'E/S logiques, permettant à chaque utilisateur d'occuper un périphérique d'E/S logique, ce qui rend l'original uniquement autorisé pendant une période de temps. par un utilisateur sur une période donnée devient un appareil partagé qui permet à plusieurs utilisateurs d'accéder simultanément pendant une période donnée.

La technologie virtuelle du système d'exploitation peut être résumée comme suit : technologie de multiplexage temporel (processeur virtuel) et technologie de multiplexage spatial (mémoire virtuelle).

La condition préalable à la technologie virtuelle du système d'exploitation est la concurrence. S'il n'y a pas de concurrence, un seul processus peut être exécuté dans le système pendant un certain temps, alors la virtualité perdra son sens, c'est-à-dire que sans concurrence, il y aura pas de virtualité .

1.1.3.4 Asynchrone

Dans un environnement de multiprogrammation du système d'exploitation, puisque plusieurs programmes sont exécutés simultanément, l'exécution de chaque processus n'est pas cohérente, mais par étapes, et chaque processus avance à une vitesse imprévisible. asynchronisme du processus.

Étant donné que les processus exécutés simultanément sont en concurrence pour des ressources système limitées, l'exécution des processus n'est pas cohérente et ce n'est que lorsque le système est simultané que cela peut conduire à l'asynchronie.

Résumé de la section

Insérer la description de l'image ici

1.2 Historique de développement des systèmes d'exploitation

1.2.1 Étape de fonctionnement manuel (sans système d'exploitation)

Dans la phase initiale d'opération manuelle, chaque travail utilisant l'ordinateur nécessite une intervention manuelle, telle que le chargement et l'exécution de programmes, la sortie des résultats, etc. La figure ci-dessous montre le déroulement normal de la phase manuelle.

Insérer la description de l'image ici

Comme le montre la figure ci-dessus, la vitesse de calcul informatique est très rapide par rapport aux autres vitesses d'intervention manuelle dans l'ensemble du processus. Tout au long du processus, il arrive souvent que l'ordinateur ait déjà terminé le calcul, mais que l'humain soit encore en train de saisir lentement le programme suivant ou de lire les résultats de l'opération.

On constate que l'étape de fonctionnement manuel présente deux inconvénients principaux :

  • Les utilisateurs monopolisent l'ensemble de la machine, ce qui entraîne une faible utilisation des ressources
  • Le processeur attend les opérations manuelles et est sous-utilisé

1.2.2 Étape de traitement par lots (le système d'exploitation commence à apparaître)

Pour résoudre deux problèmes importants lors de la phase manuelle, des systèmes de traitement par lots ont vu le jour. Les systèmes de traitement par lots sont divisés en systèmes de traitement par lots monocanal et en systèmes de traitement par lots multicanal .

1.2.2.1 Système de traitement par lots monocanal

Dans le système de traitement par lots à canal unique, une technologie d'entrée/sortie hors ligne ( machine périphérique + bande ) est introduite , et le programme de supervision est responsable du contrôle de l'entrée et de la sortie du travail, ce qui résout le conflit entre l'homme et la machine et l'inadéquation. dans la vitesse du processeur et de l'équipement d'E/S.

Insérer la description de l'image ici

  • Caractéristiques

    • Automatisation : dans des circonstances normales, un lot de tâches sur la bande peut être exécuté automatiquement un par un sans intervention manuelle.

    • Séquentiellement, les travaux sur la bande sont entrés en mémoire et exécutés un par un dans l'ordre.

    • Monopiste, le programme de supervision ne transfère qu'un seul programme de la bande vers la mémoire pour l'exécuter.

  • avantage

    Dans une certaine mesure, cela résout le gaspillage de ressources provoqué par le conflit entre l'homme et la machine.

  • défaut

    En raison de la nature monocanal d'un système de traitement par lots monocanal, si une requête d'E/S est émise pendant l'exécution du programme, le processeur haute vitesse doit attendre que le périphérique d'E/S basse vitesse se termine avant de il peut continuer à fonctionner. Cela entraîne un gaspillage des ressources CPU.

1.2.2.2 Système de traitement par lots multicanal

Afin de résoudre les défauts du système de traitement par lots monocanal, le système de traitement par lots multicanal a vu le jour. Il utilise la technologie de multiprogrammation pour permettre à plusieurs programmes d'entrer dans la mémoire en même temps et de les exécuter alternativement. dans la CPU. De cette façon, même si un certain programme A demande un périphérique d'E/S pendant son exécution. La CPU peut également exécuter immédiatement d'autres programmes, puis continuer à faire fonctionner le programme A une fois que le périphérique d'E/S a traitement terminé.

Insérer la description de l'image ici

  • Caractéristiques

    La multiprogrammation signifie que plusieurs programmes s'exécutent simultanément dans la mémoire du système.

    Parallèle au niveau macro et série au niveau micro . Au niveau macro, tous les programmes en mémoire sont en cours d'exécution. Au niveau micro, un seul programme occupe le CPU en même temps.

  • avantage

    Plusieurs programmes s'exécutent simultanément et partagent les ressources de l'ordinateur, ce qui rend le processeur et les autres ressources entièrement « occupés » et améliore considérablement l'utilisation des ressources.

  • défaut

    Le temps de réponse de l'utilisateur est long et il n'y a pas de fonction d'interaction homme-machine (lorsque l'utilisateur soumet un travail, il ne peut qu'attendre que le système le traite automatiquement et ne peut intervenir manuellement).

1.2.3 Système d'exploitation en temps partagé

Le système d'exploitation à temps partagé utilise la technologie de partage de temps pour diviser le temps d'exécution du processeur en courtes tranches de temps et allouer le processeur à chaque tâche en ligne tour à tour en fonction de la tranche de temps . Chaque utilisateur peut utiliser le système d'exploitation à temps partagé. via le terminal. Les ordinateurs interagissent, si un travail A ne peut pas être terminé dans un intervalle de temps donné, le travail A sera suspendu et le processeur traitera d'autres travaux et attendra le tour suivant avant de continuer à exécuter le travail A. Le processeur étant très rapide, la rotation des tâches est également très rapide, ce qui donne à chaque utilisateur le sentiment qu'il dispose d'un processeur dédié qui le sert.

  • Caractéristiques

    La simultanéité, dans un système d'exploitation à temps partagé, permet à plusieurs utilisateurs finaux d'utiliser un ordinateur en même temps. Les utilisateurs de ces terminaux peuvent utiliser l'ordinateur en même temps ou sensiblement simultanément.

    Interactif, les utilisateurs peuvent dialoguer homme-machine avec le système et contrôler le déroulement du travail.

    Indépendance, les opérations entre plusieurs utilisateurs dans un système de partage de temps sont indépendantes les unes des autres et n'interfèrent pas les unes avec les autres.

    Rapidité, les demandes des utilisateurs peuvent recevoir une réponse dans un court laps de temps.

  • avantage

    Le système de partage de temps résout le problème de l'incapacité de l'interaction homme-machine dans les systèmes de traitement par lots multicanaux. Il permet à plusieurs utilisateurs de se connecter simultanément à un hôte via le terminal, et les opérations de chaque utilisateur sont indépendantes les unes des autres et ne peuvent pas être ressenties par les autres utilisateurs.

  • défaut

    Étant donné que le système de temps partagé alterne les tranches de temps pour exécuter chaque programme, cela a pour conséquence que le système de temps partagé est incapable de donner la priorité à certaines questions urgentes. Dans certains scénarios qui nécessitent que le système traite des informations externes dans un délai spécifié, le système de temps partagé système Le système n'est pas applicable (par exemple, réservation d'avions, surveillance en temps réel des avions et autres systèmes).

1.2.4 Système d'exploitation temps réel

Afin de résoudre le problème de l'incapacité du système de partage de temps à gérer les tâches urgentes, le système en temps réel a vu le jour. Les systèmes temps réel sont divisés en deux types, les systèmes temps réel durs et les systèmes temps réel logiciels .

  • système temps réel dur

    Les systèmes temps réel dur exigent qu’une action se produise absolument à un moment précis ou dans un intervalle de temps spécifié. (par exemple, système de conduite autonome)

  • Système temps réel souple

    Un système logiciel en temps réel stipule qu'une action doit être terminée dans un délai spécifié, mais peut accepter la violation occasionnelle des règles de temps et ne causera aucun dommage permanent une fois la situation survenue. (par exemple, système de réservation de billets de train)

  • avantage

    Sous le contrôle du système en temps réel, le système informatique peut traiter le signal externe à temps après l'avoir reçu et terminer le traitement dans un délai strict.

  • défaut

    Difficile à mettre en œuvre.

1.2.5 Autres systèmes d'exploitation

Outre les systèmes d'exploitation mentionnés ci-dessus, il existe également des systèmes d'exploitation de réseau, des systèmes d'exploitation informatiques distribués et des systèmes d'exploitation d'ordinateurs personnels.

  • système d'exploitation réseau

    Un système d'exploitation apparu avec le développement des réseaux informatiques peut combiner organiquement divers ordinateurs pour réaliser des fonctions de transmission de données, de partage de diverses ressources dans le réseau et de communication entre différents ordinateurs.

  • Système d'exploitation informatique distribué

    Un système d'exploitation informatique distribué se compose de plusieurs ordinateurs et remplit les conditions suivantes :

    1.系统中任意两台计算机间能够正常通信
    2.系统中的每台计算机都具有同等地位,没有从机和主机之分
    3.每台计算机上的资源为所有用户共享
    4.系统中的任意一台计算机都可以构成一个子系统且可以重构
    5.任何工作都可以分布在几台计算机上,由它们并行、协同完成。
    

    Ses principales caractéristiques sont la distribution et le parallélisme.

  • système d'exploitation d'ordinateur personnel

    Actuellement, les systèmes d'exploitation les plus utilisés, tels que Windows, Linux et MacOS, etc.

Résumé de la section

Insérer la description de l'image ici

1.3 Le mécanisme de fonctionnement du système d'exploitation

1.3.1 Préface

Avant d'apprendre le mécanisme de fonctionnement du système d'exploitation, nous devons disposer d'une certaine réserve de connaissances.

Autrement dit, nous devons comprendre comment fonctionne un programme ?

Lorsque nos programmeurs ont fini d'écrire un morceau de code et de le soumettre au compilateur pour compilation, un fichier d'instructions binaires sera formé. Les instructions contenues dans ce fichier sont les instructions que le CPU peut reconnaître et exécuter. De la même manière, si un programme veut s'exécuter sur un ordinateur, son programme interne doit être compilé une à une en instructions binaires, puis être reconnu et exécuté par le CPU.

Insérer la description de l'image ici

Pour apprendre le mécanisme de fonctionnement du système d'exploitation, il faut comprendre deux types d'instructions (instructions privilégiées et instructions non privilégiées), deux types de programmes (programmes noyau et programmes utilisateur), deux états (mode utilisateur et mode noyau), et les quatre noyaux du système d'exploitation. Juste un aspect.

1.3.2 Programme noyau et programme utilisateur

Dans le système d'exploitation, le processeur exécute deux programmes de natures différentes, l'un est le programme du noyau du système d'exploitation, appelé « programme du noyau », et l'autre est le programme d'application de la couche externe du système, appelé « utilisateur ». programme".

Le programme noyau est le gestionnaire du programme utilisateur. Les instructions privilégiées peuvent être exécutées dans le programme noyau et seules les instructions non privilégiées peuvent être exécutées dans le programme utilisateur .

Les programmes écrits par nos programmeurs sont généralement des programmes utilisateurs.

1.3.3 Instructions privilégiées et instructions non privilégiées

Parmi les instructions que le CPU peut reconnaître, il existe deux types d'instructions selon les autorisations, les instructions privilégiées et les instructions non privilégiées.

  • Consignes privilégiées

    Instructions que les utilisateurs ne sont pas autorisés à utiliser directement, telles que les instructions d'E/S, les instructions de réglage d'interruption, les instructions pour accéder aux registres protégés de la mémoire utilisateur, envoyer les mots d'état du programme aux registres de mots d'état du programme, etc.

  • instructions non privilégiées

    Instructions qui permettent aux utilisateurs de les utiliser directement. Les instructions non privilégiées ne peuvent pas accéder directement aux ressources logicielles et matérielles du système. Elles sont limitées à l'accès à l'espace d'adressage de l'utilisateur, ce qui peut empêcher les programmes utilisateur d'endommager les programmes système.

1.3.4 Mode utilisateur et mode noyau

Le mode de fonctionnement du CPU est divisé en deux modes, le mode utilisateur (mode œil) et le mode noyau (mode noyau, mode canal) . Le CPU en mode noyau peut exécuter des instructions privilégiées, mais le CPU en mode utilisateur ne peut pas exécuter d'instructions privilégiées.

Concernant le contenu du mode utilisateur et du mode noyau, les lecteurs doivent clarifier deux problèmes principaux.

1.3.4.1 Comment le processeur identifie-t-il s'il est actuellement en mode utilisateur ou en mode noyau ?

Il y a un registre dans la CPU appelé registre d'état du programme (PSW) . Il y a un bit binaire dans ce registre. 1 signifie que la CPU est en "mode noyau" et 0 signifie que la CPU est en "mode utilisateur" . Lorsque le CPU est en mode noyau, cela signifie que le programme du noyau est en cours d'exécution et que les instructions privilégiées peuvent être exécutées. Lorsque le CPU est en mode utilisateur, cela signifie que les programmes utilisateur sont en cours d'exécution et que seules les instructions non privilégiées peuvent être exécutées.

1.3.4.2 Comment le CPU change d'état

Si le processeur souhaite passer du mode utilisateur au mode noyau, il doit déclencher une interruption ou une exception par le programme utilisateur. Une fois que l'indicateur PSW est défini sur 1 par l'implémentation matérielle, il passera en mode noyau.

Si le CPU souhaite passer du mode noyau au mode utilisateur, le programme noyau appelle une instruction privilégiée qui modifie le PSW.

Les interruptions et exceptions seront expliquées dans les chapitres suivants.

1.3.5 Contenu inclus dans le noyau du système d'exploitation

1.3.5.1 Gestion de l'horloge

L'horloge est l'appareil le plus basique et le plus critique du système d'exploitation. Elle fournit des fonctions de synchronisation, d'interruption et autres.

  • La fonction de synchronisation permet au système d'exploitation de fournir l'heure standard à l'utilisateur.
  • La fonction d'interruption d'horloge peut réaliser une commutation de processus, telle que la gestion de la rotation des tranches de temps dans les systèmes d'exploitation à temps partagé.
1.3.5.2 Mécanisme d'interruption

L'intention initiale du système d'exploitation d'introduire la synchronisation des interruptions est d'améliorer l'utilisation du processeur dans un environnement multi-programmes, même si plusieurs programmes peuvent être exécutés simultanément. Au fil du temps, le mécanisme d'interruption est progressivement devenu la base des systèmes d'exploitation modernes. Par exemple, la saisie d'informations au clavier ou à la souris, la gestion et la planification des processus, les appels de fonctions système, les pilotes de périphériques, l'accès aux fichiers, etc., ces fonctions reposent toutes sur le mécanisme d'interruption.

1.3.5.3 Primitives

La couche inférieure du système d'exploitation est constituée de petits programmes publics qui peuvent être appelés. Ils peuvent chacun effectuer certaines opérations. Ces petits programmes sont appelés primitives. Ils ont les caractéristiques suivantes :

  • Il se trouve au bas du système d’exploitation et constitue la partie la plus proche du matériel.
  • Il est atomique, fonctionne en une seule fois et ne peut être interrompu.
  • Son exécution prend peu de temps et sera appelée fréquemment.

La manière directe de définir une primitive consiste à désactiver les interruptions et à les réactiver une fois l'exécution de la primitive terminée. Certaines opérations des pilotes de périphérique, la commutation d'état du processeur, la communication de processus et d'autres fonctions du système peuvent être définies comme des primitives. C'est-à-dire que les deux instructions privilégiées « instruction de désactivation d'interruption » et « instruction d'interruption ouverte » sont utilisées pour obtenir l'atomicité. Après avoir utilisé l'instruction « off interruption », la CPU ne détectera pas s'il y a un signal d'interruption lors de l'exécution du programme. Après avoir utilisé "l'instruction d'interruption ouverte", la CPU détectera s'il y a un signal d'interruption lors de l'exécution du programme. (Les connaissances liées aux interruptions seront introduites dans les chapitres suivants)

1.3.5.4 Structure des données et traitement du contrôle du système

Il existe de nombreuses structures de données utilisées pour enregistrer les informations d'état dans le système d'exploitation, telles que les blocs de contrôle de processus, les blocs de contrôle de tâches, les files d'attente de messages, les tampons, etc. Afin d'obtenir une gestion efficace, le système définit certaines opérations de base.

  • La gestion des processus

    Responsable de la gestion de l'état des processus, de la planification et de la répartition des processus, de la création et de l'annulation des blocs de contrôle des processus, etc.

  • gestion de la mémoire

    Responsable de l'allocation et de la lecture de l'espace mémoire, du programme de protection des informations sur la mémoire, du programme d'échange de code, etc.

  • Gestion d'appareils

    Responsable de la gestion des tampons, de l'allocation et du recyclage des appareils, etc.

Comme le montre le contenu ci-dessus, les instructions du mode noyau incluent en fait des instructions d'appel système et certaines instructions de fonctionnement pour les horloges, les interruptions et les primitives .

Résumé de la section

Insérer la description de l'image ici

1.4 Interruptions et exceptions

1.4.1 Le rôle des interruptions

Parlons d'abord de la conclusion : les interruptions sont le seul moyen pour le noyau du système d'exploitation de retrouver le droit d'utiliser le CPU .

Supposons le scénario suivant :

Dans le système d'exploitation, deux états, le mode noyau et le mode utilisateur, sont introduits. Lorsque l'utilisateur démarre le programme utilisateur A, le noyau du système d'exploitation cédera activement les droits d'utilisation du processeur au programme utilisateur A au moment approprié (c'est-à-dire le Le processeur est transféré de l'état du noyau au programme utilisateur A) . Passer en mode utilisateur . À ce stade, s'il n'y a pas de mécanisme d'interruption, le processeur restera en mode utilisateur et le noyau du système d'exploitation ne pourra pas obtenir le droit pour utiliser le processeur.

Par conséquent, un mécanisme d’interruption a été introduit dans le système d’exploitation.

Dans le chapitre ci-dessus, nous avons également mentionné que le CPU passe du mode utilisateur au mode noyau via le mécanisme d'interruption. (Déclenché par une interruption, le matériel change automatiquement l'état du processeur).

1.4.2 Types d'interruptions

Les interruptions sont divisées en deux types : les interruptions externes et les interruptions internes .

1.4.2.1 Interruption externe

Les interruptions externes, également appelées interruptions, font référence à des événements extérieurs aux instructions d'exécution du processeur. Elles sont généralement utilisées pour l'entrée/sortie d'informations. Par exemple, l'interruption de fin d'E/S émise par l'appareil indique que l'entrée/sortie de l'appareil est terminée. .

Exemple d'interruption externe :

Interruption d'horloge, en supposant que le composant d'horloge envoie un signal d'interruption au CPU toutes les 100 ms, la situation suivante se produira :

1.CPU依次执行应用程序A的每一条指令(CPU每执行完一条指令后,就会检查是否接收到了中断信号,如果没有则继续执行下一条指令)。
2.CPU接收到由时钟部件发送的中断指令,则转换为内核态,操作系统将CPU交给处理时钟中断指令的内核程序(此时一般会将CPU内核交给另外一个应用程序B)
3.CPU由内核态转换为用户态且应用程序B占有了CPU,CPU依次执行应用程序B的每条指令...

De la même manière, la situation ci-dessus peut également être appliquée à la situation dans laquelle le périphérique d'E/S envoie un signal d'interruption à la CPU.

1.4.2.2 Interrompu dans

Les interruptions internes sont également appelées exceptions, qui font référence à des événements survenus lors de l'exécution d'instructions par le processeur, tels que des événements provoqués par des opcodes illégaux dans le programme, des adresses hors limites et des instructions spéciales piégées. Les exceptions ne peuvent pas être bloquées et doivent être traitées immédiatement dès qu'elles se produisent .

Exemple d'interruption interne :

1.应用程序A试图在用户态下执行特权指令,这个指令是非法的,会引起一个中断信号,CPU接收到该中断信号,则转换为内核态,交由处理该中断信号的内核程序占有CPU。
2.应用程序A试图请求操作系统内核提供的服务,此时应用程序A执行了一个特殊的指令(陷入指令),该指令也会引起一个中断信号。

Une instruction piégée signifie que l'application renvoie activement les droits d'utilisation du processeur au noyau du système d'exploitation. (Les appels système sont implémentés via des instructions d'interruption)

1.4.2.3 Diagramme de classement

Insérer la description de l'image ici

1.4.3 Principes de base des interruptions

Le processus de gestion des interruptions et des exceptions est à peu près le suivant

Insérer la description de l'image ici

Lorsque la CPU détecte un événement anormal lors de l'exécution de la ième instruction du programme utilisateur (ou trouve un message de demande d'interruption après l'exécution de la ième instruction), la CPU interrompt le programme d'application en cours, puis se convertit à l'état du noyau et remet à l'exécution du gestionnaire d'interruption ou d'exception correspondant. Si le gestionnaire d'interruption ou d'exception peut résoudre le problème, une fois l'exécution du gestionnaire d'interruption ou d'exception terminée, ramenez la CPU à la i-ième instruction ou à l'instruction i+1 du programme utilisateur interrompu en exécutant l'instruction de retour d'interruption ou d'exception. L'exécution continue ; si le gestionnaire d'interruptions ou d'exceptions détecte qu'il s'agit d'une erreur fatale irrécupérable, le programme utilisateur est terminé.

Parmi eux, une fois que le CPU a détecté une interruption ou une exception, il trouvera l'emplacement du gestionnaire d'interruption correspondant dans la « table des vecteurs d'interruption » en fonction des différents types de signaux d'interruption.

Résumé de la section

Insérer la description de l'image ici

1.5 Appels système

1.5.1 Qu'est-ce qu'un appel système

L'appel système est un nom collectif pour une série d'interfaces fournies aux « programmeurs ». Diverses ressources partagées dans le système sont gérées de manière uniforme par le système d'exploitation, et les programmes utilisateur peuvent demander des services associés (allocation de stockage, entrées et sorties d'E/S, etc.) via des appels système.

Les appels système sont les interfaces de programme fournies par le système d'exploitation que nous avons mentionné dans la section 1.1.2.2.

1.5.2 La différence entre les appels système et les fonctions de bibliothèque

La différence entre les appels système et les fonctions de bibliothèque est indiquée dans le tableau suivant

niveau illustrer
Programme utilisateur Vous pouvez effectuer des appels système directement ou utiliser les fonctions de la bibliothèque
langage de programmation Fournir des fonctions de bibliothèque vers le haut. Certaines fonctions de bibliothèque encapsulent les appels système et masquent les détails des appels système.
système opérateur Fournir des appels système vers le haut afin que les programmes des couches supérieures puissent demander certains services du noyau

1.5.3 La nécessité des appels système

S'il n'y a pas d'appel système, c'est-à-dire que le système d'exploitation ne gère pas uniformément les différentes ressources partagées de l'ordinateur, une erreur sera envoyée dans le scénario suivant :

Lorsque vous souhaitez imprimer un fichier via une imprimante, vous utilisez la souris pour appuyer sur le bouton "Imprimer" de Word, et l'imprimante commence à imprimer votre fichier.

Au bout d'un moment, un autre collègue a appuyé sur le bouton "Imprimer" de WPS et l'imprimante a commencé à imprimer son fichier. Après cela, les deux processus s'exécuteront simultanément et le contenu de votre fichier sera mélangé avec le contenu de son fichier. .

Le scénario ci-dessus est dû au fait que l’imprimante à ressources partagées n’est pas gérée de manière uniforme.

Par conséquent, la nécessité des appels système est reflétée. Le noyau du système d'exploitation gère uniformément les ressources partagées et fournit des "appels système" vers le haut. Si le processus utilisateur souhaite utiliser des ressources partagées telles que des imprimantes, il doit envoyer un message au noyau système via le système. les appels, les requêtes, et le noyau du système coordonnera et traitera ces requêtes.

1.5.4 Scénarios applicables aux appels système

Toutes les opérations liées aux ressources partagées (opérations d'E/S, gestion de fichiers, etc.) doivent adresser des requêtes au noyau du système d'exploitation via des appels système, et le noyau du système d'exploitation le complétera en votre nom. Cela peut garantir la stabilité et la sécurité du système et empêcher les opérations illégales des utilisateurs.

La classification des appels système est présentée dans le tableau suivant

Fonction illustrer
Gestion d'appareils Fonctions complètes telles que la demande, la libération et le démarrage de l'appareil
Gestion de fichiers Fonctions complètes telles que la lecture, l'écriture, la création et la suppression de fichiers
contrôle de processus Fonctions complètes telles que la création, l'annulation, le blocage et le réveil de processus
communication de processus Fonctions complètes telles que la transmission de messages ou la transmission de signaux entre processus
Gestion de la mémoire Remplir des fonctions telles que l'allocation de mémoire, le recyclage et l'obtention de la taille et de l'adresse de départ de la zone mémoire occupée par le travail.

1.5.5 Processus d'appel système

Les étapes spécifiques sont les suivantes :

  1. La CPU exécute le programme d'application et certaines instructions du programme d'application transmettent certains paramètres d'appel système, puis exécute l'instruction piégée.
  2. Une fois que le CPU a exécuté l'instruction trap, l'instruction d'interruption déclenche un signal d'interruption et le CPU passe à l'état du noyau, qui est occupé par le gestionnaire d'interruption correspondant (programme d'entrée d'appel système). Selon certains paramètres du registre, il peut identifier de quel type d'appel système il s'agit.
  3. Le gestionnaire appelé par ce système occupe le CPU pour exécuter les instructions pertinentes. Une fois l'exécution terminée, il retourne au programme d'application et continue d'exécuter les instructions suivantes.

Le processus ci-dessus peut être résumé comme suit :

Passer les paramètres de l'appel système -> exécuter l'instruction piégée -> exécuter le gestionnaire correspondant pour gérer l'appel système -> revenir à l'application

Résumé de la section

Insérer la description de l'image ici

1.6 Structure du système d'exploitation

À mesure que les systèmes d'exploitation continuent de croître, diverses architectures de systèmes d'exploitation ont émergé. Actuellement, nous pouvons diviser les architectures de systèmes d'exploitation en cinq types : structure hiérarchique, modularisation, macro-noyau, micro-noyau et noyau externe.

1.6.1 Structure hiérarchique

1.6.1.1 Définition

La structure hiérarchique fait référence à la division du système d'exploitation en plusieurs couches. La couche la plus basse (couche 0) est le matériel et la couche la plus élevée (couche N) est l'interface utilisateur. Chaque couche ne peut appeler que les fonctions et services de la couche inférieure. immédiatement adjacente, c'est-à-dire que la couche inférieure monte jusqu'à la couche supérieure. Pour fournir des services, une couche de haut niveau dépend dans un sens de la couche située en dessous d'elle. Les détails sont présentés dans la figure ci-dessous.

Insérer la description de l'image ici

1.6.1.2 Avantages
  • Il facilite le débogage et la vérification du système et simplifie la conception et la mise en œuvre du système.

    Parce qu'il s'agit d'une dépendance unidirectionnelle, elle peut être déboguée couche par couche, de la couche inférieure à la couche supérieure. Si un problème est détecté dans une certaine couche, vous pouvez rapidement localiser l'erreur dans cette couche car sa couche inférieure a été débogué pour garantir qu'il n'y a aucun problème avec les fonctions fournies.

  • Facile à agrandir et à entretenir.

    Vous pouvez facilement modifier les fonctions d'un certain calque, tant que l'interface inter-couches de ce calque n'est pas modifiée, les autres calques ne seront pas affectés.

1.6.1.3 Inconvénients
  • Il est difficile de faire une distinction entre les différents niveaux.
  • L'efficacité est médiocre : chaque fois qu'une fonction de haut niveau est exécutée, les services de bas niveau peuvent devoir être continuellement appelés de bas en haut.

1.6.2 Modularisation

1.6.2.1 Définition

La modularisation fait référence à la division du système d'exploitation en plusieurs modules indépendants selon les fonctions. Chaque module est responsable d'une certaine fonction et chaque module peut être divisé en sous-modules. Comme indiqué ci-dessous

Insérer la description de l'image ici

1.6.2.2 Avantages
  • Amélioration de l'exactitude, de la compréhensibilité et de la maintenabilité de la conception du système d'exploitation
  • Adaptabilité améliorée du système d’exploitation
  • Amélioration de l’efficacité du développement du système d’exploitation
1.6.2.3 Inconvénients
  • L'interface entre les modules est difficile à répondre à la demande réelle de l'interface
  • Chaque concepteur de module travaille main dans la main et chaque décision ne peut pas être basée sur la décision correcte précédente, de sorte qu'un ordre fiable de décisions (par opposition à une structure hiérarchique) ne peut pas être trouvé.

1.6.3 Noyau de macro

1.6.3.1 Définition

Le macro-noyau, également appelé noyau unique ou grand noyau, fait référence aux principales fonctions du système d'exploitation exécuté dans l'état principal comme un tout étroitement lié, fournissant ainsi des services système hautes performances aux programmes utilisateur. Le diagramme schématique est le suivant.

Insérer la description de l'image ici

1.6.3.2 Avantages

Étant donné que les informations sont partagées entre les modules, les services entre les modules peuvent être rapidement appelés. Par conséquent, le noyau macro présente des avantages en termes de performances extrêmement élevés.

1.6.3.3 Inconvénients
  • Les fonctions du noyau sont complexes et difficiles à maintenir.
  • Une défaillance d'un certain module fonctionnel du noyau peut provoquer le crash de l'ensemble du système.

1.6.4 Micro-noyau

1.6.4.1 Définition

Le micro-noyau fait référence à la conservation des fonctions les plus élémentaires du noyau du système d'exploitation dans le noyau et au déplacement des fonctions qui n'ont pas besoin d'être exécutées dans l'état principal vers l'état utilisateur afin de réduire la complexité de conception du noyau. déplacés hors du noyau sont superposés selon Le principe est divisé en plusieurs programmes de service, leur exécution est indépendante les uns des autres et l'interaction est communiquée à l'aide du micro-noyau.

La structure du micro-noyau divise le système d'exploitation en deux parties : le micro-noyau et plusieurs serveurs .

Un micro-noyau est un petit noyau qui peut implémenter les fonctions les plus élémentaires d'un système d'exploitation, notamment les fonctions suivantes :

  1. Fonctions étroitement liées au traitement matériel
  2. Fonctions de communication entre client et serveur
  3. Quelques fonctions de base

La plupart des fonctions du système d'exploitation sont placées sur certains serveurs en dehors du micro-noyau. Par exemple, serveur de gestion de processus, serveur de périphériques d'E/S, etc. Ces serveurs fonctionnent en mode utilisateur et la communication entre eux est réalisée grâce au mécanisme de transmission de messages fourni par le micro-noyau. Le diagramme schématique est le suivant.

Insérer la description de l'image ici

1.6.4.2 Avantages
  • Facile à étendre, de nombreuses fonctions sont en dehors du noyau, il est très facile de modifier ou d'ajouter certaines fonctions.
  • Il a une excellente portabilité. Le code lié au processeur et au matériel d'E/S est placé dans le noyau. Divers autres serveurs sont indépendants du matériel, donc le portage du système d'exploitation sur une autre plate-forme nécessite des modifications minimes.
1.6.4.3 Inconvénients

Le principal inconvénient de la structure du micronoyau réside dans les performances, car elle nécessite des commutations fréquentes entre l'état principal et l'état utilisateur.

1.6.5 Noyau externe

Ayez juste quelques connaissances sur le noyau externe.

Le noyau externe est un programme qui s'exécute dans l'état du noyau. Sa tâche est d'allouer des ressources aux machines virtuelles et de vérifier les tentatives d'utilisation de ces ressources pour garantir qu'aucune machine n'utilisera les ressources d'autres personnes.

1.6.6 Résumé et comparaison

Nom de la structure caractéristique avantage défaut
Structure hiérarchique Le noyau est divisé en plusieurs niveaux et les niveaux supérieurs dépendent de manière unidirectionnelle des niveaux inférieurs. Facile à déboguer ; facile à développer et à maintenir Les limites de chaque couche sont difficiles à déterminer ; l’efficacité est faible et ne peut pas être utilisée entre les couches.
Modulaire Divisez le noyau en modules Facile à entretenir ; les modules peuvent communiquer entre eux ; prendre en charge le chargement dynamique de nouveaux modules La définition de l'interface entre les modules peut ne pas être raisonnable ; les modules dépendent les uns des autres et sont difficiles à déboguer.
noyau de macro Toutes les fonctionnalités sont placées dans le noyau Haute performance, chaque module s'appelle directement Les fonctions du noyau sont complexes et difficiles à maintenir ; une erreur dans une certaine fonction peut provoquer le crash de l'ensemble du système.
micronoyau Mettez uniquement les fonctions de base dans le noyau et mettez le reste sur d'autres serveurs Le noyau a peu de fonctions et est facile à maintenir ; il a une forte portabilité. Mauvaises performances, nécessitant des commutations fréquentes entre le mode utilisateur et le mode principal
noyau externe Le noyau est responsable de la planification des processus, de la communication des processus et d'autres fonctions, tandis que le noyau externe est responsable de l'allocation des ressources matérielles non extraites aux utilisateurs et de la garantie de la sécurité de l'utilisation des ressources. Le noyau externe alloue directement des ressources matérielles « abstraites » aux utilisateurs, permettant aux processus utilisateur d'utiliser les ressources matérielles de manière plus flexible. Cohérence réduite du système

Résumé de la section

Insérer la description de l'image ici

1.7 Programme de démarrage du système d'exploitation

1.7.1 Aperçu

De l'étude des chapitres précédents, nous avons appris que le système d'exploitation est essentiellement un programme, donc dans l'ordinateur, les programmes sont stockés sur le disque dur sous forme de données. Lorsque notre ordinateur appuie sur le bouton d'alimentation, comment exécuter le système d'exploitation installé sur le disque dur ? Ce problème nécessite que le programme de démarrage du système d'exploitation présenté dans cette section soit terminé. Cela signifie que l'ordinateur utilise le CPU pour exécuter un programme spécifique -> identifiez le disque dur via le programme -> identifiez la partition du disque dur - identifiez le système d'exploitation sur la partition du disque -> enfin démarrez le système d'exploitation via le programme . Le processus ci-dessus est effectué étape par étape sous la direction du programme de démarrage du système d'exploitation.

1.7.2 Processus de démarrage du système d'exploitation

Avant d'apprendre le processus de démarrage du système d'exploitation, nous devons d'abord comprendre quelles données sont stockées sur le disque dur.

L'image ci-dessous montre un disque vide

Insérer la description de l'image ici

Le nouveau disque que je viens d'acheter ne contient rien, tout comme une boîte vide.

L'image ci-dessous montre un disque une fois le système d'exploitation installé.
Insérer la description de l'image ici

La figure ci-dessous montre le diagramme schématique de la mémoire principale.

Insérer la description de l'image ici

Après avoir compris les structures associées ci-dessus, nous commencerons à apprendre le processus de démarrage des systèmes d'exploitation courants, qui est divisé en huit étapes suivantes.

  1. Activez le CPU . Le CPU activé lira le programme de démarrage dans la ROM, définira le registre d'instructions sur la première instruction du BIOS (Basic Input/Output System) et commencera à exécuter les instructions du BIOS.
  2. Auto-test du matériel . Après avoir démarré le programme BIOS, effectuez d'abord un auto-test du matériel pour vérifier s'il y a un défaut dans chaque matériel. Si un défaut se produit, la carte mère émettra différents bips pour inviter et terminer le démarrage. S'il n'y a aucun défaut, passez à l'étape suivante.
  3. Chargez le disque dur avec le système d'exploitation , le BIOS commence à lire la séquence de démarrage (via la séquence de démarrage enregistrée dans CMOS ou via une interaction avec l'utilisateur) et confie le contrôle au périphérique de stockage classé en premier dans la séquence de démarrage, puis le CPU Charge le contenu du secteur de démarrage du périphérique de stockage en mémoire.
  4. Chargez l'enregistrement de démarrage principal MBR . Le disque dur utilise un identifiant spécifique pour distinguer les disques durs de démarrage des disques durs qui ne démarrent pas. La fonction du MBR d'enregistrement de démarrage principal est d'indiquer au CPU quelle partition principale de quel disque dur rechercher le système d'exploitation.
  5. Scannez la table de partition du disque dur et chargez la zone active du disque dur . MBR contient la table de partition du disque dur. Dans la table de partition du disque dur, les partitions actives et les partitions inactives sont distinguées par des identifiants spécifiques. L'enregistrement de démarrage principal analyse la table de partition du disque dur, trouve la partition du disque dur (partition active) contenant le système d'exploitation, commence le chargement de la partition active et confie le contrôle à la partition active.
  6. Chargez l'enregistrement de démarrage de la partition PBR . Lisez le premier secteur de la partition active, appelé Partition Boot Record (PBR). Sa fonction est de rechercher et d'activer le programme (gestionnaire de démarrage) utilisé pour démarrer le système d'exploitation dans le répertoire racine de la partition.
  7. Chargez le gestionnaire de démarrage , recherchez dans l'enregistrement de démarrage de la partition le gestionnaire de démarrage dans la partition active et chargez le gestionnaire de démarrage.
  8. Chargez le système d'exploitation .

Insérer la description de l'image ici

Le processus d'exécution dans la figure ci-dessus peut être résumé dans les étapes suivantes :

1. Le processeur commence à récupérer les instructions à partir d'une adresse de mémoire principale spécifique et exécute le programme de démarrage dans la ROM (effectuez d'abord un auto-test matériel, puis allumez l'ordinateur).

2. Lisez le MBR dans le premier secteur du disque en mémoire, exécutez le programme d'analyse du disque et analysez la table de partition du disque.

3. Lisez l'enregistrement de démarrage de la partition à partir de la partition active (également appelée partition principale, c'est-à-dire la partition sur laquelle le système d'exploitation est installé) et exécutez le programme qu'il contient.

4. Recherchez le programme d'initialisation complet du système d'exploitation (gestionnaire de démarrage) dans le répertoire racine, chargez le système d'exploitation et terminez le démarrage.

1.8 Machine virtuelle

1.8.1 Aperçu

Une machine virtuelle fait référence à un ordinateur logique qui utilise la technologie de virtualisation pour fournir aux utilisateurs un environnement informatique abstrait, unifié et simulé en masquant les caractéristiques physiques réelles d'une plate-forme informatique spécifique .

Actuellement, il existe deux méthodes de virtualisation pour les machines virtuelles, qui peuvent être divisées en machines virtuelles de premier type et en machines virtuelles de deuxième type .

1.8.2 Le premier type de machine virtuelle

Le premier type de machine virtuelle est comme un système d'exploitation. C'est le seul programme du système informatique qui s'exécute avec le niveau de privilèges le plus élevé. Il fonctionne sur du métal nu et possède des capacités de multiprogrammation.

La machine virtuelle s'exécute comme un processus en mode utilisateur et n'est pas autorisée à exécuter des instructions sensibles. Cependant, le système d'exploitation de la machine virtuelle pense qu'elle est en mode noyau. C'est ce qu'on appelle le mode noyau virtuel. Lorsque le système d'exploitation de la machine virtuelle exécute une instruction privilégiée, il interceptera l'hyperviseur. Sur un processeur prenant en charge la virtualisation, l'hyperviseur vérifie cette instruction. Si l'instruction est exécutée par le système d'exploitation dans la machine virtuelle, faites en sorte que cette instruction soit exécutée. fonctionner normalement, sinon il simulera le comportement du matériel réel exécutant des instructions privilégiées en mode utilisateur.

Le diagramme schématique est le suivant

Insérer la description de l'image ici

1.8.3 Le deuxième type de machine virtuelle

Le deuxième type de machine virtuelle ressemble à un processus ordinaire et s'appuie sur les ressources fournies par les systèmes d'exploitation tels que Windows et Linux.

Par exemple : nous pouvons installer VMware sur le système d'exploitation Windows, puis installer l'image du système d'exploitation Linux sur VMware. De cette façon, nous pouvons utiliser le système Linux sur le système Windows et exécuter d'autres processus sur le système Windows en même temps. en même temps.

Le diagramme schématique est le suivant

Insérer la description de l'image ici

Résumé de la section

Insérer la description de l'image ici

les références

《2023年操作系统考研复习指导》-王道论坛

Si cet article vous est utile, vous souhaiterez peut-être l'aimer, le transférer et l'enregistrer ~

Je suppose que tu aimes

Origine blog.csdn.net/weixin_42584100/article/details/126090180
conseillé
Classement