I have read up on some Disk Operating Systems and have found many of the drivers are loaded into the Conventional Memory Area, however many posts back an idea had come up for my memory manager storing information in the High Memory Area and have taken its existence into consideration to my design. I am currently working on my version of IO.SYS.
IO.SYS loads device drivers before loading MSDOS.SYS which goes on and installs core DOS system routines.
However,
My design is built around management of the conventional memory, which is installed by my version of MSDOS.SYS. If i load drivers before having my memory manager set up to control the conventional memory area, should i set up the memory manager in IO.SYS so the location of the drivers are known and will not be overwritten, or should i store them in the HMA?
The question rephrased, should i set up my memory manager in IO.SYS so i have control of knowing where the drivers are loaded to, or not set it up until i load the kernel and just load them to the HMA.
Thank you in advance for reading.
Opinion on location of driver area
Re: Opinion on location of driver area
I would suggest to load the core kernel functions, including memory management, before loading drivers, drivers will found those functions connivence.
Re: Opinion on location of driver area
If IO.SYS contains mostly start-up code for loading drivers and MSDOS.SYS (system services, MM, and so on..) it should also be the file responsible for getting a BIOS memory map, right? Just modify that memory map to include where the different drivers and such is loaded before passing it on to MSDOS.SYS.