Message board for the users of flat assembler.
> OS Construction > Memory Management !
i didn't find any thread about the memory management.
so i launch one, cause i need more precisions.
the choise is always vast when writing an OS from the beginning.
reading articles and TUTs in OSDEV.org doesn't help me to make the choise.
i think about a file system for ram.
with a ram occupation bitmap, a ram root, and the things i don't think about right now.
the MMU is to be for RM & PM.
a dual mode MMU, if it's possible, can help for memory management since the boot.
the boot is at 7C00h,
the video is at various addresses,
the real mode memory ( first megabyte ) is always present since a long time now, all 386 computers have the full low memory present.
the extented memory is more complex to manage as it can have many holes, and some external memory locations, as;
video agp memory,
how to detect all peripherals, know the exact addresses they use, know what sort of peripheral it is.
then, periph are detected, we need to know where we can create a new file in the ram.
this fiel can be later;
executed, it's code
read/write, it's self modifying code or datas
saved on the hard drive and deleted from memory.
to show the memory usage:
need of a bit map, wich cluster resolution? 512 bytes as the standard hard drives, 64 kbytes as the RM segment limit, 4Kbytes, 2Mbytes or 4Mbytes as the pages, 1Kbyte, other?
how to identify the current memory user? no need? check the current GDT?
set a ram File System?
as you can see, i'm lost in the possibilities.
|07 Dec 2007, 05:06||
No more problems with mazes (labyrinths)!
If you want to reach a center of maze and come back, you may use:
|07 Dec 2007, 08:48||
speaking about maze theory of OS construction...
isn't it better to use a bulldozer?
and pass through the walls....
|21 Dec 2007, 21:00||
Sometimes there doesn't exist subtle solution of problem, but we must use brute force to make break-through.
In Gordium, the capital of ancient state Phrygia (now in western Turkey) was temple in which was placed very complicated knot. There was a legend which says, that the man, who untie this knot will be emperor of the whole world (in the limits known these days). Alexander the Great simply cut through it. The priests of this temple found this solution correct.
However, I'm not sure that "Alexandrian solution" is applicable to the OS construction...
|22 Dec 2007, 09:34||
This is the very situation where shoorick's skill would be invaluable. We need a drawing of Alexander slicing the Intel cpu with a laser gun, and replacing it with a much simpler cpu design, reflecting the profound changes in hardware capabilities since that orignal knot was tied more than 30 years ago. Edfed's bulldozer may be a tad too cumbersome for such a chore....
...However, I'm not sure that "Alexandrian solution" is applicable to the OS construction...
|23 Dec 2007, 13:13||
like a buldozzer, the code and method used to manage the code "trip in the maze" can be made with a simple, very simple, and incomplete code manager. ignoring the µP security options and settings.
the memory manager is entirelly software based. the use of paging is disabled.
so all this paging, tss and other strange schemes are ignored.
ring1 to 3?, for what? no need!
restriction of memory for the applications?
only the size of the binary + some opened files, the application can ask for more memory...
if the application want to take control of the computer, it can...
so limitations are not permanent.
the system is to be modified/optimised onrun...
|24 Dec 2007, 20:28||
< Last Thread | Next Thread >
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.