Architecture - mémoire virtuelle

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ก.ย. 2024
  • Pour palier au manque de mémoire physique, et avec les besoins en ressources toujours croissants de nos applications, un procédé de mémoire virtuelle (géré par la MMU) existe pour proposer un espace d'adressage logique pour les processus.
    ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
    💙 Si ce n'est pas encore fait, n'hésite pas à t'abonner à la chaîne !
    ➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖
    ◾ Soutenir FormationVidéo : bit.ly/2L0xNXA
    ◾ Site web : jasonchampagne.fr
    ◾ Discord : discords.com/s...
    ◾ Twitch : / jachampagne
    ◾ TH-cam (personnel) : / jasonchampagne
    ◾ Twitter : / jachampagne8
    ◾ Facebook : / jachampagne8
    ◾ Instagram : / jachampagne8
    ◾ Snapchat : / jachampagne8
    🔵 Crédits :
    Musique proposée par La Musique Libre
    Wontolla - Can You Feel Me (ft. Nathan Brumley) : • |Musique libre de droi...
    Wontolla : / iamwontolla
    Nathan Brumley : / nathanbrumleysongwriter
    MERCI DE VOTRE FIDÉLITÉ 💙 !
    #architecture #segmentation #MemoryManagementUnit

ความคิดเห็น • 77

  • @robyfischer4501
    @robyfischer4501 3 ปีที่แล้ว +3

    Je suis comme un gamin à chaque fois que tu sors une nouvelle vidéo. Merci pour les efforts que tu mets dans tes vidéos pour qu'elles soient d'aussi bonne qualité 👍

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      Merci pour ton message, c'est cool si ça te plaît 😉

    • @MuhammadAli-fg2bw
      @MuhammadAli-fg2bw 2 ปีที่แล้ว

      Il faut toujours être dans les gamins lorsqu'on apprends.

  • @xgriff91
    @xgriff91 3 ปีที่แล้ว +2

    Génial comme vidéo, c'est un sujet très compliqué mais tu as réussi à bien l'expliquer. Je suis toujours impressionné par ta capacité à parler une heure d'affiler sans problème 👍

    • @formation-video
      @formation-video  3 ปีที่แล้ว +2

      C'est un jeu d'enfant (bon, sauf le chat dans la gorge durant la vidéo, mais ce n'est qu'un détail 🤣)

    • @MuhammadAli-fg2bw
      @MuhammadAli-fg2bw 2 ปีที่แล้ว

      @@formation-video comment tu fais ?

  • @danielmortada3362
    @danielmortada3362 9 หลายเดือนก่อน

    Excellente vidéo ! j'avais tellement galéré avec la gestion de mémoire tellement que c'était abstrait dans ma tête... merci beaucoup

  • @1fractal
    @1fractal 3 ปีที่แล้ว

    Une très bonne explication, même en sachant comme ça fonctionne, ça a fait un plaisir de revoir comment c'est organisé.

  • @CypElf
    @CypElf 3 ปีที่แล้ว

    Franchement, le sujet est très bien expliqué et les schémas vraiment parlant. Ca doit être une des meilleures vidéos de la chaine au niveau de la qualité, selon moi. GG !

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      Les vidéos d'Architecture font partie des plus illustrées, car ce n'est quasiment que de la théorie, et ça nécessite donc d'illustrer tout ça, puisqu'il n'y a pas de code 😉 (merci)

  • @musictoze
    @musictoze 2 ปีที่แล้ว +4

    C'est ultra intéréssant ! Je pars en première année en école d'ingé dans 1 semaine, grâce à toi j'ai pu apprendre C/C++/Cette série en avance, juste merci beaucoup !

    • @formation-video
      @formation-video  2 ปีที่แล้ว

      Bon courage d'avance pour tes études ✌

  • @camilleasl3411
    @camilleasl3411 ปีที่แล้ว

    Merci c'est passionnant

  • @son-grubens8210
    @son-grubens8210 3 ปีที่แล้ว

    Super
    J'attends le second
    Merci beaucoup cher professeur

  • @ericfeugere1293
    @ericfeugere1293 3 ปีที่แล้ว

    merci pour cette video tres lourde et bien expliquée, je n'ai compris que dans les grandes lignes, les principes sur la pile et le tas. En gros, de ce que je comprend, la pile peut etre assimilée à la mémoire interne allouée au processus mais je bloque sur la comprehension de "remplissage vers le haut du tas" et pour le tas, pour moi, ç'a correspond au remplissage physique mais c'est pareil, je fais pas le lien entre la heap et la stack.....

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      Quand on parle de remplissage par le haut ou le bas, c'est en fait dans lequel on ajoute les données au niveau des adresses mémoire

  • @MuhammadAli-fg2bw
    @MuhammadAli-fg2bw 2 ปีที่แล้ว +1

    Re salut, j'ai pas compris, quand tu dis que chaque processus possède une mémoire virtuelle, mais aussi qu'il possède toute la plage mémoire de l'ordinateur, c'est à dire toute la mémoire. Mais comment ça se fait ? Parce que tout les autres programmes aussi alors ont toute la mémoire.

    • @formation-video
      @formation-video  2 ปีที่แล้ว

      C'est une mémoire virtuelle. Donc, si tu as 8 Go de RAM sur ton ordinateur, ton programme aura sa propre mémoire virtuelle de 8 Go. C'est le système ensuite qui gère la traduction des adresses logiques en adresses réelles, et inversement, comme expliqué dans la vidéo.

    • @MuhammadAli-fg2bw
      @MuhammadAli-fg2bw 2 ปีที่แล้ว

      @@formation-video mais si chaque programme a sa mémoire virtuelle de 8GO, sa veut dire qu'un autre programme aura aussi 8GO, admetons que les deux programmes utilisent toute la mémoire. Donc il y aura 16GO virtuelles, ce qui est impossible pour la mémoire physique à gérer non ?

    • @formation-video
      @formation-video  2 ปีที่แล้ว +1

      Si justement, grâce au cache et aux accès ordonnés. Ton programme ne sollicite jamais la totalité de sa mémoire à un instant T. Donc, quand toi tu as l'impression que l'information est directe, en réalité, le système a donné la main au processus A, puis le B, et à nouveau le A, tout en continuant de s'occuper de l'ensemble des programmes/services du système en route aussi.
      C'est la même chose avec le multitâche : si tu ouvres plusieurs programmes sur ton ordinateur (navigateur web, calculatrice, un jeu, un traitement de texte), tu as l'impression que tout est affiché continuellement et que tu peux tout utiliser en parallèle. Sauf qu'en réalité, le système alloue les ressources à tes applications dans un ordre spécifique, jamais tout au même moment.
      Enfin, dernier exemple : tes écrans. Toi tu vois un affichage constant et fixe, alors qu'en réalité, ton écran clignote, il affiche des images à la suite (d'où ce qu'on appelle la fréquence de rafraîchissement), mais tu ne t'en rends pas compte, tout semble fluide et toujours affiché 😉

    • @MuhammadAli-fg2bw
      @MuhammadAli-fg2bw 2 ปีที่แล้ว +1

      @@formation-video ohhh merci, j'ai un peu compris, du coup la mémoire virtuelle propose tout la plage d'addresse à un programme, puis le processeur exécute le programme pendant un certains temps, les adresses (données sont effacés, pour un autre programmes et ainsi de suite) ?
      Je crois que tu avais expliqué cette histoire de processeurs sur ton cours Linux, le processeurs donne toute sa puissance quelque millisecondes à un programme puis change. Mais pourquoi on met pas 2 processeurs ou plus pour avoir beaucopu plus de puissance de calcul ?

    • @formation-video
      @formation-video  2 ปีที่แล้ว +1

      Oui, c'est l'ordonnanceur 👍

  • @nasmRE
    @nasmRE 3 ปีที่แล้ว

    Très cool je prévoyais de faire la meme chose en plus détaillé focus sur le kernel linux mais c'est super car je pourrai les renvoyer ici pour voir les bases ça m'aide pas mal merci bien x)

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      De rien, ça fera 10€ 🤣 (mes tarifs sont les plus attractifs du marché 😏)

    • @nasmRE
      @nasmRE 3 ปีที่แล้ว

      @@formation-video Ouais normal, c'est tout l'intêret quand on a le monopole x))

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      Bientôt je rachète Microsoft et on remplace le noyau proprio par nunux \o/

    • @nasmRE
      @nasmRE 3 ปีที่แล้ว

      OUI !

  • @renaudlemagicien
    @renaudlemagicien 3 ปีที่แล้ว

    Du coup lorsque l on segfault il n y a pas de lien avec la segmentation ?

    • @formation-video
      @formation-video  3 ปีที่แล้ว +1

      Une segfault arrive quand une application tente un accès sur une zone mémoire qui ne lui est pas réservé

  • @cclerc4169
    @cclerc4169 3 ปีที่แล้ว

    salut, je sais qu'il n'y pas de rapport mais je débute en langage C et je ne comprends pas pourquoi dans < if (validation = 'yes')> on me marque cela < error: assignment to expression with array type
    | if (validation = 'yes') > cela me mais en rouge mon stocke (=).
    Merci d'avance et bonne journé

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      Bonjour, justement il n'y a pas de rapport donc merci de poster ton commentaire sur la vidéo en rapport avec ton message, ce serait bien

  • @Ristregiu
    @Ristregiu 3 ปีที่แล้ว

    Toujours du bon contenu ! Est-ce que tu feras des vidéos sur ce fameux SGBD qu'est Neo4J ?

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      Je ne pense pas non, je n'ai jamais utilisé ce SGBD

    • @Ristregiu
      @Ristregiu 3 ปีที่แล้ว

      @@formation-video c'est un graph Data base, et je trouve ça intéressant à connaître avec Cypher. Mais je trouve que la documentation n'est pas assez présente dans la communauté francophone. En tout cas si ça peut t'aider au cas où tu voudrais te renseigner, neo4j propose ses propres tutos mais beaucoup en anglais

    • @formation-video
      @formation-video  3 ปีที่แล้ว

      @@Ristregiu Oui, ce n'est pas le problème de découvrir ce que c'est, mais plutôt de l'utilité que je peux en avoir présentement 😉

  • @fayepapamamadou9332
    @fayepapamamadou9332 ปีที่แล้ว

    Salut. Merci pour la vidéo. J'aurai une suggestion : Pourquoi pas faire un cours pédagogique sur le système d'exploitation avec des exercices progressifs un peu comme ce que faisait Andrew Tanenbaum avec ses étudiants?
    Cordialement.

    • @formation-video
      @formation-video  ปีที่แล้ว +1

      Bonjour, avant que les gens apprennent à concevoir une ébauche de système d'exploitation, il y a énormément de concepts à connaître et savoir utiliser au préalable.

    • @fayepapamamadou9332
      @fayepapamamadou9332 ปีที่แล้ว

      @@formation-video bonsoir,
      Pour mon développement personnel, pourrais tu me dire quels sont les pré-requis ? J'aimerais acheter le livre sur les OS de Tanenbaum. Merci et bonne continuation dans ton travail.
      Cordialement.

    • @formation-video
      @formation-video  ปีที่แล้ว

      Cela commence par savoir comment fonctionne les processus, la parallélisation, la gestion de la mémoire, les systèmes de cache, la liaison avec les périphériques, les pilotes pour assurer leur communication avec le système, et j'en passe.

    • @fayepapamamadou9332
      @fayepapamamadou9332 ปีที่แล้ว

      @@formation-video Bonjour. Merci beaucoup de prendre le temps de me répondre à chaque fois. Pourrais-tu me conseiller un ouvrage qui explique tous les pré-requis que tu as cités? En effet, je suis une formation pour devenir développeur php/symfony et le sujet m'intéresse énormément.
      Cordialement.

    • @formation-video
      @formation-video  ปีที่แล้ว

      Tu ne trouveras sans doute pas d'ouvrage qui aborde la totalité des sujets, et je n'ai pas de références à conseiller. Tu dois pouvoir regarder sur des sites comme Amazon en utilisant les bons mots clés. Ce seront surtout des livres en anglais, très souvent 👍

  • @adriencuisse9641
    @adriencuisse9641 3 ปีที่แล้ว

    8:20
    Y'a pas lieu de faire (2^32)-1, le moins c'est pour la dernière valeur, mais c'est bien 2^32 adresses possibles
    Y'a pas d'arrondi à faire 🤷‍♂️
    2^32 / (1024^3) = 4 par définition

    • @formation-video
      @formation-video  3 ปีที่แล้ว +1

      Oui, c'était plus pour parler de la numérotation des adresses, étant donné que l'on commence à 0, mais tu fais bien de préciser que le nombre d'adresses est bien le même 👍

  • @MuhammadAli-fg2bw
    @MuhammadAli-fg2bw 2 ปีที่แล้ว

    Aie, un peu complexe le sujet. Je vais revoir plusieurs fois la vidéo.
    Merci !

    • @formation-video
      @formation-video  2 ปีที่แล้ว

      Oui, les vidéos de cette playlist demandent pas mal d'attention, de prendre des notes et/ou de les revoir en plusieurs fois 👍

  • @Casse-bois
    @Casse-bois 3 ปีที่แล้ว

    Tu ne peux pas avoir l'adresse 0 ça correspond au pointeur nul !

  • @abdelbouboul
    @abdelbouboul 3 ปีที่แล้ว

    second

  • @abdelbouboul
    @abdelbouboul 3 ปีที่แล้ว

    first

  • @philtoa334
    @philtoa334 2 ปีที่แล้ว

    : )

  • @system64_MC
    @system64_MC ปีที่แล้ว

    Bonjour,
    Du coup, si la mémoire est protégée par le MMU, pourquoi un segfault arrive lorsqu'on tente de déréférencer un pointeur invalide en C (ou tout autre langage) ? Et pourquoi le programme a raison de crasher lorsque cela arrive, vu qu'à l'aide du MMU, un programme ne peut pas avoir accès à la mémoire occupée par un autre programme ? Merci d'avance.

    • @formation-video
      @formation-video  ปีที่แล้ว

      Bonjour, justement, la sécurité, c'est d'interrompre le programme (son processus), plutôt que de "planter" l'ordinateur au complet 😉

  • @elonyemp3029
    @elonyemp3029 2 ปีที่แล้ว +1

    Wahou c'est vachement bien expliqué, un travail magnifique

  • @streamCatcher007
    @streamCatcher007 3 ปีที่แล้ว +1

    JC Merci pour cette vidéo très intéressante !

  • @samuelbertin9381
    @samuelbertin9381 ปีที่แล้ว

    Bonsoir! Merci de vos partages :-) Bonne Année 2023 :-)

    • @formation-video
      @formation-video  ปีที่แล้ว

      Bonsoir et bonne année à toi également 🍾

  • @htshongany4969
    @htshongany4969 3 ปีที่แล้ว

    Super

  • @yasminaamroun8682
    @yasminaamroun8682 2 ปีที่แล้ว

    C est très bien expliqué

  • @henrigevenois4126
    @henrigevenois4126 3 ปีที่แล้ว

    Franchement tu cartonnes !!! Merci :D