Are Linux kernel modules a sort of Linux system paged pool?Disadvantages of linux kernel module?Disadvantages of linux kernel module?How to list all loadable kernel modules?Kernel modules for compiled kernelRecompile kernel without modules that are not currently in useHow connected are kernel modules to kernel version?Are kernel modules specific for linux or a general mechanism?Suppressing auto loading of Linux kernel modulesCompiling Loadable Kernel Modules in LinuxLinux Kernel memory management quoteHow are Linux kernel modules installed into the Android system.img

Adding gears to my grandson's 12" bike

Why didn't NASA launch communications relay satellites for the Apollo missions?

Recursive search on Node Tree with Linq and Queue

How to handle not being able to attend as often as I'd like

Why was Quirrell said to be in the Black Forest if Voldemort was actually in Albania?

What does a black-and-white Puerto Rican flag signify?

What are "the high ends of castles" called?

What would be the effects of (relatively) widespread precognition on the stock market?

Why is the UH-60 tail rotor canted?

Considerations when providing money to only one child out of two

My guitar strings go loose when I tighten them?

I have a domain, static IP and many devices I'd like to access outside my house. How to route them?

Monday's Blocking Donimoes Problem

Why is there an extra "t" in Lemmatization?

Do I have to mention my main character's age?

Can I make Ubuntu 18.04 switch between multiple windows of the program by just clicking the icon?

Do I care if the housing market has gone up or down, if I'm moving from one house to another?

How often should alkaline batteries be checked when they are in a device?

Why did modems have speakers?

How did pilots avoid thunderstorms and related weather before “reliable” airborne weather radar was introduced on airliners?

Has Peter Parker ever eaten bugs?

What do Unicorns want?

Is it ethical to tell my teaching assistant that I like him?

Found more old paper shares from broken up companies



Are Linux kernel modules a sort of Linux system paged pool?


Disadvantages of linux kernel module?Disadvantages of linux kernel module?How to list all loadable kernel modules?Kernel modules for compiled kernelRecompile kernel without modules that are not currently in useHow connected are kernel modules to kernel version?Are kernel modules specific for linux or a general mechanism?Suppressing auto loading of Linux kernel modulesCompiling Loadable Kernel Modules in LinuxLinux Kernel memory management quoteHow are Linux kernel modules installed into the Android system.img






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








2















I always read that Linux kernel isn't pageable.

If I'm not mistaken Windows, instead, divedes system virtual memory in
a paged part (paged pool) and non-paged part (non-paged pool).

The non-paged part is mapped directly to physical memory and stay there all the time because takes care of the most important tasks kernel must accomplish, while less important portions may be not.
Linux kernel,instead, is divided into laodable modules, but no information I managed to gather on how these modules are implemented.

I don't understand if they're paged and thus you can temporarily transfer them to the disk. What I usually read is that we can "free" memory by unloading them, what is meant with this is still obscure to me.

When I writed "paged" or "pageable" along this post, I implicitly meant that you can swap out on disk these pages. I addressed this because usually Linux kernel is considered paged but it can't be swapped out










share|improve this question















migrated from cs.stackexchange.com 10 hours ago


