Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi guys! I need your help here, I am doing a research on Linux Ubuntu for my assignment recently, as I know the Ubuntu is based on the Linux Kernel. And my question is, Linux;s using what kind of techniques to implement the memory management. As I know from my lecturer, there three types of techniques: single tasking with overlay, memory partitioning fixed or dynamic. I have been searching it for a long time. Can anyone answer my question? I need it very urgent please...
Why don't you start by setting out your understanding of the various types of memory management, as given you in your lecture. You could perhaps list that information here.
Then, you could consider the capabilities of the Linux kernel, and see which of those memory management models fits best with the way the kernel behaves. You might also list THAT analysis here.
Then, perhaps, someone could help you toward the answer you are looking for.
Wouldn't that be a much better learning experience than just having someone tell you?
As I know from my lecturer, there three types of techniques: single tasking with overlay, memory partitioning fixed or dynamic.
That's an incredibly crude way of categorizing memory management (not that I think there is any good way to form top level categories for something as multifaceted as memory management, but that set of categories is stupider than most).
Linux memory management is absolutely not "single tasking with overlay" and it is absolutely not "fixed memory partitioning".
"Dynamic memory partitioning" isn't a good way to describe Linux memory management. But it has enough range of possible meaning that you couldn't make the blanket claim it is wrong (as you could for those other two).
I hope it is your instructor, rather than you, who is being stupid or lazy about this question. If it is you, then I've provided more of an answer than is generally appropriate here for a homework question.
If the instructor is being stupid or lazy, getting a good answer to the questions here may not even be helpful. You need to pay attention in class and parrot back whatever nonsense you're being taught. If you want to understand things, maybe ask here. If you want the answer your instructor will like, you need to get it from him. The experts in this forum were not listening in your class. If you also weren't listening, try to get help from a classmate who was.
In the very earliest days of mainstream computing (for our purposes, that might be the IBM System/360, or MS-DOS...) "the operating system" created a standardized environment in which application programs could run. No longer did every single program have to carry along with it all of the 'baggage' necessary to work correctly on a particular piece of hardware: it could rely upon a faceless "operating system" to provide certain fundamental services.
In those days, "the operating system" could 'wall itself off from' the various programs that were running (in order to protect itself from being destroyed by any one of them...) but it couldn't really present to them any operating-environment that was different from the 'reality' that the hardware itself presented. Both the operating system and the application programs dealt with, and were aware of, the same hardware-imposed environment.
Crufty hacks like "overlays" were born from these then-necessary limitations...
In time, the operating-systems (like IBM's System/370 or Microsoft Windows) started solving these problems by gaining the ability to present to application programs a world-view that was different from the actual hardware. Programs could believe that "they had 'memory' entirely to themselves." They could also imagine that "they had as much 'memory' as they wanted!" The operating system, meanwhile, employed specialized hardware features to maintain that illusion.
This was a huge step forward... through the magic of advanced hardware features, combined with operating-system support, application programs could now run efficiently "in an ideal world." Crufty hacks like overlays became a thing of the past.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.