This question came from our site for students, researchers and practitioners of computer science.
























    2















    I always read that Linux kernel isn't pageable.

    If I'm not mistaken Windows, instead, divedes system virtual memory in
    a paged part (paged pool) and non-paged part (non-paged pool).

    The non-paged part is mapped directly to physical memory and stay there all the time because takes care of the most important tasks kernel must accomplish, while less important portions may be not.
    Linux kernel,instead, is divided into laodable modules, but no information I managed to gather on how these modules are implemented.

    I don't understand if they're paged and thus you can temporarily transfer them to the disk. What I usually read is that we can "free" memory by unloading them, what is meant with this is still obscure to me.

    When I writed "paged" or "pageable" along this post, I implicitly meant that you can swap out on disk these pages. I addressed this because usually Linux kernel is considered paged but it can't be swapped out










    share|improve this question















    migrated from cs.stackexchange.com 10 hours ago


    This question came from our site for students, researchers and practitioners of computer science.




















      2












      2








      2


      0






      I always read that Linux kernel isn't pageable.

      If I'm not mistaken Windows, instead, divedes system virtual memory in
      a paged part (paged pool) and non-paged part (non-paged pool).

      The non-paged part is mapped directly to physical memory and stay there all the time because takes care of the most important tasks kernel must accomplish, while less important portions may be not.
      Linux kernel,instead, is divided into laodable modules, but no information I managed to gather on how these modules are implemented.

      I don't understand if they're paged and thus you can temporarily transfer them to the disk. What I usually read is that we can "free" memory by unloading them, what is meant with this is still obscure to me.

      When I writed "paged" or "pageable" along this post, I implicitly meant that you can swap out on disk these pages. I addressed this because usually Linux kernel is considered paged but it can't be swapped out










      share|improve this question
















      I always read that Linux kernel isn't pageable.

      If I'm not mistaken Windows, instead, divedes system virtual memory in
      a paged part (paged pool) and non-paged part (non-paged pool).

      The non-paged part is mapped directly to physical memory and stay there all the time because takes care of the most important tasks kernel must accomplish, while less important portions may be not.
      Linux kernel,instead, is divided into laodable modules, but no information I managed to gather on how these modules are implemented.

      I don't understand if they're paged and thus you can temporarily transfer them to the disk. What I usually read is that we can "free" memory by unloading them, what is meant with this is still obscure to me.

      When I writed "paged" or "pageable" along this post, I implicitly meant that you can swap out on disk these pages. I addressed this because usually Linux kernel is considered paged but it can't be swapped out







      linux-kernel kernel-modules swap virtual-memory






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 10 hours ago









      Gilles

      565k134 gold badges1162 silver badges1670 bronze badges




      565k134 gold badges1162 silver badges1670 bronze badges










      asked 11 hours ago









      Gabriele ScarlattiGabriele Scarlatti

      1263 bronze badges




      1263 bronze badges




      migrated from cs.stackexchange.com 10 hours ago


      This question came from our site for students, researchers and practitioners of computer science.









      migrated from cs.stackexchange.com 10 hours ago


      This question came from our site for students, researchers and practitioners of computer science.






















          2 Answers
          2






          active

          oldest

          votes


















          3














          No part of the Linux kernel can be paged out, even parts that come from modules.



          A kernel module can be loaded and (if the module supports it) can be unloaded. This always happens from an explicit request from a userland process with the init_module and delete_module system calls (normally, via the insmod or modprobe utilities for loading, and via rmmod for unloading).



          Once a module is loaded, it's part of the kernel, like any other part of the kernel. In particular, there's no way to isolate the memory used by a specific module. The kernel keeps tracks of which part of the memory contains a specific module's code, but not where a module may have stored data. A module can modify any of the kernel's data structures, after all.



          A module can potentially add some code to any kernel subsystem. Most modules are hardware drivers, but some aren't (e.g. they can provide security functionality, filesystems, networking functionality, etc.). If data or code used by a module could be swapped out, then the rest of the kernel would have to load it when required, which would complicate the design of the system a lot. The kernel would also need to ensure that no part of the memory that's swapped out is ever necessary to swap it back in, which is difficult. What if the swap is in a swap file on a network filesystem, and the module provides firewall functionality that is involved in communicating with the server that stores the file?



          It's possible to completely unload a module because it's the module's job to provide code that ensures that the module is not needed for anything. The kernel runs the module's exit function, and only unloads the module if that function reports that the module can be safely unloaded. The exit function must free any remaining data memory that is “owned” by the module (i.e. data that the module needs, but no other part of the kernel needs), and must verify that no code in the module is registered to be called when something happens. There's no way to save a module's data to swap: a module can only be removed from RAM if it has no data left.






          share|improve this answer























          • So essentially process segments can be swapped in and out, while kernel modules can be only loaded and unloaded. The difference seems to be only that when we swap out pages we save what has changed, while a kernel module is just freed when it's sure to be not used again and so no saving is done. Is it that?

            – Gabriele Scarlatti
            10 hours ago







          • 1





            @Gabriele unloading a module releases its memory in the same way that exiting a process does: the memory is no longer needed. Swapping is used with memory pages which are still needed, don’t have their own backing store, and which the kernel decides are better off stored outside of physical memory.

            – Stephen Kitt
            10 hours ago











          • @StephenKitt But can kernel module be unloaded during a process execution? or only when the process that uses the module terminate?

            – Gabriele Scarlatti
            10 hours ago











          • @Gabriele I was only comparing the two, not implying that unloading a kernel module was tied to process execution. When a process exits, its memory is no longer needed and is freed. When a kernel module is unloaded, its memory is no longer needed and is freed.

            – Stephen Kitt
            10 hours ago











          • yes I know, I just needed to see it stated :) Thanks

            – Gabriele Scarlatti
            10 hours ago


















          3














          Memory pages swapping (you call it "paging") and Linux kernel modules loading/unloading are two completely different functionalities.



          A Linux kernel module can be loaded into the kernel - after that it becomes a part of the kernel. The goal here is to adjust the kernel to a given hardware. For example, there are hundreds of types of network cards, and there are many kernel modules, which support these cards - but on any particular machine at any given moment you'll have only one type of network card. The Linux chooses the right kernel module for this card and loads it, leaving all the other modules in the external memory.



          For more information about kernel modules please read here.






          share|improve this answer

























          • So kernel modules aren't swapped in and out? Altough Iit seemed to me that it happens in windows, are they different (windows and linux) on that?

            – Gabriele Scarlatti
            10 hours ago












          • Moreover the second answer to this post unix.stackexchange.com/questions/65481/… seems to imply that Linux kernel modules can be loaded and unloaded on demand, isn't this a form page swap?

            – Gabriele Scarlatti
            10 hours ago












          • After the kernel module is loaded it becomes a part of the kernel, so it can't be swapped out. I have no idea about Windows internals

            – HEKTO
            10 hours ago












          • Modules are typically loaded during the system boot, but there are no such restriction. No, it's not a form of swapping - the system swaps memory page by page, not module by module

            – HEKTO
            10 hours ago












          • So, why is "paging" wrong? At least by some sources, "swapping" refers to swapping out whole programs at a time, while "paging" refers to doing essentially the same but a page at a time.

            – ilkkachu
            10 hours ago













          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f531554%2fare-linux-kernel-modules-a-sort-of-linux-system-paged-pool%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          2 Answers
          2






          active

          oldest

          votes








          2 Answers
          2






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          3














          No part of the Linux kernel can be paged out, even parts that come from modules.



          A kernel module can be loaded and (if the module supports it) can be unloaded. This always happens from an explicit request from a userland process with the init_module and delete_module system calls (normally, via the insmod or modprobe utilities for loading, and via rmmod for unloading).



          Once a module is loaded, it's part of the kernel, like any other part of the kernel. In particular, there's no way to isolate the memory used by a specific module. The kernel keeps tracks of which part of the memory contains a specific module's code, but not where a module may have stored data. A module can modify any of the kernel's data structures, after all.



          A module can potentially add some code to any kernel subsystem. Most modules are hardware drivers, but some aren't (e.g. they can provide security functionality, filesystems, networking functionality, etc.). If data or code used by a module could be swapped out, then the rest of the kernel would have to load it when required, which would complicate the design of the system a lot. The kernel would also need to ensure that no part of the memory that's swapped out is ever necessary to swap it back in, which is difficult. What if the swap is in a swap file on a network filesystem, and the module provides firewall functionality that is involved in communicating with the server that stores the file?



          It's possible to completely unload a module because it's the module's job to provide code that ensures that the module is not needed for anything. The kernel runs the module's exit function, and only unloads the module if that function reports that the module can be safely unloaded. The exit function must free any remaining data memory that is “owned” by the module (i.e. data that the module needs, but no other part of the kernel needs), and must verify that no code in the module is registered to be called when something happens. There's no way to save a module's data to swap: a module can only be removed from RAM if it has no data left.






          share|improve this answer























          • So essentially process segments can be swapped in and out, while kernel modules can be only loaded and unloaded. The difference seems to be only that when we swap out pages we save what has changed, while a kernel module is just freed when it's sure to be not used again and so no saving is done. Is it that?

            – Gabriele Scarlatti
            10 hours ago







          • 1





            @Gabriele unloading a module releases its memory in the same way that exiting a process does: the memory is no longer needed. Swapping is used with memory pages which are still needed, don’t have their own backing store, and which the kernel decides are better off stored outside of physical memory.

            – Stephen Kitt
            10 hours ago











          • @StephenKitt But can kernel module be unloaded during a process execution? or only when the process that uses the module terminate?

            – Gabriele Scarlatti
            10 hours ago











          • @Gabriele I was only comparing the two, not implying that unloading a kernel module was tied to process execution. When a process exits, its memory is no longer needed and is freed. When a kernel module is unloaded, its memory is no longer needed and is freed.

            – Stephen Kitt
            10 hours ago











          • yes I know, I just needed to see it stated :) Thanks

            – Gabriele Scarlatti
            10 hours ago















          3














          No part of the Linux kernel can be paged out, even parts that come from modules.



          A kernel module can be loaded and (if the module supports it) can be unloaded. This always happens from an explicit request from a userland process with the init_module and delete_module system calls (normally, via the insmod or modprobe utilities for loading, and via rmmod for unloading).



          Once a module is loaded, it's part of the kernel, like any other part of the kernel. In particular, there's no way to isolate the memory used by a specific module. The kernel keeps tracks of which part of the memory contains a specific module's code, but not where a module may have stored data. A module can modify any of the kernel's data structures, after all.



          A module can potentially add some code to any kernel subsystem. Most modules are hardware drivers, but some aren't (e.g. they can provide security functionality, filesystems, networking functionality, etc.). If data or code used by a module could be swapped out, then the rest of the kernel would have to load it when required, which would complicate the design of the system a lot. The kernel would also need to ensure that no part of the memory that's swapped out is ever necessary to swap it back in, which is difficult. What if the swap is in a swap file on a network filesystem, and the module provides firewall functionality that is involved in communicating with the server that stores the file?



          It's possible to completely unload a module because it's the module's job to provide code that ensures that the module is not needed for anything. The kernel runs the module's exit function, and only unloads the module if that function reports that the module can be safely unloaded. The exit function must free any remaining data memory that is “owned” by the module (i.e. data that the module needs, but no other part of the kernel needs), and must verify that no code in the module is registered to be called when something happens. There's no way to save a module's data to swap: a module can only be removed from RAM if it has no data left.






          share|improve this answer























          • So essentially process segments can be swapped in and out, while kernel modules can be only loaded and unloaded. The difference seems to be only that when we swap out pages we save what has changed, while a kernel module is just freed when it's sure to be not used again and so no saving is done. Is it that?

            – Gabriele Scarlatti
            10 hours ago







          • 1





            @Gabriele unloading a module releases its memory in the same way that exiting a process does: the memory is no longer needed. Swapping is used with memory pages which are still needed, don’t have their own backing store, and which the kernel decides are better off stored outside of physical memory.

            – Stephen Kitt
            10 hours ago











          • @StephenKitt But can kernel module be unloaded during a process execution? or only when the process that uses the module terminate?

            – Gabriele Scarlatti
            10 hours ago











          • @Gabriele I was only comparing the two, not implying that unloading a kernel module was tied to process execution. When a process exits, its memory is no longer needed and is freed. When a kernel module is unloaded, its memory is no longer needed and is freed.

            – Stephen Kitt
            10 hours ago











          • yes I know, I just needed to see it stated :) Thanks

            – Gabriele Scarlatti
            10 hours ago













          3












          3








          3







          No part of the Linux kernel can be paged out, even parts that come from modules.



          A kernel module can be loaded and (if the module supports it) can be unloaded. This always happens from an explicit request from a userland process with the init_module and delete_module system calls (normally, via the insmod or modprobe utilities for loading, and via rmmod for unloading).



          Once a module is loaded, it's part of the kernel, like any other part of the kernel. In particular, there's no way to isolate the memory used by a specific module. The kernel keeps tracks of which part of the memory contains a specific module's code, but not where a module may have stored data. A module can modify any of the kernel's data structures, after all.



          A module can potentially add some code to any kernel subsystem. Most modules are hardware drivers, but some aren't (e.g. they can provide security functionality, filesystems, networking functionality, etc.). If data or code used by a module could be swapped out, then the rest of the kernel would have to load it when required, which would complicate the design of the system a lot. The kernel would also need to ensure that no part of the memory that's swapped out is ever necessary to swap it back in, which is difficult. What if the swap is in a swap file on a network filesystem, and the module provides firewall functionality that is involved in communicating with the server that stores the file?



          It's possible to completely unload a module because it's the module's job to provide code that ensures that the module is not needed for anything. The kernel runs the module's exit function, and only unloads the module if that function reports that the module can be safely unloaded. The exit function must free any remaining data memory that is “owned” by the module (i.e. data that the module needs, but no other part of the kernel needs), and must verify that no code in the module is registered to be called when something happens. There's no way to save a module's data to swap: a module can only be removed from RAM if it has no data left.






          share|improve this answer













          No part of the Linux kernel can be paged out, even parts that come from modules.



          A kernel module can be loaded and (if the module supports it) can be unloaded. This always happens from an explicit request from a userland process with the init_module and delete_module system calls (normally, via the insmod or modprobe utilities for loading, and via rmmod for unloading).



          Once a module is loaded, it's part of the kernel, like any other part of the kernel. In particular, there's no way to isolate the memory used by a specific module. The kernel keeps tracks of which part of the memory contains a specific module's code, but not where a module may have stored data. A module can modify any of the kernel's data structures, after all.



          A module can potentially add some code to any kernel subsystem. Most modules are hardware drivers, but some aren't (e.g. they can provide security functionality, filesystems, networking functionality, etc.). If data or code used by a module could be swapped out, then the rest of the kernel would have to load it when required, which would complicate the design of the system a lot. The kernel would also need to ensure that no part of the memory that's swapped out is ever necessary to swap it back in, which is difficult. What if the swap is in a swap file on a network filesystem, and the module provides firewall functionality that is involved in communicating with the server that stores the file?



          It's possible to completely unload a module because it's the module's job to provide code that ensures that the module is not needed for anything. The kernel runs the module's exit function, and only unloads the module if that function reports that the module can be safely unloaded. The exit function must free any remaining data memory that is “owned” by the module (i.e. data that the module needs, but no other part of the kernel needs), and must verify that no code in the module is registered to be called when something happens. There's no way to save a module's data to swap: a module can only be removed from RAM if it has no data left.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 10 hours ago









          GillesGilles

          565k134 gold badges1162 silver badges1670 bronze badges




          565k134 gold badges1162 silver badges1670 bronze badges












          • So essentially process segments can be swapped in and out, while kernel modules can be only loaded and unloaded. The difference seems to be only that when we swap out pages we save what has changed, while a kernel module is just freed when it's sure to be not used again and so no saving is done. Is it that?

            – Gabriele Scarlatti
            10 hours ago







          • 1





            @Gabriele unloading a module releases its memory in the same way that exiting a process does: the memory is no longer needed. Swapping is used with memory pages which are still needed, don’t have their own backing store, and which the kernel decides are better off stored outside of physical memory.

            – Stephen Kitt
            10 hours ago











          • @StephenKitt But can kernel module be unloaded during a process execution? or only when the process that uses the module terminate?

            – Gabriele Scarlatti
            10 hours ago











          • @Gabriele I was only comparing the two, not implying that unloading a kernel module was tied to process execution. When a process exits, its memory is no longer needed and is freed. When a kernel module is unloaded, its memory is no longer needed and is freed.

            – Stephen Kitt
            10 hours ago











          • yes I know, I just needed to see it stated :) Thanks

            – Gabriele Scarlatti
            10 hours ago

















          • So essentially process segments can be swapped in and out, while kernel modules can be only loaded and unloaded. The difference seems to be only that when we swap out pages we save what has changed, while a kernel module is just freed when it's sure to be not used again and so no saving is done. Is it that?

            – Gabriele Scarlatti
            10 hours ago







          • 1





            @Gabriele unloading a module releases its memory in the same way that exiting a process does: the memory is no longer needed. Swapping is used with memory pages which are still needed, don’t have their own backing store, and which the kernel decides are better off stored outside of physical memory.

            – Stephen Kitt
            10 hours ago











          • @StephenKitt But can kernel module be unloaded during a process execution? or only when the process that uses the module terminate?

            – Gabriele Scarlatti
            10 hours ago











          • @Gabriele I was only comparing the two, not implying that unloading a kernel module was tied to process execution. When a process exits, its memory is no longer needed and is freed. When a kernel module is unloaded, its memory is no longer needed and is freed.

            – Stephen Kitt
            10 hours ago











          • yes I know, I just needed to see it stated :) Thanks

            – Gabriele Scarlatti
            10 hours ago
















          So essentially process segments can be swapped in and out, while kernel modules can be only loaded and unloaded. The difference seems to be only that when we swap out pages we save what has changed, while a kernel module is just freed when it's sure to be not used again and so no saving is done. Is it that?

          – Gabriele Scarlatti
          10 hours ago






          So essentially process segments can be swapped in and out, while kernel modules can be only loaded and unloaded. The difference seems to be only that when we swap out pages we save what has changed, while a kernel module is just freed when it's sure to be not used again and so no saving is done. Is it that?

          – Gabriele Scarlatti
          10 hours ago





          1




          1





          @Gabriele unloading a module releases its memory in the same way that exiting a process does: the memory is no longer needed. Swapping is used with memory pages which are still needed, don’t have their own backing store, and which the kernel decides are better off stored outside of physical memory.

          – Stephen Kitt
          10 hours ago





          @Gabriele unloading a module releases its memory in the same way that exiting a process does: the memory is no longer needed. Swapping is used with memory pages which are still needed, don’t have their own backing store, and which the kernel decides are better off stored outside of physical memory.

          – Stephen Kitt
          10 hours ago













          @StephenKitt But can kernel module be unloaded during a process execution? or only when the process that uses the module terminate?

          – Gabriele Scarlatti
          10 hours ago





          @StephenKitt But can kernel module be unloaded during a process execution? or only when the process that uses the module terminate?

          – Gabriele Scarlatti
          10 hours ago













          @Gabriele I was only comparing the two, not implying that unloading a kernel module was tied to process execution. When a process exits, its memory is no longer needed and is freed. When a kernel module is unloaded, its memory is no longer needed and is freed.

          – Stephen Kitt
          10 hours ago





          @Gabriele I was only comparing the two, not implying that unloading a kernel module was tied to process execution. When a process exits, its memory is no longer needed and is freed. When a kernel module is unloaded, its memory is no longer needed and is freed.

          – Stephen Kitt
          10 hours ago













          yes I know, I just needed to see it stated :) Thanks

          – Gabriele Scarlatti
          10 hours ago





          yes I know, I just needed to see it stated :) Thanks

          – Gabriele Scarlatti
          10 hours ago













          3














          Memory pages swapping (you call it "paging") and Linux kernel modules loading/unloading are two completely different functionalities.



          A Linux kernel module can be loaded into the kernel - after that it becomes a part of the kernel. The goal here is to adjust the kernel to a given hardware. For example, there are hundreds of types of network cards, and there are many kernel modules, which support these cards - but on any particular machine at any given moment you'll have only one type of network card. The Linux chooses the right kernel module for this card and loads it, leaving all the other modules in the external memory.



          For more information about kernel modules please read here.






          share|improve this answer

























          • So kernel modules aren't swapped in and out? Altough Iit seemed to me that it happens in windows, are they different (windows and linux) on that?

            – Gabriele Scarlatti
            10 hours ago












          • Moreover the second answer to this post unix.stackexchange.com/questions/65481/… seems to imply that Linux kernel modules can be loaded and unloaded on demand, isn't this a form page swap?

            – Gabriele Scarlatti
            10 hours ago












          • After the kernel module is loaded it becomes a part of the kernel, so it can't be swapped out. I have no idea about Windows internals

            – HEKTO
            10 hours ago












          • Modules are typically loaded during the system boot, but there are no such restriction. No, it's not a form of swapping - the system swaps memory page by page, not module by module

            – HEKTO
            10 hours ago












          • So, why is "paging" wrong? At least by some sources, "swapping" refers to swapping out whole programs at a time, while "paging" refers to doing essentially the same but a page at a time.

            – ilkkachu
            10 hours ago















          3














          Memory pages swapping (you call it "paging") and Linux kernel modules loading/unloading are two completely different functionalities.



          A Linux kernel module can be loaded into the kernel - after that it becomes a part of the kernel. The goal here is to adjust the kernel to a given hardware. For example, there are hundreds of types of network cards, and there are many kernel modules, which support these cards - but on any particular machine at any given moment you'll have only one type of network card. The Linux chooses the right kernel module for this card and loads it, leaving all the other modules in the external memory.



          For more information about kernel modules please read here.






          share|improve this answer

























          • So kernel modules aren't swapped in and out? Altough Iit seemed to me that it happens in windows, are they different (windows and linux) on that?

            – Gabriele Scarlatti
            10 hours ago












          • Moreover the second answer to this post unix.stackexchange.com/questions/65481/… seems to imply that Linux kernel modules can be loaded and unloaded on demand, isn't this a form page swap?

            – Gabriele Scarlatti
            10 hours ago












          • After the kernel module is loaded it becomes a part of the kernel, so it can't be swapped out. I have no idea about Windows internals

            – HEKTO
            10 hours ago












          • Modules are typically loaded during the system boot, but there are no such restriction. No, it's not a form of swapping - the system swaps memory page by page, not module by module

            – HEKTO
            10 hours ago












          • So, why is "paging" wrong? At least by some sources, "swapping" refers to swapping out whole programs at a time, while "paging" refers to doing essentially the same but a page at a time.

            – ilkkachu
            10 hours ago













          3












          3








          3







          Memory pages swapping (you call it "paging") and Linux kernel modules loading/unloading are two completely different functionalities.



          A Linux kernel module can be loaded into the kernel - after that it becomes a part of the kernel. The goal here is to adjust the kernel to a given hardware. For example, there are hundreds of types of network cards, and there are many kernel modules, which support these cards - but on any particular machine at any given moment you'll have only one type of network card. The Linux chooses the right kernel module for this card and loads it, leaving all the other modules in the external memory.



          For more information about kernel modules please read here.






          share|improve this answer















          Memory pages swapping (you call it "paging") and Linux kernel modules loading/unloading are two completely different functionalities.



          A Linux kernel module can be loaded into the kernel - after that it becomes a part of the kernel. The goal here is to adjust the kernel to a given hardware. For example, there are hundreds of types of network cards, and there are many kernel modules, which support these cards - but on any particular machine at any given moment you'll have only one type of network card. The Linux chooses the right kernel module for this card and loads it, leaving all the other modules in the external memory.



          For more information about kernel modules please read here.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 10 hours ago

























          answered 11 hours ago









          HEKTOHEKTO

          2382 silver badges11 bronze badges




          2382 silver badges11 bronze badges












          • So kernel modules aren't swapped in and out? Altough Iit seemed to me that it happens in windows, are they different (windows and linux) on that?

            – Gabriele Scarlatti
            10 hours ago












          • Moreover the second answer to this post unix.stackexchange.com/questions/65481/… seems to imply that Linux kernel modules can be loaded and unloaded on demand, isn't this a form page swap?

            – Gabriele Scarlatti
            10 hours ago












          • After the kernel module is loaded it becomes a part of the kernel, so it can't be swapped out. I have no idea about Windows internals

            – HEKTO
            10 hours ago












          • Modules are typically loaded during the system boot, but there are no such restriction. No, it's not a form of swapping - the system swaps memory page by page, not module by module

            – HEKTO
            10 hours ago












          • So, why is "paging" wrong? At least by some sources, "swapping" refers to swapping out whole programs at a time, while "paging" refers to doing essentially the same but a page at a time.

            – ilkkachu
            10 hours ago

















          • So kernel modules aren't swapped in and out? Altough Iit seemed to me that it happens in windows, are they different (windows and linux) on that?

            – Gabriele Scarlatti
            10 hours ago












          • Moreover the second answer to this post unix.stackexchange.com/questions/65481/… seems to imply that Linux kernel modules can be loaded and unloaded on demand, isn't this a form page swap?

            – Gabriele Scarlatti
            10 hours ago












          • After the kernel module is loaded it becomes a part of the kernel, so it can't be swapped out. I have no idea about Windows internals

            – HEKTO
            10 hours ago












          • Modules are typically loaded during the system boot, but there are no such restriction. No, it's not a form of swapping - the system swaps memory page by page, not module by module

            – HEKTO
            10 hours ago












          • So, why is "paging" wrong? At least by some sources, "swapping" refers to swapping out whole programs at a time, while "paging" refers to doing essentially the same but a page at a time.

            – ilkkachu
            10 hours ago
















          So kernel modules aren't swapped in and out? Altough Iit seemed to me that it happens in windows, are they different (windows and linux) on that?

          – Gabriele Scarlatti
          10 hours ago






          So kernel modules aren't swapped in and out? Altough Iit seemed to me that it happens in windows, are they different (windows and linux) on that?

          – Gabriele Scarlatti
          10 hours ago














          Moreover the second answer to this post unix.stackexchange.com/questions/65481/… seems to imply that Linux kernel modules can be loaded and unloaded on demand, isn't this a form page swap?

          – Gabriele Scarlatti
          10 hours ago






          Moreover the second answer to this post unix.stackexchange.com/questions/65481/… seems to imply that Linux kernel modules can be loaded and unloaded on demand, isn't this a form page swap?

          – Gabriele Scarlatti
          10 hours ago














          After the kernel module is loaded it becomes a part of the kernel, so it can't be swapped out. I have no idea about Windows internals

          – HEKTO
          10 hours ago






          After the kernel module is loaded it becomes a part of the kernel, so it can't be swapped out. I have no idea about Windows internals

          – HEKTO
          10 hours ago














          Modules are typically loaded during the system boot, but there are no such restriction. No, it's not a form of swapping - the system swaps memory page by page, not module by module

          – HEKTO
          10 hours ago






          Modules are typically loaded during the system boot, but there are no such restriction. No, it's not a form of swapping - the system swaps memory page by page, not module by module

          – HEKTO
          10 hours ago














          So, why is "paging" wrong? At least by some sources, "swapping" refers to swapping out whole programs at a time, while "paging" refers to doing essentially the same but a page at a time.

          – ilkkachu
          10 hours ago





          So, why is "paging" wrong? At least by some sources, "swapping" refers to swapping out whole programs at a time, while "paging" refers to doing essentially the same but a page at a time.

          – ilkkachu
          10 hours ago

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Unix & Linux Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f531554%2fare-linux-kernel-modules-a-sort-of-linux-system-paged-pool%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Invision Community Contents History See also References External links Navigation menuProprietaryinvisioncommunity.comIPS Community ForumsIPS Community Forumsthis blog entry"License Changes, IP.Board 3.4, and the Future""Interview -- Matt Mecham of Ibforums""CEO Invision Power Board, Matt Mecham Is a Liar, Thief!"IPB License Explanation 1.3, 1.3.1, 2.0, and 2.1ArchivedSecurity Fixes, Updates And Enhancements For IPB 1.3.1Archived"New Demo Accounts - Invision Power Services"the original"New Default Skin"the original"Invision Power Board 3.0.0 and Applications Released"the original"Archived copy"the original"Perpetual licenses being done away with""Release Notes - Invision Power Services""Introducing: IPS Community Suite 4!"Invision Community Release Notes

          Canceling a color specificationRandomly assigning color to Graphics3D objects?Default color for Filling in Mathematica 9Coloring specific elements of sets with a prime modified order in an array plotHow to pick a color differing significantly from the colors already in a given color list?Detection of the text colorColor numbers based on their valueCan color schemes for use with ColorData include opacity specification?My dynamic color schemes

          Ласкавець круглолистий Зміст Опис | Поширення | Галерея | Примітки | Посилання | Навігаційне меню58171138361-22960890446Bupleurum rotundifoliumEuro+Med PlantbasePlants of the World Online — Kew ScienceGermplasm Resources Information Network (GRIN)Ласкавецькн. VI : Літери Ком — Левиправивши або дописавши її